var _cartname=[`continuum.p8`]; var _cdpos=0; var iii=0; var ciii=0; var _cartdat=[ 86,101,102,0,0,0,48,11,0,68,0,0,0,112,0,0,7,0,0,7,0,192,0,0,0,0,167,9,0,0,119,7,0,128,0,0,96,102,86,0,119,119,119,119,0,128,8,0,0,17,17,0,0,0,7,0,0,160,9,0,0,0,214,0,102,102,86,6,0,0,179,3,64,255,68,4,0,112,0,0,112,0,112,0,0,108,12,0,0,112,154,0,0,112,119,119,0,128,8,128,0,0,101,13,23,17,17,17,128,136,136,8,16,153,153,1,0,112,102,0,160,0,0,9,0,96,13,0,86,101,5,101,0,48,59,11,244,68,244,79,0,112,0,0,0,7,7,0,0,108,198,0,0,167,9,0,112,124,119,119,0,0,136,0,0,0,80,86,23,23,23,199,17,17,17,17,113,137,153,30,0,112,86,0,0,144,9,0,0,214,96,6,0,64,5,0,0,179,179,0,244,255,79,68,0,87,7,0,0,112,0,0,192,108,102,12,112,170,170,10,119,199,119,124,0,0,152,8,0,0,5,85,23,17,193,204,136,136,136,136,113,135,233,30,0,112,88,0,10,169,154,144,96,13,214,109, 0,64,5,0,0,179,3,0,244,255,244,79,112,80,112,0,0,112,0,0,204,108,198,12,0,0,160,9,124,119,119,199,128,128,153,8,0,80,0,80,23,199,199,199,136,72,132,136,113,119,232,30,0,96,88,0,9,169,154,160,96,13,0,109,0,64,5,0,64,68,0,0,244,255,79,4,7,80,0,7,0,112,0,0,204,204,204,12,0,0,154,0,192,204,204,12,0,168,170,137,0,5,0,80,119,119,119,119,128,72,132,8,113,119,232,30,0,80,88,0,0,144,9,0,96,221,6,109,0,64,5,0,64,47,0,0,244,255,244,4,0,80,0,0,0,80,0,0,192,204,204,0,0,160,9,0,0,1,1,1,0,168,167,8,80,0,0,16,32,2,32,2,128,24,132,8,113,17,17,30,0,229,232,5,144,0,0,10,0,102,208,6,0,64,5,0,32,34,0,0,64,255,15,0,0,81,1,0,0,81,1,0,0,204,12,0,0,160,0,0,0,12,12,12,0,128,136,0,5,0,0,0,17,17,17,17,128,72,132,8,16,17,17,1,0,80,94,0,0,144,10,0,0,0,109,0, 0,0,0,0,0,0,179,0,0,16,1,0,0,136,136,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,59,3,0,160,170,0,0,0,0,0,0,192,12,0,0,51,59,3,255,51,59,243,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,0,0,113,23,0,128,119,135,8,0,0,0,0,0,0,0,0,0,0,0,0,48,59,51,49,0,154,153,9,0,10,0,0,0,124,199,0,48,59,131,49,63,59,51,49,0,0,0,0,0,0,0,0,0,0,0,0,101,102,102,6,0,136,35,0,16,119,103,1,120,119,136,136,65,68,79,20,0,0,0,0,0,179,59,0,48,19,19,19,160,153,25,145,0,0,0,0,192,119,119,12,48,24,19,131,63,19,19,19,0,0,0,0,0,0,0,0,0,0,0,0,53,59,59,107,128,238,136,2,16,119,103,1,120,135,136,135,65,68,68,20,0,0,11,0,48,183,51,1,179,51,17,48,160,153,17,17,0,0,0,10,124,119,119,199,179,51,129,48,179,51,17,63,0,0,0,0,0,0,0,0,0,0,0,0, 49,59,59,91,128,142,136,2,0,97,22,0,120,136,120,135,65,68,68,31,176,176,3,3,48,59,179,3,48,64,4,0,160,153,17,17,0,0,10,0,204,124,199,204,48,64,4,0,63,79,244,255,0,0,0,0,0,0,0,0,0,0,0,0,17,17,17,1,128,136,40,2,0,16,1,0,136,136,119,135,65,79,68,20,0,179,179,0,48,51,27,3,0,64,2,0,160,153,25,145,0,160,169,0,0,124,199,0,0,64,2,0,255,79,242,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,34,0,0,96,5,0,128,120,119,8,16,68,68,1,0,0,0,0,48,59,51,1,0,64,2,0,16,153,153,25,0,0,10,0,0,124,199,0,0,64,2,0,17,65,18,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,2,0,0,96,5,0,0,136,136,0,0,17,17,0,0,0,0,0,0,19,19,0,0,66,34,0,0,145,153,1,0,0,0,0,0,204,204,0,0,66,34,0,17,66,34,17,0,0,0,0,0,0,0,0,0,0,0,0, 0,96,6,0,0,96,6,0,0,96,102,0,0,0,0,0,0,96,6,0,255,255,159,255,204,204,204,204,68,68,68,68,51,51,51,51,68,66,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,0,103,118,0,0,103,118,0,0,118,102,6,0,96,102,0,0,103,118,0,255,249,255,255,204,119,204,119,34,34,34,34,179,179,51,51,68,68,36,68,20,20,20,20,180,52,180,180,20,18,20,18,52,59,52,59,68,68,68,68,68,68,52,68,144,23,113,9,144,23,113,9,96,151,103,1,0,118,102,6,144,103,118,9,249,255,255,159,119,204,119,204,68,68,68,68,51,59,179,51,66,68,68,68,68,68,68,68,68,68,68,68,36,19,20,19,179,19,179,19,68,68,68,68,180,52,180,68,0,103,118,0,0,103,118,0,0,118,102,6,96,151,103,1,0,103,118,0,255,255,249,255,204,204,204,204,34,34,34,34,51,51,51,51,68,36,68,66,20,20,20,20,52,52,52,180,20,33,20,33,52,65,52,65,68,68,68,68,68,75,180,52, 0,96,6,0,0,96,6,0,0,96,102,0,0,118,102,6,112,85,85,151,255,249,255,255,204,204,204,204,68,68,68,68,51,51,51,51,36,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,68,52,73,68,75,112,85,85,7,0,87,85,9,0,80,87,0,0,80,117,9,9,85,85,0,255,255,159,255,204,119,204,119,34,34,34,34,51,179,179,51,68,68,68,68,20,20,20,20,52,180,52,52,20,33,36,17,52,59,52,59,20,19,20,19,68,73,68,73,9,102,102,144,144,96,102,0,0,96,105,0,0,105,102,6,0,102,102,0,159,255,255,255,119,204,119,204,68,68,68,68,179,51,59,51,66,68,36,68,68,68,68,68,68,68,68,68,36,19,20,35,179,19,179,19,20,19,20,19,20,20,20,20,0,9,144,0,0,144,0,0,0,96,150,9,0,153,0,153,0,0,144,0,255,159,255,249,204,204,204,204,34,34,34,34,51,51,51,51,68,66,68,36,20,20,20,20,52,180,52,180,20,33,20,18,52,65,52,65,68,65,68,65,68,65,68,65, 0,160,0,0,0,51,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,224,3,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,170,0,0,232,46,0,0,192,198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,136,40,0,0,204,198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 160,0,0,0,128,2,0,0,192,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68, 179,14,182,30,182,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,0,169,94,166,0,166,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0, 0,112,120,97,21,30,6,229,235,193,226,205,247,223,255,8,199,39,175,16,188,192,134,25,46,127,137,244,9,194,251,31,160,45,227,164,122,128,54,120,131,234,13,158,224,146,131,94,226,172,242,168,153,139,174,58,40,15,178,161,165,110,98,98,33,218,121,128,168,41,170,230,25,222,32,170,54,234,186,12,140,114,225,91,188,70,99,197,169,178,156,233,118,204,142,57,179,163,142,130,232,186,235,220,142,202,45,230,8,95,194,62,69,57,216,13,165,139,221,156,101,54,131,62,25,202,178,112,227,188,181,185,137,226,190,29,75,204,205,5,126,137,186,65,191,24,162,141,170,184,153,202,43,157,0,13,34,49,177,141,98,46,218,89,104,99,95,71,239,208,217,66,46,180,27,106,118,70,147,178,173,187,65,43,4,43,131,231,245,137,189,38,210,32,211,52,25,24,178,211,194,94,238,159,165,189,180,243,219,158,223,171,34,146,91,111,46,48,139,178,152,185,182,116,17,214,118,250,69,143,232,166,87,50,73,65,189,67,121,223,23,139,69,20,219,96,164,22,82,89,114,204,220,133,93,147, 249,200,17,221,104,238,142,153,5,171,29,88,117,91,131,214,200,135,252,152,108,70,118,113,167,158,72,182,97,205,218,44,129,51,204,177,50,230,150,46,235,119,204,49,217,44,166,193,114,40,28,162,187,102,121,108,132,181,43,134,68,195,178,225,188,157,140,39,244,69,221,180,228,150,64,84,108,36,202,42,109,82,175,200,15,53,27,110,109,220,18,120,87,184,112,42,179,175,114,57,236,180,217,101,122,228,177,196,192,192,168,184,120,220,48,148,197,2,226,49,84,104,152,210,112,130,3,11,35,79,161,105,108,138,137,233,120,99,103,111,198,42,122,23,117,191,18,47,79,53,209,114,80,54,165,238,113,59,178,84,237,216,190,234,237,157,26,26,235,226,76,242,42,238,7,119,213,83,107,209,186,217,166,91,9,123,161,41,247,236,69,73,184,18,154,78,20,177,180,217,234,154,142,57,146,177,69,51,207,53,205,180,4,114,34,209,162,102,14,93,60,73,25,97,140,183,17,25,95,38,50,126,78,139,140,255,183,170,152,202,248,251,66,82,230,235,164,204,55,154,217,76,202,156,219,102, 110,204,168,50,254,74,27,73,153,61,146,94,250,82,145,241,83,202,156,129,153,19,51,138,140,255,215,179,168,127,121,65,184,77,245,90,175,125,174,21,190,168,130,94,204,61,114,238,151,86,184,82,81,214,153,211,103,166,86,231,22,35,209,240,202,51,11,140,171,213,88,189,119,114,75,100,188,66,203,130,228,234,229,82,15,14,7,55,39,101,201,171,154,44,97,174,45,237,211,235,155,126,48,21,64,143,218,249,113,175,216,225,134,185,212,235,196,235,108,87,206,204,72,7,187,31,51,238,14,220,127,77,184,59,112,255,53,224,238,192,253,85,97,167,198,232,238,176,178,218,102,184,169,23,254,87,117,52,202,87,114,173,240,255,209,32,109,70,21,85,148,197,255,103,67,137,116,87,77,69,135,124,70,53,156,242,239,168,84,188,245,252,198,118,215,235,137,19,22,138,164,151,242,124,39,205,240,180,154,225,135,232,159,104,200,136,104,152,115,69,106,34,157,206,23,58,66,178,53,79,115,145,78,157,193,210,72,219,97,27,11,167,10,133,10,154,106,11,10,133,151,103,67,144,41,100, 122,41,154,194,236,96,114,12,88,16,86,56,96,181,170,150,23,164,59,202,181,4,54,195,229,3,4,13,184,54,210,216,179,227,197,157,106,176,218,62,144,52,216,39,249,25,149,176,176,76,63,21,5,23,21,196,255,167,87,16,127,105,45,144,82,68,65,60,188,171,245,224,139,184,130,41,4,86,231,124,180,20,53,126,104,131,110,67,249,135,24,131,112,68,192,24,69,225,21,234,11,88,9,236,209,221,176,239,137,118,124,117,117,106,182,14,180,28,230,214,150,38,19,68,17,128,226,192,61,247,95,135,152,115,208,60,216,30,176,136,239,161,145,81,86,93,52,160,61,50,60,180,36,46,206,110,83,93,196,2,173,116,40,65,7,135,78,10,109,22,38,85,81,56,142,158,3,90,34,16,159,19,199,18,85,117,14,202,55,200,254,141,5,125,169,203,92,66,127,160,74,59,170,212,92,19,27,2,48,34,238,128,16,241,109,102,158,5,5,225,77,199,47,65,19,65,207,16,136,152,180,157,35,92,53,52,179,149,200,138,63,165,172,248,35,34,202,32,226,213,21,7,217,8,234,242, 67,9,29,213,168,107,177,67,60,86,213,71,181,238,98,191,196,243,225,52,22,88,136,76,224,115,120,213,191,200,70,92,144,34,172,103,79,101,113,100,153,180,248,255,233,24,43,139,127,169,243,33,109,14,233,188,133,0,234,68,97,55,252,11,130,189,237,177,124,97,186,31,80,226,210,177,145,148,27,41,245,35,135,138,131,141,214,12,205,58,86,92,162,95,16,12,183,253,229,200,133,37,75,122,163,8,20,195,15,137,97,101,81,137,113,72,135,4,19,138,225,79,168,49,110,163,74,140,100,21,188,135,255,69,136,33,28,25,137,235,5,201,90,241,141,82,57,159,113,150,153,63,161,246,185,205,47,157,83,107,182,202,225,75,53,77,43,233,112,66,119,248,13,183,225,80,41,1,7,241,73,13,45,169,148,255,76,70,100,202,127,86,10,231,213,41,167,116,168,76,249,255,43,16,83,199,216,224,138,142,122,100,98,117,212,79,129,242,191,149,116,120,133,212,25,13,8,169,255,255,213,201,189,99,154,142,196,163,245,34,37,170,162,254,186,87,236,253,85,123,255,171,162,254,255,223, 150,36,61,230,120,76,88,85,114,81,144,254,175,184,182,212,251,169,87,171,164,254,138,200,74,210,95,113,144,78,77,21,147,83,163,249,202,98,66,212,67,51,131,206,101,227,16,166,31,146,215,220,164,243,97,97,77,122,14,194,255,65,53,65,145,77,48,14,79,5,198,33,51,89,2,189,161,3,89,211,184,141,63,66,116,40,70,146,176,50,137,66,56,198,154,102,69,34,60,85,98,143,149,174,138,138,80,68,180,140,154,170,82,17,79,177,225,142,180,52,65,89,49,126,184,193,61,24,20,136,253,180,134,47,2,35,224,63,148,56,191,115,206,87,63,96,186,234,224,69,115,249,181,242,171,33,118,182,70,23,135,154,29,95,149,27,246,219,19,14,77,109,213,174,28,178,52,196,139,131,182,154,142,162,162,233,36,2,19,194,28,127,201,138,28,40,67,50,92,239,109,48,12,65,191,23,12,248,38,164,25,66,91,104,123,228,54,193,25,130,201,29,207,104,53,216,106,182,225,43,82,40,29,143,179,140,55,59,187,100,233,153,168,68,33,82,212,33,40,3,99,67,18,249,169,194, 71,54,196,0,73,16,206,176,169,80,253,10,125,243,6,236,72,82,28,62,59,158,71,15,176,54,190,173,107,30,97,174,126,123,188,9,210,82,236,103,53,8,147,98,235,150,29,43,149,99,101,144,101,94,187,37,109,231,43,87,45,132,166,208,71,55,216,139,168,136,171,45,164,63,66,189,240,152,38,136,240,127,32,48,85,54,82,69,213,30,200,143,31,26,92,114,228,83,235,136,66,39,9,6,4,78,11,210,170,139,221,21,55,105,176,19,136,181,155,74,70,101,205,213,36,179,165,145,234,181,133,218,81,245,64,52,40,104,110,16,21,175,222,251,127,107,59,170,178,172,173,203,186,71,77,203,57,123,83,46,153,217,137,124,228,214,205,136,154,73,222,98,251,53,54,213,194,223,68,45,124,153,90,216,166,90,224,198,192,202,140,182,184,220,87,185,79,10,78,151,124,149,46,249,79,165,113,6,186,228,84,26,127,3,165,241,63,153,210,248,255,51,80,26,255,255,83,222,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]; var Module = typeof Module !== "undefined" ? Module : {}; if (!Module.expectedDataFileDownloads) { Module.expectedDataFileDownloads = 0; Module.finishedDataFileDownloads = 0; } Module.expectedDataFileDownloads++; (function() { var loadPackage = function(metadata) { function runWithFS() { var fileData0 = []; fileData0.push.apply(fileData0, [ 67, 80, 79, 68, 68, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 70, 73, 76, 0, 0, 0, 0, 211, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 105, 99, 111, 45, 56, 32, 99, 97, 114, 116, 114, 105, 100, 103, 101, 32, 47, 47, 32, 104, 116, 116, 112, 58, 47, 47, 119, 119, 119, 46, 112, 105, 99, 111, 45, 56, 46, 99, 111, 109, 10, 118, 101, 114, 115, 105, 111, 110, 32, 51, 53, 10, 95, 95, 108, 117, 97, 95, 95, 10, 10, 45, 45, 62, 56, 10, 10, 45, 45, 62, 56, 10, 10, 45, 45, 62, 56, 10, 10, 45, 45, 62, 56, 10, 10, 45, 45, 62, 56, 10, 10, 45, 45, 62, 56, 10, 10, 45, 45, 62, 56, 10, 10, 45, 45, 62, 56, 10, 10, 95, 95, 115, 102, 120, 95, 95, 10, 48, 49, 48, 99, 48, 48, 48, 48, 51, 48, 53, 53, 53, 50, 98, 53, 54, 53, 51, 48, 53, 53, 53, 51, 53, 53, 52, 53, 51, 53, 53, 49, 53, 51, 53, 55, 48, 53, 48, 48, 53, 48, 48, 48, 48, 53, 48, 48, 48, 48, 53, 48, 48, 48, 48, 53, 48, 48, 48, 48, 53, 48, 48, 48, 48, 53, 48, 48, 48, 48, 53, 48, 48, 48, 48, 53, 48, 48, 48, 48, 53, 48, 48, 48, 48, 53, 48, 48, 48, 48, 53, 48, 48, 48, 48, 53, 48, 48, 48, 48, 53, 48, 48, 48, 48, 53, 48, 48, 48, 48, 53, 48, 48, 48, 48, 53, 48, 48, 48, 48, 53, 48, 48, 48, 48, 53, 48, 48, 48, 48, 53, 48, 48, 48, 48, 53, 48, 48, 48, 48, 53, 48, 48, 48, 48, 53, 48, 48, 48, 48, 53, 48, 48, 48, 48, 53, 48, 48, 48, 48, 53, 48, 48, 48, 48, 53, 48, 48, 10, 48, 49, 48, 56, 48, 48, 48, 48, 50, 52, 48, 51, 53, 50, 52, 48, 48, 53, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 10, 95, 95, 109, 117, 115, 105, 99, 95, 95, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 48, 48, 32, 52, 49, 52, 49, 52, 49, 52, 49, 10, 10, 67, 70, 73, 76, 0, 0, 0, 0, 246, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 80, 79, 68, 68, 0, 0, 0, 1, 0, 0, 0, 103, 102, 120, 49, 46, 112, 111, 100, 0, 47, 112, 97, 98, 97, 47, 112, 105, 99, 111, 56, 47, 112, 111, 100, 47, 103, 102, 120, 49, 46, 112, 111, 11, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 20, 0, 1, 0, 128, 0, 0, 0, 128, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 119, 1, 0, 0, 31, 0, 1, 0, 255, 255, 255, 255, 255, 255, 255, 255, 196, 79, 77, 0, 255, 255, 4, 0, 73, 47, 0, 0, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 91, 63, 163, 255, 255, 4, 0, 73, 47, 232, 241, 4, 0, 75, 47, 170, 204, 4, 0, 75, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 79, 39, 236, 255, 255, 4, 0, 73, 47, 232, 241, 4, 0, 255, 12, 47, 168, 119, 4, 0, 75, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 59, 15, 1, 0, 77, 79, 54, 228, 0, 255, 4, 0, 73, 15, 160, 1, 77, 63, 156, 118, 131, 4, 0, 74, 15, 160, 1, 77, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 15, 1, 0, 77, 79, 255, 173, 41, 255, 4, 0, 73, 15, 99, 1, 77, 15, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 92, 15, 1, 0, 255, 255, 255, 255, 255, 255, 255, 31, 80, 0, 0, 0, 0, 0, 67, 80, 65, 76, 0, 3, 0, 0, 0, 0, 0, 29, 43, 83, 126, 37, 83, 0, 135, 81, 171, 82, 54, 95, 87, 79, 194, 195, 199, 255, 241, 232, 255, 0, 77, 255, 163, 0, 255, 236, 39, 0, 228, 54, 41, 173, 255, 131, 118, 156, 255, 119, 168, 255, 204, 170, 0, 0, 0, 2, 4, 6, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 3, 5, 10, 3, 5, 10, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 9, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 9, 2, 4, 9, 2, 4, 8, 2, 4, 8, 2, 4, 8, 3, 5, 10, 3, 5, 10, 3, 5, 10, 3, 5, 10, 3, 5, 10, 41, 24, 20, 17, 29, 53, 66, 33, 54, 18, 83, 89, 116, 47, 41, 73, 51, 59, 162, 136, 121, 243, 239, 125, 190, 18, 80, 255, 108, 36, 168, 231, 46, 0, 181, 67, 6, 90, 181, 117, 70, 101, 255, 110, 89, 255, 157, 129, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 99, 66, 77, 80, 164, 1, 0, 0, 40, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 111, 0, 0, 0, 31, 0, 1, 0, 12, 47, 8, 0, 1, 0, 18, 63, 9, 7, 15, 39, 0, 17, 95, 10, 7, 7, 7, 14, 41, 0, 17, 51, 11, 7, 13, 10, 0, 66, 7, 7, 7, 7, 5, 0, 20, 0, 5, 0, 22, 7, 25, 0, 37, 0, 12, 39, 0, 0, 3, 0, 5, 4, 0, 4, 16, 0, 0, 10, 0, 1, 3, 0, 23, 0, 79, 0, 14, 40, 0, 3, 99, 0, 9, 40, 0, 5, 7, 0, 10, 80, 0, 1, 18, 0, 12, 40, 0, 6, 165, 0, 9, 159, 0, 47, 7, 0, 1, 0, 25, 80, 0, 0, 0, 0, 0, 67, 80, 65, 76, 0, 3, 0, 0, 0, 0, 0, 29, 43, 83, 126, 37, 83, 0, 135, 81, 171, 82, 54, 79, 72, 67, 194, 195, 199, 255, 241, 232, 255, 0, 77, 255, 163, 0, 255, 231, 39, 0, 231, 86, 41, 173, 255, 131, 118, 156, 255, 119, 168, 255, 204, 170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 73, 109, 24, 69, 0, 122, 44, 160, 72, 50, 52, 54, 53, 173, 177, 183, 0, 0, 0, 255, 0, 77, 255, 132, 0, 255, 255, 39, 0, 226, 50, 41, 173, 255, 174, 75, 176, 255, 136, 188, 255, 214, 197, 0, 0, 0, 28, 48, 102, 126, 37, 83, 0, 131, 72, 171, 82, 54, 63, 65, 65, 180, 182, 188, 0, 0, 0, 255, 0, 42, 255, 163, 0, 0, 0, 0, 0, 231, 86, 41, 162, 255, 132, 75, 176, 255, 136, 175, 255, 217, 177, 0, 0, 0, 32, 51, 123, 140, 28, 60, 0, 131, 49, 171, 100, 54, 80, 80, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 155, 0, 0, 0, 0, 0, 0, 0, 63, 155, 255, 132, 112, 169, 255, 119, 168, 255, 204, 188, 0, 0, 0, 28, 24, 87, 135, 37, 77, 0, 147, 60, 0, 0, 0, 69, 69, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 133, 174, 255, 105, 154, 255, 204, 188, 0, 0, 0, 55, 67, 91, 0, 0, 0, 0, 135, 81, 0, 0, 0, 86, 70, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 131, 118, 156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 55, 77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 91, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 55, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 79, 72, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 62, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 87, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 43, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 0, 255, 99, 66, 77, 80, 20, 48, 0, 0, 128, 0, 0, 0, 96, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 95, 115, 110, 100, 51, 0, 1, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 19, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 36, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 240, 1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 99, 66, 77, 80, 20, 0, 1, 0, 128, 0, 0, 0, 128, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 2, 0, 0, 68, 199, 195, 194, 255, 4, 0, 76, 0, 0, 0, 255, 16, 0, 8, 20, 0, 14, 16, 0, 14, 48, 0, 14, 44, 0, 15, 32, 0, 11, 14, 20, 0, 15, 4, 0, 39, 14, 188, 0, 15, 4, 0, 255, 16, 8, 152, 1, 8, 8, 0, 12, 32, 0, 14, 48, 0, 15, 8, 0, 19, 14, 12, 0, 14, 112, 0, 15, 204, 0, 52, 15, 248, 1, 255, 27, 15, 220, 3, 12, 15, 0, 2, 26, 14, 224, 1, 15, 0, 2, 110, 15, 0, 4, 255, 159, 14, 188, 1, 15, 248, 5, 255, 76, 14, 208, 3, 15, 0, 8, 10, 15, 240, 3, 22, 15, 80, 8, 8, 15, 112, 0, 26, 14, 216, 3, 15, 0, 2, 22, 15, 4, 0, 255, 255, 255, 33, 8, 64, 3, 14, 72, 3, 15, 48, 8, 6, 15, 48, 4, 13, 15, 96, 4, 29, 15, 204, 3, 255, 99, 15, 172, 1, 0, 14, 128, 1, 15, 48, 8, 56, 31, 0, 16, 8, 19, 15, 0, 2, 255, 95, 14, 128, 3, 15, 0, 2, 10, 15, 240, 15, 46, 14, 80, 0, 15, 0, 4, 255, 180, 14, 40, 0, 15, 16, 16, 6, 15, 248, 3, 255, 107, 31, 0, 0, 8, 44, 14, 0, 20, 15, 16, 16, 39, 15, 252, 11, 0, 15, 4, 0, 255, 255, 255, 93, 15, 0, 4, 41, 12, 196, 3, 14, 16, 10, 14, 32, 8, 15, 112, 8, 4, 15, 112, 0, 34, 14, 16, 0, 15, 0, 22, 255, 44, 15, 80, 1, 0, 15, 16, 20, 21, 15, 32, 0, 50, 15, 112, 0, 4, 15, 48, 12, 17, 15, 0, 10, 255, 87, 15, 192, 9, 4, 15, 48, 24, 38, 15, 112, 16, 16, 15, 0, 2, 13, 15, 0, 4, 255, 255, 255, 41, 31, 0, 0, 8, 23, 15, 224, 7, 50, 15, 16, 24, 8, 15, 112, 0, 37, 14, 52, 12, 15, 4, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 80, 255, 0, 0, 0, 255, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 20, 8, 1, 0, 36, 2, 2, 8, 0, 36, 2, 2, 8, 0, 42, 2, 2, 8, 0, 8, 40, 0, 112, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 20, 8, 1, 0, 36, 15, 15, 8, 0, 36, 15, 15, 8, 0, 42, 15, 15, 8, 0, 8, 40, 0, 112, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 23, 8, 1, 0, 35, 2, 2, 7, 0, 35, 2, 2, 7, 0, 83, 2, 8, 8, 2, 8, 15, 0, 1, 3, 0, 1, 30, 0, 192, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 23, 8, 1, 0, 35, 15, 15, 7, 0, 35, 15, 15, 7, 0, 83, 15, 8, 8, 15, 8, 15, 0, 1, 3, 0, 1, 30, 0, 192, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 22, 8, 1, 0, 41, 2, 2, 8, 0, 73, 2, 2, 2, 2, 16, 0, 1, 3, 0, 6, 8, 0, 96, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 22, 8, 1, 0, 41, 15, 15, 8, 0, 73, 15, 15, 15, 15, 16, 0, 1, 3, 0, 6, 8, 0, 96, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 100, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 31, 8, 1, 0, 1, 19, 2, 2, 0, 15, 10, 0, 23, 144, 8, 8, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 100, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 31, 8, 1, 0, 1, 19, 15, 2, 0, 15, 10, 0, 23, 144, 8, 8, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 100, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 31, 8, 1, 0, 1, 19, 2, 2, 0, 15, 20, 0, 27, 80, 8, 8, 8, 8, 8, 99, 66, 77, 80, 100, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 31, 8, 1, 0, 1, 19, 15, 2, 0, 15, 20, 0, 27, 80, 8, 8, 8, 8, 8, 99, 66, 77, 80, 68, 1, 0, 0, 38, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, 0, 31, 8, 1, 0, 33, 19, 2, 1, 0, 12, 24, 0, 53, 15, 15, 15, 4, 0, 85, 8, 2, 2, 15, 15, 39, 0, 32, 2, 2, 53, 0, 16, 8, 2, 0, 35, 8, 15, 2, 0, 0, 3, 0, 67, 8, 2, 15, 15, 39, 0, 16, 8, 28, 0, 3, 4, 0, 38, 2, 8, 72, 0, 13, 38, 0, 1, 76, 0, 3, 43, 0, 0, 29, 0, 6, 76, 0, 8, 114, 0, 39, 8, 2, 76, 0, 8, 38, 0, 8, 190, 0, 6, 118, 0, 31, 2, 246, 0, 15, 80, 8, 8, 8, 8, 8, 99, 66, 77, 80, 68, 1, 0, 0, 38, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, 0, 31, 8, 1, 0, 33, 19, 2, 1, 0, 15, 24, 0, 0, 5, 4, 0, 3, 37, 0, 33, 15, 15, 39, 0, 64, 15, 15, 8, 15, 4, 0, 83, 8, 15, 8, 8, 2, 2, 0, 36, 8, 2, 75, 0, 96, 15, 15, 15, 15, 2, 8, 28, 0, 3, 4, 0, 39, 15, 8, 72, 0, 12, 38, 0, 1, 76, 0, 3, 43, 0, 1, 29, 0, 9, 76, 0, 4, 114, 0, 39, 8, 15, 76, 0, 8, 38, 0, 8, 190, 0, 39, 15, 15, 114, 0, 15, 246, 0, 13, 80, 8, 8, 8, 8, 8, 99, 66, 77, 80, 36, 0, 0, 0, 2, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 240, 1, 0, 8, 1, 9, 2, 10, 3, 11, 4, 12, 5, 13, 6, 14, 7, 15, 99, 66, 77, 80, 36, 0, 0, 0, 8, 0, 0, 0, 2, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 240, 1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 99, 66, 77, 80, 36, 0, 0, 0, 2, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 240, 1, 0, 10, 4, 9, 2, 8, 3, 11, 1, 12, 13, 14, 5, 15, 6, 7, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 34, 6, 7, 1, 0, 33, 13, 6, 1, 0, 0, 8, 0, 33, 5, 5, 8, 0, 129, 5, 5, 5, 5, 6, 7, 13, 5, 1, 0, 8, 32, 0, 2, 8, 0, 112, 13, 13, 13, 13, 13, 13, 6, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 34, 6, 13, 1, 0, 33, 7, 6, 1, 0, 8, 8, 0, 33, 5, 5, 8, 0, 129, 5, 5, 5, 5, 6, 13, 7, 5, 1, 0, 6, 32, 0, 112, 7, 7, 7, 7, 7, 7, 6, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 34, 6, 7, 1, 0, 33, 13, 6, 1, 0, 49, 7, 13, 5, 1, 0, 48, 7, 13, 6, 7, 0, 16, 6, 24, 0, 70, 5, 5, 6, 6, 32, 0, 4, 8, 0, 112, 13, 13, 13, 13, 13, 13, 6, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 34, 6, 13, 1, 0, 33, 7, 6, 1, 0, 6, 8, 0, 17, 5, 1, 0, 48, 13, 7, 6, 7, 0, 1, 24, 0, 40, 5, 5, 32, 0, 112, 7, 7, 7, 7, 7, 7, 6, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 31, 5, 1, 0, 39, 80, 5, 5, 5, 5, 5, 99, 66, 77, 80, 44, 0, 0, 0, 8, 0, 0, 0, 3, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 34, 6, 7, 1, 0, 33, 1, 6, 1, 0, 144, 7, 1, 1, 1, 1, 1, 1, 1, 6, 99, 66, 77, 80, 20, 32, 0, 0, 0, 1, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 0, 0, 0, 255, 2, 0, 0, 5, 1, 2, 1, 13, 6, 2, 4, 9, 3, 13, 5, 13, 6, 0, 1, 0, 221, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 255, 0, 221, 16, 5, 0, 2, 30, 13, 0, 2, 15, 1, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 237, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 36, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 240, 1, 0, 5, 6, 7, 2, 4, 9, 10, 1, 13, 14, 15, 3, 11, 12, 8, 99, 66, 77, 80, 36, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 240, 1, 0, 5, 6, 7, 2, 4, 9, 10, 1, 3, 11, 8, 2, 13, 14, 15, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 6, 0, 0, 6, 6, 0, 6, 6, 6, 6, 6, 0, 6, 0, 0, 99, 66, 77, 80, 45, 0, 0, 0, 5, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 26, 0, 1, 0, 160, 2, 0, 2, 0, 2, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 21, 0, 1, 0, 64, 6, 6, 6, 6, 7, 0, 1, 12, 0, 14, 8, 0, 4, 32, 0, 6, 1, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 21, 0, 1, 0, 64, 6, 6, 6, 6, 7, 0, 18, 0, 5, 0, 102, 6, 0, 8, 8, 0, 6, 16, 0, 4, 32, 0, 6, 1, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 164, 0, 0, 0, 12, 0, 0, 0, 12, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 31, 11, 1, 0, 119, 80, 11, 11, 11, 11, 11, 99, 66, 77, 80, 76, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 18, 13, 1, 0, 31, 5, 8, 0, 24, 80, 13, 13, 13, 13, 5, 99, 66, 77, 80, 76, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 18, 6, 1, 0, 31, 5, 8, 0, 24, 80, 6, 6, 6, 6, 5, 99, 66, 77, 80, 76, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 79, 13, 13, 13, 5, 4, 0, 1, 4, 1, 0, 15, 28, 0, 0, 80, 5, 13, 13, 13, 5, 99, 66, 77, 80, 76, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 79, 6, 6, 6, 5, 4, 0, 1, 4, 1, 0, 15, 28, 0, 0, 80, 5, 6, 6, 6, 5, 99, 66, 77, 80, 76, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 34, 13, 5, 2, 0, 4, 1, 0, 15, 16, 0, 16, 80, 5, 13, 5, 13, 5, 99, 66, 77, 80, 76, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 34, 6, 5, 2, 0, 4, 1, 0, 15, 16, 0, 16, 80, 5, 6, 5, 6, 5, 99, 66, 77, 80, 76, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 128, 13, 13, 5, 5, 5, 13, 13, 5, 7, 0, 19, 5, 6, 0, 15, 1, 0, 1, 4, 32, 0, 128, 13, 13, 5, 5, 5, 13, 13, 5, 99, 66, 77, 80, 76, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 128, 6, 6, 5, 5, 5, 6, 6, 5, 7, 0, 19, 5, 6, 0, 15, 1, 0, 1, 4, 32, 0, 128, 6, 6, 5, 5, 5, 6, 6, 5, 99, 66, 77, 80, 36, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 240, 1, 0, 13, 13, 0, 13, 0, 0, 13, 13, 0, 0, 13, 0, 13, 13, 0, 99, 66, 77, 80, 36, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 240, 1, 0, 6, 6, 0, 6, 11, 7, 6, 6, 11, 11, 6, 0, 6, 6, 0, 99, 66, 77, 80, 76, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 31, 0, 1, 0, 6, 79, 10, 10, 10, 10, 25, 0, 2, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 76, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 31, 0, 1, 0, 6, 79, 10, 10, 10, 10, 25, 0, 2, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 20, 64, 0, 0, 128, 0, 0, 0, 128, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, 79, 1, 0, 0, 1, 4, 0, 105, 15, 127, 0, 108, 31, 1, 127, 0, 236, 31, 0, 0, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 38, 80, 0, 1, 1, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 23, 0, 1, 0, 19, 14, 7, 0, 19, 14, 7, 0, 10, 16, 0, 5, 32, 0, 4, 1, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 23, 0, 1, 0, 19, 8, 7, 0, 19, 8, 7, 0, 10, 16, 0, 5, 32, 0, 4, 1, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 22, 0, 1, 0, 20, 14, 8, 0, 20, 14, 8, 0, 26, 14, 16, 0, 7, 44, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 22, 0, 1, 0, 20, 8, 8, 0, 20, 8, 8, 0, 26, 8, 16, 0, 7, 44, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 30, 0, 1, 0, 34, 7, 7, 7, 0, 1, 3, 0, 34, 0, 7, 12, 0, 2, 20, 0, 2, 14, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 31, 0, 1, 0, 1, 18, 7, 6, 0, 49, 7, 0, 7, 6, 0, 0, 17, 0, 24, 7, 26, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 31, 0, 1, 0, 2, 35, 7, 7, 6, 0, 19, 7, 12, 0, 18, 7, 18, 0, 39, 0, 7, 37, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 29, 0, 1, 0, 16, 7, 1, 0, 0, 8, 0, 9, 4, 0, 3, 20, 0, 23, 7, 41, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 31, 0, 1, 0, 0, 50, 7, 7, 7, 8, 0, 22, 0, 8, 0, 16, 7, 1, 0, 19, 0, 25, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 29, 0, 1, 0, 20, 7, 7, 0, 20, 7, 14, 0, 19, 7, 13, 0, 19, 7, 20, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 29, 0, 1, 0, 17, 7, 4, 0, 5, 2, 0, 3, 1, 0, 7, 19, 0, 4, 37, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 30, 0, 1, 0, 35, 7, 7, 7, 0, 35, 7, 7, 14, 0, 35, 7, 7, 21, 0, 3, 27, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 100, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 31, 8, 1, 0, 1, 25, 2, 10, 0, 23, 2, 10, 0, 4, 6, 0, 12, 10, 0, 144, 8, 8, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 100, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 31, 8, 1, 0, 1, 25, 15, 10, 0, 23, 15, 10, 0, 4, 6, 0, 12, 10, 0, 144, 8, 8, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 100, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 31, 8, 1, 0, 1, 35, 2, 2, 3, 0, 15, 20, 0, 26, 80, 8, 8, 8, 8, 8, 99, 66, 77, 80, 100, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 31, 8, 1, 0, 1, 35, 15, 15, 3, 0, 15, 20, 0, 26, 80, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 23, 8, 1, 0, 50, 2, 2, 2, 8, 0, 4, 16, 0, 8, 22, 0, 22, 2, 8, 0, 192, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 23, 8, 1, 0, 50, 15, 15, 15, 8, 0, 4, 16, 0, 8, 22, 0, 22, 15, 8, 0, 192, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 19, 8, 1, 0, 18, 2, 1, 0, 23, 8, 2, 0, 3, 14, 0, 1, 30, 0, 6, 16, 0, 2, 39, 0, 144, 8, 8, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 19, 8, 1, 0, 18, 15, 1, 0, 23, 8, 2, 0, 3, 14, 0, 1, 30, 0, 6, 16, 0, 2, 39, 0, 144, 8, 8, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 20, 8, 1, 0, 32, 2, 2, 3, 0, 1, 4, 0, 4, 12, 0, 15, 8, 0, 1, 5, 12, 0, 112, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 20, 8, 1, 0, 32, 15, 15, 3, 0, 1, 4, 0, 4, 12, 0, 15, 8, 0, 1, 5, 12, 0, 112, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 20, 8, 1, 0, 36, 2, 2, 4, 0, 33, 2, 2, 8, 0, 0, 14, 0, 7, 16, 0, 19, 8, 7, 0, 1, 20, 0, 160, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 20, 8, 1, 0, 36, 15, 15, 4, 0, 33, 15, 15, 8, 0, 0, 14, 0, 7, 16, 0, 19, 8, 7, 0, 1, 20, 0, 160, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 20, 8, 1, 0, 106, 2, 2, 2, 8, 2, 2, 8, 0, 7, 27, 0, 0, 20, 0, 9, 8, 0, 112, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 20, 8, 1, 0, 106, 15, 15, 15, 8, 15, 15, 8, 0, 7, 27, 0, 0, 20, 0, 9, 8, 0, 112, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 24, 8, 1, 0, 35, 2, 2, 6, 0, 19, 2, 12, 0, 7, 8, 0, 4, 24, 0, 6, 40, 0, 80, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 24, 8, 1, 0, 35, 15, 15, 6, 0, 19, 15, 12, 0, 7, 8, 0, 4, 24, 0, 6, 40, 0, 80, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 23, 8, 1, 0, 36, 2, 2, 8, 0, 2, 9, 0, 24, 2, 14, 0, 22, 2, 8, 0, 192, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 23, 8, 1, 0, 36, 15, 15, 8, 0, 2, 9, 0, 24, 15, 14, 0, 22, 15, 8, 0, 192, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 164, 0, 0, 0, 12, 0, 0, 0, 12, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 24, 0, 1, 0, 48, 7, 7, 6, 7, 0, 101, 6, 7, 7, 0, 0, 7, 21, 0, 52, 0, 0, 6, 12, 0, 47, 6, 0, 1, 0, 30, 8, 60, 0, 8, 84, 0, 8, 108, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 164, 1, 0, 0, 20, 0, 0, 0, 20, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 31, 0, 1, 0, 1, 56, 7, 7, 6, 15, 0, 109, 6, 7, 7, 0, 0, 7, 37, 0, 60, 0, 0, 6, 20, 0, 47, 6, 0, 1, 0, 222, 14, 4, 1, 15, 44, 1, 3, 15, 84, 1, 1, 10, 1, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 36, 5, 0, 0, 36, 0, 0, 0, 36, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 31, 0, 1, 0, 17, 87, 7, 7, 6, 0, 6, 4, 0, 41, 7, 7, 15, 0, 111, 6, 7, 7, 0, 0, 7, 69, 0, 14, 63, 0, 0, 6, 36, 0, 11, 14, 33, 0, 15, 39, 0, 37, 31, 6, 144, 0, 255, 255, 255, 154, 15, 108, 0, 53, 15, 164, 4, 17, 15, 1, 0, 11, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 56, 19, 0, 0, 70, 0, 0, 0, 70, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 0, 0, 0, 31, 0, 1, 0, 51, 175, 7, 7, 7, 7, 6, 6, 0, 0, 6, 6, 8, 0, 3, 0, 32, 0, 15, 30, 0, 7, 34, 6, 6, 32, 0, 31, 7, 137, 0, 48, 15, 70, 0, 123, 31, 6, 70, 0, 47, 31, 6, 70, 0, 53, 15, 1, 0, 119, 15, 24, 1, 123, 15, 48, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 51, 15, 164, 1, 255, 6, 15, 70, 0, 49, 15, 82, 18, 53, 15, 1, 0, 45, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 20, 8, 1, 0, 17, 2, 1, 0, 49, 8, 8, 2, 13, 0, 6, 16, 0, 5, 32, 0, 36, 8, 2, 28, 0, 192, 2, 8, 2, 8, 8, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 20, 8, 1, 0, 17, 15, 1, 0, 49, 8, 8, 15, 13, 0, 6, 16, 0, 5, 32, 0, 36, 8, 15, 28, 0, 192, 15, 8, 15, 8, 8, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 20, 8, 1, 0, 17, 2, 1, 0, 49, 8, 8, 2, 13, 0, 15, 8, 0, 8, 3, 40, 0, 112, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 20, 8, 1, 0, 17, 15, 1, 0, 49, 8, 8, 15, 13, 0, 15, 8, 0, 8, 3, 40, 0, 112, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 20, 8, 1, 0, 17, 2, 1, 0, 32, 8, 8, 3, 0, 9, 8, 0, 47, 2, 2, 8, 0, 2, 112, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 20, 8, 1, 0, 17, 15, 1, 0, 32, 8, 8, 3, 0, 9, 8, 0, 47, 15, 15, 8, 0, 2, 112, 8, 8, 8, 8, 8, 8, 8, 99, 66, 77, 80, 141, 0, 0, 0, 11, 0, 0, 0, 11, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 31, 0, 1, 0, 29, 22, 1, 10, 0, 38, 7, 1, 11, 0, 38, 7, 1, 11, 0, 38, 7, 1, 11, 0, 37, 7, 1, 33, 0, 5, 34, 0, 80, 1, 7, 1, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 80, 0, 0, 0, 1, 0, 1, 0, 51, 1, 7, 1, 12, 0, 165, 1, 0, 1, 7, 0, 0, 0, 7, 1, 0, 18, 0, 176, 7, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 99, 66, 77, 80, 141, 0, 0, 0, 11, 0, 0, 0, 11, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 26, 0, 1, 0, 52, 1, 0, 1, 10, 0, 86, 7, 1, 7, 1, 1, 11, 0, 42, 7, 1, 11, 0, 48, 1, 1, 7, 1, 0, 18, 1, 20, 0, 3, 11, 0, 53, 0, 1, 7, 11, 0, 2, 34, 0, 20, 1, 78, 0, 5, 11, 0, 112, 0, 1, 1, 1, 0, 0, 0, 99, 66, 77, 80, 141, 0, 0, 0, 11, 0, 0, 0, 11, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 31, 0, 1, 0, 6, 52, 1, 0, 1, 10, 0, 86, 7, 1, 7, 1, 1, 11, 0, 34, 7, 1, 11, 0, 0, 1, 0, 21, 1, 10, 0, 12, 11, 0, 52, 0, 1, 1, 10, 0, 39, 0, 0, 11, 0, 112, 0, 1, 1, 1, 0, 0, 0, 99, 66, 77, 80, 245, 0, 0, 0, 15, 0, 0, 0, 15, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 0, 0, 0, 31, 0, 1, 0, 47, 26, 1, 14, 0, 43, 7, 1, 15, 0, 56, 1, 0, 1, 15, 0, 22, 7, 34, 0, 48, 1, 1, 7, 1, 0, 22, 1, 28, 0, 7, 15, 0, 57, 0, 1, 7, 15, 0, 2, 46, 0, 24, 1, 91, 0, 9, 15, 0, 58, 0, 1, 1, 138, 0, 96, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 245, 0, 0, 0, 15, 0, 0, 0, 15, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 0, 0, 0, 31, 0, 1, 0, 77, 17, 1, 2, 0, 5, 14, 0, 17, 7, 2, 0, 4, 14, 0, 32, 1, 7, 1, 0, 22, 1, 28, 0, 7, 15, 0, 57, 0, 1, 7, 15, 0, 2, 46, 0, 5, 14, 0, 43, 0, 0, 15, 0, 56, 0, 1, 1, 14, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 76, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28 ]); fileData0.push.apply(fileData0, [ 0, 0, 0, 21, 5, 1, 0, 64, 13, 13, 13, 13, 7, 0, 1, 12, 0, 14, 8, 0, 4, 32, 0, 112, 5, 5, 5, 5, 5, 5, 5, 99, 66, 77, 80, 76, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 21, 5, 1, 0, 64, 6, 6, 6, 6, 7, 0, 82, 8, 8, 8, 7, 6, 8, 0, 23, 8, 8, 0, 4, 32, 0, 112, 5, 5, 5, 5, 5, 5, 5, 99, 66, 77, 80, 76, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 21, 5, 1, 0, 64, 6, 6, 6, 6, 7, 0, 82, 9, 9, 9, 7, 6, 8, 0, 23, 9, 8, 0, 4, 32, 0, 112, 5, 5, 5, 5, 5, 5, 5, 99, 66, 77, 80, 76, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 21, 5, 1, 0, 64, 6, 6, 6, 6, 7, 0, 82, 10, 10, 10, 7, 6, 8, 0, 23, 10, 8, 0, 4, 32, 0, 112, 5, 5, 5, 5, 5, 5, 5, 99, 66, 77, 80, 76, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 21, 5, 1, 0, 64, 6, 6, 6, 6, 7, 0, 82, 11, 11, 11, 7, 6, 8, 0, 23, 11, 8, 0, 4, 32, 0, 112, 5, 5, 5, 5, 5, 5, 5, 99, 66, 77, 80, 76, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 21, 5, 1, 0, 64, 6, 6, 6, 6, 7, 0, 82, 12, 12, 12, 7, 6, 8, 0, 23, 12, 8, 0, 4, 32, 0, 112, 5, 5, 5, 5, 5, 5, 5, 99, 66, 77, 80, 76, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 21, 5, 1, 0, 64, 6, 6, 6, 6, 7, 0, 82, 14, 14, 14, 7, 6, 8, 0, 23, 14, 8, 0, 4, 32, 0, 112, 5, 5, 5, 5, 5, 5, 5, 99, 66, 77, 80, 76, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 21, 5, 1, 0, 64, 6, 6, 6, 6, 7, 0, 82, 8, 8, 8, 7, 6, 8, 0, 23, 8, 8, 0, 4, 32, 0, 112, 5, 5, 5, 5, 5, 5, 5, 99, 66, 77, 80, 55, 0, 0, 0, 5, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 17, 5, 1, 0, 210, 0, 0, 0, 5, 0, 1, 1, 13, 0, 0, 1, 1, 1, 5, 0, 160, 5, 0, 0, 0, 5, 5, 5, 5, 5, 5, 99, 66, 77, 80, 55, 0, 0, 0, 5, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 17, 5, 1, 0, 48, 0, 0, 0, 4, 0, 38, 7, 0, 1, 0, 160, 5, 0, 0, 0, 5, 5, 5, 5, 5, 5, 99, 66, 77, 80, 76, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 98, 0, 0, 0, 0, 1, 0, 1, 0, 33, 1, 1, 5, 0, 0, 1, 0, 1, 21, 0, 2, 16, 0, 6, 32, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 76, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 98, 0, 0, 0, 0, 1, 0, 1, 0, 33, 1, 1, 5, 0, 0, 1, 0, 1, 21, 0, 2, 16, 0, 6, 32, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 76, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 22, 0, 1, 0, 17, 1, 3, 0, 34, 0, 1, 8, 0, 17, 1, 1, 0, 3, 16, 0, 4, 32, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 76, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 22, 0, 1, 0, 17, 1, 3, 0, 34, 0, 1, 8, 0, 17, 1, 1, 0, 3, 16, 0, 4, 32, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 76, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 21, 0, 1, 0, 79, 1, 1, 1, 1, 8, 0, 9, 5, 1, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 76, 0, 0, 0, 8, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 21, 0, 1, 0, 79, 1, 1, 1, 1, 8, 0, 9, 5, 1, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 31, 0, 1, 0, 15, 47, 7, 7, 24, 0, 3, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 28, 0, 1, 0, 36, 7, 7, 8, 0, 3, 9, 0, 7, 11, 0, 4, 28, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 29, 0, 1, 0, 17, 7, 3, 0, 48, 0, 7, 7, 3, 0, 7, 9, 0, 3, 24, 0, 6, 41, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 30, 0, 1, 0, 41, 7, 7, 14, 0, 0, 16, 0, 22, 7, 8, 0, 6, 26, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 31, 0, 1, 0, 1, 19, 7, 7, 0, 19, 7, 7, 0, 19, 7, 7, 0, 3, 24, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 29, 0, 1, 0, 20, 7, 8, 0, 20, 7, 8, 0, 20, 7, 8, 0, 4, 27, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 31, 0, 1, 0, 4, 27, 7, 2, 0, 15, 1, 0, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 31, 0, 1, 0, 5, 42, 7, 7, 4, 0, 14, 34, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 30, 0, 1, 0, 34, 7, 7, 7, 0, 1, 3, 0, 6, 8, 0, 4, 24, 0, 5, 40, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 30, 0, 1, 0, 36, 7, 7, 9, 0, 10, 8, 0, 21, 7, 25, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 29, 0, 1, 0, 68, 7, 7, 7, 7, 10, 0, 6, 6, 0, 8, 24, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 29, 0, 1, 0, 68, 7, 7, 7, 7, 11, 0, 4, 17, 0, 11, 24, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 29, 0, 1, 0, 58, 7, 0, 7, 8, 0, 52, 7, 7, 7, 26, 0, 9, 1, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 29, 0, 1, 0, 66, 7, 7, 7, 7, 8, 0, 6, 18, 0, 8, 24, 0, 5, 41, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 29, 0, 1, 0, 20, 7, 8, 0, 51, 7, 7, 7, 16, 0, 24, 7, 16, 0, 5, 41, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 29, 0, 1, 0, 68, 7, 7, 7, 7, 11, 0, 15, 8, 0, 4, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 31, 0, 1, 0, 0, 16, 6, 1, 0, 1, 8, 0, 81, 13, 13, 13, 6, 6, 9, 0, 29, 6, 9, 0, 4, 27, 0, 3, 46, 0, 128, 13, 13, 13, 13, 13, 13, 13, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 22, 0, 1, 0, 16, 7, 1, 0, 1, 8, 0, 81, 13, 13, 13, 7, 7, 9, 0, 29, 7, 9, 0, 4, 27, 0, 3, 46, 0, 5, 9, 0, 128, 6, 6, 6, 6, 6, 6, 6, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 31, 0, 1, 0, 0, 16, 6, 1, 0, 1, 8, 0, 33, 13, 13, 10, 0, 61, 6, 6, 6, 9, 0, 51, 13, 13, 13, 18, 0, 2, 46, 0, 128, 13, 13, 13, 13, 13, 13, 13, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 22, 0, 1, 0, 16, 7, 1, 0, 1, 8, 0, 33, 13, 13, 10, 0, 61, 7, 7, 7, 9, 0, 51, 13, 13, 13, 18, 0, 41, 7, 7, 9, 0, 128, 6, 6, 6, 6, 6, 6, 6, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 31, 0, 1, 0, 0, 16, 6, 1, 0, 1, 8, 0, 82, 13, 13, 13, 6, 6, 17, 0, 3, 9, 0, 18, 13, 28, 0, 9, 27, 0, 1, 18, 0, 128, 13, 13, 13, 13, 13, 13, 13, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 22, 0, 1, 0, 16, 7, 1, 0, 1, 8, 0, 82, 14, 14, 14, 7, 7, 17, 0, 3, 9, 0, 18, 14, 28, 0, 9, 27, 0, 25, 7, 9, 0, 128, 14, 14, 14, 14, 14, 14, 14, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 31, 0, 1, 0, 0, 16, 6, 1, 0, 1, 8, 0, 81, 13, 13, 13, 6, 6, 17, 0, 5, 9, 0, 19, 6, 9, 0, 6, 27, 0, 2, 46, 0, 128, 13, 13, 13, 13, 13, 13, 13, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 22, 0, 1, 0, 16, 7, 1, 0, 1, 8, 0, 81, 14, 14, 14, 7, 7, 17, 0, 5, 9, 0, 19, 7, 9, 0, 6, 27, 0, 41, 7, 7, 9, 0, 128, 14, 14, 14, 14, 14, 14, 14, 0, 99, 66, 77, 80, 20, 1, 0, 0, 16, 0, 0, 0, 16, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 31, 0, 1, 0, 231, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 20, 1, 0, 0, 16, 0, 0, 0, 16, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 28, 7, 1, 0, 26, 0, 1, 0, 15, 16, 0, 200, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 20, 1, 0, 0, 16, 0, 0, 0, 16, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 26, 0, 1, 0, 28, 7, 1, 0, 12, 32, 0, 15, 16, 0, 184, 80, 0, 0, 0, 0, 7, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 31, 0, 1, 0, 0, 16, 1, 1, 0, 1, 9, 0, 50, 13, 7, 13, 9, 0, 59, 7, 7, 7, 18, 0, 4, 36, 0, 7, 56, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 31, 0, 1, 0, 56, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 25, 0, 1, 0, 20, 7, 8, 0, 36, 7, 7, 8, 0, 40, 7, 7, 8, 0, 4, 26, 0, 20, 7, 44, 0, 4, 42, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 23, 0, 1, 0, 63, 7, 7, 7, 9, 0, 12, 18, 7, 1, 0, 34, 0, 0, 23, 0, 23, 7, 18, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 21, 0, 1, 0, 19, 7, 2, 0, 8, 18, 0, 6, 6, 0, 15, 18, 0, 7, 6, 54, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 23, 0, 1, 0, 54, 7, 0, 7, 9, 0, 26, 7, 9, 0, 0, 1, 0, 1, 16, 0, 2, 9, 0, 36, 0, 7, 9, 0, 1, 11, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 25, 0, 1, 0, 20, 7, 8, 0, 36, 7, 7, 8, 0, 40, 7, 7, 8, 0, 4, 26, 0, 20, 7, 44, 0, 4, 42, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 148, 0, 2, 0, 160, 0, 0, 0, 205, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 172, 3, 0, 0, 68, 105, 102, 102, 0, 4, 0, 79, 8, 4, 2, 255, 4, 0, 255, 255, 83, 8, 116, 2, 8, 124, 2, 63, 103, 102, 102, 4, 0, 255, 255, 84, 12, 132, 2, 14, 124, 2, 15, 132, 2, 255, 255, 85, 15, 124, 2, 255, 255, 103, 8, 132, 2, 15, 128, 2, 255, 255, 255, 255, 255, 174, 63, 77, 0, 255, 128, 2, 255, 255, 104, 191, 0, 155, 255, 255, 232, 241, 255, 255, 188, 204, 255, 128, 2, 255, 255, 96, 34, 39, 231, 124, 2, 4, 4, 0, 63, 168, 119, 255, 0, 5, 255, 255, 96, 49, 50, 226, 0, 124, 2, 62, 169, 112, 132, 124, 2, 15, 128, 2, 255, 217, 42, 232, 241, 140, 4, 15, 20, 0, 5, 12, 24, 0, 14, 20, 0, 10, 44, 0, 14, 100, 0, 14, 36, 0, 63, 255, 173, 41, 124, 1, 166, 63, 167, 171, 178, 8, 0, 26, 8, 56, 0, 4, 4, 0, 15, 16, 0, 1, 8, 20, 0, 15, 16, 0, 4, 15, 80, 0, 10, 14, 28, 0, 14, 72, 0, 14, 56, 0, 15, 128, 2, 99, 14, 116, 2, 14, 88, 2, 14, 16, 0, 15, 64, 0, 19, 12, 40, 0, 8, 72, 0, 14, 36, 0, 15, 128, 2, 219, 12, 24, 0, 14, 12, 0, 15, 48, 0, 2, 15, 136, 0, 18, 15, 72, 0, 12, 15, 128, 2, 130, 14, 216, 4, 15, 128, 2, 43, 15, 76, 5, 8, 15, 128, 2, 242, 15, 152, 4, 0, 15, 56, 2, 38, 14, 72, 2, 14, 128, 2, 15, 160, 0, 8, 15, 0, 5, 118, 14, 28, 0, 15, 0, 5, 51, 14, 72, 0, 15, 0, 5, 183, 14, 8, 2, 15, 24, 2, 26, 15, 0, 5, 57, 15, 128, 2, 186, 15, 20, 10, 16, 15, 252, 9, 37, 15, 128, 2, 230, 15, 16, 5, 29, 12, 72, 0, 15, 136, 0, 25, 15, 72, 0, 12, 15, 128, 2, 65, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 15, 80, 57, 255, 246, 15, 128, 2, 105, 63, 139, 138, 136, 4, 0, 255, 235, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 15, 4, 0, 255, 242, 15, 128, 2, 48, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 63, 54, 54, 54, 4, 0, 255, 243, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 51, 31, 103, 124, 82, 255, 255, 46, 78, 105, 102, 102, 0, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 101, 14, 128, 2, 15, 124, 2, 255, 255, 77, 15, 128, 2, 4, 15, 124, 2, 255, 255, 104, 14, 132, 2, 15, 124, 2, 255, 255, 97, 14, 132, 2, 15, 124, 2, 255, 255, 97, 8, 132, 2, 15, 4, 0, 255, 255, 55, 15, 112, 2, 16, 80, 0, 105, 102, 102, 0, 99, 66, 77, 80, 148, 0, 2, 0, 160, 0, 0, 0, 205, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 207, 11, 0, 0, 23, 0, 1, 0, 79, 8, 4, 2, 255, 4, 0, 255, 255, 83, 31, 0, 1, 0, 0, 0, 24, 0, 63, 103, 102, 102, 4, 0, 255, 255, 84, 12, 132, 2, 14, 124, 2, 15, 132, 2, 255, 255, 85, 15, 124, 2, 255, 255, 103, 8, 132, 2, 15, 128, 2, 255, 255, 255, 255, 255, 174, 63, 77, 0, 255, 128, 2, 255, 255, 104, 191, 0, 155, 255, 255, 232, 241, 255, 255, 188, 204, 255, 128, 2, 255, 255, 96, 34, 39, 231, 124, 2, 4, 4, 0, 63, 168, 119, 255, 0, 5, 255, 255, 96, 49, 50, 226, 0, 124, 2, 62, 169, 112, 132, 124, 2, 15, 128, 2, 255, 217, 42, 232, 241, 140, 4, 15, 20, 0, 5, 12, 24, 0, 14, 20, 0, 10, 44, 0, 14, 100, 0, 14, 36, 0, 63, 255, 173, 41, 172, 1, 214, 53, 167, 171, 178, 4, 0, 15, 16, 0, 1, 8, 20, 0, 14, 16, 0, 15, 80, 0, 15, 14, 36, 0, 15, 80, 0, 6, 14, 64, 0, 15, 128, 2, 100, 14, 116, 2, 14, 88, 2, 14, 16, 0, 15, 64, 0, 19, 12, 40, 0, 8, 72, 0, 15, 44, 4, 225, 8, 248, 1, 8, 16, 2, 14, 12, 0, 15, 48, 0, 6, 15, 32, 0, 34, 14, 48, 0, 15, 128, 2, 127, 14, 216, 4, 15, 128, 2, 43, 15, 76, 5, 8, 15, 128, 2, 234, 15, 144, 4, 0, 15, 48, 2, 38, 14, 64, 2, 15, 128, 2, 31, 14, 192, 2, 15, 0, 5, 103, 14, 28, 0, 15, 0, 5, 51, 14, 72, 0, 15, 0, 5, 235, 14, 20, 0, 15, 0, 5, 42, 15, 128, 2, 194, 15, 20, 10, 16, 15, 252, 9, 17, 15, 0, 5, 254, 12, 16, 0, 15, 160, 9, 16, 15, 80, 5, 38, 15, 80, 0, 8, 15, 128, 2, 65, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 15, 80, 57, 255, 246, 15, 128, 2, 105, 0, 132, 44, 15, 4, 0, 255, 234, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 201, 8, 108, 35, 15, 16, 0, 25, 15, 64, 0, 15, 15, 128, 2, 255, 255, 25, 57, 83, 37, 126, 64, 2, 8, 16, 0, 0, 12, 0, 12, 16, 0, 46, 232, 241, 64, 0, 0, 4, 0, 14, 16, 0, 15, 128, 2, 255, 255, 21, 15, 8, 0, 13, 14, 244, 4, 15, 0, 5, 255, 255, 61, 15, 8, 0, 13, 12, 208, 4, 8, 128, 2, 14, 32, 5, 10, 48, 5, 15, 0, 10, 255, 255, 71, 47, 232, 241, 0, 5, 255, 255, 53, 4, 176, 4, 4, 224, 4, 15, 16, 0, 56, 15, 128, 2, 255, 255, 20, 15, 4, 0, 72, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 218, 63, 188, 182, 180, 4, 0, 2, 15, 0, 5, 255, 255, 91, 49, 53, 54, 52, 8, 0, 49, 54, 82, 171, 4, 0, 14, 0, 5, 15, 128, 2, 255, 255, 77, 0, 20, 81, 4, 124, 2, 15, 128, 2, 255, 34, 15, 68, 6, 4, 15, 116, 2, 255, 15, 12, 12, 0, 34, 177, 217, 252, 22, 15, 0, 5, 255, 34, 15, 68, 6, 0, 15, 128, 2, 255, 19, 0, 56, 1, 0, 12, 0, 0, 8, 0, 4, 116, 25, 0, 12, 0, 4, 80, 1, 8, 96, 1, 12, 20, 0, 15, 128, 2, 249, 14, 68, 6, 15, 120, 12, 255, 16, 0, 80, 2, 15, 60, 6, 5, 4, 112, 2, 12, 4, 0, 15, 128, 2, 249, 15, 68, 6, 8, 15, 0, 5, 255, 19, 14, 100, 2, 14, 4, 0, 15, 128, 2, 255, 18, 15, 68, 6, 28, 15, 128, 7, 254, 15, 108, 2, 24, 15, 128, 2, 250, 15, 68, 6, 36, 15, 148, 7, 255, 11, 31, 77, 128, 22, 255, 25, 15, 68, 6, 12, 15, 128, 2, 255, 27, 14, 28, 1, 15, 128, 2, 195, 0, 252, 101, 15, 4, 0, 53, 0, 128, 2, 47, 168, 119, 68, 6, 11, 14, 112, 0, 15, 4, 0, 255, 4, 15, 48, 1, 83, 15, 128, 22, 207, 14, 248, 19, 15, 0, 30, 255, 255, 89, 14, 224, 9, 15, 128, 2, 255, 255, 1, 15, 68, 6, 84, 15, 4, 0, 255, 135, 15, 0, 30, 255, 166, 12, 84, 98, 15, 0, 5, 255, 130, 15, 4, 0, 193, 47, 232, 241, 4, 0, 9, 15, 0, 5, 157, 15, 128, 2, 255, 156, 14, 124, 2, 15, 132, 2, 1, 15, 128, 2, 255, 255, 69, 14, 124, 2, 15, 132, 2, 9, 15, 128, 2, 255, 255, 49, 12, 72, 2, 15, 128, 2, 33, 14, 148, 2, 15, 128, 2, 255, 255, 17, 47, 232, 241, 4, 0, 77, 15, 128, 2, 255, 244, 15, 12, 2, 1, 47, 232, 241, 128, 2, 255, 255, 81, 15, 48, 7, 11, 15, 132, 2, 85, 15, 128, 2, 255, 255, 1, 15, 4, 0, 53, 47, 177, 217, 128, 2, 255, 255, 9, 15, 92, 2, 49, 47, 177, 217, 36, 0, 19, 47, 177, 217, 128, 2, 255, 255, 1, 14, 24, 2, 15, 56, 2, 19, 47, 177, 217, 4, 0, 43, 14, 192, 2, 15, 128, 2, 255, 228, 8, 132, 2, 15, 4, 0, 105, 15, 204, 5, 63, 15, 128, 2, 255, 176, 15, 32, 0, 45, 8, 40, 0, 15, 128, 2, 11, 15, 0, 28, 73, 15, 128, 17, 255, 152, 12, 12, 2, 12, 172, 35, 12, 32, 0, 15, 200, 2, 11, 15, 36, 0, 21, 15, 0, 28, 81, 15, 128, 22, 255, 160, 0, 120, 2, 4, 20, 148, 14, 48, 38, 15, 0, 28, 161, 15, 128, 2, 255, 160, 0, 16, 153, 46, 39, 231, 128, 2, 15, 0, 28, 183, 15, 128, 27, 255, 140, 14, 44, 43, 15, 0, 28, 197, 15, 128, 2, 255, 76, 14, 116, 45, 15, 0, 28, 153, 15, 128, 2, 255, 172, 15, 200, 9, 169, 31, 168, 0, 28, 90, 15, 128, 2, 118, 15, 200, 9, 255, 79, 31, 168, 0, 28, 94, 15, 128, 2, 195, 15, 72, 26, 141, 30, 168, 128, 7, 15, 0, 28, 255, 19, 15, 0, 5, 153, 4, 204, 74, 23, 168, 108, 62, 15, 4, 0, 44, 15, 0, 28, 255, 111, 15, 128, 2, 141, 38, 77, 0, 124, 2, 0, 88, 4, 0, 192, 0, 4, 228, 69, 15, 128, 2, 48, 15, 0, 28, 255, 111, 15, 128, 2, 121, 15, 164, 5, 5, 4, 172, 55, 8, 192, 0, 8, 128, 2, 15, 12, 5, 40, 15, 0, 28, 255, 111, 15, 128, 2, 113, 8, 116, 2, 8, 236, 113, 47, 232, 241, 44, 114, 3, 0, 12, 0, 0, 128, 2, 0, 8, 0, 31, 168, 140, 7, 255, 45, 14, 32, 0, 15, 0, 28, 69, 15, 128, 22, 131, 47, 232, 241, 128, 2, 3, 12, 4, 0, 15, 200, 10, 5, 4, 140, 2, 15, 12, 12, 9, 0, 160, 2, 4, 4, 0, 4, 140, 77, 15, 188, 12, 4, 15, 72, 0, 36, 15, 0, 65, 255, 168, 15, 128, 2, 0, 15, 4, 0, 30, 14, 0, 5, 15, 4, 0, 255, 132, 15, 148, 81, 1, 15, 128, 2, 125, 14, 228, 4, 15, 148, 2, 6, 14, 128, 7, 15, 4, 0, 255, 145, 4, 156, 18, 4, 204, 16, 15, 128, 2, 145, 8, 4, 0, 4, 244, 6, 15, 8, 20, 123, 15, 204, 7, 255, 24, 12, 24, 94, 15, 128, 2, 157, 4, 192, 1, 14, 128, 2, 15, 244, 4, 255, 136, 8, 160, 6, 4, 12, 0, 4, 24, 94, 15, 128, 2, 181, 14, 40, 21, 15, 4, 0, 255, 120, 0, 116, 2, 46, 177, 217, 24, 94, 15, 128, 2, 112, 15, 84, 56, 41, 15, 4, 5, 255, 151, 14, 24, 94, 15, 128, 12, 119, 15, 84, 28, 27, 15, 128, 2, 255, 164, 15, 24, 94, 9, 15, 128, 2, 117, 15, 84, 28, 43, 15, 128, 7, 255, 152, 15, 128, 2, 181, 14, 92, 23, 15, 4, 0, 255, 156, 4, 52, 24, 15, 128, 2, 112, 15, 4, 0, 255, 143, 15, 208, 103, 5, 15, 80, 0, 37, 4, 252, 4, 0, 76, 34, 15, 128, 2, 255, 162, 15, 68, 20, 11, 15, 88, 0, 39, 0, 56, 43, 38, 0, 155, 16, 0, 4, 76, 43, 4, 116, 0, 0, 48, 2, 4, 184, 19, 15, 192, 0, 49, 47, 177, 217, 0, 5, 255, 252, 4, 148, 208, 8, 84, 11, 4, 144, 2, 12, 56, 22, 15, 116, 0, 51, 15, 128, 92, 255, 160, 31, 168, 40, 45, 88, 15, 56, 22, 9, 15, 108, 0, 48, 15, 0, 10, 255, 255, 8, 8, 128, 2, 47, 177, 217, 80, 116, 11, 15, 88, 7, 0, 15, 0, 5, 21, 15, 128, 7, 255, 255, 24, 15, 80, 116, 20, 15, 128, 2, 255, 255, 48, 15, 128, 12, 3, 15, 208, 113, 6, 15, 128, 2, 255, 151, 14, 152, 1, 15, 48, 2, 75, 31, 177, 52, 17, 7, 15, 56, 22, 54, 15, 212, 0, 8, 15, 128, 2, 255, 123, 12, 148, 62, 15, 176, 14, 85, 31, 177, 52, 17, 60, 4, 4, 0, 14, 248, 19, 15, 128, 2, 255, 144, 8, 200, 6, 31, 177, 48, 12, 72, 14, 192, 4, 14, 52, 17, 15, 200, 5, 80, 15, 128, 7, 255, 215, 15, 128, 2, 1, 4, 52, 7, 12, 12, 0, 0, 180, 14, 15, 200, 0, 85, 14, 236, 7, 15, 128, 12, 255, 196, 15, 128, 7, 4, 15, 52, 17, 78, 15, 124, 2, 8, 14, 112, 10, 15, 128, 2, 255, 201, 4, 128, 12, 4, 8, 0, 42, 0, 155, 20, 0, 15, 52, 17, 69, 15, 120, 2, 8, 15, 248, 12, 5, 15, 128, 17, 255, 203, 42, 0, 155, 128, 7, 4, 8, 5, 15, 52, 17, 24, 15, 120, 2, 70, 14, 136, 2, 15, 0, 20, 255, 200, 8, 8, 10, 15, 52, 17, 41, 14, 184, 4, 15, 120, 2, 47, 14, 136, 2, 15, 128, 2, 255, 28, 14, 116, 36, 15, 128, 2, 139, 12, 188, 0, 15, 108, 37, 44, 15, 116, 2, 1, 15, 132, 2, 45, 15, 128, 2, 255, 15, 15, 248, 38, 4, 15, 136, 12, 158, 15, 244, 4, 20, 15, 4, 0, 97, 15, 128, 2, 254, 15, 200, 8, 20, 15, 56, 27, 146, 14, 128, 2, 15, 124, 2, 6, 15, 128, 2, 230, 15, 100, 57, 12, 15, 4, 0, 255, 207, 15, 0, 5, 125, 15, 176, 26, 44, 15, 104, 6, 65, 15, 20, 5, 45, 15, 228, 5, 145, 15, 128, 7, 246, 14, 176, 26, 15, 104, 1, 78, 15, 148, 2, 218, 15, 188, 0, 25, 4, 180, 59, 4, 192, 27, 15, 128, 7, 255, 255, 35, 15, 76, 1, 41, 12, 64, 30, 15, 128, 7, 196, 15, 4, 0, 255, 71, 15, 204, 8, 27, 15, 64, 30, 79, 15, 4, 0, 0, 15, 0, 70, 109, 15, 220, 11, 255, 75, 12, 204, 8, 15, 244, 4, 21, 47, 232, 241, 64, 30, 11, 15, 172, 6, 55, 15, 128, 2, 255, 204, 15, 32, 2, 31, 15, 196, 163, 30, 15, 128, 2, 255, 243, 15, 48, 11, 57, 15, 196, 163, 36, 15, 0, 10, 255, 231, 15, 176, 18, 16, 15, 116, 47, 61, 15, 0, 10, 255, 251, 14, 228, 9, 15, 100, 0, 63, 0, 120, 7, 15, 192, 0, 12, 15, 128, 7, 209, 15, 172, 17, 9, 15, 128, 7, 255, 55, 15, 96, 1, 4, 15, 128, 2, 255, 3, 12, 124, 6, 14, 176, 27, 15, 92, 10, 255, 124, 15, 128, 2, 193, 14, 124, 6, 15, 0, 30, 255, 255, 29, 15, 160, 3, 56, 15, 128, 2, 255, 255, 100, 14, 4, 0, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 169, 63, 255, 155, 63, 4, 0, 255, 235, 15, 128, 2, 255, 94, 4, 176, 20, 15, 128, 2, 255, 255, 99, 12, 48, 28, 15, 128, 2, 255, 255, 99, 8, 48, 28, 15, 128, 2, 255, 255, 31, 14, 60, 7, 15, 128, 7, 255, 204, 8, 40, 13, 15, 248, 0, 61, 14, 92, 0, 15, 60, 7, 255, 0, 14, 128, 1, 15, 0, 5, 255, 12, 12, 44, 1, 14, 56, 1, 15, 56, 0, 22, 15, 60, 7, 13, 15, 8, 2, 101, 15, 0, 5, 255, 91, 15, 160, 1, 25, 14, 72, 2, 15, 56, 0, 30, 15, 60, 7, 21, 15, 32, 3, 61, 15, 0, 10, 255, 199, 14, 52, 4, 15, 56, 0, 30, 15, 32, 3, 77, 15, 128, 2, 255, 187, 12, 220, 1, 14, 72, 2, 15, 56, 0, 30, 15, 32, 3, 81, 15, 0, 5, 255, 191, 15, 8, 10, 56, 15, 32, 3, 61, 15, 128, 2, 255, 227, 15, 144, 4, 89, 14, 44, 12, 15, 232, 2, 79, 8, 32, 62, 15, 32, 0, 8, 15, 80, 0, 34, 15, 4, 0, 20, 15, 128, 2, 186, 14, 212, 0, 15, 80, 19, 14, 15, 0, 20, 154, 14, 8, 10, 15, 0, 30, 255, 255, 89, 14, 4, 0, 15, 128, 2, 255, 255, 255, 250, 15, 32, 38, 0, 15, 0, 5, 255, 255, 255, 133, 15, 168, 3, 0, 15, 128, 2, 255, 135, 15, 84, 5, 20, 15, 8, 3, 255, 54, 15, 128, 12, 255, 255, 111, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 48, 15, 4, 0, 255, 242, 15, 128, 2, 48, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 63, 54, 54, 54, 4, 0, 255, 243, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 248, 8, 68, 58, 15, 16, 0, 17, 8, 20, 0, 8, 32, 0, 15, 228, 0, 0, 15, 80, 0, 34, 15, 84, 0, 25, 4, 12, 0, 15, 8, 0, 9, 14, 60, 0, 14, 32, 0, 15, 80, 0, 4, 15, 156, 0, 9, 15, 128, 2, 255, 59, 15, 8, 0, 57, 15, 240, 1, 0, 15, 20, 0, 10, 12, 32, 0, 14, 48, 0, 15, 80, 0, 6, 15, 128, 2, 21, 15, 240, 0, 69, 15, 0, 5, 255, 59, 15, 176, 4, 13, 15, 240, 1, 41, 14, 100, 2, 15, 128, 2, 11, 15, 100, 4, 0, 15, 160, 0, 13, 15, 64, 0, 29, 15, 128, 2, 49, 15, 0, 5, 255, 187, 15, 8, 5, 37, 15, 64, 0, 0, 15, 0, 5, 255, 163, 14, 120, 1, 15, 16, 9, 14, 15, 128, 2, 34, 15, 112, 10, 0, 15, 80, 10, 34, 15, 80, 2, 0, 14, 0, 5, 15, 128, 2, 20, 14, 164, 0, 15, 16, 10, 10, 14, 4, 10, 15, 0, 20, 255, 255, 255, 255, 255, 255, 255, 255, 196, 8, 8, 0, 12, 180, 0, 15, 48, 20, 24, 15, 128, 2, 255, 255, 24, 15, 8, 0, 0, 15, 128, 14, 30, 15, 24, 0, 0, 15, 0, 5, 255, 255, 28, 15, 224, 4, 0, 15, 4, 22, 9, 15, 64, 0, 1, 15, 0, 5, 255, 255, 52, 14, 100, 2, 14, 124, 2, 15, 16, 0, 20, 15, 0, 30, 255, 255, 52, 31, 54, 0, 10, 23, 15, 128, 2, 255, 255, 36, 15, 4, 0, 64, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 43, 53, 143, 147, 154, 4, 0, 15, 16, 0, 1, 8, 20, 0, 15, 16, 0, 5, 15, 80, 0, 8, 15, 36, 0, 10, 14, 128, 0, 15, 16, 0, 55, 15, 112, 0, 21, 15, 156, 0, 1, 12, 8, 0, 15, 48, 0, 4, 15, 32, 0, 29, 15, 128, 2, 255, 7, 8, 8, 0, 15, 12, 0, 0, 15, 48, 0, 13, 15, 32, 0, 34, 15, 240, 1, 0, 15, 144, 0, 13, 15, 32, 0, 34, 14, 112, 0, 14, 8, 2, 15, 144, 0, 4, 15, 240, 0, 50, 14, 120, 0, 15, 0, 5, 255, 12, 15, 128, 2, 29, 15, 64, 5, 4, 15, 128, 2, 26, 15, 192, 4, 17, 15, 124, 5, 0, 15, 128, 2, 38, 14, 156, 5, 15, 128, 2, 46, 15, 0, 5, 255, 47, 14, 208, 1, 15, 0, 5, 187, 15, 168, 4, 25, 12, 16, 3, 15, 240, 0, 52, 15, 128, 2, 255, 19, 15, 0, 10, 8, 14, 64, 4, 15, 0, 10, 52, 15, 128, 2, 32, 15, 48, 10, 54, 15, 52, 2, 4, 15, 32, 6, 1, 15, 32, 0, 25, 15, 0, 5, 255, 14, 15, 0, 20, 255, 255, 255, 255, 255, 255, 255, 113, 31, 103, 124, 82, 255, 255, 46, 78, 0, 0, 0, 0, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 101, 14, 128, 2, 15, 124, 2, 255, 255, 77, 15, 128, 2, 4, 15, 124, 2, 255, 255, 104, 14, 132, 2, 15, 124, 2, 255, 255, 97, 14, 132, 2, 15, 124, 2, 255, 255, 97, 8, 132, 2, 15, 4, 0, 255, 255, 55, 15, 111, 2, 16, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 148, 0, 2, 0, 160, 0, 0, 0, 205, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 10, 0, 0, 23, 0, 1, 0, 79, 8, 4, 2, 255, 4, 0, 255, 255, 83, 31, 0, 1, 0, 0, 0, 24, 0, 63, 207, 195, 197, 4, 0, 255, 255, 76, 125, 224, 210, 212, 255, 242, 227, 229, 132, 2, 0, 16, 0, 127, 140, 134, 135, 255, 173, 164, 166, 128, 2, 255, 255, 76, 0, 124, 2, 4, 4, 0, 4, 132, 2, 0, 8, 0, 113, 75, 75, 74, 255, 107, 104, 104, 132, 2, 63, 103, 102, 102, 4, 0, 255, 255, 76, 49, 196, 184, 186, 128, 2, 53, 189, 177, 181, 144, 7, 0, 128, 2, 0, 4, 0, 14, 124, 2, 15, 4, 0, 255, 255, 69, 127, 174, 156, 166, 255, 138, 129, 134, 128, 2, 255, 255, 255, 49, 63, 77, 0, 255, 128, 2, 255, 255, 104, 191, 0, 155, 255, 255, 232, 241, 255, 255, 188, 204, 255, 128, 2, 255, 255, 96, 34, 39, 231, 124, 2, 4, 4, 0, 63, 168, 119, 255, 0, 5, 255, 255, 96, 49, 50, 226, 0, 124, 2, 62, 169, 112, 132, 124, 2, 15, 128, 2, 255, 217, 42, 232, 241, 140, 4, 15, 20, 0, 5, 12, 24, 0, 14, 20, 0, 10, 44, 0, 14, 100, 0, 14, 36, 0, 63, 255, 173, 41, 132, 1, 166, 63, 167, 171, 178, 8, 0, 26, 8, 56, 0, 4, 4, 0, 15, 16, 0, 1, 8, 20, 0, 15, 16, 0, 4, 15, 80, 0, 10, 14, 28, 0, 14, 72, 0, 14, 56, 0, 15, 128, 2, 99, 14, 116, 2, 14, 88, 2, 14, 16, 0, 15, 64, 0, 19, 12, 40, 0, 8, 72, 0, 14, 36, 0, 15, 128, 2, 219, 12, 24, 0, 14, 12, 0, 15, 48, 0, 2, 15, 136, 0, 18, 15, 72, 0, 12, 15, 128, 2, 130, 14, 216, 4, 15, 128, 2, 43, 15, 76, 5, 8, 15, 128, 2, 242, 15, 152, 4, 0, 15, 56, 2, 38, 14, 72, 2, 14, 128, 2, 15, 160, 0, 8, 15, 0, 5, 118, 14, 28, 0, 15, 0, 5, 51, 14, 72, 0, 15, 0, 5, 183, 14, 8, 2, 15, 24, 2, 26, 15, 0, 5, 57, 15, 128, 2, 186, 15, 20, 10, 16, 15, 252, 9, 37, 15, 128, 2, 230, 15, 16, 5, 29, 12, 72, 0, 15, 136, 0, 25, 15, 72, 0, 12, 15, 128, 2, 73, 15, 4, 0, 255, 255, 35, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 15, 80, 57, 255, 246, 15, 128, 2, 105, 0, 132, 44, 15, 4, 0, 255, 234, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 201, 8, 108, 35, 15, 16, 0, 25, 15, 64, 0, 15, 15, 128, 2, 255, 255, 25, 57, 83, 37, 126, 64, 2, 8, 16, 0, 0, 12, 0, 12, 16, 0, 46, 232, 241, 64, 0, 0, 4, 0, 14, 16, 0, 15, 128, 2, 255, 255, 21, 15, 8, 0, 13, 14, 244, 4, 15, 0, 5, 255, 255, 61, 15, 8, 0, 13, 12, 208, 4, 8, 128, 2, 14, 32, 5, 10, 48, 5, 15, 0, 10, 255, 255, 71, 47, 232, 241, 0, 5, 255, 255, 53, 4, 176, 4, 4, 224, 4, 15, 16, 0, 56, 15, 128, 2, 255, 255, 20, 15, 4, 0, 72, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 218, 63, 188, 182, 180, 4, 0, 2, 15, 0, 5, 255, 255, 91, 49, 53, 54, 52, 8, 0, 49, 54, 82, 171, 4, 0, 14, 0, 5, 15, 128, 2, 255, 255, 77, 0, 20, 81, 4, 124, 2, 15, 128, 2, 255, 34, 15, 68, 6, 4, 15, 116, 2, 255, 15, 12, 12, 0, 34, 177, 217, 252, 22, 15, 0, 5, 255, 34, 15, 68, 6, 0, 15, 128, 2, 255, 19, 0, 56, 1, 0, 12, 0, 0, 8, 0, 4, 116, 25, 0, 12, 0, 4, 80, 1, 8, 96, 1, 12, 20, 0, 15, 128, 2, 249, 14, 68, 6, 15, 120, 12, 255, 16, 0, 80, 2, 15, 60, 6, 5, 4, 112, 2, 12, 4, 0, 15, 128, 2, 249, 15, 68, 6, 8, 15, 0, 5, 255, 19, 14, 100, 2, 14, 4, 0, 15, 128, 2, 255, 18, 15, 68, 6, 28, 15, 128, 7, 254, 15, 108, 2, 24, 15, 128, 2, 250, 15, 68, 6, 36, 15, 148, 7, 255, 11, 31, 77, 128, 22, 255, 25, 15, 68, 6, 12, 15, 128, 2, 255, 27, 14, 28, 1, 15, 128, 2, 195, 0, 252, 101, 15, 4, 0, 53, 0, 128, 2, 47, 168, 119, 68, 6, 11, 14, 112, 0, 15, 4, 0, 255, 4, 15, 48, 1, 83, 15, 128, 22, 207, 14, 248, 19, 15, 0, 30, 255, 255, 89, 14, 224, 9, 15, 128, 2, 255, 255, 1, 15, 68, 6, 84, 15, 4, 0, 255, 135, 15, 0, 30, 255, 166, 12, 84, 98, 15, 0, 5, 255, 130, 15, 4, 0, 193, 47, 232, 241, 4, 0, 9, 15, 0, 5, 157, 15, 128, 2, 255, 156, 14, 124, 2, 15, 132, 2, 1, 15, 128, 2, 255, 255, 69, 14, 124, 2, 15, 132, 2, 9, 15, 128, 2, 255, 255, 49, 12, 72, 2, 15, 128, 2, 33, 14, 148, 2, 15, 128, 2, 255, 255, 17, 47, 232, 241, 4, 0, 77, 15, 128, 2, 255, 244, 15, 12, 2, 1, 47, 232, 241, 128, 2, 255, 255, 81, 15, 48, 7, 11, 15, 132, 2, 85, 15, 128, 2, 255, 255, 1, 15, 4, 0, 53, 47, 177, 217, 128, 2, 255, 255, 9, 15, 92, 2, 49, 47, 177, 217, 36, 0, 19, 47, 177, 217, 128, 2, 255, 255, 1, 14, 24, 2, 15, 56, 2, 19, 47, 177, 217, 4, 0, 43, 14, 192, 2, 15, 128, 2, 255, 228, 8, 132, 2, 15, 4, 0, 105, 15, 204, 5, 63, 15, 128, 2, 255, 176, 15, 32, 0, 45, 8, 40, 0, 15, 128, 2, 11, 15, 0, 28, 73, 15, 128, 17, 255, 152, 12, 12, 2, 12, 172, 35, 12, 32, 0, 15, 200, 2, 11, 15, 36, 0, 21, 15, 0, 28, 81, 15, 128, 22, 255, 160, 0, 120, 2, 4, 20, 148, 14, 48, 38, 15, 0, 28, 161, 15, 128, 2, 255, 160, 0, 16, 153, 46, 39, 231, 128, 2, 15, 0, 28, 183, 15, 128, 27, 255, 140, 14, 44, 43, 15, 0, 28, 197, 15, 128, 2, 255, 76, 14, 116, 45, 15, 0, 28, 153, 15, 128, 2, 255, 172, 15, 200, 9, 169, 31, 168, 0, 28, 90, 15, 128, 2, 118, 15, 200, 9, 255, 79, 31, 168, 0, 28, 94, 15, 128, 2, 195, 15, 72, 26, 141, 30, 168, 128, 7, 15, 0, 28, 255, 19, 15, 0, 5, 153, 4, 204, 74, 23, 168, 108, 62, 15, 4, 0, 44, 15, 0, 28, 255, 111, 15, 128, 2, 141, 38, 77, 0, 124, 2, 0, 88, 4, 0, 192, 0, 4, 228, 69, 15, 128, 2, 48, 15, 0, 28, 255, 111, 15, 128, 2, 121, 15, 164, 5, 5, 4, 172, 55, 8, 192, 0, 8, 128, 2, 15, 12, 5, 40, 15, 0, 28, 255, 111, 15, 128, 2, 113, 8, 116, 2, 8, 236, 113, 47, 232, 241, 44, 114, 3, 0, 12, 0, 0, 128, 2, 0, 8, 0, 31, 168, 140, 7, 255, 45, 14, 32, 0, 15, 0, 28, 69, 15, 128, 22, 131, 47, 232, 241, 128, 2, 3, 12, 4, 0, 15, 200, 10, 5, 4, 140, 2, 15, 12, 12, 9, 0, 160, 2, 4, 4, 0, 4, 140, 77, 15, 188, 12, 4, 15, 72, 0, 36, 15, 0, 65, 255, 168, 15, 128, 2, 0, 15, 4, 0, 30, 14, 0, 5, 15, 4, 0, 255, 132, 15, 148, 81, 1, 15, 128, 2, 125, 14, 228, 4, 15, 148, 2, 6, 14, 128, 7, 15, 4, 0, 255, 145, 4, 156, 18, 4, 204, 16, 15, 128, 2, 145, 8, 4, 0, 4, 244, 6, 15, 8, 20, 123, 15, 204, 7, 255, 24, 12, 24, 94, 15, 128, 2, 157, 4, 192, 1, 14, 128, 2, 15, 244, 4, 255, 136, 8, 160, 6, 4, 12, 0, 4, 24, 94, 15, 128, 2, 181, 14, 40, 21, 15, 4, 0, 255, 120, 0, 116, 2, 46, 177, 217, 24, 94, 15, 128, 2, 112, 15, 84, 56, 41, 15, 4, 5, 255, 151, 14, 24, 94, 15, 128, 12, 119, 15, 84, 28, 27, 15, 128, 2, 255, 164, 15, 24, 94, 9, 15, 128, 2, 117, 15, 84, 28, 43, 15, 128, 7, 255, 152, 15, 128, 2, 181, 14, 92, 23, 15, 4, 0, 255, 156, 4, 52, 24, 15, 128, 2, 112, 15, 4, 0, 255, 143, 15, 208, 103, 5, 15, 80, 0, 37, 4, 252, 4, 0, 76, 34, 15, 128, 2, 255, 162, 15, 68, 20, 11, 15, 88, 0, 39, 0, 56, 43, 38, 0, 155, 16, 0, 4, 76, 43, 4, 116, 0, 0, 48, 2, 4, 184, 19, 15, 192, 0, 49, 47, 177, 217, 0, 5, 255, 252, 4, 148, 208, 8, 84, 11, 4, 144, 2, 12, 56, 22, 15, 116, 0, 51, 15, 128, 92, 255, 160, 31, 168, 40, 45, 88, 15, 56, 22, 9, 15, 108, 0, 48, 15, 0, 10, 255, 255, 8, 8, 128, 2, 47, 177, 217, 80, 116, 11, 15, 88, 7, 0, 15, 0, 5, 21, 15, 128, 7, 255, 255, 24, 15, 80, 116, 20, 15, 128, 2, 255, 255, 48, 15, 128, 12, 3, 15, 208, 113, 6, 15, 128, 2, 255, 151, 14, 152, 1, 15, 48, 2, 75, 31, 177, 52, 17, 7, 15, 56, 22, 54, 15, 212, 0, 8, 15, 128, 2, 255, 123, 12, 148, 62, 15, 176, 14, 85, 31, 177, 52, 17, 60, 4, 4, 0, 14, 248, 19, 15, 128, 2, 255, 144, 8, 200, 6, 31, 177, 48, 12, 72, 14, 192, 4, 14, 52, 17, 15, 200, 5, 80, 15, 128, 7, 255, 215, 15, 128, 2, 1, 4, 52, 7, 12, 12, 0, 0, 180, 14, 15, 200, 0, 85, 14, 236, 7, 15, 128, 12, 255, 196, 15, 128, 7, 4, 15, 52, 17, 78, 15, 124, 2, 8, 14, 112, 10, 15, 128, 2, 255, 201, 4, 128, 12, 4, 8, 0, 42, 0, 155, 20, 0, 15, 52, 17, 69, 15, 120, 2, 8, 15, 248, 12, 5, 15, 128, 17, 255, 203, 42, 0, 155, 128, 7, 4, 8, 5, 15, 52, 17, 24, 15, 120, 2, 70, 14, 136, 2, 15, 0, 20, 255, 200, 8, 8, 10, 15, 52, 17, 41, 14, 184, 4, 15, 120, 2, 47, 14, 136, 2, 15, 128, 2, 255, 28, 14, 116, 36, 15, 128, 2, 139, 12, 188, 0, 15, 108, 37, 44, 15, 116, 2, 1, 15, 132, 2, 45, 15, 128, 2, 255, 15, 15, 248, 38, 4, 15, 136, 12, 158, 15, 244, 4, 20, 15, 4, 0, 97, 15, 128, 2, 254, 15, 200, 8, 20, 15, 56, 27, 146, 14, 128, 2, 15, 124, 2, 6, 15, 128, 2, 230, 15, 100, 57, 12, 15, 4, 0, 255, 207, 15, 0, 5, 125, 15, 176, 26, 44, 15, 104, 6, 65, 15, 20, 5, 45, 15, 228, 5, 145, 15, 128, 7, 246, 14, 176, 26, 15, 104, 1, 78, 15, 148, 2, 218, 15, 188, 0, 25, 4, 180, 59, 4, 192, 27, 15, 128, 7, 255, 255, 35, 15, 76, 1, 41, 12, 64, 30, 15, 128, 7, 196, 15, 4, 0, 255, 71, 15, 204, 8, 27, 15, 64, 30, 79, 15, 4, 0, 0, 15, 0, 70, 109, 15, 220, 11, 255, 75, 12, 204, 8, 15, 244, 4, 21, 47, 232, 241, 64, 30, 11, 15, 172, 6, 55, 15, 128, 2, 255, 204, 15, 32, 2, 31, 15, 196, 163, 30, 15, 128, 2, 255, 243, 15, 48, 11, 57, 15, 196, 163, 36, 15, 0, 10, 255, 231, 15, 176, 18, 16, 15, 116, 47, 61, 15, 0, 10, 255, 251, 14, 228, 9, 15, 100, 0, 63, 0, 120, 7, 15, 192, 0, 12, 15, 128, 7, 209, 15, 172, 17, 9, 15, 128, 7, 255, 55, 15, 96, 1, 4, 15, 128, 2, 255, 3, 12, 124, 6, 14, 176, 27, 15, 92, 10, 255, 124, 15, 128, 2, 193, 14, 124, 6, 15, 0, 30, 255, 255, 29, 15, 160, 3, 56, 15, 128, 2, 255, 255, 100, 14, 4, 0, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 169, 63, 255, 155, 63, 4, 0, 255, 235, 15, 128, 2, 255, 94, 4, 176, 20, 15, 128, 2, 255, 255, 99, 12, 48, 28, 15, 128, 2, 255, 255, 99, 8, 48, 28, 15, 128, 2, 255, 255, 31, 14, 60, 7, 15, 128, 7, 255, 204, 8, 40, 13, 15, 248, 0, 61, 14, 92, 0, 15, 60, 7, 255, 0, 14, 128, 1, 15, 0, 5, 255, 12, 12, 44, 1, 14, 56, 1, 15, 56, 0, 22, 15, 60, 7, 13, 15, 8, 2, 101, 15, 0, 5, 255, 91, 15, 160, 1, 25, 14, 72, 2, 15, 56, 0, 30, 15, 60, 7, 21, 15, 32, 3, 61, 15, 0, 10, 255, 199, 14, 52, 4, 15, 56, 0, 30, 15, 32, 3, 77, 15, 128, 2, 255, 187, 12, 220, 1, 14, 72, 2, 15, 56, 0, 30, 15, 32, 3, 81, 15, 0, 5, 255, 191, 15, 8, 10, 56, 15, 32, 3, 61, 15, 128, 2, 255, 227, 15, 144, 4, 89, 14, 44, 12, 15, 232, 2, 79, 8, 32, 62, 15, 32, 0, 8, 15, 80, 0, 34, 15, 4, 0, 20, 15, 128, 2, 186, 14, 212, 0, 15, 80, 19, 14, 15, 0, 20, 154, 14, 8, 10, 15, 0, 30, 255, 255, 89, 14, 4, 0, 15, 128, 2, 255, 255, 255, 250, 15, 32, 38, 0, 15, 0, 5, 255, 255, 255, 133, 15, 168, 3, 0, 15, 128, 2, 255, 135, 15, 84, 5, 20, 15, 8, 3, 255, 54, 15, 128, 12, 255, 255, 111, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 48, 15, 4, 0, 255, 242, 15, 128, 2, 56, 15, 4, 0, 255, 255, 35, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 63, 54, 54, 54, 4, 0, 255, 243, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 49, 93, 85, 88, 4, 0, 0, 132, 2, 15, 128, 82, 255, 255, 95, 4, 124, 2, 0, 4, 0, 0, 120, 2, 78, 0, 0, 0, 0, 128, 2, 15, 124, 2, 255, 255, 89, 14, 128, 2, 15, 124, 2, 255, 255, 93, 14, 128, 2, 15, 124, 2, 255, 255, 93, 14, 128, 2, 15, 124, 2, 255, 255, 93, 14, 128, 2, 15, 124, 2, 255, 255, 93, 12, 128, 2, 63, 75, 65, 68, 124, 2, 255, 255, 92, 9, 132, 2, 111, 65, 68, 255, 75, 56, 63, 4, 0, 255, 255, 52, 15, 124, 2, 25, 9, 132, 2, 47, 56, 63, 4, 0, 255, 255, 56, 14, 124, 2, 15, 132, 2, 19, 15, 4, 0, 255, 255, 55, 15, 111, 2, 16, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 244, 0, 0, 0, 32, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 31, 5, 1, 0, 49, 31, 13, 1, 0, 4, 3, 31, 0, 31, 6, 55, 0, 5, 3, 8, 0, 34, 7, 6, 1, 0, 27, 13, 8, 0, 15, 150, 0, 44, 80, 5, 5, 5, 5, 5, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 145, 0, 0, 6, 6, 6, 7, 6, 0, 0, 9, 0, 17, 0, 1, 0, 42, 6, 0, 8, 0, 15, 1, 0, 4, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 244, 0, 0, 0, 32, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 31, 5, 1, 0, 112, 34, 7, 6, 1, 0, 13, 8, 0, 3, 32, 0, 31, 13, 1, 0, 5, 15, 87, 0, 11, 80, 5, 5, 5, 5, 5, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 21, 0, 1, 0, 83, 6, 6, 6, 7, 6, 9, 0, 3, 18, 0, 31, 0, 1, 0, 10, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 80, 6, 6, 6, 0, 6, 5, 0, 0, 1, 0, 2, 6, 0, 4, 8, 0, 1, 23, 0, 4, 27, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 22, 0, 1, 0, 35, 6, 6, 8, 0, 1 ]); fileData0.push.apply(fileData0, [ 2, 0, 3, 3, 0, 3, 14, 0, 160, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 22, 0, 1, 0, 52, 6, 6, 6, 9, 0, 33, 0, 6, 14, 0, 34, 6, 0, 3, 0, 192, 6, 0, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 22, 0, 1, 0, 51, 6, 0, 6, 7, 0, 17, 6, 5, 0, 4, 16, 0, 2, 8, 0, 128, 6, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 22, 0, 1, 0, 49, 6, 6, 6, 7, 0, 49, 0, 6, 6, 5, 0, 0, 6, 0, 8, 14, 0, 96, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 20, 0, 1, 0, 33, 6, 6, 6, 0, 50, 0, 0, 7, 7, 0, 2, 15, 0, 36, 6, 13, 31, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 31, 0, 1, 0, 24, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 25, 0, 1, 0, 20, 7, 8, 0, 36, 7, 7, 8, 0, 40, 7, 7, 8, 0, 4, 26, 0, 20, 7, 44, 0, 4, 42, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 23, 0, 1, 0, 63, 7, 7, 7, 9, 0, 12, 18, 7, 1, 0, 34, 0, 0, 23, 0, 23, 7, 18, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 21, 0, 1, 0, 19, 7, 2, 0, 8, 18, 0, 6, 6, 0, 15, 18, 0, 7, 6, 54, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 23, 0, 1, 0, 54, 7, 0, 7, 9, 0, 26, 7, 9, 0, 0, 1, 0, 1, 16, 0, 2, 9, 0, 36, 0, 7, 9, 0, 1, 11, 0, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 25, 0, 1, 0, 31, 7, 10, 0, 4, 18, 7, 1, 0, 34, 0, 7, 10, 0, 1, 21, 0, 1, 8, 0, 2, 30, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 23, 0, 1, 0, 50, 7, 7, 7, 8, 0, 7, 4, 0, 1, 6, 0, 14, 9, 0, 8, 32, 0, 3, 54, 0, 112, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 21, 0, 1, 0, 18, 7, 1, 0, 50, 0, 0, 7, 15, 0, 15, 9, 0, 20, 4, 54, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 31, 0, 1, 0, 0, 31, 7, 10, 0, 30, 176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 148, 0, 2, 0, 160, 0, 0, 0, 205, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 225, 3, 0, 0, 79, 0, 0, 0, 255, 4, 0, 255, 255, 119, 63, 103, 102, 102, 4, 0, 255, 255, 84, 15, 124, 2, 255, 255, 107, 14, 132, 2, 14, 124, 2, 15, 132, 2, 255, 255, 86, 15, 128, 2, 255, 255, 255, 255, 255, 179, 63, 77, 0, 255, 128, 2, 255, 255, 104, 191, 0, 155, 255, 255, 232, 241, 255, 255, 188, 204, 255, 128, 2, 255, 255, 96, 34, 39, 231, 124, 2, 4, 4, 0, 63, 168, 119, 255, 0, 5, 255, 255, 96, 49, 50, 226, 0, 124, 2, 62, 169, 112, 132, 124, 2, 15, 128, 2, 255, 217, 42, 232, 241, 140, 4, 15, 20, 0, 5, 12, 24, 0, 14, 20, 0, 10, 44, 0, 14, 100, 0, 14, 36, 0, 63, 255, 173, 41, 124, 1, 166, 63, 167, 171, 178, 8, 0, 26, 8, 56, 0, 4, 4, 0, 15, 16, 0, 1, 8, 20, 0, 15, 16, 0, 4, 15, 80, 0, 10, 14, 28, 0, 14, 72, 0, 14, 56, 0, 15, 128, 2, 99, 14, 116, 2, 14, 88, 2, 14, 16, 0, 15, 64, 0, 19, 12, 40, 0, 8, 72, 0, 14, 36, 0, 15, 128, 2, 219, 12, 24, 0, 14, 12, 0, 15, 48, 0, 2, 15, 136, 0, 18, 15, 72, 0, 12, 15, 128, 2, 130, 14, 216, 4, 15, 128, 2, 43, 15, 76, 5, 8, 15, 128, 2, 242, 15, 152, 4, 0, 15, 56, 2, 38, 14, 72, 2, 14, 128, 2, 15, 160, 0, 8, 15, 0, 5, 118, 14, 28, 0, 15, 0, 5, 51, 14, 72, 0, 15, 0, 5, 183, 14, 8, 2, 15, 24, 2, 26, 15, 0, 5, 57, 15, 128, 2, 186, 15, 20, 10, 16, 15, 252, 9, 37, 15, 128, 2, 230, 15, 16, 5, 29, 12, 72, 0, 15, 136, 0, 25, 15, 72, 0, 12, 15, 128, 2, 65, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 15, 56, 57, 255, 255, 47, 15, 64, 0, 49, 63, 139, 138, 136, 4, 0, 255, 235, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 15, 4, 0, 255, 242, 15, 128, 2, 48, 15, 4, 0, 255, 255, 43, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 63, 54, 54, 54, 4, 0, 255, 243, 15, 128, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 157, 14, 60, 2, 15, 128, 2, 255, 255, 89, 15, 124, 2, 44, 15, 128, 2, 45, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 52, 15, 128, 2, 40, 15, 124, 2, 255, 255, 47, 15, 128, 82, 255, 255, 68, 15, 192, 107, 32, 15, 124, 2, 255, 255, 108, 14, 128, 2, 15, 124, 2, 255, 255, 40, 15, 128, 2, 37, 15, 124, 2, 255, 255, 108, 14, 128, 2, 15, 124, 2, 255, 255, 32, 15, 128, 2, 45, 15, 124, 2, 255, 255, 108, 14, 128, 2, 15, 124, 2, 255, 255, 28, 15, 132, 2, 53, 15, 124, 2, 255, 255, 108, 14, 132, 2, 15, 124, 2, 255, 255, 12, 15, 4, 0, 255, 255, 183, 80, 255, 0, 0, 0, 255, 99, 66, 77, 80, 20, 6, 0, 0, 48, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 246, 0, 0, 0, 31, 0, 1, 0, 78, 31, 6, 1, 0, 24, 15, 47, 0, 28, 47, 6, 6, 47, 0, 17, 79, 7, 7, 7, 7, 24, 0, 5, 31, 7, 48, 0, 23, 46, 7, 7, 49, 0, 15, 119, 0, 12, 31, 5, 48, 0, 27, 63, 5, 5, 5, 48, 0, 25, 16, 5, 1, 0, 15, 144, 0, 4, 15, 192, 0, 48, 17, 13, 47, 0, 63, 13, 6, 6, 60, 1, 14, 2, 13, 0, 18, 13, 1, 0, 14, 87, 1, 12, 124, 0, 18, 7, 26, 1, 20, 6, 47, 0, 30, 5, 49, 0, 9, 12, 1, 0, 47, 0, 6, 25, 1, 2, 13, 0, 14, 48, 0, 1, 83, 0, 14, 73, 1, 13, 75, 0, 47, 7, 7, 96, 0, 23, 5, 183, 0, 15, 192, 0, 2, 6, 123, 0, 4, 192, 0, 5, 135, 0, 9, 60, 1, 10, 73, 1, 8, 87, 1, 5, 35, 2, 4, 60, 1, 2, 34, 0, 9, 73, 1, 8, 27, 0, 6, 231, 0, 7, 47, 0, 39, 6, 6, 47, 0, 5, 87, 1, 14, 243, 1, 15, 64, 2, 4, 15, 243, 1, 24, 13, 160, 2, 9, 183, 0, 15, 0, 3, 17, 14, 47, 0, 15, 160, 2, 68, 14, 48, 0, 14, 173, 0, 15, 49, 0, 0, 15, 173, 0, 22, 30, 6, 129, 4, 15, 225, 4, 65, 15, 153, 5, 74, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 20, 6, 0, 0, 48, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 31, 0, 1, 0, 78, 31, 6, 1, 0, 24, 15, 47, 0, 28, 47, 6, 6, 47, 0, 17, 79, 7, 7, 7, 7, 24, 0, 5, 31, 7, 48, 0, 23, 46, 7, 7, 49, 0, 15, 119, 0, 12, 31, 5, 48, 0, 27, 63, 5, 5, 5, 48, 0, 25, 16, 5, 1, 0, 15, 144, 0, 4, 15, 192, 0, 48, 17, 13, 47, 0, 63, 13, 6, 6, 60, 1, 14, 16, 14, 1, 0, 34, 6, 13, 1, 0, 14, 87, 1, 12, 124, 0, 0, 46, 0, 20, 5, 49, 0, 0, 247, 0, 14, 49, 0, 9, 12, 1, 0, 47, 0, 0, 48, 0, 6, 27, 0, 15, 48, 0, 1, 23, 7, 48, 0, 27, 5, 48, 0, 5, 75, 0, 4, 183, 0, 15, 96, 0, 20, 5, 183, 0, 15, 192, 0, 2, 6, 123, 0, 4, 192, 0, 5, 135, 0, 9, 60, 1, 17, 13, 32, 1, 31, 13, 87, 1, 0, 5, 35, 2, 4, 60, 1, 2, 34, 0, 9, 73, 1, 8, 27, 0, 6, 231, 0, 7, 47, 0, 39, 6, 6, 47, 0, 4, 49, 0, 14, 243, 1, 15, 64, 2, 5, 15, 243, 1, 24, 13, 160, 2, 9, 183, 0, 15, 0, 3, 17, 14, 47, 0, 15, 160, 2, 68, 14, 48, 0, 14, 173, 0, 15, 49, 0, 0, 15, 173, 0, 22, 30, 6, 129, 4, 15, 225, 4, 65, 15, 153, 5, 74, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 20, 6, 0, 0, 48, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 31, 0, 1, 0, 78, 31, 6, 1, 0, 24, 15, 47, 0, 28, 47, 6, 6, 47, 0, 17, 79, 7, 7, 7, 7, 24, 0, 5, 31, 7, 48, 0, 23, 46, 7, 7, 49, 0, 15, 119, 0, 12, 31, 5, 48, 0, 27, 63, 5, 5, 5, 48, 0, 25, 16, 5, 1, 0, 15, 144, 0, 4, 15, 192, 0, 48, 17, 13, 47, 0, 63, 13, 6, 6, 60, 1, 14, 2, 13, 0, 18, 13, 1, 0, 32, 6, 14, 1, 0, 15, 124, 0, 9, 18, 7, 26, 1, 20, 6, 47, 0, 30, 5, 49, 0, 9, 12, 1, 0, 47, 0, 6, 25, 1, 79, 14, 14, 5, 5, 48, 0, 1, 1, 83, 0, 15, 73, 1, 0, 0, 48, 0, 58, 5, 14, 14, 183, 0, 15, 96, 0, 20, 5, 183, 0, 15, 192, 0, 2, 5, 48, 0, 5, 192, 0, 5, 135, 0, 9, 60, 1, 10, 73, 1, 17, 13, 32, 1, 26, 13, 35, 2, 4, 60, 1, 2, 34, 0, 3, 13, 0, 10, 87, 1, 10, 231, 0, 7, 47, 0, 39, 6, 6, 47, 0, 5, 87, 1, 14, 243, 1, 15, 64, 2, 4, 15, 243, 1, 24, 13, 160, 2, 9, 183, 0, 15, 0, 3, 17, 14, 47, 0, 15, 160, 2, 68, 14, 48, 0, 14, 173, 0, 15, 49, 0, 0, 15, 173, 0, 22, 30, 6, 129, 4, 15, 225, 4, 65, 15, 153, 5, 74, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 20, 6, 0, 0, 48, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 1, 0, 0, 31, 0, 1, 0, 78, 31, 6, 1, 0, 24, 15, 47, 0, 28, 47, 6, 6, 47, 0, 17, 79, 7, 7, 7, 7, 24, 0, 1, 16, 14, 1, 0, 15, 48, 0, 23, 46, 14, 14, 49, 0, 15, 155, 0, 9, 79, 14, 14, 14, 5, 48, 0, 27, 63, 5, 5, 5, 48, 0, 25, 16, 5, 1, 0, 15, 144, 0, 4, 15, 192, 0, 48, 17, 13, 47, 0, 47, 13, 6, 84, 1, 6, 26, 7, 13, 0, 18, 13, 1, 0, 10, 27, 0, 8, 47, 0, 38, 7, 7, 13, 0, 20, 5, 49, 0, 17, 6, 12, 0, 12, 49, 0, 87, 7, 7, 5, 5, 5, 48, 0, 6, 13, 0, 1, 27, 0, 15, 48, 0, 1, 1, 83, 0, 14, 61, 0, 13, 75, 0, 47, 7, 7, 96, 0, 23, 5, 183, 0, 15, 192, 0, 2, 6, 123, 0, 4, 192, 0, 5, 135, 0, 17, 13, 47, 0, 3, 60, 1, 9, 13, 0, 9, 14, 0, 2, 73, 0, 37, 7, 6, 60, 1, 2, 34, 0, 9, 73, 1, 8, 27, 0, 6, 231, 0, 7, 47, 0, 39, 6, 6, 47, 0, 5, 87, 1, 14, 119, 1, 13, 195, 1, 1, 64, 2, 9, 29, 0, 10, 170, 0, 31, 6, 148, 1, 8, 10, 170, 0, 15, 35, 2, 5, 13, 169, 1, 15, 47, 0, 3, 14, 173, 0, 15, 1, 0, 5, 15, 173, 0, 0, 15, 48, 0, 23, 14, 173, 0, 14, 49, 0, 15, 173, 0, 21, 30, 6, 129, 4, 15, 225, 4, 65, 15, 153, 5, 74, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 20, 6, 0, 0, 48, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 1, 0, 0, 31, 0, 1, 0, 78, 31, 6, 1, 0, 24, 15, 47, 0, 28, 47, 6, 6, 47, 0, 17, 79, 7, 7, 7, 7, 24, 0, 5, 31, 7, 48, 0, 23, 46, 7, 7, 49, 0, 15, 119, 0, 12, 31, 5, 48, 0, 27, 63, 5, 5, 5, 48, 0, 25, 16, 5, 1, 0, 15, 144, 0, 4, 15, 192, 0, 48, 17, 13, 47, 0, 63, 13, 6, 6, 60, 1, 14, 2, 13, 0, 18, 13, 1, 0, 14, 87, 1, 12, 124, 0, 18, 7, 26, 1, 20, 6, 47, 0, 30, 5, 49, 0, 9, 12, 1, 0, 47, 0, 6, 25, 1, 2, 13, 0, 14, 48, 0, 1, 83, 0, 14, 73, 1, 13, 75, 0, 47, 7, 7, 96, 0, 23, 5, 183, 0, 15, 192, 0, 2, 6, 123, 0, 4, 192, 0, 5, 135, 0, 9, 60, 1, 10, 73, 1, 8, 87, 1, 5, 35, 2, 4, 60, 1, 2, 34, 0, 3, 13, 0, 16, 14, 1, 0, 9, 27, 0, 6, 231, 0, 7, 47, 0, 39, 6, 6, 47, 0, 4, 49, 0, 15, 243, 1, 16, 17, 14, 64, 2, 31, 14, 243, 1, 22, 16, 14, 49, 0, 26, 14, 48, 0, 8, 183, 0, 14, 48, 0, 32, 14, 5, 144, 0, 13, 49, 0, 31, 6, 48, 0, 6, 1, 192, 0, 15, 160, 2, 22, 1, 47, 0, 31, 13, 48, 0, 23, 14, 173, 0, 14, 49, 0, 15, 173, 0, 21, 30, 6, 129, 4, 15, 225, 4, 65, 15, 153, 5, 74, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 20, 6, 0, 0, 48, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 1, 0, 0, 31, 0, 1, 0, 78, 31, 6, 1, 0, 24, 15, 47, 0, 28, 47, 6, 6, 47, 0, 17, 79, 7, 7, 7, 7, 24, 0, 5, 31, 7, 48, 0, 23, 46, 7, 7, 49, 0, 15, 119, 0, 12, 31, 5, 48, 0, 27, 63, 5, 5, 5, 48, 0, 25, 16, 5, 1, 0, 15, 144, 0, 4, 15, 192, 0, 48, 17, 13, 47, 0, 31, 13, 29, 0, 3, 16, 14, 1, 0, 10, 73, 1, 18, 13, 1, 0, 15, 87, 1, 2, 39, 14, 14, 49, 0, 18, 7, 26, 1, 20, 6, 47, 0, 30, 5, 49, 0, 87, 14, 14, 5, 5, 5, 48, 0, 7, 25, 1, 2, 13, 0, 14, 48, 0, 23, 14, 48, 0, 8, 73, 1, 9, 87, 1, 4, 243, 1, 15, 96, 0, 20, 5, 51, 1, 15, 192, 0, 2, 5, 48, 0, 22, 7, 48, 0, 18, 5, 26, 0, 17, 13, 47, 0, 31, 13, 73, 1, 1, 8, 14, 0, 5, 35, 2, 4, 60, 1, 2, 34, 0, 9, 73, 1, 8, 27, 0, 5, 96, 0, 23, 6, 47, 0, 39, 6, 6, 47, 0, 5, 87, 1, 14, 243, 1, 15, 64, 2, 4, 15, 243, 1, 22, 15, 160, 2, 0, 9, 183, 0, 15, 0, 3, 17, 14, 47, 0, 15, 160, 2, 68, 14, 48, 0, 14, 173, 0, 15, 49, 0, 0, 15, 173, 0, 22, 30, 6, 129, 4, 15, 225, 4, 65, 15, 153, 5, 74, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 20, 6, 0, 0, 48, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 31, 0, 1, 0, 78, 31, 6, 1, 0, 24, 15, 47, 0, 28, 47, 6, 6, 47, 0, 17, 79, 7, 7, 7, 7, 24, 0, 5, 31, 7, 48, 0, 23, 46, 7, 7, 49, 0, 15, 119, 0, 12, 31, 5, 48, 0, 27, 63, 5, 5, 5, 48, 0, 25, 16, 5, 1, 0, 15, 144, 0, 4, 15, 192, 0, 48, 17, 13, 47, 0, 63, 13, 6, 6, 60, 1, 14, 2, 13, 0, 18, 13, 1, 0, 14, 87, 1, 12, 124, 0, 18, 7, 26, 1, 20, 6, 47, 0, 30, 5, 49, 0, 9, 12, 1, 0, 47, 0, 6, 25, 1, 2, 13, 0, 14, 48, 0, 1, 83, 0, 14, 73, 1, 10, 75, 0, 16, 14, 1, 0, 15, 96, 0, 23, 35, 14, 14, 49, 0, 15, 192, 0, 2, 6, 123, 0, 6, 48, 0, 91, 5, 14, 5, 14, 14, 60, 1, 10, 73, 1, 8, 87, 1, 16, 14, 49, 0, 1, 48, 0, 3, 60, 1, 2, 34, 0, 9, 73, 1, 8, 27, 0, 5, 96, 0, 23, 6, 47, 0, 39, 6, 6, 47, 0, 5, 87, 1, 10, 192, 0, 15, 64, 2, 20, 17, 13, 47, 0, 31, 13, 160, 2, 22, 9, 183, 0, 15, 0, 3, 17, 14, 47, 0, 15, 160, 2, 68, 14, 48, 0, 14, 173, 0, 15, 49, 0, 0, 15, 173, 0, 22, 30, 6, 129, 4, 15, 225, 4, 65, 15, 153, 5, 74, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 20, 6, 0, 0, 48, 0, 0, 0, 32, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 252, 0, 0, 0, 31, 0, 1, 0, 78, 31, 6, 1, 0, 24, 15, 47, 0, 28, 47, 6, 6, 47, 0, 17, 79, 14, 14, 14, 14, 24, 0, 1, 16, 7, 1, 0, 15, 48, 0, 23, 46, 7, 7, 49, 0, 15, 155, 0, 9, 79, 7, 7, 7, 5, 48, 0, 27, 63, 5, 5, 5, 48, 0, 25, 16, 5, 1, 0, 15, 144, 0, 4, 15, 192, 0, 48, 17, 13, 47, 0, 63, 13, 6, 6, 60, 1, 14, 2, 13, 0, 18, 13, 1, 0, 14, 87, 1, 12, 124, 0, 18, 7, 26, 1, 20, 6, 47, 0, 30, 5, 49, 0, 9, 12, 1, 0, 47, 0, 6, 25, 1, 2, 13, 0, 14, 48, 0, 1, 83, 0, 14, 73, 1, 13, 75, 0, 47, 7, 7, 96, 0, 23, 5, 183, 0, 15, 192, 0, 2, 6, 123, 0, 4, 192, 0, 5, 135, 0, 9, 60, 1, 10, 73, 1, 8, 87, 1, 5, 35, 2, 4, 60, 1, 2, 34, 0, 9, 73, 1, 8, 27, 0, 6, 231, 0, 7, 47, 0, 39, 6, 6, 47, 0, 5, 87, 1, 14, 243, 1, 15, 64, 2, 4, 15, 243, 1, 24, 13, 160, 2, 9, 183, 0, 15, 0, 3, 17, 14, 47, 0, 15, 160, 2, 68, 14, 48, 0, 14, 173, 0, 15, 49, 0, 0, 15, 173, 0, 22, 30, 6, 129, 4, 15, 225, 4, 65, 15, 153, 5, 74, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 19, 0, 1, 0, 86, 6, 9, 9, 9, 6, 7, 0, 0, 1, 0, 99, 0, 0, 6, 7, 7, 7, 14, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 19, 0, 1, 0, 16, 6, 1, 0, 120, 0, 0, 6, 5, 5, 5, 6, 14, 0, 1, 7, 0, 192, 6, 6, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 21, 0, 1, 0, 17, 8, 6, 0, 241, 2, 9, 7, 15, 0, 0, 0, 10, 7, 7, 7, 14, 0, 0, 0, 11, 7, 13, 22, 0, 176, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 19, 0, 1, 0, 86, 6, 13, 13, 13, 6, 7, 0, 0, 1, 0, 99, 0, 0, 6, 7, 7, 7, 14, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 19, 0, 1, 0, 86, 6, 12, 12, 12, 6, 7, 0, 0, 1, 0, 99, 0, 0, 6, 7, 7, 7, 14, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 19, 0, 1, 0, 35, 13, 13, 7, 0, 63, 13, 13, 13, 7, 0, 4, 96, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 21, 0, 1, 0, 18, 7, 6, 0, 18, 7, 6, 0, 8, 14, 0, 4, 28, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 21, 0, 1, 0, 19, 7, 7, 0, 19, 7, 7, 0, 24, 7, 14, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 19, 0, 1, 0, 16, 5, 1, 0, 15, 7, 0, 8, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 21, 0, 1, 0, 18, 7, 6, 0, 34, 7, 7, 6, 0, 38, 7, 7, 21, 0, 192, 0, 7, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 19, 0, 1, 0, 86, 6, 10, 10, 10, 6, 7, 0, 0, 1, 0, 99, 0, 0, 6, 7, 7, 7, 14, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 19, 0, 1, 0, 51, 6, 6, 6, 7, 0, 0, 10, 0, 15, 7, 0, 2, 96, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 50, 0, 8, 8, 3, 0, 83, 8, 8, 8, 7, 8, 1, 0, 2, 15, 0, 50, 0, 0, 0, 6, 0, 208, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 18, 0, 1, 0, 33, 11, 11, 5, 0, 66, 11, 11, 11, 0, 4, 0, 2, 18, 0, 17, 0, 5, 0, 4, 7, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 80, 0, 0, 0, 10, 0, 1, 0, 49, 10, 10, 10, 5, 0, 65, 10, 7, 10, 10, 8, 0, 37, 10, 0, 7, 0, 192, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 176, 0, 0, 9, 9, 9, 0, 0, 0, 0, 9, 1, 7, 0, 81, 9, 9, 1, 9, 9, 20, 0, 65, 9, 9, 0, 9, 14, 0, 4, 1, 0, 112, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 213, 0, 0, 4, 4, 9, 0, 0, 0, 2, 2, 2, 7, 2, 7, 0, 85, 8, 8, 8, 15, 8, 7, 0, 208, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 213, 0, 0, 8, 0, 8, 0, 0, 0, 12, 12, 8, 12, 12, 7, 0, 16, 8, 1, 0, 12, 21, 0, 96, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 96, 0, 0, 0, 7, 7, 0, 6, 0, 1, 3, 0, 4, 7, 0, 17, 6, 21, 0, 53, 6, 0, 0, 6, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 0, 0, 0, 21, 0, 1, 0, 208, 8, 0, 8, 0, 0, 12, 12, 12, 8, 12, 0, 0, 8, 1, 0, 5, 14, 0, 3, 7, 0, 96, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 242, 4, 0, 0, 4, 4, 9, 0, 0, 0, 5, 5, 5, 7, 5, 0, 0, 5, 8, 8, 14, 7, 0, 22, 8, 7, 0, 0, 29, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 213, 0, 0, 4, 4, 9, 0, 0, 0, 2, 2, 2, 7, 2, 7, 0, 85, 14, 14, 14, 15, 14, 7, 0, 208, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 130, 0, 0, 15, 15, 15, 0, 0, 15, 7, 0, 18, 14, 1, 0, 1, 9, 0, 149, 0, 15, 0, 0, 12, 0, 12, 0, 0, 7, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 26, 0, 1, 0, 32, 8, 8, 3, 0, 32, 0, 8, 1, 0, 1, 15, 0, 18, 8, 23, 0, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0, 0, 0, 19, 0, 1, 0, 86, 6, 8, 8, 8, 6, 7, 0, 0, 1, 0, 99, 0, 0, 6, 7, 7, 7, 14, 0, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 0, 0, 0, 19, 0, 1, 0, 33, 1, 1, 3, 0, 32, 8, 8, 3, 0, 32, 1, 8, 1, 0, 1, 15, 0, 32, 8, 1, 29, 0, 176, 8, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 99, 66, 77, 80, 20, 1, 0, 0, 16, 0, 0, 0, 16, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 41, 0, 32, 1, 0, 71, 0, 32, 32, 7, 1, 0, 72, 32, 32, 32, 7, 31, 0, 31, 7, 16, 0, 159, 11, 208, 0, 7, 240, 0, 80, 32, 32, 32, 32, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 22, 7, 1, 0, 19, 32, 1, 0, 15, 10, 0, 53, 144, 7, 7, 7, 7, 7, 7, 7, 7, 7, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 182, 32, 32, 32, 32, 0, 0, 0, 0, 32, 7, 7, 8, 0, 18, 32, 1, 0, 89, 0, 32, 7, 32, 32, 15, 0, 7, 36, 0, 112, 0, 0, 0, 32, 32, 32, 32, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 192, 0, 32, 32, 32, 32, 0, 0, 0, 0, 32, 7, 7, 8, 0, 20, 32, 8, 0, 39, 7, 32, 1, 0, 3, 19, 0, 54, 7, 32, 32, 42, 0, 96, 0, 32, 32, 32, 32, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 97, 0, 0, 32, 32, 32, 32, 6, 0, 32, 7, 7, 8, 0, 19, 7, 8, 0, 18, 32, 24, 0, 6, 10, 0, 0, 24, 0, 2, 34, 0, 192, 7, 32, 32, 32, 0, 0, 32, 32, 32, 32, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 33, 0, 32, 1, 0, 112, 0, 0, 32, 7, 32, 7, 7, 8, 0, 18, 32, 8, 0, 1, 10, 0, 20, 32, 6, 0, 0, 32, 0, 19, 7, 40, 0, 208, 7, 32, 7, 32, 0, 0, 32, 32, 32, 32, 32, 32, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 49, 0, 0, 32, 1, 0, 129, 0, 0, 32, 7, 32, 7, 7, 32, 16, 0, 1, 8, 0, 4, 26, 0, 18, 32, 12, 0, 35, 7, 7, 38, 0, 224, 7, 32, 7, 32, 0, 0, 0, 32, 32, 32, 32, 32, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 112, 0, 0, 0, 32, 32, 32, 0, 1, 0, 34, 32, 7, 10, 0, 48, 32, 32, 7, 10, 0, 18, 32, 8, 0, 8, 12, 0, 2, 45, 0, 208, 7, 32, 0, 0, 0, 0, 0, 32, 32, 32, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 129, 0, 0, 0, 0, 32, 32, 32, 0, 8, 0, 68, 7, 32, 0, 32, 1, 0, 42, 7, 7, 4, 0, 3, 1, 0, 1, 37, 0, 176, 0, 0, 0, 0, 32, 32, 32, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 19, 0, 1, 0, 65, 32, 32, 32, 32, 5, 0, 97, 7, 7, 32, 0, 32, 7, 8, 0, 5, 1, 0, 0, 12, 0, 1, 23, 0, 21, 7, 39, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 49, 0, 0, 16, 1, 0, 81, 0, 0, 0, 16, 6, 1, 0, 16, 16, 10, 0, 79, 14, 14, 14, 14, 10, 0, 17, 6, 50, 0, 70, 7, 7, 7, 7, 20, 0, 0, 80, 0, 144, 0, 16, 16, 16, 16, 16, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 128, 0, 0, 0, 16, 16, 16, 16, 0, 1, 0, 81, 16, 7, 6, 6, 6, 11, 0, 79, 16, 6, 15, 15, 10, 0, 19, 6, 50, 0, 38, 7, 7, 20, 0, 2, 80, 0, 128, 0, 16, 16, 16, 0, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 114, 0, 0, 0, 0, 16, 16, 0, 1, 0, 79, 16, 6, 6, 16, 10, 0, 57, 112, 0, 16, 16, 0, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, 0, 0, 128, 0, 0, 0, 16, 16, 16, 16, 0, 1, 0, 111, 16, 6, 6, 6, 6, 16, 10, 0, 19, 20, 7, 10, 0, 20, 7, 20, 0, 54, 7, 6, 6, 71, 0, 2, 10, 0, 112, 0, 16, 16, 16, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0, 49, 0, 0, 16, 1, 0, 81, 0, 0, 0, 16, 6, 1, 0, 30, 16, 10, 0, 20, 7, 10, 0, 20, 7, 10, 0, 20, 7, 10, 0, 50, 7, 7, 7, 40, 0, 0, 9, 0, 17, 6, 71, 0, 34, 7, 7, 50, 0, 144, 0, 0, 16, 16, 16, 16, 16, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58, 0, 0, 0, 49, 0, 0, 16, 1, 0, 81, 0, 0, 0, 16, 6, 1, 0, 30, 16, 10, 0, 20, 7, 10, 0, 20, 7, 10, 0, 20, 7, 10, 0, 50, 7, 7, 7, 40, 0, 0, 9, 0, 17, 6, 71, 0, 34, 7, 7, 50, 0, 144, 0, 0, 16, 16, 16, 16, 16, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 0, 0, 0, 128, 0, 0, 0, 16, 16, 16, 16, 0, 1, 0, 99, 16, 6, 6, 6, 7, 16, 10, 0, 20, 7, 10, 0, 20, 7, 10, 0, 24, 7, 10, 0, 20, 6, 10, 0, 20, 6, 10, 0, 4, 60, 0, 36, 0, 16, 60, 0, 128, 0, 0, 16, 16, 16, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 114, 0, 0, 0, 0, 16, 16, 0, 1, 0, 51, 16, 6, 7, 11, 0, 47, 16, 7, 10, 0, 1, 20, 6, 10, 0, 22, 6, 10, 0, 15, 30, 0, 9, 112, 0, 16, 16, 0, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 128, 0, 0, 0, 16, 16, 16, 16, 0, 1, 0, 98, 16, 7, 7, 6, 6, 16, 10, 0, 35, 14, 14, 10, 0, 31, 6, 10, 0, 11, 20, 6, 50, 0, 54, 6, 7, 7, 20, 0, 2, 80, 0, 128, 0, 16, 16, 16, 0, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 49, 0, 0, 16, 1, 0, 81, 0, 0, 0, 16, 6, 1, 0, 16, 16, 10, 0, 79, 14, 14, 14, 14, 10, 0, 17, 6, 50, 0, 70, 7, 7, 7, 7, 20, 0, 0, 80, 0, 144, 0, 16, 16, 16, 16, 16, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 49, 0, 0, 16, 1, 0, 81, 0, 0, 0, 16, 6, 1, 0, 16, 16, 10, 0, 79, 14, 14, 14, 14, 10, 0, 17, 6, 50, 0, 70, 7, 7, 7, 7, 20, 0, 0, 80, 0, 144, 0, 16, 16, 16, 16, 16, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 49, 0, 0, 16, 1, 0, 81, 0, 0, 0, 16, 6, 1, 0, 16, 16, 10, 0, 79, 14, 14, 14, 14, 10, 0, 17, 6, 50, 0, 70, 7, 7, 7, 7, 20, 0, 0, 80, 0, 144, 0, 16, 16, 16, 16, 16, 0, 0, 0, 99, 66, 77, 80, 36, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 0, 1, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 36, 0, 0, 0, 4, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 22, 0, 1, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 245, 0, 0, 0, 15, 0, 0, 0, 15, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 31, 0, 1, 0, 1, 16, 32, 1, 0, 6, 14, 0, 16, 6, 1, 0, 4, 18, 0, 33, 32, 6, 30, 0, 0, 18, 0, 1, 42, 0, 34, 6, 32, 8, 0, 1, 6, 0, 84, 7, 7, 13, 7, 7, 58, 0, 33, 32, 7, 15, 0, 47, 7, 32, 15, 0, 3, 18, 13, 1, 0, 7, 30, 0, 0, 1, 0, 15, 15, 0, 33, 3, 16, 0, 28, 32, 192, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 19, 1, 0, 0, 17, 0, 0, 0, 15, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70, 0, 0, 0, 31, 0, 1, 0, 49, 26, 17, 1, 0, 58, 0, 17, 7, 1, 0, 116, 17, 17, 7, 7, 13, 13, 7, 2, 0, 2, 17, 0, 7, 34, 0, 16, 13, 17, 0, 7, 33, 0, 17, 13, 17, 0, 15, 68, 0, 0, 67, 7, 13, 13, 13, 40, 0, 15, 34, 0, 0, 13, 136, 0, 15, 1, 0, 10, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 31, 0, 1, 0, 24, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 0, 0, 0, 49, 0, 0, 16, 1, 0, 81, 0, 0, 0, 16, 5, 1, 0, 31, 16, 10, 0, 24, 17, 13, 1, 0, 10, 20, 0, 16, 6, 1, 0, 0, 80, 0, 144, 0, 16, 16, 16, 16, 16, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 49, 0, 0, 16, 1, 0, 81, 0, 0, 0, 16, 5, 1, 0, 31, 16, 10, 0, 4, 17, 13, 1, 0, 10, 10, 0, 6, 30, 0, 97, 6, 7, 7, 7, 7, 6, 10, 0, 0, 1, 0, 0, 80, 0, 144, 0, 16, 16, 16, 16, 16, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 0, 0, 0, 49, 0, 0, 16, 1, 0, 81, 0, 0, 0, 16, 5, 1, 0, 25, 16, 10, 0, 17, 13, 1, 0, 10, 10, 0, 6, 30, 0, 17, 6, 1, 0, 1, 10, 0, 85, 7, 7, 7, 7, 6, 20, 0, 0, 80, 0, 144, 0, 16, 16, 16, 16, 16, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 49, 0, 0, 16, 1, 0, 81, 0, 0, 0, 16, 5, 1, 0, 81, 16, 0, 0, 16, 13, 1, 0, 25, 16, 20, 0, 6, 10, 0, 97, 6, 14, 14, 14, 14, 6, 10, 0, 1, 1, 0, 1, 10, 0, 70, 7, 7, 7, 7, 20, 0, 0, 80, 0, 144, 0, 16, 16, 16, 16, 16, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 49, 0, 0, 16, 1, 0, 81, 0, 0, 0, 16, 13, 1, 0, 81, 16, 0, 0, 16, 5, 1, 0, 10, 10, 0, 107, 6, 14, 14, 14, 14, 6, 10, 0, 1, 1, 0, 1, 10, 0, 70, 7, 7, 7, 7, 20, 0, 0, 80, 0, 144, 0, 16, 16, 16, 16, 16, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 49, 0, 0, 16, 1, 0, 81, 0, 0, 0, 16, 5, 1, 0, 25, 16, 10, 0, 111, 6, 14, 14, 14, 14, 6, 10, 0, 6, 1, 1, 0, 1, 10, 0, 70, 7, 7, 7, 7, 20, 0, 0, 80, 0, 144, 0, 16, 16, 16, 16, 16, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 49, 0, 0, 16, 1, 0, 81, 0, 0, 0, 16, 5, 1, 0, 175, 16, 0, 0, 16, 6, 14, 14, 14, 14, 6, 10, 0, 16, 1, 1, 0, 1, 10, 0, 70, 7, 7, 7, 7, 20, 0, 0, 80, 0, 144, 0, 16, 16, 16, 16, 16, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 49, 0, 0, 16, 1, 0, 81, 0, 0, 0, 16, 6, 1, 0, 16, 16, 10, 0, 79, 14, 14, 14, 14, 10, 0, 17, 6, 50, 0, 70, 7, 7, 7, 7, 20, 0, 0, 80, 0, 144, 0, 16, 16, 16, 16, 16, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 49, 0, 0, 16, 1, 0, 81, 0, 0, 0, 16, 6, 1, 0, 16, 16, 10, 0, 79, 14, 14, 14, 14, 10, 0, 17, 6, 50, 0, 65, 7, 7, 7, 7, 10, 0, 16, 5, 1, 0, 0, 80, 0, 144, 0, 16, 16, 16, 16, 16, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 49, 0, 0, 16, 1, 0, 81, 0, 0, 0, 16, 6, 1, 0, 16, 16, 10, 0, 79, 14, 14, 14, 14, 10, 0, 17, 5, 50, 0, 17, 5, 1, 0, 0, 10, 0, 16, 13, 1, 0, 208, 0, 0, 0, 0, 0, 16, 16, 16, 16, 16, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 49, 0, 0, 16, 1, 0, 81, 0, 0, 0, 16, 6, 1, 0, 16, 16, 10, 0, 79, 14, 14, 14, 14, 10, 0, 16, 17, 5, 1, 0, 0, 10, 0, 17, 13, 1, 0, 5, 10, 0, 0, 80, 0, 144, 0, 16, 16, 16, 16, 16, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 49, 0, 0, 16, 1, 0, 81, 0, 0, 0, 16, 6, 1, 0, 16, 16, 10, 0, 79, 14, 14, 14, 14, 10, 0, 6, 17, 5, 1, 0, 0, 10, 0, 17, 13, 1, 0, 15, 20, 0, 0, 0, 80, 0, 144, 0, 16, 16, 16, 16, 16, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 0, 0, 0, 49, 0, 0, 16, 1, 0, 81, 0, 0, 0, 16, 6, 1, 0, 16, 16, 10, 0, 75, 14, 14, 14, 14, 10, 0, 17, 13, 1, 0, 10, 10, 0, 17, 5, 1, 0, 15, 30, 0, 0, 0, 80, 0, 144, 0, 16, 16, 16, 16, 16, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 49, 0, 0, 16, 1, 0, 81, 0, 0, 0, 16, 6, 1, 0, 16, 16, 10, 0, 65, 14, 14, 14, 14, 10, 0, 17, 5, 1, 0, 10, 10, 0, 17, 13, 1, 0, 15, 10, 0, 5, 4, 39, 0, 160, 0, 0, 16, 16, 16, 16, 16, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0, 0, 0, 49, 0, 0, 16, 1, 0, 81, 0, 0, 0, 16, 6, 1, 0, 81, 16, 0, 0, 16, 5, 1, 0, 10, 10, 0, 17, 13, 1, 0, 10, 10, 0, 15, 40, 0, 6, 0, 80, 0, 144, 0, 16, 16, 16, 16, 16, 0, 0, 0, 99, 66, 77, 80, 120, 0, 0, 0, 10, 0, 0, 0, 10, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 49, 0, 0, 16, 1, 0, 81, 0, 0, 0, 16, 5, 1, 0, 25, 16, 10, 0, 17, 13, 1, 0, 10, 20, 0, 15, 40, 0, 16, 0, 80, 0, 144, 0, 16, 16, 16, 16, 16, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 80, 0, 0, 16, 16, 0, 1, 0, 50, 16, 7, 16, 7, 0, 34, 7, 16, 7, 0, 39, 7, 16, 14, 0, 160, 16, 0, 0, 0, 0, 16, 16, 0, 0, 0, 99, 66, 77, 80, 184, 31, 0, 0, 90, 0, 0, 0, 90, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88, 1, 0, 0, 31, 0, 1, 0, 255, 14, 65, 14, 14, 14, 0, 2, 0, 18, 14, 4, 0, 17, 0, 8, 0, 13, 38, 0, 4, 34, 0, 47, 0, 14, 90, 0, 23, 3, 2, 0, 1, 51, 0, 23, 14, 16, 0, 15, 38, 0, 0, 31, 0, 90, 0, 27, 47, 14, 0, 90, 0, 17, 20, 14, 4, 0, 15, 180, 0, 69, 31, 0, 180, 0, 26, 4, 143, 0, 3, 90, 0, 47, 14, 0, 90, 0, 5, 4, 138, 1, 15, 28, 2, 113, 15, 1, 0, 9, 15, 38, 0, 15, 31, 0, 1, 0, 255, 255, 255, 37, 15, 63, 3, 71, 7, 124, 4, 15, 90, 0, 62, 1, 55, 6, 15, 180, 0, 69, 15, 90, 0, 68, 47, 14, 14, 90, 0, 72, 14, 31, 6, 15, 28, 2, 58, 15, 1, 0, 255, 255, 255, 194, 31, 13, 1, 0, 62, 47, 0, 0, 126, 9, 255, 255, 255, 131, 31, 0, 126, 9, 69, 47, 14, 0, 180, 0, 156, 14, 233, 14, 15, 126, 9, 255, 255, 255, 255, 255, 216, 0, 28, 1, 1, 4, 0, 32, 0, 13, 13, 0, 20, 0, 44, 1, 5, 24, 0, 34, 13, 0, 28, 0, 7, 48, 0, 54, 0, 0, 5, 28, 0, 5, 40, 0, 28, 13, 90, 0, 9, 2, 0, 0, 16, 0, 7, 114, 0, 7, 32, 0, 38, 0, 13, 48, 0, 53, 0, 5, 0, 28, 0, 4, 27, 0, 8, 126, 0, 14, 180, 0, 4, 136, 0, 5, 114, 0, 3, 176, 0, 13, 180, 0, 0, 90, 0, 23, 13, 90, 0, 3, 4, 0, 12, 180, 0, 8, 62, 0, 6, 122, 0, 47, 13, 0, 180, 0, 5, 31, 0, 180, 0, 21, 39, 0, 0, 100, 1, 4, 72, 1, 4, 180, 0, 6, 128, 1, 8, 48, 0, 55, 5, 0, 0, 28, 0, 7, 12, 0, 31, 0, 182, 13, 255, 88, 15, 1, 0, 255, 255, 255, 255, 219, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 32, 0, 5, 1, 0, 47, 0, 5, 1, 0, 1, 18, 13, 6, 0, 3, 1, 0, 112, 0, 13, 13, 13, 13, 13, 0, 99, 66, 77, 80, 69, 0, 0, 0, 7, 0, 0, 0, 7, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 19, 0, 1, 0, 16, 14, 1, 0, 47, 0, 14, 1, 0, 1, 18, 13, 6, 0, 112, 0, 13, 13, 13, 13, 13, 0, 99, 66, 77, 80, 20, 50, 1, 0, 144, 0, 0, 0, 136, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 12, 0, 0, 113, 59, 51, 73, 255, 64, 49, 62, 4, 0, 63, 0, 0, 2, 4, 0, 28, 31, 0, 16, 0, 255, 141, 15, 4, 0, 65, 81, 0, 255, 80, 49, 58, 4, 0, 8, 60, 2, 14, 64, 2, 15, 36, 2, 22, 15, 84, 2, 255, 221, 6, 64, 2, 0, 4, 0, 15, 64, 2, 11, 31, 0, 4, 0, 255, 245, 15, 64, 2, 25, 30, 1, 56, 2, 15, 4, 0, 255, 247, 31, 1, 64, 2, 12, 29, 0, 64, 2, 63, 255, 173, 41, 4, 0, 86, 63, 83, 43, 29, 4, 0, 34, 15, 108, 0, 89, 14, 124, 0, 15, 108, 0, 43, 15, 152, 0, 0, 15, 4, 0, 122, 15, 64, 2, 27, 14, 180, 6, 15, 32, 2, 65, 15, 220, 1, 77, 14, 68, 0, 15, 56, 0, 35, 15, 184, 0, 9, 15, 68, 2, 213, 15, 64, 2, 31, 31, 1, 64, 2, 78, 15, 156, 1, 8, 14, 24, 0, 15, 92, 1, 84, 15, 124, 0, 0, 15, 44, 2, 1, 15, 16, 3, 9, 15, 72, 2, 57, 15, 64, 2, 255, 3, 15, 156, 1, 25, 14, 72, 1, 15, 104, 1, 2, 15, 132, 6, 94, 15, 116, 5, 53, 15, 144, 0, 16, 15, 64, 2, 160, 15, 0, 9, 87, 15, 132, 4, 0, 15, 44, 0, 9, 15, 192, 8, 106, 15, 72, 2, 0, 15, 116, 5, 50, 15, 68, 2, 145, 14, 72, 11, 15, 0, 9, 103, 15, 88, 4, 12, 15, 248, 10, 126, 15, 16, 2, 4, 15, 68, 2, 38, 14, 192, 0, 15, 68, 2, 18, 15, 64, 11, 246, 14, 12, 2, 15, 124, 6, 67, 15, 48, 2, 40, 15, 204, 6, 117, 15, 0, 9, 255, 7, 15, 176, 6, 8, 15, 224, 5, 33, 15, 32, 2, 65, 15, 244, 0, 117, 15, 0, 9, 255, 3, 14, 20, 4, 15, 216, 3, 14, 15, 100, 4, 21, 15, 60, 2, 142, 14, 164, 0, 15, 68, 2, 14, 15, 0, 9, 156, 14, 44, 0, 15, 136, 3, 85, 14, 8, 2, 15 ]); fileData0.push.apply(fileData0, [ 144, 1, 18, 14, 132, 4, 15, 124, 4, 160, 31, 255, 64, 20, 255, 21, 15, 100, 1, 44, 15, 180, 6, 1, 15, 4, 0, 177, 15, 64, 20, 205, 15, 4, 0, 255, 103, 15, 0, 9, 160, 15, 64, 2, 255, 55, 15, 228, 9, 12, 15, 72, 2, 25, 15, 0, 9, 157, 15, 64, 2, 255, 59, 14, 44, 14, 15, 236, 11, 34, 15, 64, 2, 255, 223, 14, 108, 4, 15, 108, 16, 46, 15, 64, 11, 145, 15, 64, 2, 255, 59, 15, 56, 2, 4, 15, 64, 2, 37, 15, 0, 9, 255, 219, 15, 248, 1, 4, 15, 64, 2, 41, 15, 192, 6, 255, 215, 31, 83, 40, 32, 3, 15, 0, 9, 255, 255, 8, 15, 40, 11, 0, 15, 68, 2, 17, 15, 64, 2, 29, 15, 0, 9, 255, 159, 14, 232, 1, 15, 24, 39, 35, 14, 56, 2, 14, 200, 31, 15, 0, 9, 255, 194, 15, 24, 2, 8, 15, 152, 25, 33, 15, 80, 36, 49, 15, 192, 6, 206, 53, 170, 204, 255, 4, 0, 15, 156, 6, 217, 31, 255, 48, 41, 43, 15, 36, 27, 25, 15, 64, 2, 194, 8, 56, 2, 0, 4, 0, 34, 232, 241, 4, 0, 15, 72, 2, 92, 15, 48, 41, 206, 15, 128, 4, 193, 15, 56, 2, 1, 47, 232, 241, 68, 2, 186, 15, 188, 51, 226, 15, 0, 9, 0, 15, 64, 2, 58, 14, 116, 4, 15, 64, 2, 199, 15, 224, 1, 44, 15, 196, 33, 25, 15, 128, 4, 210, 15, 60, 2, 21, 47, 232, 241, 16, 9, 10, 15, 88, 2, 214, 14, 252, 6, 15, 72, 2, 14, 15, 64, 2, 198, 15, 60, 2, 7, 15, 132, 4, 207, 31, 255, 48, 41, 55, 15, 128, 31, 226, 15, 60, 2, 7, 15, 132, 4, 18, 15, 148, 24, 226, 31, 83, 48, 41, 55, 15, 64, 2, 230, 14, 132, 4, 15, 124, 4, 223, 15, 48, 7, 52, 15, 64, 2, 255, 179, 15, 244, 4, 104, 15, 64, 2, 255, 255, 40, 14, 76, 2, 15, 64, 11, 162, 15, 64, 2, 255, 251, 53, 67, 49, 61, 4, 0, 15, 192, 15, 39, 15, 64, 2, 255, 255, 33, 14, 68, 2, 14, 80, 2, 15, 64, 2, 255, 255, 15, 14, 68, 2, 15, 76, 20, 22, 15, 64, 2, 255, 255, 40, 14, 140, 13, 15, 192, 6, 255, 255, 1, 15, 80, 11, 255, 58, 14, 60, 18, 15, 64, 11, 182, 15, 64, 2, 255, 91, 12, 68, 2, 15, 64, 2, 149, 15, 248, 1, 1, 14, 64, 2, 15, 68, 2, 5, 15, 12, 9, 255, 52, 15, 64, 2, 189, 8, 252, 1, 15, 4, 0, 23, 15, 4, 9, 255, 48, 8, 72, 2, 15, 64, 2, 173, 15, 72, 2, 21, 12, 36, 0, 14, 136, 13, 15, 196, 24, 255, 140, 15, 64, 2, 101, 15, 40, 0, 11, 15, 124, 4, 255, 148, 15, 64, 2, 81, 15, 192, 33, 19, 15, 60, 2, 255, 52, 15, 64, 2, 235, 15, 180, 6, 6, 15, 64, 11, 255, 227, 15, 64, 2, 53, 47, 170, 204, 156, 13, 10, 15, 12, 9, 255, 111, 15, 64, 2, 117, 15, 4, 9, 3, 15, 36, 18, 18, 15, 64, 2, 255, 255, 48, 14, 68, 2, 15, 192, 24, 255, 120, 53, 71, 49, 60, 4, 0, 15, 64, 11, 71, 15, 104, 20, 50, 15, 64, 2, 255, 235, 15, 128, 4, 7, 15, 68, 2, 26, 15, 4, 18, 255, 95, 15, 64, 2, 121, 15, 68, 2, 31, 15, 72, 18, 18, 15, 64, 2, 255, 219, 15, 184, 22, 17, 15, 80, 2, 32, 15, 64, 2, 255, 223, 14, 24, 9, 15, 68, 2, 46, 15, 64, 2, 255, 99, 53, 72, 50, 59, 4, 0, 15, 44, 0, 1, 15, 220, 1, 0, 15, 212, 6, 137, 15, 64, 2, 255, 147, 47, 170, 204, 204, 6, 85, 15, 64, 2, 255, 200, 47, 170, 204, 64, 2, 83, 15, 224, 31, 11, 15, 64, 2, 231, 63, 0, 163, 255, 64, 2, 174, 15, 68, 2, 53, 31, 255, 200, 76, 208, 8, 4, 0, 0, 252, 1, 15, 64, 2, 49, 14, 68, 2, 15, 64, 2, 159, 15, 68, 2, 47, 15, 60, 13, 219, 34, 0, 163, 52, 1, 14, 68, 2, 15, 68, 0, 31, 4, 72, 0, 15, 64, 2, 173, 47, 170, 204, 60, 2, 255, 20, 8, 88, 5, 46, 0, 163, 68, 2, 15, 64, 2, 233, 47, 170, 204, 56, 2, 255, 12, 4, 248, 1, 15, 4, 0, 59, 15, 64, 2, 111, 38, 75, 53, 4, 0, 15, 64, 2, 15, 15, 248, 44, 33, 15, 60, 2, 75, 14, 140, 22, 15, 64, 2, 223, 14, 68, 2, 15, 64, 2, 179, 4, 28, 13, 15, 128, 4, 53, 14, 240, 4, 15, 56, 36, 6, 15, 60, 2, 129, 15, 64, 2, 255, 31, 15, 212, 6, 16, 15, 60, 2, 58, 12, 72, 2, 15, 60, 2, 213, 14, 68, 2, 15, 192, 6, 203, 15, 68, 2, 0, 15, 168, 56, 69, 15, 60, 2, 113, 15, 64, 2, 255, 47, 15, 248, 1, 11, 15, 160, 2, 45, 15, 136, 4, 14, 15, 64, 2, 255, 63, 53, 78, 48, 57, 4, 0, 15, 64, 2, 61, 14, 16, 2, 15, 4, 0, 235, 15, 232, 1, 1, 49, 2, 0, 0, 4, 0, 15, 28, 2, 3, 15, 52, 0, 42, 15, 64, 2, 129, 15, 4, 0, 255, 39, 47, 0, 163, 64, 2, 218, 15, 0, 117, 255, 63, 14, 188, 6, 15, 196, 6, 159, 15, 64, 2, 45, 63, 199, 195, 194, 4, 0, 255, 35, 14, 60, 2, 15, 68, 2, 86, 15, 128, 4, 255, 179, 15, 64, 2, 245, 63, 156, 118, 131, 128, 4, 255, 159, 14, 68, 2, 15, 64, 2, 59, 53, 76, 48, 57, 4, 0, 15, 64, 2, 17, 0, 12, 10, 15, 168, 1, 133, 0, 160, 0, 14, 228, 2, 15, 60, 2, 147, 63, 54, 82, 171, 4, 0, 18, 15, 72, 2, 40, 15, 64, 2, 114, 4, 68, 2, 14, 72, 2, 15, 56, 2, 111, 8, 160, 0, 15, 124, 4, 245, 14, 68, 2, 15, 64, 2, 102, 15, 164, 1, 130, 12, 60, 2, 14, 68, 2, 15, 60, 2, 106, 15, 64, 2, 255, 3, 8, 216, 16, 15, 244, 1, 44, 15, 56, 2, 62, 14, 36, 5, 15, 60, 2, 247, 14, 68, 2, 15, 128, 4, 103, 4, 164, 1, 14, 4, 2, 15, 108, 6, 79, 15, 60, 2, 16, 14, 228, 2, 15, 60, 2, 128, 15, 156, 20, 51, 15, 64, 2, 119, 53, 77, 55, 58, 4, 0, 15, 64, 2, 17, 12, 4, 0, 15, 240, 1, 40, 15, 56, 2, 50, 15, 68, 2, 1, 4, 16, 0, 14, 188, 54, 15, 4, 0, 71, 15, 56, 2, 27, 15, 72, 2, 53, 15, 64, 2, 99, 53, 73, 47, 57, 4, 0, 15, 64, 2, 16, 15, 4, 0, 70, 15, 204, 4, 8, 15, 96, 0, 49, 15, 124, 4, 118, 14, 40, 25, 15, 68, 2, 151, 15, 64, 2, 73, 8, 236, 3, 15, 4, 0, 133, 15, 124, 4, 107, 15, 108, 27, 85, 15, 64, 2, 167, 15, 68, 2, 144, 15, 64, 2, 255, 135, 15, 4, 0, 157, 4, 240, 1, 15, 32, 9, 63, 15, 64, 2, 109, 15, 0, 9, 18, 15, 64, 2, 255, 47, 15, 156, 4, 79, 15, 64, 2, 127, 14, 128, 22, 15, 64, 2, 255, 60, 15, 72, 2, 9, 0, 64, 1, 8, 8, 0, 15, 64, 2, 255, 255, 11, 4, 68, 2, 12, 44, 2, 14, 60, 2, 15, 132, 4, 13, 15, 64, 2, 255, 160, 0, 40, 1, 15, 68, 2, 65, 15, 60, 2, 13, 63, 81, 135, 0, 64, 2, 12, 15, 60, 2, 171, 15, 64, 2, 5, 53, 70, 46, 57, 4, 0, 15, 64, 2, 173, 38, 0, 163, 180, 1, 15, 68, 2, 41, 0, 44, 1, 8, 12, 0, 4, 64, 2, 8, 68, 2, 12, 140, 4, 12, 64, 2, 5, 116, 1, 15, 64, 2, 60, 63, 79, 87, 95, 64, 2, 255, 47, 63, 168, 119, 255, 128, 4, 26, 8, 16, 2, 15, 64, 2, 33, 12, 4, 0, 8, 80, 2, 4, 16, 0, 8, 68, 2, 8, 28, 0, 12, 200, 1, 42, 81, 135, 72, 46, 12, 16, 0, 15, 60, 2, 68, 15, 64, 2, 246, 34, 168, 119, 172, 1, 15, 68, 2, 9, 0, 148, 1, 15, 68, 2, 0, 15, 20, 0, 26, 4, 68, 0, 0, 16, 0, 0, 12, 0, 15, 92, 1, 13, 4, 64, 2, 12, 40, 0, 12, 232, 46, 15, 64, 2, 25, 0, 48, 2, 8, 4, 0, 15, 60, 2, 21, 0, 84, 0, 15, 64, 2, 17, 0, 40, 0, 4, 4, 0, 15, 28, 0, 8, 15, 128, 4, 218, 8, 252, 1, 4, 0, 1, 8, 72, 4, 15, 48, 2, 5, 8, 60, 1, 8, 60, 0, 8, 64, 2, 15, 72, 2, 13, 8, 40, 0, 0, 124, 1, 14, 40, 49, 14, 224, 1, 4, 44, 0, 15, 76, 2, 1, 0, 16, 25, 8, 164, 18, 14, 120, 2, 15, 116, 4, 3, 8, 252, 1, 15, 4, 0, 1, 12, 32, 2, 15, 4, 0, 16, 15, 64, 2, 6, 53, 68, 46, 57, 4, 0, 53, 80, 58, 58, 4, 0, 15, 64, 2, 137, 0, 208, 0, 63, 54, 228, 0, 32, 0, 10, 8, 60, 2, 15, 96, 4, 4, 15, 172, 6, 14, 14, 116, 1, 6, 64, 2, 15, 84, 2, 5, 4, 48, 0, 4, 12, 9, 14, 68, 2, 6, 64, 2, 15, 232, 1, 13, 12, 64, 2, 14, 120, 2, 14, 72, 0, 15, 12, 2, 21, 15, 68, 2, 33, 15, 64, 2, 181, 12, 60, 2, 12, 16, 0, 14, 192, 6, 10, 220, 8, 12, 36, 4, 12, 132, 4, 12, 72, 4, 14, 180, 3, 15, 208, 3, 3, 49, 77, 0, 255, 4, 0, 15, 156, 13, 0, 15, 4, 0, 34, 15, 64, 2, 0, 15, 4, 0, 57, 15, 64, 2, 222, 4, 40, 2, 15, 124, 4, 17, 15, 24, 0, 5, 4, 48, 2, 0, 152, 8, 8, 20, 0, 15, 228, 5, 0, 15, 184, 3, 22, 4, 56, 2, 47, 77, 0, 224, 15, 7, 47, 77, 0, 4, 0, 23, 15, 64, 2, 255, 74, 4, 4, 0, 15, 92, 2, 0, 15, 64, 2, 10, 4, 28, 0, 42, 2, 0, 28, 2, 47, 54, 228, 228, 5, 23, 15, 132, 4, 0, 14, 120, 4, 15, 112, 4, 0, 15, 68, 2, 9, 4, 144, 6, 15, 28, 0, 1, 12, 64, 2, 63, 83, 37, 126, 64, 2, 255, 11, 14, 88, 4, 14, 60, 2, 15, 136, 4, 5, 8, 8, 2, 15, 20, 2, 5, 8, 96, 2, 4, 80, 0, 15, 76, 1, 37, 14, 240, 1, 15, 64, 2, 31, 4, 188, 8, 46, 39, 236, 68, 2, 15, 64, 2, 5, 0, 4, 0, 14, 172, 4, 15, 64, 2, 103, 53, 62, 45, 57, 4, 0, 15, 64, 2, 153, 14, 4, 0, 15, 64, 2, 3, 12, 180, 4, 14, 64, 2, 15, 60, 2, 51, 8, 68, 2, 15, 64, 2, 1, 12, 252, 1, 12, 52, 13, 15, 68, 2, 1, 12, 192, 15, 8, 64, 0, 4, 136, 0, 15, 64, 2, 121, 53, 77, 58, 62, 4, 0, 15, 64, 2, 0, 15, 12, 11, 98, 12, 36, 2, 14, 64, 2, 15, 76, 2, 10, 15, 44, 0, 18, 47, 54, 228, 60, 2, 51, 15, 4, 0, 25, 15, 236, 19, 3, 15, 40, 9, 30, 15, 64, 2, 186, 0, 68, 3, 15, 212, 8, 37, 15, 104, 4, 4, 15, 4, 0, 38, 14, 60, 2, 15, 64, 2, 43, 8, 244, 3, 15, 68, 2, 69, 14, 160, 6, 15, 60, 2, 10, 15, 64, 2, 186, 34, 39, 236, 188, 5, 14, 68, 2, 15, 88, 13, 27, 15, 64, 2, 9, 0, 56, 20, 14, 84, 2, 15, 4, 0, 59, 15, 112, 4, 0, 15, 4, 0, 74, 15, 60, 2, 25, 8, 144, 0, 15, 64, 2, 65, 47, 54, 228, 128, 4, 151, 15, 104, 4, 29, 8, 184, 24, 15, 68, 2, 77, 46, 54, 228, 60, 2, 15, 4, 0, 109, 14, 60, 2, 15, 64, 2, 171, 14, 236, 10, 14, 184, 19, 15, 96, 15, 9, 47, 81, 135, 168, 6, 31, 34, 168, 119, 60, 1, 15, 64, 2, 81, 8, 188, 1, 14, 20, 0, 15, 64, 2, 103, 14, 236, 1, 15, 12, 2, 23, 47, 54, 228, 64, 2, 135, 15, 156, 17, 13, 8, 64, 2, 14, 16, 11, 15, 216, 8, 25, 15, 60, 2, 91, 8, 68, 2, 15, 64, 2, 8, 15, 96, 2, 42, 15, 60, 0, 9, 46, 54, 228, 104, 13, 15, 100, 14, 3, 15, 64, 2, 51, 12, 104, 1, 15, 64, 2, 73, 15, 184, 8, 0, 15, 52, 22, 5, 14, 20, 11, 15, 4, 0, 164, 12, 240, 1, 4, 156, 4, 14, 160, 4, 15, 60, 2, 23, 14, 60, 0, 6, 56, 2, 14, 212, 1, 15, 64, 2, 39, 14, 56, 0, 15, 64, 2, 7, 47, 54, 228, 128, 4, 19, 53, 58, 44, 57, 4, 0, 53, 76, 59, 66, 4, 0, 15, 64, 2, 25, 8, 192, 19, 15, 228, 19, 12, 15, 64, 2, 214, 14, 52, 0, 15, 40, 0, 2, 15, 240, 4, 18, 31, 54, 252, 11, 32, 15, 24, 0, 3, 15, 40, 19, 9, 15, 64, 2, 79, 15, 116, 4, 4, 15, 64, 2, 6, 8, 132, 0, 14, 124, 4, 15, 4, 0, 231, 14, 184, 4, 15, 48, 7, 6, 15, 220, 7, 34, 47, 81, 135, 28, 19, 25, 15, 64, 2, 95, 15, 192, 0, 15, 15, 184, 8, 5, 15, 4, 0, 255, 16, 14, 52, 2, 15, 88, 14, 63, 14, 184, 1, 14, 0, 7, 15, 64, 2, 91, 15, 48, 2, 5, 15, 4, 0, 255, 128, 15, 120, 4, 5, 47, 81, 135, 64, 2, 47, 53, 74, 60, 70, 4, 0, 15, 64, 2, 3, 15, 4, 0, 255, 148, 15, 16, 11, 9, 47, 54, 228, 64, 2, 255, 255, 17, 47, 54, 228, 12, 2, 1, 15, 128, 4, 31, 31, 54, 192, 15, 16, 53, 56, 44, 57, 4, 0, 15, 64, 2, 255, 186, 47, 54, 228, 64, 2, 43, 14, 64, 20, 15, 64, 2, 255, 224, 14, 144, 4, 15, 116, 22, 5, 15, 64, 2, 255, 255, 17, 15, 68, 2, 13, 47, 54, 228, 64, 2, 255, 252, 14, 76, 17, 15, 232, 8, 5, 15, 64, 2, 255, 255, 13, 14, 12, 0, 15, 128, 4, 255, 255, 29, 47, 54, 228, 124, 31, 17, 15, 64, 2, 255, 255, 5, 14, 4, 0, 15, 64, 2, 255, 255, 25, 47, 54, 228, 64, 2, 31, 47, 54, 228, 64, 2, 43, 53, 73, 61, 74, 4, 0, 15, 64, 2, 45, 0, 148, 41, 15, 64, 2, 255, 138, 47, 54, 228, 64, 2, 135, 8, 136, 71, 15, 64, 2, 255, 122, 46, 54, 228, 64, 2, 15, 128, 4, 255, 255, 11, 31, 54, 252, 35, 18, 14, 128, 22, 15, 64, 2, 85, 0, 48, 47, 15, 128, 31, 7, 15, 84, 2, 255, 120, 14, 240, 35, 15, 64, 2, 111, 8, 176, 51, 15, 212, 6, 255, 154, 14, 88, 2, 15, 24, 18, 13, 15, 128, 4, 75, 47, 81, 135, 212, 6, 255, 160, 14, 64, 2, 15, 12, 0, 7, 8, 44, 0, 15, 64, 2, 49, 15, 16, 14, 29, 14, 180, 0, 14, 64, 2, 15, 28, 9, 255, 134, 13, 0, 4, 15, 64, 2, 52, 47, 54, 228, 12, 0, 9, 15, 64, 2, 255, 152, 15, 160, 1, 11, 15, 64, 2, 71, 15, 76, 34, 17, 47, 54, 228, 4, 0, 255, 192, 15, 128, 4, 57, 15, 60, 7, 7, 15, 64, 2, 255, 184, 47, 81, 135, 192, 6, 95, 47, 81, 135, 128, 4, 255, 255, 17, 15, 64, 11, 7, 15, 64, 2, 255, 255, 17, 15, 4, 0, 19, 15, 64, 2, 255, 243, 15, 4, 0, 255, 253, 15, 64, 2, 255, 255, 255, 255, 147, 63, 59, 51, 73, 64, 2, 255, 255, 39, 80, 255, 59, 51, 73, 255, 99, 66, 77, 80, 45, 0, 0, 0, 5, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 65, 0, 0, 0, 13, 4, 0, 6, 2, 0, 96, 0, 13, 13, 0, 0, 0, 99, 66, 77, 80, 100, 1, 0, 0, 42, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 113, 0, 0, 0, 31, 8, 1, 0, 41, 19, 2, 1, 0, 13, 25, 0, 33, 15, 15, 4, 0, 35, 15, 15, 12, 0, 69, 2, 2, 15, 15, 43, 0, 32, 2, 2, 57, 0, 16, 8, 2, 0, 17, 8, 33, 0, 5, 2, 0, 0, 29, 0, 35, 15, 15, 43, 0, 16, 8, 32, 0, 3, 4, 0, 0, 42, 0, 47, 15, 15, 42, 0, 8, 1, 84, 0, 3, 47, 0, 8, 82, 0, 44, 15, 8, 126, 0, 40, 8, 2, 84, 0, 3, 4, 0, 33, 8, 15, 96, 0, 9, 210, 0, 6, 130, 0, 31, 2, 14, 1, 19, 80, 8, 8, 8, 8, 8, 99, 66, 77, 80, 100, 1, 0, 0, 42, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 0, 0, 0, 31, 8, 1, 0, 41, 19, 2, 1, 0, 15, 25, 0, 0, 1, 4, 0, 37, 2, 2, 12, 0, 0, 1, 0, 33, 15, 15, 17, 0, 64, 15, 15, 8, 15, 4, 0, 65, 8, 15, 8, 8, 33, 0, 5, 2, 0, 4, 83, 0, 96, 15, 15, 15, 15, 2, 8, 32, 0, 3, 4, 0, 17, 15, 25, 0, 15, 42, 0, 8, 1, 84, 0, 3, 47, 0, 8, 82, 0, 44, 2, 8, 126, 0, 40, 8, 15, 84, 0, 3, 4, 0, 0, 2, 0, 42, 2, 2, 210, 0, 39, 15, 15, 126, 0, 15, 14, 1, 17, 80, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 24, 8, 1, 0, 35, 2, 2, 6, 0, 19, 2, 12, 0, 7, 8, 0, 4, 24, 0, 6, 40, 0, 80, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 24, 8, 1, 0, 35, 15, 15, 6, 0, 19, 15, 12, 0, 7, 8, 0, 4, 24, 0, 6, 40, 0, 80, 8, 8, 8, 8, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 28, 8, 1, 0, 73, 14, 14, 14, 14, 8, 0, 1, 10, 0, 23, 14, 24, 0, 0, 20, 0, 144, 8, 8, 14, 14, 8, 8, 8, 14, 8, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 28, 8, 1, 0, 73, 15, 15, 15, 15, 8, 0, 1, 10, 0, 23, 15, 24, 0, 0, 20, 0, 144, 8, 8, 15, 15, 8, 8, 8, 15, 8, 67, 80, 65, 76, 0, 3, 0, 0, 0, 0, 0, 29, 43, 83, 126, 37, 83, 0, 135, 81, 171, 82, 54, 95, 87, 79, 194, 195, 199, 255, 241, 232, 255, 0, 77, 255, 163, 0, 255, 236, 39, 0, 228, 54, 41, 173, 255, 131, 118, 156, 255, 119, 168, 255, 204, 170, 12, 18, 35, 53, 41, 83, 94, 61, 82, 42, 121, 74, 152, 83, 60, 119, 114, 109, 209, 206, 207, 255, 180, 193, 255, 40, 57, 255, 181, 9, 191, 214, 42, 10, 214, 104, 63, 159, 230, 162, 118, 159, 255, 140, 168, 200, 161, 130, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 9, 2, 4, 9, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 9, 2, 4, 9, 2, 4, 9, 2, 4, 9, 2, 4, 8, 2, 4, 8, 2, 4, 8, 3, 5, 10, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 9, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 9, 2, 4, 9, 2, 4, 9, 3, 5, 10, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 9, 2, 4, 9, 2, 4, 8, 2, 4, 8, 2, 4, 8, 3, 5, 10, 3, 5, 10, 3, 5, 10, 3, 5, 10, 3, 5, 10, 41, 24, 20, 17, 29, 53, 66, 33, 54, 18, 83, 89, 116, 47, 41, 73, 51, 59, 162, 136, 121, 243, 239, 125, 190, 18, 80, 255, 108, 36, 168, 231, 46, 0, 181, 67, 6, 90, 181, 117, 70, 101, 255, 110, 89, 255, 157, 129, 52, 35, 31, 41, 31, 53, 54, 45, 62, 42, 74, 77, 105, 48, 45, 95, 72, 74, 182, 161, 122, 229, 183, 113, 206, 40, 69, 233, 138, 38, 126, 218, 51, 1, 158, 95, 33, 85, 161, 151, 80, 98, 255, 121, 99, 208, 135, 109, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 2, 4, 8, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 0, 23, 0, 1, 0, 52, 7, 7, 7, 8, 0, 36, 7, 7, 8, 0, 47, 7, 7, 9, 0, 1, 5, 36, 0, 6, 54, 0, 112, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 21, 0, 1, 0, 18, 7, 1, 0, 15, 9, 0, 37, 128, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 21, 0, 1, 0, 19, 7, 2, 0, 15, 18, 0, 39, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 16, 0, 1, 0, 81, 16, 16, 16, 16, 0, 4, 0, 32, 7, 7, 5, 0, 4, 9, 0, 2, 22, 0, 37, 16, 0, 1, 0, 4, 40, 0, 3, 36, 0, 23, 16, 18, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 21, 0, 1, 0, 49, 16, 16, 16, 4, 0, 65, 0, 16, 7, 16, 4, 0, 6, 18, 0, 12, 36, 0, 19, 16, 36, 0, 34, 7, 16, 18, 0, 192, 7, 7, 16, 0, 0, 0, 0, 0, 16, 16, 16, 16, 99, 66, 77, 80, 101, 0, 0, 0, 9, 0, 0, 0, 9, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 0, 0, 0, 21, 0, 1, 0, 49, 16, 16, 16, 4, 0, 65, 0, 16, 7, 16, 4, 0, 6, 18, 0, 7, 35, 0, 2, 18, 0, 35, 16, 7, 36, 0, 2, 9, 0, 192, 16, 16, 0, 16, 16, 16, 16, 0, 0, 0, 0, 0, 99, 66, 77, 80, 184, 31, 0, 0, 90, 0, 0, 0, 90, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 2, 0, 0, 31, 0, 1, 0, 255, 14, 65, 14, 14, 14, 0, 2, 0, 18, 14, 4, 0, 17, 0, 8, 0, 13, 38, 0, 4, 34, 0, 47, 0, 14, 90, 0, 23, 3, 2, 0, 1, 51, 0, 23, 14, 16, 0, 15, 38, 0, 0, 31, 0, 90, 0, 27, 47, 14, 0, 90, 0, 17, 20, 14, 4, 0, 15, 180, 0, 69, 31, 0, 180, 0, 26, 4, 143, 0, 3, 90, 0, 47, 14, 0, 90, 0, 5, 4, 138, 1, 15, 28, 2, 113, 15, 1, 0, 9, 15, 38, 0, 15, 31, 0, 1, 0, 255, 239, 49, 13, 13, 0, 2, 0, 67, 13, 13, 0, 0, 4, 0, 5, 12, 0, 15, 89, 0, 43, 1, 4, 0, 4, 2, 0, 10, 12, 0, 15, 90, 0, 52, 1, 167, 0, 25, 13, 12, 0, 15, 180, 0, 55, 12, 190, 0, 7, 1, 0, 15, 63, 3, 33, 4, 92, 1, 5, 172, 0, 6, 196, 0, 9, 95, 4, 5, 124, 4, 15, 1, 0, 60, 2, 185, 4, 15, 90, 0, 67, 31, 0, 90, 0, 70, 47, 14, 14, 90, 0, 72, 14, 31, 6, 15, 147, 5, 48, 15, 91, 5, 122, 4, 18, 3, 2, 196, 2, 57, 5, 0, 0, 16, 0, 15, 44, 3, 47, 3, 74, 0, 22, 5, 32, 3, 14, 90, 0, 15, 89, 0, 36, 2, 8, 0, 15, 90, 0, 58, 9, 74, 0, 8, 180, 0, 47, 13, 13, 104, 1, 56, 54, 5, 0, 0, 62, 5, 9, 55, 4, 15, 44, 7, 255, 177, 15, 1, 0, 61, 47, 0, 0, 126, 9, 255, 239, 2, 7, 0, 12, 8, 0, 31, 0, 69, 5, 56, 47, 0, 0, 70, 5, 58, 11, 164, 0, 6, 235, 4, 15, 84, 6, 55, 14, 180, 0, 15, 126, 9, 43, 12, 143, 5, 12, 112, 1, 25, 0, 126, 9, 31, 0, 126, 9, 69, 31, 14, 90, 0, 52, 15, 180, 0, 86, 14, 233, 14, 15, 126, 9, 191, 1, 66, 12, 3, 4, 0, 8, 37, 2, 15, 202, 8, 51, 8, 244, 12, 4, 118, 9, 15, 90, 0, 52, 45, 13, 13, 124, 3, 15, 180, 0, 64, 5, 230, 3, 15, 90, 0, 54, 11, 57, 4, 14, 90, 0, 15, 1, 0, 55, 15, 126, 9, 255, 255, 255, 40, 5, 20, 5, 2, 105, 4, 5, 28, 5, 6, 44, 5, 10, 108, 4, 2, 20, 8, 22, 5, 28, 0, 12, 84, 5, 6, 42, 0, 47, 0, 13, 88, 17, 2, 42, 13, 13, 116, 17, 46, 0, 13, 172, 13, 4, 24, 0, 5, 12, 0, 15, 180, 0, 6, 12, 28, 5, 5, 110, 17, 12, 180, 0, 3, 19, 15, 5, 90, 0, 14, 249, 18, 15, 22, 18, 2, 8, 204, 0, 15, 180, 0, 1, 31, 0, 180, 0, 21, 5, 34, 0, 10, 194, 18, 42, 13, 0, 128, 1, 26, 0, 19, 15, 7, 28, 0, 7, 12, 0, 31, 0, 182, 13, 255, 88, 15, 1, 0, 255, 255, 255, 255, 219, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 0, 0, 0, 128, 0, 0, 1, 1, 0, 0, 1, 7, 4, 0, 19, 1, 8, 0, 35, 7, 1, 8, 0, 27, 7, 8, 0, 3, 24, 0, 192, 1, 0, 1, 7, 0, 0, 1, 1, 0, 0, 1, 7, 99, 66, 77, 80, 84, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 209, 7, 1, 0, 0, 1, 1, 0, 0, 7, 1, 0, 1, 7, 8, 0, 34, 1, 7, 8, 0, 27, 7, 8, 0, 4, 24, 0, 4, 40, 0, 96, 0, 0, 1, 1, 0, 0, 67, 70, 73, 76, 0, 0, 0, 0, 231, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 80, 79, 68, 68, 0, 0, 0, 1, 0, 0, 0, 47, 104, 111, 109, 101, 47, 122, 101, 112, 47, 112, 97, 98, 97, 47, 112, 105, 99, 111, 56, 47, 112, 111, 100, 47, 102, 95, 112, 105, 99, 111, 56, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 255, 255, 0, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 0, 0, 255, 0, 255, 255, 255, 0, 0, 0, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 0, 0, 255, 0, 0, 255, 255, 0, 0, 0, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 255, 0, 255, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 0, 255, 255, 255, 255, 0, 0, 255, 0, 0, 0, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 255, 255, 0, 255, 0, 255, 255, 0, 0, 0, 0, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 0, 0, 255, 255, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 255, 0, 0, 255, 0, 0, 255, 0, 0, 0, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 34, 0, 255, 1, 0, 112, 0, 0, 0, 0, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 0, 1, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 0, 1, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 0, 255, 255, 255, 255, 255, 255, 0, 0, 0, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 255, 255, 0, 0, 255, 255, 255, 0, 0, 0, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 0, 1, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 16, 255, 1, 0, 160, 0, 255, 255, 255, 0, 0, 0, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 16, 255, 1, 0, 160, 0, 255, 0, 0, 0, 0, 0, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 255, 1, 0, 80, 255, 255, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 255, 255, 255, 255, 0, 255, 255, 255, 255, 0, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 255, 0, 255, 0, 255, 0, 255, 0, 255, 0, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 255, 0, 255, 0, 0, 0, 255, 0, 255, 0, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 255, 0, 255, 255, 0, 255, 255, 0, 255, 0, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 255, 0, 255, 255, 255, 255, 255, 0, 255, 255, 0, 0, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 0, 0, 255, 255, 0, 255, 255, 255, 255, 255, 0, 255, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 255, 255, 0, 0, 255, 0, 0, 255, 0, 0, 0, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 16, 0, 1, 0, 160, 255, 0, 0, 255, 0, 0, 255, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 0, 255, 255, 255, 255, 0, 255, 0, 255, 255, 255, 0, 255, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 18, 0, 1, 0, 128, 255, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 20, 0, 1, 0, 96, 255, 0, 0, 0, 255, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 20, 0, 1, 0, 96, 255, 255, 0, 255, 255, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 0, 255, 255, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 35, 0, 255, 2, 0, 96, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 0, 1, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0, 0, 0, 0, 255, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 0, 255, 255, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 0, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 0, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 16, 255, 1, 0, 160, 0, 0, 255, 255, 255, 255, 255, 0, 255, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 0, 255, 0, 0, 255, 0, 255, 0, 255, 0, 0, 255, 0, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 0, 255, 255, 0, 0, 255, 255, 255, 0, 255, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 255, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 255, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0, 0, 255, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 255, 0, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 255, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 33, 255, 0, 2, 0, 128, 255, 255, 0, 255, 0, 255, 0, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 0, 255, 0, 255, 255, 255, 0, 255, 0, 0, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 0, 1, 0, 80, 255, 0, 255, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 17, 0, 1, 0, 144, 255, 255, 255, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 0, 1, 0, 80, 0, 0, 0, 255, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 255, 0, 255, 0, 0, 255, 0, 0, 255, 0, 255, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 255, 255, 0, 255, 255, 0, 255, 255, 0, 255, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 255, 0, 0, 255, 0, 255, 255, 0, 0, 255, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 0, 255, 255, 0, 255, 255, 255, 255, 0, 0, 255, 0, 0, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 255, 255, 0, 0, 255, 255, 255, 0, 0, 255, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 0, 0, 255, 0, 0, 255, 255, 255, 255, 0, 255, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 255, 255, 0, 255, 255, 255, 255, 0, 0, 255, 0, 0, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 255, 0, 255, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 255, 0, 255, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 255, 255, 255, 0, 0, 0, 255, 255, 255, 0, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 0, 0, 0, 255, 0, 0, 0, 255, 0, 255, 0, 255, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 255, 0, 0, 255, 0, 255, 255, 0, 0, 0, 0, 255, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 32, 0, 255, 2, 0, 144, 255, 0, 255, 255, 0, 0, 0, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 255, 255, 0, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 255, 255, 0, 255, 255, 0, 255, 0, 255, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 0, 255, 255, 255, 0, 0, 255, 0, 0, 0, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 255, 255, 0, 255, 0, 255, 255, 0, 255, 255, 255, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 255, 255, 255, 255, 255, 0, 255, 0, 0, 0, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 255, 255, 255, 255, 255, 0, 255, 0, 0, 255, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 0, 255, 255, 255, 0, 0, 255, 0, 255, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 255, 0, 255, 255, 0, 255, 255, 255, 255, 255, 0, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 255, 255, 255, 0, 255, 0, 0, 255, 0, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 255, 255, 255, 0, 255, 0, 0, 255, 0, 255, 255, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 255, 0, 255, 255, 255, 0, 255, 0, 255, 255, 0, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0, 0, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 0, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 255, 255, 0, 255, 0, 255, 255, 0, 255, 255, 0, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 0, 255, 255, 255, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 0, 255, 255, 255, 0, 255, 255, 255, 255, 255, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 0, 255, 0, 255, 0, 255, 255, 255, 0, 0, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 255, 255, 0, 255, 0, 255, 255, 255, 0, 255, 0, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 0, 255, 255, 255, 0, 0, 0, 0, 255, 255, 255, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 255, 255, 255, 0, 255, 0, 0, 255, 0, 0, 255, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 255, 0, 255, 255, 0, 255, 255, 0, 255, 0, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 255, 0, 255, 255, 0, 255, 255, 255, 255, 0, 255, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 255, 0, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 255, 0, 255, 0, 255, 0, 0, 255, 0, 255, 0, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 255, 0, 255, 255, 255, 255, 0, 0, 255, 255, 255, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 255, 255, 255, 0, 0, 255, 255, 0, 0, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 255, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 0, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0, 0, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 255, 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 33, 0, 255, 2, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 21, 0, 1, 0, 80, 0, 0, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 0, 255, 255, 0, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 0, 255, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 255, 255, 255, 0, 0, 255, 0, 0, 255 ]); fileData0.push.apply(fileData0, [ 0, 0, 0, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 0, 255, 0, 255, 255, 0, 255, 255, 0, 255, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 255, 255, 0, 0, 255, 255, 0, 255, 0, 0, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 255, 255, 0, 0, 255, 255, 0, 255, 0, 0, 255, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 255, 255, 255, 0, 0, 255, 0, 0, 255, 0, 255, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 0, 255, 255, 0, 255, 255, 255, 255, 255, 0, 255, 255, 0, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 255, 0, 255, 0, 0, 255, 0, 0, 255, 0, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 255, 0, 255, 0, 0, 255, 0, 0, 255, 0, 255, 255, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 0, 255, 255, 0, 255, 255, 255, 0, 255, 0, 255, 255, 0, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 18, 255, 1, 0, 128, 0, 255, 255, 0, 255, 255, 0, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 0, 255, 0, 255, 255, 0, 255, 255, 0, 255, 255, 0, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 255, 255, 255, 0, 255, 255, 0, 255, 255, 0, 255, 255, 255, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 0, 0, 255, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 32, 0, 255, 2, 0, 144, 255, 0, 255, 255, 255, 0, 0, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 255, 255, 0, 255, 255, 255, 0, 255, 0, 255, 255, 0, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 255, 255, 255, 0, 0, 255, 255, 255, 0, 0, 255, 255, 255, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 255, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 0, 255, 255, 0, 255, 255, 0, 255, 255, 0, 255, 0, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 0, 255, 255, 0, 255, 255, 0, 255, 255, 255, 255, 0, 255, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 0, 255, 255, 0, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 0, 255, 255, 0, 255, 0, 255, 0, 255, 0, 255, 255, 0, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 0, 255, 255, 0, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 255, 0, 0, 255, 0, 255, 0, 255, 0, 0, 255, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 255, 255, 0, 255, 0, 255, 255, 0, 0, 255, 0, 0, 255, 255, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 255, 255, 0, 0, 255, 0, 0, 255, 255, 0, 255, 0, 255, 255, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 16, 0, 1, 0, 160, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 99, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 240, 0, 0, 0, 0, 0, 255, 0, 255, 0, 255, 0, 255, 0, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 31, 255, 1, 0, 10, 80, 255, 255, 255, 255, 255, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 47, 255, 0, 2, 0, 9, 80, 255, 0, 255, 0, 255, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 32, 255, 0, 1, 0, 20, 255, 1, 0, 18, 0, 4, 0, 2, 7, 0, 112, 0, 255, 255, 255, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 32, 0, 255, 1, 0, 81, 0, 255, 255, 0, 0, 11, 0, 3, 7, 0, 192, 255, 0, 255, 255, 255, 0, 255, 255, 255, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 99, 255, 0, 0, 0, 255, 0, 5, 0, 28, 255, 14, 0, 80, 0, 0, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 65, 0, 0, 255, 0, 1, 0, 48, 255, 255, 255, 10, 0, 5, 6, 0, 160, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 98, 0, 0, 255, 255, 255, 0, 6, 0, 17, 255, 7, 0, 22, 255, 7, 0, 96, 0, 255, 255, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 48, 0, 255, 255, 3, 0, 71, 0, 255, 255, 255, 7, 0, 0, 8, 0, 144, 0, 0, 0, 0, 0, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 96, 0, 0, 255, 255, 255, 0, 6, 0, 2, 3, 0, 4, 4, 0, 176, 0, 255, 255, 0, 0, 0, 255, 255, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 116, 0, 0, 255, 255, 255, 0, 0, 7, 0, 37, 255, 255, 8, 0, 144, 0, 0, 0, 0, 255, 0, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 97, 0, 0, 255, 255, 255, 0, 6, 0, 34, 255, 255, 6, 0, 0, 8, 0, 192, 0, 255, 0, 255, 0, 0, 255, 0, 255, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 32, 0, 255, 1, 0, 0, 6, 0, 17, 0, 11, 0, 18, 0, 7, 0, 192, 255, 0, 0, 255, 255, 0, 255, 255, 255, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 19, 255, 1, 0, 19, 0, 4, 0, 3, 14, 0, 192, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 112, 0, 0, 0, 255, 255, 255, 0, 7, 0, 37, 0, 0, 7, 0, 4, 19, 0, 80, 255, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 32, 0, 255, 1, 0, 98, 0, 255, 255, 0, 0, 0, 10, 0, 2, 7, 0, 176, 0, 0, 255, 255, 0, 255, 255, 255, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 80, 0, 0, 0, 255, 0, 1, 0, 50, 255, 255, 255, 6, 0, 4, 8, 0, 144, 0, 0, 0, 0, 0, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 25, 0, 1, 0, 19, 255, 2, 0, 4, 1, 0, 80, 0, 0, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 32, 0, 255, 1, 0, 67, 0, 255, 255, 0, 10, 0, 2, 8, 0, 192, 0, 0, 255, 255, 255, 0, 255, 255, 255, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 80, 0, 0, 0, 255, 0, 1, 0, 49, 255, 255, 255, 5, 0, 0, 1, 0, 2, 8, 0, 128, 0, 0, 255, 0, 0, 0, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 32, 0, 255, 1, 0, 50, 0, 0, 0, 6, 0, 35, 0, 0, 6, 0, 176, 255, 255, 0, 0, 0, 255, 255, 255, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 32, 0, 255, 1, 0, 19, 0, 4, 0, 65, 255, 255, 0, 0, 8, 0, 192, 0, 0, 0, 255, 255, 0, 255, 255, 255, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 18, 0, 1, 0, 51, 255, 0, 255, 8, 0, 8, 11, 0, 96, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 18, 0, 1, 0, 21, 255, 4, 0, 23, 255, 12, 0, 96, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 32, 0, 255, 1, 0, 16, 0, 3, 0, 5, 11, 0, 1, 6, 0, 160, 0, 255, 255, 0, 255, 255, 255, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 255, 1, 0, 18, 0, 1, 0, 12, 14, 0, 80, 255, 255, 255, 255, 255, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 33, 255, 0, 2, 0, 15, 7, 0, 4, 80, 255, 0, 255, 0, 255, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 80, 0, 255, 255, 255, 0, 1, 0, 3, 6, 0, 1, 15, 0, 224, 255, 0, 255, 255, 0, 255, 0, 0, 255, 255, 0, 0, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 81, 255, 0, 0, 0, 255, 3, 0, 0, 5, 0, 5, 7, 0, 192, 255, 0, 0, 255, 0, 0, 255, 0, 0, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 96, 0, 0, 255, 255, 0, 0, 6, 0, 2, 8, 0, 0, 11, 0, 6, 7, 0, 80, 255, 255, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 80, 0, 0, 0, 255, 0, 5, 0, 33, 255, 255, 8, 0, 21, 0, 6, 0, 144, 255, 0, 0, 255, 0, 255, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 98, 0, 255, 255, 255, 0, 0, 3, 0, 32, 0, 0, 14, 0, 48, 255, 255, 0, 2, 0, 160, 0, 0, 255, 0, 255, 255, 0, 0, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 128, 0, 255, 0, 0, 0, 255, 0, 255, 1, 0, 0, 8, 0, 19, 0, 17, 0, 176, 0, 255, 0, 0, 0, 255, 0, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 96, 0, 255, 255, 255, 255, 0, 1, 0, 3, 6, 0, 0, 15, 0, 0, 11, 0, 160, 255, 0, 0, 0, 255, 255, 0, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 81, 0, 0, 0, 0, 255, 5, 0, 21, 255, 11, 0, 5, 14, 0, 96, 0, 0, 0, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 64, 0, 255, 0, 0, 4, 0, 102, 255, 0, 255, 255, 255, 255, 14, 0, 176, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 98, 0, 255, 255, 255, 255, 0, 1, 0, 4, 8, 0, 6, 10, 0, 80, 255, 255, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 80, 0, 0, 0, 255, 0, 1, 0, 51, 255, 255, 255, 9, 0, 5, 19, 0, 112, 0, 0, 255, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 49, 0, 255, 0, 1, 0, 14, 7, 0, 144, 255, 0, 0, 0, 255, 255, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 80, 0, 0, 0, 255, 0, 5, 0, 0, 1, 0, 20, 0, 14, 0, 208, 0, 255, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 49, 0, 255, 0, 3, 0, 1, 1, 0, 19, 0, 14, 0, 1, 4, 0, 144, 0, 0, 0, 0, 255, 255, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 112, 0, 0, 255, 255, 255, 255, 0, 1, 0, 34, 255, 0, 13, 0, 0, 15, 0, 192, 255, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 48, 0, 255, 0, 1, 0, 35, 255, 255, 8, 0, 0, 11, 0, 1, 7, 0, 160, 0, 0, 0, 0, 255, 0, 0, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 129, 255, 255, 255, 255, 0, 0, 0, 0, 5, 0, 35, 0, 0, 14, 0, 4, 17, 0, 80, 255, 255, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 32, 0, 255, 1, 0, 18, 0, 1, 0, 24, 255, 7, 0, 144, 255, 0, 0, 0, 0, 255, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 32, 0, 255, 1, 0, 16, 0, 1, 0, 8, 6, 0, 192, 0, 255, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 81, 0, 0, 0, 255, 0, 1, 0, 53, 255, 255, 255, 13, 0, 3, 19, 0, 96, 0, 255, 255, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 176, 0, 255, 0, 0, 255, 255, 0, 255, 255, 255, 0, 1, 0, 0, 14, 0, 2, 9, 0, 160, 255, 255, 255, 0, 0, 0, 255, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 211, 0, 255, 0, 255, 255, 255, 255, 0, 255, 0, 0, 0, 0, 7, 0, 5, 9, 0, 96, 255, 0, 0, 255, 255, 255, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 144, 255, 0, 0, 255, 0, 0, 0, 0, 255, 1, 0, 16, 0, 3, 0, 35, 0, 0, 9, 0, 128, 255, 0, 255, 255, 0, 0, 255, 255, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 129, 0, 255, 0, 255, 255, 0, 0, 255, 5, 0, 1, 3, 0, 7, 18, 0, 96, 255, 0, 0, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 160, 0, 0, 255, 255, 255, 255, 0, 0, 255, 0, 5, 0, 40, 255, 0, 7, 0, 112, 0, 255, 255, 0, 0, 0, 255, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 48, 0, 255, 0, 3, 0, 124, 0, 255, 0, 255, 255, 255, 0, 14, 0, 80, 0, 255, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 97, 255, 255, 0, 0, 0, 255, 3, 0, 72, 0, 255, 255, 0, 14, 0, 128, 0, 0, 0, 255, 255, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 88, 0, 0, 255, 255, 0, 1, 0, 18, 255, 5, 0, 176, 255, 0, 255, 0, 255, 0, 255, 255, 0, 0, 255, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 20, 0, 1, 0, 33, 255, 255, 6, 0, 4, 3, 0, 176, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 255, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 49, 255, 0, 255, 1, 0, 35, 0, 0, 7, 0, 16, 0, 11, 0, 1, 13, 0, 128, 0, 255, 0, 255, 255, 255, 0, 255, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 32, 0, 255, 1, 0, 51, 0, 0, 0, 7, 0, 18, 0, 5, 0, 192, 255, 255, 255, 0, 0, 0, 255, 255, 255, 0, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 65, 0, 255, 255, 0, 1, 0, 18, 255, 3, 0, 1, 1, 0, 1, 21, 0, 144, 255, 0, 0, 0, 0, 0, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 50, 0, 0, 255, 3, 0, 36, 255, 255, 11, 0, 16, 0, 14, 0, 176, 0, 0, 0, 255, 0, 0, 255, 255, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 80, 0, 255, 0, 255, 0, 1, 0, 80, 255, 255, 255, 255, 0, 14, 0, 18, 255, 5, 0, 160, 0, 0, 255, 0, 0, 0, 0, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 145, 0, 255, 255, 255, 255, 0, 0, 0, 0, 5, 0, 9, 14, 0, 128, 255, 0, 0, 0, 255, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 144, 0, 0, 255, 0, 255, 0, 0, 0, 255, 1, 0, 0, 8, 0, 1, 3, 0, 3, 5, 0, 96, 0, 0, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 178, 0, 255, 0, 255, 255, 255, 0, 0, 255, 255, 0, 2, 0, 2, 5, 0, 192, 0, 0, 255, 255, 0, 0, 0, 0, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 65, 0, 0, 255, 0, 1, 0, 33, 255, 255, 9, 0, 20, 255, 13, 0, 160, 255, 0, 0, 0, 255, 255, 0, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 84, 0, 0, 0, 255, 0, 5, 0, 48, 0, 0, 255, 1, 0, 3, 11, 0, 128, 0, 0, 0, 255, 255, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 64, 0, 255, 0, 0, 4, 0, 4, 7, 0, 3, 11, 0, 192, 0, 0, 0, 255, 0, 0, 0, 0, 255, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 32, 0, 255, 1, 0, 67, 0, 0, 0, 0, 6, 0, 5, 3, 0, 144, 255, 255, 0, 0, 0, 0, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 64, 0, 0, 255, 0, 1, 0, 32, 255, 255, 3, 0, 2, 8, 0, 1, 6, 0, 160, 0, 255, 0, 0, 0, 255, 0, 0, 255, 255, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 32, 0, 255, 1, 0, 67, 0, 0, 0, 0, 6, 0, 4, 3, 0, 160, 0, 0, 255, 0, 0, 0, 0, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 129, 0, 255, 0, 255, 255, 0, 0, 255, 5, 0, 1, 3, 0, 3, 18, 0, 160, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 80, 0, 255, 255, 255, 0, 1, 0, 48, 255, 0, 0, 10, 0, 6, 15, 0, 144, 255, 0, 0, 0, 0, 255, 255, 255, 255, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 100, 0, 0, 255, 0, 0, 0, 6, 0, 51, 0, 255, 255, 6, 0, 176, 255, 0, 255, 0, 255, 0, 0, 255, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 26, 0, 1, 0, 52, 255, 255, 255, 10, 0, 144, 0, 0, 0, 0, 0, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 19, 0, 1, 0, 48, 255, 0, 255, 6, 0, 0, 1, 0, 1, 14, 0, 176, 0, 255, 0, 0, 0, 0, 255, 0, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 20, 0, 1, 0, 17, 255, 5, 0, 49, 255, 255, 255, 12, 0, 192, 255, 0, 255, 0, 0, 255, 0, 255, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 20, 0, 1, 0, 19, 255, 7, 0, 22, 255, 6, 0, 112, 0, 255, 255, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 32, 0, 255, 1, 0, 17, 0, 1, 0, 17, 255, 4, 0, 1, 13, 0, 192, 255, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 97, 0, 0, 0, 0, 255, 255, 6, 0, 2, 11, 0, 1, 7, 0, 3, 14, 0, 96, 0, 0, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 80, 0, 0, 0, 255, 0, 5, 0, 0, 1, 0, 2, 12, 0, 1, 16, 0, 176, 0, 0, 255, 0, 0, 0, 0, 255, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 32, 0, 255, 1, 0, 65, 0, 0, 0, 0, 5, 0, 10, 7, 0, 96, 255, 255, 255, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 80, 0, 0, 0, 0, 255, 4, 0, 1, 1, 0, 1, 9, 0, 2, 19, 0, 160, 255, 0, 0, 0, 255, 0, 0, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 64, 0, 0, 255, 0, 1, 0, 16, 255, 1, 0, 0, 8, 0, 4, 3, 0, 160, 0, 255, 0, 0, 255, 0, 0, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 80, 0, 0, 0, 255, 0, 5, 0, 0, 1, 0, 28, 0, 14, 0, 80, 0, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 164, 0, 0, 255, 255, 255, 255, 0, 0, 0, 255, 3, 0, 1, 4, 0, 192, 0, 0, 255, 0, 0, 0, 0, 0, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 65, 0, 0, 255, 0, 1, 0, 16, 255, 1, 0, 38, 0, 255, 16, 0, 144, 0, 0, 0, 0, 0, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 32, 0, 255, 1, 0, 17, 0, 1, 0, 13, 7, 0, 96, 255, 255, 255, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 50, 0, 0, 255, 3, 0, 1, 1, 0, 4, 14, 0, 0, 1, 0, 144, 255, 0, 0, 0, 0, 0, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 68, 0, 255, 255, 0, 1, 0, 33, 255, 0, 14, 0, 2, 17, 0, 160, 255, 0, 0, 0, 0, 255, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 32, 0, 255, 1, 0, 17, 0, 1, 0, 24, 255, 6, 0, 160, 255, 0, 0, 0, 255, 255, 0, 0, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 64, 0, 0, 255, 0, 1, 0, 16, 255, 1, 0, 0, 8, 0, 2, 17, 0, 192, 255, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 68, 0, 255, 0, 0, 4, 0, 0, 7, 0, 20, 0, 7, 0, 160, 255, 0, 0, 0, 0, 255, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 32, 0, 255, 1, 0, 64, 0, 0, 255, 0, 4, 0, 65, 255, 0, 255, 255, 11, 0, 192, 0, 0, 255, 255, 0, 0, 0, 255, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 96, 0, 0, 255, 255, 255, 0, 1, 0, 1, 6, 0, 35, 255, 255, 15, 0, 176, 255, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 33, 0, 255, 2, 0, 4, 7, 0, 0, 1, 0, 2, 7, 0, 160, 255, 0, 0, 0, 0, 255, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 101, 0, 0, 255, 255, 255, 0, 1, 0, 35, 255, 255, 15, 0, 176, 255, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 65, 0, 0, 255, 0, 1, 0, 4, 7, 0, 17, 255, 9, 0, 192, 255, 0, 0, 255, 0, 0, 0, 255, 0, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 80, 0, 0, 0, 255, 0, 5, 0, 0, 1, 0, 20, 0, 14, 0, 4, 7, 0, 80, 255, 0, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 20, 0, 1, 0, 76, 255, 255, 255, 0, 1, 0, 96, 255, 255, 255, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 32, 0, 255, 1, 0, 17, 0, 1, 0, 18, 255, 5, 0, 2, 14, 0, 160, 255, 0, 0, 0, 0, 255, 255, 0, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 80, 0, 0, 0, 255, 0, 5, 0, 0, 1, 0, 18, 0, 10, 0, 2, 14, 0, 144, 0, 255, 0, 0, 0, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 16, 0, 1, 0, 46, 255, 0, 7, 0, 160, 255, 0, 0, 0, 255, 255, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 83, 0, 0, 0, 0, 255, 5, 0, 25, 255, 7, 0, 144, 0, 255, 0, 255, 0, 0, 0, 0, 255, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 49, 0, 255, 0, 1, 0, 48, 255, 255, 255, 10, 0, 4, 14, 0, 192, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 32, 0, 255, 1, 0, 17, 0, 1, 0, 9, 7, 0, 160, 255, 0, 0, 0, 0, 255, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 148, 0, 0, 255, 255, 0, 0, 0, 0, 255, 3, 0, 3, 5, 0, 176, 0, 0, 0, 255, 0, 0, 0, 0, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 80, 0, 0, 0, 255, 0, 5, 0, 0, 1, 0, 21, 0, 14, 0, 192, 0, 255, 0, 255, 0, 0, 255, 0, 255, 0, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 0, 0, 0, 32, 0, 255, 1, 0, 17, 0, 1, 0, 17, 255, 4, 0, 2, 13, 0, 176, 255, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 116, 0, 0, 255, 255, 255, 255, 0, 1, 0, 26, 255, 14, 0, 80, 255, 255, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 101, 0, 0, 0, 255, 0, 0, 6, 0, 36, 0, 255, 3, 0, 160, 0, 0, 255, 0, 255, 255, 255, 255, 255, 255, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 0, 0, 17, 0, 1, 0, 17, 255, 4, 0, 21, 255, 12, 0, 1, 14, 0, 128, 255, 0, 255, 255, 0, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 145, 0, 255, 255, 255, 255, 0, 0, 0, 0, 5, 0, 11, 14, 0, 96, 0, 255, 255, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 64, 0, 0, 255, 0, 1, 0, 16, 255, 1, 0, 0, 8, 0, 2, 17, 0, 192, 255, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 97, 0, 0, 255, 255, 255, 0, 1, 0, 14, 7, 0, 96, 255, 255, 255, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 97, 0, 255, 255, 255, 255, 0, 1, 0, 0, 7, 0, 11, 14, 0, 80, 255, 255, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 32, 0, 255, 1, 0, 20, 0, 1, 0, 7, 14, 0, 144, 255, 0, 0, 0, 0, 255, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 49, 0, 0, 255, 3, 0, 11, 7, 0, 192, 0, 0, 0, 255, 0, 0, 0, 0, 0, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 127, 0, 0, 255, 0, 255, 0, 0, 7, 0, 1, 128, 255, 0, 255, 0, 0, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 49, 0, 255, 0, 1, 0, 7, 7, 0, 20, 255, 3, 0, 112, 0, 255, 255, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 32, 0, 255, 1, 0, 110, 0, 0, 255, 0, 0, 0, 7, 0, 80, 255, 255, 255, 255, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 32, 0, 255, 1, 0, 66, 0, 0, 255, 0, 4, 0, 5, 7, 0, 160, 255, 0, 0, 0, 0, 255, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 32, 0, 255, 1, 0, 17, 0, 1, 0, 0, 7, 0, 10, 14, 0, 80, 0, 255, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 68, 0, 255, 255, 0, 1, 0, 24, 255, 7, 0, 160, 255, 0, 0, 0, 255, 255, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 18, 0, 1, 0, 17, 255, 2, 0, 3, 11, 0, 5, 6, 0, 96, 255, 255, 0, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 20, 0, 1, 0, 18, 255, 6, 0, 33, 255, 255, 9, 0, 192, 255, 0, 255, 0, 0, 0, 0, 255, 0, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0, 27, 0, 1, 0, 35, 255, 255, 8, 0, 160, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 0, 0, 0, 20, 0, 1, 0, 51, 255, 255, 255, 8, 0, 3, 16, 0, 144, 0, 0, 0, 0, 255, 255, 255, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 100, 0, 0, 0, 255, 0, 0, 6, 0, 36, 255, 255, 5, 0, 176, 0, 255, 0, 0, 0, 0, 0, 255, 0, 0, 0, 99, 66, 77, 80, 55, 0, 0, 0, 7, 0, 0, 0, 5, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 0, 0, 0, 82, 0, 0, 0, 255, 0, 1, 0, 98, 255, 0, 0, 255, 255, 0, 5, 0, 192, 255, 0, 0, 0, 0, 0, 0, 0, 255, 0, 0, 0, 67, 70, 73, 76, 0, 0, 0, 0, 0, 128, 0, 0, 115, 110, 100, 95, 103, 101, 110, 46, 112, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 126, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 112, 0, 0, 224, 238, 238, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 7, 0, 0, 224, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 112, 7, 0, 0, 224, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 112, 0, 238, 126, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 126, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238, 238, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]); fileData0.push.apply(fileData0, [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]); fileData0.push.apply(fileData0, [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 65, 66, 67, 68, 246, 10, 240, 10, 239, 10, 236, 12, 234, 12, 226, 10, 228, 10, 224, 10, 222, 8, 217, 8, 214, 8, 212, 4, 210, 4, 207, 2, 211, 2, 209, 2, 206, 0, 203, 0, 200, 0, 199, 0, 196, 0, 195, 0, 192, 0, 243, 0, 245, 0, 246, 0, 248, 0, 251, 0, 192, 0, 192, 0, 192, 0, 192, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 112, 120, 97, 1, 238, 1, 4, 235, 193, 226, 221, 103, 159, 95, 60, 193, 213, 143, 208, 100, 143, 240, 4, 79, 96, 146, 87, 40, 175, 207, 74, 15, 236, 120, 35, 76, 158, 33, 173, 94, 32, 238, 130, 7, 104, 219, 7, 168, 178, 60, 10, 207, 143, 154, 162, 186, 228, 148, 182, 139, 31, 34, 107, 39, 38, 202, 51, 38, 6, 162, 122, 96, 96, 164, 110, 75, 83, 244, 125, 243, 10, 43, 238, 88, 124, 134, 50, 94, 217, 152, 136, 109, 209, 103, 3, 93, 55, 116, 81, 208, 191, 78, 233, 123, 60, 142, 219, 247, 78, 81, 57, 178, 240, 18, 3, 253, 130, 231, 243, 62, 225, 90, 180, 146, 166, 27, 54, 136, 108, 159, 39, 178, 229, 202, 156, 105, 150, 178, 153, 80, 155, 92, 65, 56, 246, 26, 161, 239, 175, 181, 129, 76, 224, 192, 89, 91, 91, 3, 11, 221, 83, 140, 212, 101, 52, 180, 16, 116, 59, 229, 96, 118, 155, 237, 57, 101, 139, 246, 45, 86, 234, 153, 86, 226, 188, 90, 3, 18, 39, 129, 180, 161, 52, 202, 68, 145, 13, 105, 151, 39, 145, 35, 209, 64, 144, 24, 158, 210, 18, 127, 242, 176, 90, 236, 71, 182, 170, 120, 105, 178, 153, 187, 173, 88, 234, 178, 137, 104, 71, 107, 252, 204, 174, 83, 27, 63, 170, 126, 65, 48, 36, 168, 107, 117, 68, 209, 113, 232, 154, 99, 47, 12, 196, 153, 85, 130, 165, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]); fileData0.push.apply(fileData0, [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]); fileData0.push.apply(fileData0, [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]); Module["FS_createDataFile"]("/", "data.pod", fileData0, true, true, false); } if (Module["calledRun"]) { runWithFS(); } else { if (!Module["preRun"]) Module["preRun"] = []; Module["preRun"].push(runWithFS); } }; loadPackage({ "files": [] }); })(); var moduleOverrides = {}; var key; for (key in Module) { if (Module.hasOwnProperty(key)) { moduleOverrides[key] = Module[key]; } } Module["arguments"] = []; Module["thisProgram"] = "./this.program"; Module["quit"] = function(status, toThrow) { throw toThrow; }; Module["preRun"] = []; Module["postRun"] = []; var ENVIRONMENT_IS_WEB = false; var ENVIRONMENT_IS_WORKER = false; var ENVIRONMENT_IS_NODE = false; var ENVIRONMENT_IS_SHELL = false; ENVIRONMENT_IS_WEB = typeof window === "object"; ENVIRONMENT_IS_WORKER = typeof importScripts === "function"; ENVIRONMENT_IS_NODE = typeof process === "object" && typeof require === "function" && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; var scriptDirectory = ""; function locateFile(path) { if (Module["locateFile"]) { return Module["locateFile"](path, scriptDirectory); } else { return scriptDirectory + path; } } if (ENVIRONMENT_IS_NODE) { scriptDirectory = __dirname + "/"; var nodeFS; var nodePath; Module["read"] = function shell_read(filename, binary) { var ret; ret = tryParseAsDataURI(filename); if (!ret) { if (!nodeFS) nodeFS = require("fs"); if (!nodePath) nodePath = require("path"); filename = nodePath["normalize"](filename); ret = nodeFS["readFileSync"](filename); } return binary ? ret : ret.toString(); }; Module["readBinary"] = function readBinary(filename) { var ret = Module["read"](filename, true); if (!ret.buffer) { ret = new Uint8Array(ret); } assert(ret.buffer); return ret; }; if (process["argv"].length > 1) { Module["thisProgram"] = process["argv"][1].replace(/\\/g, "/"); } Module["arguments"] = process["argv"].slice(2); if (typeof module !== "undefined") { module["exports"] = Module; } process["on"]("uncaughtException", function(ex) { if (!(ex instanceof ExitStatus)) { throw ex; } }); process["on"]("unhandledRejection", abort); Module["quit"] = function(status) { process["exit"](status); }; Module["inspect"] = function() { return "[Emscripten Module object]"; }; } else if (ENVIRONMENT_IS_SHELL) { if (typeof read != "undefined") { Module["read"] = function shell_read(f) { var data = tryParseAsDataURI(f); if (data) { return intArrayToString(data); } return read(f); }; } Module["readBinary"] = function readBinary(f) { var data; data = tryParseAsDataURI(f); if (data) { return data; } if (typeof readbuffer === "function") { return new Uint8Array(readbuffer(f)); } data = read(f, "binary"); assert(typeof data === "object"); return data; }; if (typeof scriptArgs != "undefined") { Module["arguments"] = scriptArgs; } else if (typeof arguments != "undefined") { Module["arguments"] = arguments; } if (typeof quit === "function") { Module["quit"] = function(status) { quit(status); }; } } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { if (ENVIRONMENT_IS_WORKER) { scriptDirectory = self.location.href; } else if (document.currentScript) { scriptDirectory = document.currentScript.src; } if (scriptDirectory.indexOf("blob:") !== 0) { scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1); } else { scriptDirectory = ""; } Module["read"] = function shell_read(url) { try { var xhr = new XMLHttpRequest(); xhr.open("GET", url, false); xhr.send(null); return xhr.responseText; } catch (err) { var data = tryParseAsDataURI(url); if (data) { return intArrayToString(data); } throw err; } }; if (ENVIRONMENT_IS_WORKER) { Module["readBinary"] = function readBinary(url) { try { var xhr = new XMLHttpRequest(); xhr.open("GET", url, false); xhr.responseType = "arraybuffer"; xhr.send(null); return new Uint8Array(xhr.response); } catch (err) { var data = tryParseAsDataURI(url); if (data) { return data; } throw err; } }; } Module["readAsync"] = function readAsync(url, onload, onerror) { var xhr = new XMLHttpRequest(); xhr.open("GET", url, true); xhr.responseType = "arraybuffer"; xhr.onload = function xhr_onload() { if (xhr.status == 200 || xhr.status == 0 && xhr.response) { onload(xhr.response); return; } var data = tryParseAsDataURI(url); if (data) { onload(data.buffer); return; } onerror(); }; xhr.onerror = onerror; xhr.send(null); }; Module["setWindowTitle"] = function(title) { document.title = title; }; } else {} var out = Module["print"] || (typeof console !== "undefined" ? console.log.bind(console) : typeof print !== "undefined" ? print : null); var err = Module["printErr"] || (typeof printErr !== "undefined" ? printErr : typeof console !== "undefined" && console.warn.bind(console) || out); for (key in moduleOverrides) { if (moduleOverrides.hasOwnProperty(key)) { Module[key] = moduleOverrides[key]; } } moduleOverrides = undefined; var STACK_ALIGN = 16; function dynamicAlloc(size) { var ret = HEAP32[DYNAMICTOP_PTR >> 2]; var end = ret + size + 15 & -16; if (end <= _emscripten_get_heap_size()) { HEAP32[DYNAMICTOP_PTR >> 2] = end; } else { return 0; } return ret; } function getNativeTypeSize(type) { switch (type) { case "i1": case "i8": return 1; case "i16": return 2; case "i32": return 4; case "i64": return 8; case "float": return 4; case "double": return 8; default: { if (type[type.length - 1] === "*") { return 4; } else if (type[0] === "i") { var bits = parseInt(type.substr(1)); assert(bits % 8 === 0, "getNativeTypeSize invalid bits " + bits + ", type " + type); return bits / 8; } else { return 0; } } } } function warnOnce(text) { if (!warnOnce.shown) warnOnce.shown = {}; if (!warnOnce.shown[text]) { warnOnce.shown[text] = 1; err(text); } } var jsCallStartIndex = 1; var functionPointers = new Array(0); var funcWrappers = {}; function dynCall(sig, ptr, args) { if (args && args.length) { return Module["dynCall_" + sig].apply(null, [ ptr ].concat(args)); } else { return Module["dynCall_" + sig].call(null, ptr); } } var tempRet0 = 0; var setTempRet0 = function(value) { tempRet0 = value; }; var getTempRet0 = function() { return tempRet0; }; var GLOBAL_BASE = 8; function getValue(ptr, type, noSafe) { type = type || "i8"; if (type.charAt(type.length - 1) === "*") type = "i32"; switch (type) { case "i1": return HEAP8[ptr >> 0]; case "i8": return HEAP8[ptr >> 0]; case "i16": return HEAP16[ptr >> 1]; case "i32": return HEAP32[ptr >> 2]; case "i64": return HEAP32[ptr >> 2]; case "float": return HEAPF32[ptr >> 2]; case "double": return HEAPF64[ptr >> 3]; default: abort("invalid type for getValue: " + type); } return null; } var ABORT = false; var EXITSTATUS = 0; function assert(condition, text) { if (!condition) { abort("Assertion failed: " + text); } } function getCFunc(ident) { var func = Module["_" + ident]; assert(func, "Cannot call unknown function " + ident + ", make sure it is exported"); return func; } function ccall(ident, returnType, argTypes, args, opts) { var toC = { "string": function(str) { var ret = 0; if (str !== null && str !== undefined && str !== 0) { var len = (str.length << 2) + 1; ret = stackAlloc(len); stringToUTF8(str, ret, len); } return ret; }, "array": function(arr) { var ret = stackAlloc(arr.length); writeArrayToMemory(arr, ret); return ret; } }; function convertReturnValue(ret) { if (returnType === "string") return UTF8ToString(ret); if (returnType === "boolean") return Boolean(ret); return ret; } var func = getCFunc(ident); var cArgs = []; var stack = 0; if (args) { for (var i = 0; i < args.length; i++) { var converter = toC[argTypes[i]]; if (converter) { if (stack === 0) stack = stackSave(); cArgs[i] = converter(args[i]); } else { cArgs[i] = args[i]; } } } var ret = func.apply(null, cArgs); ret = convertReturnValue(ret); if (stack !== 0) stackRestore(stack); return ret; } function setValue(ptr, value, type, noSafe) { type = type || "i8"; if (type.charAt(type.length - 1) === "*") type = "i32"; switch (type) { case "i1": HEAP8[ptr >> 0] = value; break; case "i8": HEAP8[ptr >> 0] = value; break; case "i16": HEAP16[ptr >> 1] = value; break; case "i32": HEAP32[ptr >> 2] = value; break; case "i64": tempI64 = [ value >>> 0, (tempDouble = value, +Math_abs(tempDouble) >= +1 ? tempDouble > +0 ? (Math_min(+Math_floor(tempDouble / +4294967296), +4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / +4294967296) >>> 0 : 0) ], HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1]; break; case "float": HEAPF32[ptr >> 2] = value; break; case "double": HEAPF64[ptr >> 3] = value; break; default: abort("invalid type for setValue: " + type); } } var ALLOC_NORMAL = 0; var ALLOC_NONE = 3; function allocate(slab, types, allocator, ptr) { var zeroinit, size; if (typeof slab === "number") { zeroinit = true; size = slab; } else { zeroinit = false; size = slab.length; } var singleType = typeof types === "string" ? types : null; var ret; if (allocator == ALLOC_NONE) { ret = ptr; } else { ret = [ _malloc, stackAlloc, dynamicAlloc ][allocator](Math.max(size, singleType ? 1 : types.length)); } if (zeroinit) { var stop; ptr = ret; assert((ret & 3) == 0); stop = ret + (size & ~3); for (;ptr < stop; ptr += 4) { HEAP32[ptr >> 2] = 0; } stop = ret + size; while (ptr < stop) { HEAP8[ptr++ >> 0] = 0; } return ret; } if (singleType === "i8") { if (slab.subarray || slab.slice) { HEAPU8.set(slab, ret); } else { HEAPU8.set(new Uint8Array(slab), ret); } return ret; } var i = 0, type, typeSize, previousType; while (i < size) { var curr = slab[i]; type = singleType || types[i]; if (type === 0) { i++; continue; } if (type == "i64") type = "i32"; setValue(ret + i, curr, type); if (previousType !== type) { typeSize = getNativeTypeSize(type); previousType = type; } i += typeSize; } return ret; } function getMemory(size) { if (!runtimeInitialized) return dynamicAlloc(size); return _malloc(size); } var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined; function UTF8ArrayToString(u8Array, idx, maxBytesToRead) { var endIdx = idx + maxBytesToRead; var endPtr = idx; while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr; if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)); } else { var str = ""; while (idx < endPtr) { var u0 = u8Array[idx++]; if (!(u0 & 128)) { str += String.fromCharCode(u0); continue; } var u1 = u8Array[idx++] & 63; if ((u0 & 224) == 192) { str += String.fromCharCode((u0 & 31) << 6 | u1); continue; } var u2 = u8Array[idx++] & 63; if ((u0 & 240) == 224) { u0 = (u0 & 15) << 12 | u1 << 6 | u2; } else { u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u8Array[idx++] & 63; } if (u0 < 65536) { str += String.fromCharCode(u0); } else { var ch = u0 - 65536; str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023); } } } return str; } function UTF8ToString(ptr, maxBytesToRead) { return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ""; } function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { if (!(maxBytesToWrite > 0)) return 0; var startIdx = outIdx; var endIdx = outIdx + maxBytesToWrite - 1; for (var i = 0; i < str.length; ++i) { var u = str.charCodeAt(i); if (u >= 55296 && u <= 57343) { var u1 = str.charCodeAt(++i); u = 65536 + ((u & 1023) << 10) | u1 & 1023; } if (u <= 127) { if (outIdx >= endIdx) break; outU8Array[outIdx++] = u; } else if (u <= 2047) { if (outIdx + 1 >= endIdx) break; outU8Array[outIdx++] = 192 | u >> 6; outU8Array[outIdx++] = 128 | u & 63; } else if (u <= 65535) { if (outIdx + 2 >= endIdx) break; outU8Array[outIdx++] = 224 | u >> 12; outU8Array[outIdx++] = 128 | u >> 6 & 63; outU8Array[outIdx++] = 128 | u & 63; } else { if (outIdx + 3 >= endIdx) break; outU8Array[outIdx++] = 240 | u >> 18; outU8Array[outIdx++] = 128 | u >> 12 & 63; outU8Array[outIdx++] = 128 | u >> 6 & 63; outU8Array[outIdx++] = 128 | u & 63; } } outU8Array[outIdx] = 0; return outIdx - startIdx; } function stringToUTF8(str, outPtr, maxBytesToWrite) { return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); } function lengthBytesUTF8(str) { var len = 0; for (var i = 0; i < str.length; ++i) { var u = str.charCodeAt(i); if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023; if (u <= 127) ++len; else if (u <= 2047) len += 2; else if (u <= 65535) len += 3; else len += 4; } return len; } var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined; function allocateUTF8OnStack(str) { var size = lengthBytesUTF8(str) + 1; var ret = stackAlloc(size); stringToUTF8Array(str, HEAP8, ret, size); return ret; } function writeArrayToMemory(array, buffer) { HEAP8.set(array, buffer); } function writeAsciiToMemory(str, buffer, dontAddNull) { for (var i = 0; i < str.length; ++i) { HEAP8[buffer++ >> 0] = str.charCodeAt(i); } if (!dontAddNull) HEAP8[buffer >> 0] = 0; } function demangle(func) { return func; } function demangleAll(text) { var regex = /__Z[\w\d_]+/g; return text.replace(regex, function(x) { var y = demangle(x); return x === y ? x : y + " [" + x + "]"; }); } function jsStackTrace() { var err = new Error(); if (!err.stack) { try { throw new Error(0); } catch (e) { err = e; } if (!err.stack) { return "(no stack trace available)"; } } return err.stack.toString(); } function stackTrace() { var js = jsStackTrace(); if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"](); return demangleAll(js); } var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64; function updateGlobalBufferViews() { Module["HEAP8"] = HEAP8 = new Int8Array(buffer); Module["HEAP16"] = HEAP16 = new Int16Array(buffer); Module["HEAP32"] = HEAP32 = new Int32Array(buffer); Module["HEAPU8"] = HEAPU8 = new Uint8Array(buffer); Module["HEAPU16"] = HEAPU16 = new Uint16Array(buffer); Module["HEAPU32"] = HEAPU32 = new Uint32Array(buffer); Module["HEAPF32"] = HEAPF32 = new Float32Array(buffer); Module["HEAPF64"] = HEAPF64 = new Float64Array(buffer); } var STACK_BASE = 3300912, DYNAMIC_BASE = 8543792, DYNAMICTOP_PTR = 3300656; var TOTAL_STACK = 5242880; var TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 134217728; if (TOTAL_MEMORY < TOTAL_STACK) err("TOTAL_MEMORY should be larger than TOTAL_STACK, was " + TOTAL_MEMORY + "! (TOTAL_STACK=" + TOTAL_STACK + ")"); if (Module["buffer"]) { buffer = Module["buffer"]; } else { { buffer = new ArrayBuffer(TOTAL_MEMORY); } Module["buffer"] = buffer; } updateGlobalBufferViews(); HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE; function callRuntimeCallbacks(callbacks) { while (callbacks.length > 0) { var callback = callbacks.shift(); if (typeof callback == "function") { callback(); continue; } var func = callback.func; if (typeof func === "number") { if (callback.arg === undefined) { Module["dynCall_v"](func); } else { Module["dynCall_vi"](func, callback.arg); } } else { func(callback.arg === undefined ? null : callback.arg); } } } var __ATPRERUN__ = []; var __ATINIT__ = []; var __ATMAIN__ = []; var __ATEXIT__ = []; var __ATPOSTRUN__ = []; var runtimeInitialized = false; var runtimeExited = false; function preRun() { if (Module["preRun"]) { if (typeof Module["preRun"] == "function") Module["preRun"] = [ Module["preRun"] ]; while (Module["preRun"].length) { addOnPreRun(Module["preRun"].shift()); } } callRuntimeCallbacks(__ATPRERUN__); } function ensureInitRuntime() { if (runtimeInitialized) return; runtimeInitialized = true; callRuntimeCallbacks(__ATINIT__); } function preMain() { callRuntimeCallbacks(__ATMAIN__); } function exitRuntime() { callRuntimeCallbacks(__ATEXIT__); runtimeExited = true; } function postRun() { if (Module["postRun"]) { if (typeof Module["postRun"] == "function") Module["postRun"] = [ Module["postRun"] ]; while (Module["postRun"].length) { addOnPostRun(Module["postRun"].shift()); } } callRuntimeCallbacks(__ATPOSTRUN__); } function addOnPreRun(cb) { __ATPRERUN__.unshift(cb); } function addOnPostRun(cb) { __ATPOSTRUN__.unshift(cb); } var Math_abs = Math.abs; var Math_ceil = Math.ceil; var Math_floor = Math.floor; var Math_min = Math.min; var runDependencies = 0; var runDependencyWatcher = null; var dependenciesFulfilled = null; function getUniqueRunDependency(id) { return id; } function addRunDependency(id) { runDependencies++; if (Module["monitorRunDependencies"]) { Module["monitorRunDependencies"](runDependencies); } } function removeRunDependency(id) { runDependencies--; if (Module["monitorRunDependencies"]) { Module["monitorRunDependencies"](runDependencies); } if (runDependencies == 0) { if (runDependencyWatcher !== null) { clearInterval(runDependencyWatcher); runDependencyWatcher = null; } if (dependenciesFulfilled) { var callback = dependenciesFulfilled; dependenciesFulfilled = null; callback(); } } } Module["preloadedImages"] = {}; Module["preloadedAudios"] = {}; var memoryInitializer = null; var dataURIPrefix = "data:application/octet-stream;base64,"; function isDataURI(filename) { return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0; } var ASM_CONSTS = [ function() { if (typeof _cartdat !== "undefined") return 1; return 0; }, function() { return _cartdat.length / 32768; }, function() { _cdpos = _cdpos + 1; return _cartdat[_cdpos - 1]; }, function($0) { ciii = $0; iii = 0; }, function() { iii = iii + 1; return _cartname[ciii].charCodeAt(iii - 1); }, function() { let stateObj = { load_param_data: false }; history.pushState(stateObj, "PICO-8", "?"); }, function() { Module.pico8Reset = function() { codo_command = 1; }; Module.pico8ToggleSound = function() { codo_command = 3; }; Module.pico8TogglePaused = function() { codo_command = 4; }; Module.pico8SetPaused = function(p) { codo_command = 5; codo_command_p = 0; if (p) codo_command_p = 1; }; Module.pico8ToggleControlMenu = function() { codo_command = 7; }; Module.pico8DragOver = function() { codo_command = 10; }; Module.pico8DragStop = function() { codo_command = 11; }; }, function() { function mkdir_0(d) { try { stat = FS.stat(d); } catch (e) { FS.mkdir(d); } } mkdir_0("/user_data"); FS.mount(IDBFS, {}, "/user_data"); FS.syncfs(true, function(err) { if (!err) { console.log("codo: mounted filesystem.\n"); codo_mounted_filesystem = 1; mkdir_0("/user_data/cdata"); mkdir_0("/user_data/cstore"); mkdir_0("/user_data/carts"); mkdir_0("/user_data/backup"); mkdir_0("/user_data/plates"); mkdir_0("/user_data/bbs"); mkdir_0("/user_data/bbs/carts"); mkdir_0("/user_data/bbs/labels"); } else { console.log("** could not mount filesystem\n"); console.log(err); } }); }, function() { var val = 0; if (window.location.pathname.indexOf("widget.php") >= 0) val = 1; return val; }, function() { var val = 0; if (window.location.pathname.indexOf("pico-8.php") >= 0) val = 1; return val; }, function($0, $1, $2, $3, $4, $5, $6, $7) { if (typeof pico8_state !== "undefined") { pico8_state.is_paused = $0; pico8_state.sound_volume = $1; pico8_state.frame_number = $2; pico8_state.has_focus = $3; pico8_state.show_dpad = $4; pico8_state.request_pointer_lock = $5; pico8_state.require_page_navigate_confirmation = $6; pico8_state.shutdown_requested = $7; } }, function() { var val = 0; if (typeof codo_command !== "undefined") { val = codo_command; codo_command = 0; } return val; }, function() { var val = 0; if (typeof codo_command_p !== "undefined") { val = codo_command_p; codo_command_p = 0; } return val; }, function() { button_i = 0; }, function() { var val = -1; if (typeof pico8_buttons !== "undefined") { val = pico8_buttons[button_i]; button_i++; } return val; }, function() { var val = 0; if (typeof pico8_gamepads !== "undefined") { val = pico8_gamepads.count; } return val; }, function() { if (typeof on_module_load !== "undefined") { if (on_module_load) on_module_load(); } }, function($0, $1, $2, $3) { download_browser_file(UTF8ToString($0, $1), UTF8ToString($2, $3)); }, function($0, $1, $2, $3, $4, $5) { if (typeof p8img !== "undefined") { p8img.src = ""; } p8img = document.createElement("img"); p8img.src = UTF8ToString($0, $1); p8img.style = "width:128px; height:128px; image-rendering: pixelated; -ms-interpolation-mode: nearest-neighbor;"; if (typeof p8imgholder === "undefined" || !p8imgholder) { p8imgholder = document.createElement("div"); p8imgholder.style.cssText = "min-width:160px; display:table; position:fixed; top:20px; left:20px; padding:12px; background-color:#000; box-shadow: 2px 2px 8px rgba(16, 0, 48, 0.4);"; document.body.appendChild(p8imgholder); } if (p8imgholder) { while (p8imgholder.childElementCount > 0) p8imgholder.removeChild(p8imgholder.firstChild); var dismiss = document.createElement("div"); dismiss.style.cssText = "display:table; font-size:10pt; color:#fff; padding:4px; cursor:pointer; margin-left:10px; float:right"; dismiss.addEventListener("click", function() { p8img.src = ""; while (p8imgholder.childElementCount > 0) p8imgholder.removeChild(p8imgholder.firstChild); p8imgholder.style.display = "none"; }, false); dismiss.innerHTML = "X"; p8imgholder.appendChild(dismiss); p8imgholder.appendChild(p8img); var info = document.createElement("div"); info.innerHTML = '
(right-click to save)
'; p8imgholder.appendChild(info); if (p8imgholder.style.display == "none") p8imgholder.style.display = ""; } }, function() { jsString = p8_dropped_cart; if (!jsString) return 0; var lengthBytes = lengthBytesUTF8(jsString) + 1; var stringOnWasmHeap = _malloc(lengthBytes); stringToUTF8(jsString, stringOnWasmHeap, lengthBytes); return stringOnWasmHeap; }, function() { jsString = p8_dropped_cart_name; if (!jsString) return 0; var lengthBytes = lengthBytesUTF8(jsString) + 1; var stringOnWasmHeap2 = _malloc(lengthBytes); stringToUTF8(jsString, stringOnWasmHeap2, lengthBytes); return stringOnWasmHeap2; }, function($0, $1) { if (typeof pico8_state !== "undefined") { if (typeof pico8_state.system_messages === "undefined") pico8_state.system_messages = new Array(); pico8_state.system_messages.push(UTF8ToString($0, $1)); } }, function($0) { var str = window.location.hostname; return allocate(intArrayFromString(str), "i8", ALLOC_NORMAL); }, function($0, $1) { if (typeof pico8_gpio !== "undefined") pico8_gpio[$0] = $1; }, function($0) { var val = 0; if (typeof pico8_gpio !== "undefined") val = pico8_gpio[$0]; return val; }, function() { FS.syncfs(false, function(err) {}); }, function() { var val = 0; if (typeof codo_mounted_filesystem !== "undefined") val = 1; return val; }, function() { return typeof p8_touch_detected === "undefined" || !p8_touch_detected ? 0 : 1; }, function() { return document.hidden ? 1 : 0; }, function() { if (typeof codo_key_buffer === "undefined") codo_key_buffer = []; document.addEventListener("keydown", function(e) { var val = -1; if (e.key.length == 1) { val = e.key.charCodeAt(0); } else { if (e.key == "Tab") val = 9; if (e.key == "Enter") val = 13; if (e.key == "Backspace") val = 8; if (e.key == "Escape") val = 27; if (val == -1) {} } var el = document.getElementById("codo_textarea"); codo_key_buffer.push(val); }); }, function() { addEventListener("mousedown", function(event) { if (typeof pico8_state !== "undefined") if (event.target.tagName.toLowerCase() != "canvas") { pico8_state.clicked_outside = true; } }); }, function() { document.addEventListener("wheel", function(e) { dx = e.deltaX; if (dx < 0) dx = -1; if (dx > 0) dx = 1; if (e.deltaMode == 2) dx *= 4; if (typeof codo_wheel_dx !== "undefined") codo_wheel_dx -= dx; dy = e.deltaY; if (dy < 0) dy = -1; if (dy > 0) dy = 1; if (e.deltaMode == 2) dy *= 4; if (typeof codo_wheel_dy !== "undefined") codo_wheel_dy -= dy; }); }, function($0) { function audio_log(msg) { if (window.console && window.console.log) { window.console.log("[codo] audio_init_webaudio " + msg); } } audio_log("audio_init"); var codo_audio_context; if (typeof Module === "undefined") audio_log(" *** Module undefined"); else if (typeof Module.ccall === "undefined") audio_log(" **** Module.ccall undefined"); else { var webAudioAPI = window.AudioContext || window.webkitAudioContext || window.mozAudioContext || window.oAudioContext || window.msAudioContext; if (webAudioAPI) { if (typeof pico8_audio_context !== "undefined") { codo_audio_context = pico8_audio_context; audio_log("found pico8_audio_context"); } else if (typeof voxatron_audio_context !== "undefined") { codo_audio_context = voxatron_audio_context; audio_log("found voxatron_audio_context"); } else { codo_audio_context = new webAudioAPI(); audio_log("creating own audio context"); } if (codo_audio_context) { audio_log("Sample Rate: " + codo_audio_context.sampleRate); audio_log("Buffer Size: " + $0); node = codo_audio_context.createScriptProcessor($0, 1, 1); node.onaudioprocess = function(e) { var data = e.outputBuffer.getChannelData(0); var r = 22050 / codo_audio_context.sampleRate; var len0 = Math.floor(data.length * r); var len1 = data.length; var ptr = Module.ccall("mix_0", "number", [ "number", "number" ], [ len0, len1 ]); for (var j = 0; j < data.length; j++) data[j] = Module.getValue(ptr + j * 2, "i16") / 32768; }; node.connect(codo_audio_context.destination); } else { audio_log("** failed to create codo_audio_context"); } } else { audio_log("** webAudioAPI not found"); } } }, function() { return document.pointerLockElement ? 1 : 0; }, function() { var ret = 0; if (typeof pico8_mouse !== "undefined" && pico8_mouse.length > 0) ret = 1; return ret; }, function() { return pico8_mouse[0]; }, function() { return pico8_mouse[1]; }, function() { if (typeof codo_key_buffer === "undefined") codo_key_buffer = []; return codo_key_buffer.length > 0 ? 1 : 0; }, function() { if (typeof codo_key_buffer === "undefined") codo_key_buffer = []; let val = codo_key_buffer.shift() | 0; return val; }, function() { temp = typeof codo_wheel_dx !== "undefined" ? codo_wheel_dx : 0; codo_wheel_dx = 0; return temp; }, function() { temp = typeof codo_wheel_dy !== "undefined" ? codo_wheel_dy : 0; codo_wheel_dy = 0; return temp; }, function() { if (document.hidden) return 0; el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea; if (el && el == document.activeElement) return 1; el = document.activeElement; return !el || el.tagName.toLowerCase() != "input" && el.tagName.toLowerCase() != "textarea"; }, function() { if (typeof pico8_state !== "undefined") if (pico8_state.clicked_outside) { pico8_state.clicked_outside = false; return 1; } return 0; }, function() { el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea; if (el && el.style.display != "none") { el.focus(); el.select(); } }, function() { el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea; if (el && el.style.display != "none") { el.select(); } }, function() { return pico8_mouse[2]; }, function() { _dir_name = ""; }, function($0) { _dir_name = _dir_name + String.fromCharCode($0); }, function() { FS.createPath("", _dir_name, true, true); }, function() { Module["canvas"].exitPointerLock(); }, function() { el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea; if (el) {} }, function() { _codo_str_out = ""; }, function($0, $1) { _codo_str_out = Module.UTF8ToString($0, $1); }, function() { el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea; if (el) { el.value = _codo_str_out; return 0; } else return 1; }, function() { el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea; if (el && el.style.display == "none" && (typeof p8_touch_detected === "undefined" || !p8_touch_detected)) { el.style.display = ""; el.focus(); el.select(); } }, function() { el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea; if (el && el.style.display != "none" && el.value != "") { _codo_text_value = el.value; return 1; } return 0; }, function($0, $1) { Module.stringToUTF8(_codo_text_value, $0, $1); } ]; function _emscripten_asm_const_i(code) { return ASM_CONSTS[code](); } function _emscripten_asm_const_ii(code, a0) { return ASM_CONSTS[code](a0); } function _emscripten_asm_const_iii(code, a0, a1) { return ASM_CONSTS[code](a0, a1); } function _emscripten_asm_const_iiiii(code, a0, a1, a2, a3) { return ASM_CONSTS[code](a0, a1, a2, a3); } function _emscripten_asm_const_iiiiiii(code, a0, a1, a2, a3, a4, a5) { return ASM_CONSTS[code](a0, a1, a2, a3, a4, a5); } function _emscripten_asm_const_iiiiiiiii(code, a0, a1, a2, a3, a4, a5, a6, a7) { return ASM_CONSTS[code](a0, a1, a2, a3, a4, a5, a6, a7); } __ATINIT__.push({ func: function() { ___emscripten_environ_constructor(); } }); memoryInitializer = "data:application/octet-stream;base64,AAAAAAAAAAD1uQAAkOYAAP65AAAGugAAD7oAABa6AAAdugAAMuYAAAa6AAAjugAAKroAADC6AAAAAAAAAAAAAAAACAgICAgAAAAAAAAAAAAAAAAAAAAAAAAMBAQEBAQEBAQEBAQEBAQEFhYWFhYWFhYWFgQEBAQEBAQVFRUVFRUFBQUFBQUFBQUFBQUFBQUFBQUFBQQEBAQFBBUVFRUVFQUFBQUFBQUFBQUFBQUFBQUFBQUFBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBxQVRQUFxsPBA8VGx8fHx8fHx8fHx8fHx8fGB8YGBgYGBgaCK8vLyE5FRUEGJiBGIUUVAXAAAAAAAAAAAAAAAAAQICAwMDAwQEBAQEBAQEBQUFBQUFBQUFBQUFBQUFBQYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIYeYAAIrmAABo5gAAS+YAAFDmAAA75gAAv+cAAD/mAAAy5gAAheYAAEPmAACU5gAAa+YAAJDmAABd5gAAZeYAAHjmAABx5gAARuYAALrnAAB/5gAAV+YAAJkEAQCTvAAAW74AAF6+AABhvgAAZL4AAGe+AAD3xgAAar4AAHO+AAB6vgAAAAAAAAAAAAAAAAAAEBAQEBERERERERQTCAgGBgcHCQkJCQkJCQkJCQUFEREoKCgoKCgPDgMDAwMDAwMDAwMDAwICAQEAAAAAAAAAACbDAAAuwwAAOcMAAD7DAABFwwAAS8MAAFDDAABWwwAAXMMAAGLDAABowwAAbsMAAHTDAAB6wwAAf8MAAIXDAACLwwAAkcMAAJjDAACfwwAApsMAAKzDAACzwwAAusMAAMLDAADKwwAA0MMAANXDAADawwAA48MAAAAAAAAAAAAAtugAAJ/oAAAg8AAAJPAAALvoAADI6AAAo+gAACvwAACZ6AAAlugAAKzoAACx6AAANvAAAETwAADW6AAA2+gAAFLwAABc8AAA4ugAAKboAAC/8QAAfsUAAC/wAADC6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBxecAAMrnAADP5wAA1OcAANnnAADe5wAA4+cAAOjnAADt5wAAAAAAAAAAAAAAAAAAEAECAwQFBgcICQoLDA0ODwABAgMEBQYHCAkKCwwNDg8AAICAAAYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAhISEhISEhIQAAAAAAAAAAAGAggAAAAAAAAP8AAAESEyQV1mdISZo73F2O7wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAAAAAAQAAAAUAAAABAAAABQAAAAUAAAAFAAAAAQAAAAEAAAABAAAABQAAAAAAAAABAAAAAwAAAAUAAAAEAAAAAgAAAAsAAAAPAAAABwAAAAwAAAANAAAACQAAAAgAAAAGAAAACgAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAALAAAADAAAAA0AAAAOAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEICAgICAgICAgICAgICAgIAAAAAAAAAAAAAAAAAAAAAAAAAAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKChf4AAAj+AAAL/gAADv4AABH+AAAUvgAAF34AABp+AAAdfgAAIH4AACN+AAAmPgAAKP4AAAAAAAAAAAAAAAAAADY9wAA3fcAAOP3AADm9wAA6/cAAPX3AAD/9wAAAfgAAAP4AAAF+AAAB/gAAAv4AAAN+AAAAAAAAAAAAAAAAAAARfwAAE78AABV/AAAYfwAAGv8AABz/AAAfvwAAIj8AACS/AAAm/wAAKP8AACt/AAAAAAAAAAAAAAAAAAAAAAAABRdMgC2/AAAvPwAAML8AADI/AAAzvwAANT8AADa/AAAAAAAAAAAAAAAAAAAAAAAABRdMgDg/AAA7/wAAAD9AAAR/QAAIP0AADL9AABI/QAAFF0yAFf9AABf/QAAaf0AAHP9AACE/QAAj/0AAJ79AABjb2RvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQABAoKAAAACh8KHwofFB8FHxECBAgRCBQdEg0EBAAAAAQICAgEBAICAgQVDh8OFQQEHwQEAAAACBAAAB8AAAAAAAAEAQIECBAfERERHwQMBAQfHwEfEB8fAQcBHxERHwEBHxAfAR8QEB8RHx8BAQEBHxEfER8fER8BAQAEAAQAAAQABAgDDBAMAwAOAA4AGAYBBhgfAQcABB8RHRUdHxEfEREeER4RHw8QEBAPHhERER8fEBwQHx8QHhAQDhAQEQ8RER8REQ4EBAQOAgICEgwSFBgUEhAQEBAfERsVERERGRUTEQ4REREOHhEeEBAfERETHx4RHhERDxAOAR4fBAQEBBEREREOERERCgQRERUbEREKBAoREREOBAQfAgQIHwwICAgMEAgEAgEGAgICBgQKAAAAAAAAAB8EAgAAAB8RHxERHhEeER8PEBAQDx4REREfHxAcEB8fEB4QEA4QEBEPEREfEREOBAQEDgICAhIMEhQYFBIQEBAQHxEbFRERERkVExEOERERDh4RHhAQHxEREx8eER4REQ8QDgEeHwQEBAQRERERDhEREQoEEREVGxERCgQKERERDgQEHwIECB8EBAgEBAQEBAQEBAQCBAQFCgAAAAAAAAAfAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA/v8AAP7/AAD+/wAA/v8AAP7/AAD9/wAA/f8AAP3/AAD9/wAA/P8AAPz/AAD8/wAA/P8AAPv/AAD7/wAA+/8AAPr/AAD6/wAA+v8AAPn/AAD5/wAA+f8AAPj/AAD4/wAA9/8AAPf/AAD3/wAA9v8AAPb/AAD1/wAA9f8AAPT/AAD0/wAA8/8AAPP/AADy/wAA8v8AAPH/AADx/wAA8P8AAPD/AADv/wAA7/8AAO7/AADt/wAA7f8AAOz/AADs/wAA6/8AAOr/AADq/wAA6f8AAOj/AADo/wAA5/8AAOb/AADm/wAA5f8AAOT/AADj/wAA4/8AAOL/AADh/wAA4P8AAOD/AADf/wAA3v8AAN3/AADc/wAA3P8AANv/AADa/wAA2f8AANj/AADX/wAA1v8AANX/AADV/wAA1P8AANP/AADS/wAA0f8AAND/AADP/wAAzv8AAM3/AADM/wAAy/8AAMr/AADJ/wAAyP8AAMf/AADG/wAAxf8AAMT/AADC/wAAwf8AAMD/AAC//wAAvv8AAL3/AAC8/wAAu/8AALn/AAC4/wAAt/8AALb/AAC1/wAAtP8AALL/AACx/wAAsP8AAK//AACt/wAArP8AAKv/AACp/wAAqP8AAKf/AACm/wAApP8AAKP/AACi/wAAoP8AAJ//AACd/wAAnP8AAJv/AACZ/wAAmP8AAJb/AACV/wAAlP8AAJL/AACR/wAAj/8AAI7/AACM/wAAi/8AAIn/AACI/wAAhv8AAIX/AACD/wAAgv8AAID/AAB+/wAAff8AAHv/AAB6/wAAeP8AAHb/AAB1/wAAc/8AAHH/AABw/wAAbv8AAGz/AABr/wAAaf8AAGf/AABm/wAAZP8AAGL/AABg/wAAX/8AAF3/AABb/wAAWf8AAFj/AABW/wAAVP8AAFL/AABQ/wAATv8AAE3/AABL/wAASf8AAEf/AABF/wAAQ/8AAEH/AAA//wAAPf8AADv/AAA6/wAAOP8AADb/AAA0/wAAMv8AADD/AAAu/wAALP8AACr/AAAo/wAAJf8AACP/AAAh/wAAH/8AAB3/AAAb/wAAGf8AABf/AAAV/wAAE/8AABD/AAAO/wAADP8AAAr/AAAI/wAABv8AAAP/AAAB/wAA//4AAP3+AAD7/gAA+P4AAPb+AAD0/gAA8f4AAO/+AADt/gAA6/4AAOj+AADm/gAA5P4AAOH+AADf/gAA3f4AANr+AADY/gAA1f4AANP+AADR/gAAzv4AAMz+AADJ/gAAx/4AAMT+AADC/gAAv/4AAL3+AAC6/gAAuP4AALX+AACz/gAAsP4AAK7+AACr/gAAqf4AAKb+AACk/gAAof4AAJ7+AACc/gAAmf4AAJf+AACU/gAAkf4AAI/+AACM/gAAif4AAIf+AACE/gAAgf4AAH7+AAB8/gAAef4AAHb+AABz/gAAcf4AAG7+AABr/gAAaP4AAGb+AABj/gAAYP4AAF3+AABa/gAAV/4AAFX+AABS/gAAT/4AAEz+AABJ/gAARv4AAEP+AABA/gAAPf4AADr+AAA3/gAANP4AADH+AAAu/gAAK/4AACj+AAAl/gAAIv4AAB/+AAAc/gAAGf4AABb+AAAT/gAAEP4AAA3+AAAK/gAAB/4AAAT+AAAB/gAA/f0AAPr9AAD3/QAA9P0AAPH9AADu/QAA6v0AAOf9AADk/QAA4f0AAN39AADa/QAA1/0AANT9AADQ/QAAzf0AAMr9AADH/QAAw/0AAMD9AAC9/QAAuf0AALb9AACz/QAAr/0AAKz9AACo/QAApf0AAKL9AACe/QAAm/0AAJf9AACU/QAAkP0AAI39AACJ/QAAhv0AAIP9AAB//QAAfP0AAHj9AAB0/QAAcf0AAG39AABq/QAAZv0AAGP9AABf/QAAW/0AAFj9AABU/QAAUf0AAE39AABJ/QAARv0AAEL9AAA+/QAAO/0AADf9AAAz/QAAMP0AACz9AAAo/QAAJP0AACH9AAAd/QAAGf0AABX9AAAS/QAADv0AAAr9AAAG/QAAAv0AAP78AAD7/AAA9/wAAPP8AADv/AAA6/wAAOf8AADj/AAA3/wAANz8AADY/AAA1PwAAND8AADM/AAAyPwAAMT8AADA/AAAvPwAALj8AAC0/AAAsPwAAKz8AACo/AAApPwAAKD8AACb/AAAl/wAAJP8AACP/AAAi/wAAIf8AACD/AAAf/wAAHv8AAB2/AAAcvwAAG78AABq/AAAZvwAAGH8AABd/AAAWfwAAFX8AABR/AAATPwAAEj8AABE/AAAP/wAADv8AAA3/AAAM/wAAC78AAAq/AAAJvwAACH8AAAd/AAAGPwAABT8AAAQ/AAAC/wAAAf8AAAC/AAA/vsAAPr7AAD1+wAA8fsAAOz7AADo+wAA4/sAAN/7AADa+wAA1vsAANH7AADN+wAAyPsAAMT7AAC/+wAAu/sAALb7AACx+wAArfsAAKj7AACk+wAAn/sAAJr7AACW+wAAkfsAAIz7AACI+wAAg/sAAH77AAB6+wAAdfsAAHD7AABr+wAAZ/sAAGL7AABd+wAAWPsAAFT7AABP+wAASvsAAEX7AABA+wAAPPsAADf7AAAy+wAALfsAACj7AAAj+wAAH/sAABr7AAAV+wAAEPsAAAv7AAAG+wAAAfsAAPz6AAD3+gAA8voAAO36AADo+gAA4/oAAN76AADZ+gAA1PoAAM/6AADK+gAAxfoAAMD6AAC7+gAAtvoAALH6AACs+gAAp/oAAKH6AACc+gAAl/oAAJL6AACN+gAAiPoAAIP6AAB9+gAAePoAAHP6AABu+gAAafoAAGP6AABe+gAAWfoAAFT6AABO+gAASfoAAET6AAA++gAAOfoAADT6AAAv+gAAKfoAACT6AAAf+gAAGfoAABT6AAAO+gAACfoAAAT6AAD++QAA+fkAAPP5AADu+QAA6PkAAOP5AADe+QAA2PkAANP5AADN+QAAyPkAAML5AAC9+QAAt/kAALL5AACs+QAApvkAAKH5AACb+QAAlvkAAJD5AACK+QAAhfkAAH/5AAB6+QAAdPkAAG75AABp+QAAY/kAAF35AABY+QAAUvkAAEz5AABG+QAAQfkAADv5AAA1+QAAMPkAACr5AAAk+QAAHvkAABj5AAAT+QAADfkAAAf5AAAB+QAA+/gAAPX4AADw+AAA6vgAAOT4AADe+AAA2PgAANL4AADM+AAAxvgAAMD4AAC6+AAAtPgAAK/4AACp+AAAo/gAAJ34AACX+AAAkfgAAIv4AACF+AAAfvgAAHj4AABy+AAAbPgAAGb4AABg+AAAWvgAAFT4AABO+AAASPgAAEL4AAA7+AAANfgAAC/4AAAp+AAAI/gAAB34AAAW+AAAEPgAAAr4AAAE+AAA/vcAAPf3AADx9wAA6/cAAOX3AADe9wAA2PcAANL3AADL9wAAxfcAAL/3AAC49wAAsvcAAKz3AACl9wAAn/cAAJn3AACS9wAAjPcAAIX3AAB/9wAAefcAAHL3AABs9wAAZfcAAF/3AABY9wAAUvcAAEv3AABF9wAAPvcAADj3AAAx9wAAK/cAACT3AAAe9wAAF/cAABD3AAAK9wAAA/cAAP32AAD29gAA7/YAAOn2AADi9gAA2/YAANX2AADO9gAAx/YAAMH2AAC69gAAs/YAAK32AACm9gAAn/YAAJj2AACS9gAAi/YAAIT2AAB99gAAd/YAAHD2AABp9gAAYvYAAFv2AABU9gAATvYAAEf2AABA9gAAOfYAADL2AAAr9gAAJPYAAB32AAAW9gAAEPYAAAn2AAAC9gAA+/UAAPT1AADt9QAA5vUAAN/1AADY9QAA0fUAAMr1AADD9QAAvPUAALX1AACu9QAApvUAAJ/1AACY9QAAkfUAAIr1AACD9QAAfPUAAHX1AABu9QAAZvUAAF/1AABY9QAAUfUAAEr1AABD9QAAO/UAADT1AAAt9QAAJvUAAB71AAAX9QAAEPUAAAn1AAAB9QAA+vQAAPP0AADr9AAA5PQAAN30AADV9AAAzvQAAMf0AAC/9AAAuPQAALH0AACp9AAAovQAAJr0AACT9AAAjPQAAIT0AAB99AAAdfQAAG70AABm9AAAX/QAAFf0AABQ9AAASPQAAEH0AAA59AAAMvQAACr0AAAj9AAAG/QAABP0AAAM9AAABPQAAP3zAAD18wAA7fMAAObzAADe8wAA1/MAAM/zAADH8wAAwPMAALjzAACw8wAAqPMAAKHzAACZ8wAAkfMAAIrzAACC8wAAevMAAHLzAABq8wAAY/MAAFvzAABT8wAAS/MAAEPzAAA88wAANPMAACzzAAAk8wAAHPMAABTzAAAM8wAABPMAAP3yAAD18gAA7fIAAOXyAADd8gAA1fIAAM3yAADF8gAAvfIAALXyAACt8gAApfIAAJ3yAACV8gAAjfIAAIXyAAB98gAAdfIAAG3yAABl8gAAXfIAAFTyAABM8gAARPIAADzyAAA08gAALPIAACTyAAAb8gAAE/IAAAvyAAAD8gAA+/EAAPPxAADq8QAA4vEAANrxAADS8QAAyfEAAMHxAAC58QAAsfEAAKjxAACg8QAAmPEAAI/xAACH8QAAf/EAAHbxAABu8QAAZvEAAF3xAABV8QAATPEAAETxAAA88QAAM/EAACvxAAAi8QAAGvEAABHxAAAJ8QAAAfEAAPjwAADw8AAA5/AAAN/wAADW8AAAzvAAAMXwAAC88AAAtPAAAKvwAACj8AAAmvAAAJLwAACJ8AAAgPAAAHjwAABv8AAAZ/AAAF7wAABV8AAATfAAAETwAAA78AAAM/AAACrwAAAh8AAAGPAAABDwAAAH8AAA/u8AAPXvAADt7wAA5O8AANvvAADS7wAAyu8AAMHvAAC47wAAr+8AAKbvAACd7wAAle8AAIzvAACD7wAAeu8AAHHvAABo7wAAX+8AAFbvAABN7wAARe8AADzvAAAz7wAAKu8AACHvAAAY7wAAD+8AAAbvAAD97gAA9O4AAOvuAADi7gAA2e4AANDuAADH7gAAve4AALTuAACr7gAAou4AAJnuAACQ7gAAh+4AAH7uAAB17gAAa+4AAGLuAABZ7gAAUO4AAEfuAAA+7gAANO4AACvuAAAi7gAAGe4AAA/uAAAG7gAA/e0AAPTtAADq7QAA4e0AANjtAADP7QAAxe0AALztAACz7QAAqe0AAKDtAACX7QAAje0AAITtAAB67QAAce0AAGjtAABe7QAAVe0AAEvtAABC7QAAOO0AAC/tAAAm7QAAHO0AABPtAAAJ7QAAAO0AAPbsAADt7AAA4+wAANrsAADQ7AAAxuwAAL3sAACz7AAAquwAAKDsAACX7AAAjewAAIPsAAB67AAAcOwAAGbsAABd7AAAU+wAAErsAABA7AAANuwAACzsAAAj7AAAGewAAA/sAAAG7AAA/OsAAPLrAADo6wAA3+sAANXrAADL6wAAwesAALfrAACu6wAApOsAAJrrAACQ6wAAhusAAHzrAABz6wAAaesAAF/rAABV6wAAS+sAAEHrAAA36wAALesAACPrAAAZ6wAAD+sAAAbrAAD86gAA8uoAAOjqAADe6gAA1OoAAMrqAADA6gAAtuoAAKvqAACh6gAAl+oAAI3qAACD6gAAeeoAAG/qAABl6gAAW+oAAFHqAABH6gAAPOoAADLqAAAo6gAAHuoAABTqAAAK6gAA/+kAAPXpAADr6QAA4ekAANfpAADM6QAAwukAALjpAACu6QAAo+kAAJnpAACP6QAAhekAAHrpAABw6QAAZukAAFvpAABR6QAAR+kAADzpAAAy6QAAJ+kAAB3pAAAT6QAACOkAAP7oAADz6AAA6egAAN/oAADU6AAAyugAAL/oAAC16AAAqugAAKDoAACV6AAAi+gAAIDoAAB26AAAa+gAAGHoAABW6AAATOgAAEHoAAA26AAALOgAACHoAAAX6AAADOgAAAHoAAD35wAA7OcAAOLnAADX5wAAzOcAAMLnAAC35wAArOcAAKHnAACX5wAAjOcAAIHnAAB35wAAbOcAAGHnAABW5wAATOcAAEHnAAA25wAAK+cAACDnAAAW5wAAC+cAAADnAAD15gAA6uYAAN/mAADV5gAAyuYAAL/mAAC05gAAqeYAAJ7mAACT5gAAiOYAAH3mAABy5gAAZ+YAAFzmAABS5gAAR+YAADzmAAAx5gAAJuYAABvmAAAQ5gAABeYAAPnlAADu5QAA4+UAANjlAADN5QAAwuUAALflAACs5QAAoeUAAJblAACL5QAAf+UAAHTlAABp5QAAXuUAAFPlAABI5QAAPeUAADHlAAAm5QAAG+UAABDlAAAE5QAA+eQAAO7kAADj5AAA1+QAAMzkAADB5AAAtuQAAKrkAACf5AAAlOQAAIjkAAB95AAAcuQAAGbkAABb5AAAUOQAAETkAAA55AAALuQAACLkAAAX5AAAC+QAAADkAAD04wAA6eMAAN7jAADS4wAAx+MAALvjAACw4wAApOMAAJnjAACN4wAAguMAAHbjAABr4wAAX+MAAFPjAABI4wAAPOMAADHjAAAl4wAAGuMAAA7jAAAC4wAA9+IAAOviAADf4gAA1OIAAMjiAAC94gAAseIAAKXiAACZ4gAAjuIAAILiAAB24gAAa+IAAF/iAABT4gAAR+IAADziAAAw4gAAJOIAABjiAAAN4gAAAeIAAPXhAADp4QAA3eEAANHhAADG4QAAuuEAAK7hAACi4QAAluEAAIrhAAB+4QAAcuEAAGfhAABb4QAAT+EAAEPhAAA34QAAK+EAAB/hAAAT4QAAB+EAAPvgAADv4AAA4+AAANfgAADL4AAAv+AAALPgAACn4AAAm+AAAI/gAACD4AAAd+AAAGrgAABe4AAAUuAAAEbgAAA64AAALuAAACLgAAAW4AAACeAAAP3fAADx3wAA5d8AANnfAADN3wAAwN8AALTfAACo3wAAnN8AAI/fAACD3wAAd98AAGvfAABe3wAAUt8AAEbfAAA53wAALd8AACHfAAAV3wAACN8AAPzeAADw3gAA494AANfeAADK3gAAvt4AALLeAACl3gAAmd4AAIzeAACA3gAAdN4AAGfeAABb3gAATt4AAELeAAA13gAAKd4AABzeAAAQ3gAAA94AAPfdAADq3QAA3t0AANHdAADF3QAAuN0AAKvdAACf3QAAkt0AAIbdAAB53QAAbN0AAGDdAABT3QAAR90AADrdAAAt3QAAId0AABTdAAAH3QAA+9wAAO7cAADh3AAA1dwAAMjcAAC73AAArtwAAKLcAACV3AAAiNwAAHvcAABv3AAAYtwAAFXcAABI3AAAO9wAAC/cAAAi3AAAFdwAAAjcAAD72wAA7tsAAOHbAADV2wAAyNsAALvbAACu2wAAodsAAJTbAACH2wAAetsAAG3bAABg2wAAU9sAAEbbAAA52wAALNsAAB/bAAAS2wAABdsAAPjaAADr2gAA3toAANHaAADE2gAAt9oAAKraAACd2gAAkNoAAIPaAAB22gAAadoAAFzaAABP2gAAQdoAADTaAAAn2gAAGtoAAA3aAAAA2gAA8tkAAOXZAADY2QAAy9kAAL7ZAACw2QAAo9kAAJbZAACJ2QAAe9kAAG7ZAABh2QAAVNkAAEbZAAA52QAALNkAAB7ZAAAR2QAABNkAAPbYAADp2AAA3NgAAM7YAADB2AAAtNgAAKbYAACZ2AAAi9gAAH7YAABx2AAAY9gAAFbYAABI2AAAO9gAAC3YAAAg2AAAEtgAAAXYAAD41wAA6tcAANzXAADP1wAAwdcAALTXAACm1wAAmdcAAIvXAAB+1wAAcNcAAGPXAABV1wAAR9cAADrXAAAs1wAAH9cAABHXAAAD1wAA9tYAAOjWAADa1gAAzdYAAL/WAACx1gAApNYAAJbWAACI1gAAetYAAG3WAABf1gAAUdYAAETWAAA21gAAKNYAABrWAAAM1gAA/9UAAPHVAADj1QAA1dUAAMfVAAC61QAArNUAAJ7VAACQ1QAAgtUAAHTVAABm1QAAWdUAAEvVAAA91QAAL9UAACHVAAAT1QAABdUAAPfUAADp1AAA29QAAM3UAAC/1AAAsdQAAKPUAACV1AAAh9QAAHnUAABr1AAAXdQAAE/UAABB1AAAM9QAACXUAAAX1AAACdQAAPvTAADt0wAA39MAANDTAADC0wAAtNMAAKbTAACY0wAAitMAAHzTAABt0wAAX9MAAFHTAABD0wAANdMAACbTAAAY0wAACtMAAPzSAADu0gAA39IAANHSAADD0gAAtdIAAKbSAACY0gAAitIAAHvSAABt0gAAX9IAAFDSAABC0gAANNIAACXSAAAX0gAACdIAAPrRAADs0QAA3tEAAM/RAADB0QAAstEAAKTRAACV0QAAh9EAAHnRAABq0QAAXNEAAE3RAAA/0QAAMNEAACLRAAAT0QAABdEAAPbQAADo0AAA2dAAAMvQAAC80AAArtAAAJ/QAACQ0AAAgtAAAHPQAABl0AAAVtAAAEfQAAA50AAAKtAAABzQAAAN0AAA/s8AAPDPAADhzwAA0s8AAMTPAAC1zwAAps8AAJjPAACJzwAAes8AAGvPAABdzwAATs8AAD/PAAAwzwAAIs8AABPPAAAEzwAA9c4AAOfOAADYzgAAyc4AALrOAACrzgAAnM4AAI7OAAB/zgAAcM4AAGHOAABSzgAAQ84AADTOAAAlzgAAF84AAAjOAAD5zQAA6s0AANvNAADMzQAAvc0AAK7NAACfzQAAkM0AAIHNAAByzQAAY80AAFTNAABFzQAANs0AACfNAAAYzQAACc0AAPrMAADrzAAA3MwAAM3MAAC+zAAArswAAJ/MAACQzAAAgcwAAHLMAABjzAAAVMwAAEXMAAA1zAAAJswAABfMAAAIzAAA+csAAOrLAADaywAAy8sAALzLAACtywAAnssAAI7LAAB/ywAAcMsAAGHLAABRywAAQssAADPLAAAjywAAFMsAAAXLAAD1ygAA5soAANfKAADHygAAuMoAAKnKAACZygAAisoAAHvKAABrygAAXMoAAE3KAAA9ygAALsoAAB7KAAAPygAA/8kAAPDJAADhyQAA0ckAAMLJAACyyQAAo8kAAJPJAACEyQAAdMkAAGXJAABVyQAARskAADbJAAAnyQAAF8kAAAfJAAD4yAAA6MgAANnIAADJyAAAusgAAKrIAACayAAAi8gAAHvIAABryAAAXMgAAEzIAAA8yAAALcgAAB3IAAANyAAA/scAAO7HAADexwAAz8cAAL/HAACvxwAAoMcAAJDHAACAxwAAcMcAAGHHAABRxwAAQccAADHHAAAhxwAAEscAAALHAADyxgAA4sYAANLGAADCxgAAs8YAAKPGAACTxgAAg8YAAHPGAABjxgAAU8YAAETGAAA0xgAAJMYAABTGAAAExgAA9MUAAOTFAADUxQAAxMUAALTFAACkxQAAlMUAAITFAAB0xQAAZMUAAFTFAABExQAANMUAACTFAAAUxQAABMUAAPTEAADkxAAA1MQAAMTEAAC0xAAApMQAAJTEAACDxAAAc8QAAGPEAABTxAAAQ8QAADPEAAAjxAAAE8QAAALEAADywwAA4sMAANLDAADCwwAAscMAAKHDAACRwwAAgcMAAHHDAABgwwAAUMMAAEDDAAAwwwAAH8MAAA/DAAD/wgAA7sIAAN7CAADOwgAAvsIAAK3CAACdwgAAjcIAAHzCAABswgAAXMIAAEvCAAA7wgAAKsIAABrCAAAKwgAA+cEAAOnBAADYwQAAyMEAALjBAACnwQAAl8EAAIbBAAB2wQAAZcEAAFXBAABEwQAANMEAACPBAAATwQAAAsEAAPLAAADhwAAA0cAAAMDAAACwwAAAn8AAAI/AAAB+wAAAbsAAAF3AAABMwAAAPMAAACvAAAAbwAAACsAAAPm/AADpvwAA2L8AAMe/AAC3vwAApr8AAJW/AACFvwAAdL8AAGO/AABTvwAAQr8AADG/AAAhvwAAEL8AAP++AADuvgAA3r4AAM2+AAC8vgAAq74AAJu+AACKvgAAeb4AAGi+AABXvgAAR74AADa+AAAlvgAAFL4AAAO+AADyvQAA4r0AANG9AADAvQAAr70AAJ69AACNvQAAfL0AAGu9AABavQAASr0AADm9AAAovQAAF70AAAa9AAD1vAAA5LwAANO8AADCvAAAsbwAAKC8AACPvAAAfrwAAG28AABcvAAAS7wAADq8AAApvAAAGLwAAAe8AAD2uwAA5bsAANS7AADDuwAAsbsAAKC7AACPuwAAfrsAAG27AABcuwAAS7sAADq7AAAouwAAF7sAAAa7AAD1ugAA5LoAANO6AADBugAAsLoAAJ+6AACOugAAfboAAGu6AABaugAASboAADi6AAAmugAAFboAAAS6AADzuQAA4bkAANC5AAC/uQAArrkAAJy5AACLuQAAerkAAGi5AABXuQAARrkAADS5AAAjuQAAErkAAAC5AADvuAAA3bgAAMy4AAC7uAAAqbgAAJi4AACGuAAAdbgAAGS4AABSuAAAQbgAAC+4AAAeuAAADLgAAPu3AADptwAA2LcAAMa3AAC1twAAo7cAAJK3AACAtwAAb7cAAF23AABMtwAAOrcAACm3AAAXtwAABbcAAPS2AADitgAA0bYAAL+2AACttgAAnLYAAIq2AAB5tgAAZ7YAAFW2AABEtgAAMrYAACC2AAAPtgAA/bUAAOu1AADatQAAyLUAALa1AACltQAAk7UAAIG1AABvtQAAXrUAAEy1AAA6tQAAKLUAABe1AAAFtQAA87QAAOG0AADQtAAAvrQAAKy0AACatAAAiLQAAHe0AABltAAAU7QAAEG0AAAvtAAAHbQAAAu0AAD6swAA6LMAANazAADEswAAsrMAAKCzAACOswAAfLMAAGqzAABYswAAR7MAADWzAAAjswAAEbMAAP+yAADtsgAA27IAAMmyAAC3sgAApbIAAJOyAACBsgAAb7IAAF2yAABLsgAAObIAACeyAAAVsgAAA7IAAPCxAADesQAAzLEAALqxAACosQAAlrEAAISxAABysQAAYLEAAE6xAAA7sQAAKbEAABexAAAFsQAA87AAAOGwAADOsAAAvLAAAKqwAACYsAAAhrAAAHSwAABhsAAAT7AAAD2wAAArsAAAGLAAAAawAAD0rwAA4q8AAM+vAAC9rwAAq68AAJmvAACGrwAAdK8AAGKvAABPrwAAPa8AACuvAAAYrwAABq8AAPSuAADhrgAAz64AAL2uAACqrgAAmK4AAIWuAABzrgAAYa4AAE6uAAA8rgAAKa4AABeuAAAFrgAA8q0AAOCtAADNrQAAu60AAKitAACWrQAAg60AAHGtAABerQAATK0AADmtAAAnrQAAFK0AAAKtAADvrAAA3awAAMqsAAC4rAAApawAAJOsAACArAAAbawAAFusAABIrAAANqwAACOsAAARrAAA/qsAAOurAADZqwAAxqsAALOrAAChqwAAjqsAAHurAABpqwAAVqsAAEOrAAAxqwAAHqsAAAurAAD5qgAA5qoAANOqAADBqgAArqoAAJuqAACIqgAAdqoAAGOqAABQqgAAPaoAACqqAAAYqgAABaoAAPKpAADfqQAAzakAALqpAACnqQAAlKkAAIGpAABuqQAAXKkAAEmpAAA2qQAAI6kAABCpAAD9qAAA6qgAANeoAADFqAAAsqgAAJ+oAACMqAAAeagAAGaoAABTqAAAQKgAAC2oAAAaqAAAB6gAAPSnAADhpwAAzqcAALunAACopwAAlacAAIKnAABvpwAAXKcAAEmnAAA2pwAAI6cAABCnAAD9pgAA6qYAANemAADEpgAAsaYAAJ6mAACLpgAAeKYAAGWmAABSpgAAPqYAACumAAAYpgAABaYAAPKlAADfpQAAzKUAALilAAClpQAAkqUAAH+lAABspQAAWaUAAEWlAAAypQAAH6UAAAylAAD5pAAA5aQAANKkAAC/pAAArKQAAJikAACFpAAAcqQAAF+kAABLpAAAOKQAACWkAAASpAAA/qMAAOujAADYowAAxKMAALGjAACeowAAiqMAAHejAABkowAAUKMAAD2jAAAqowAAFqMAAAOjAADvogAA3KIAAMmiAAC1ogAAoqIAAI6iAAB7ogAAaKIAAFSiAABBogAALaIAABqiAAAGogAA86EAAN+hAADMoQAAuaEAAKWhAACSoQAAfqEAAGuhAABXoQAAQ6EAADChAAAcoQAACaEAAPWgAADioAAAzqAAALugAACnoAAAlKAAAICgAABsoAAAWaAAAEWgAAAyoAAAHqAAAAqgAAD3nwAA458AANCfAAC8nwAAqJ8AAJWfAACBnwAAbZ8AAFqfAABGnwAAMp8AAB+fAAALnwAA954AAOOeAADQngAAvJ4AAKieAACVngAAgZ4AAG2eAABZngAARp4AADKeAAAengAACp4AAPedAADjnQAAz50AALudAACnnQAAlJ0AAICdAABsnQAAWJ0AAESdAAAxnQAAHZ0AAAmdAAD1nAAA4ZwAAM2cAAC5nAAAppwAAJKcAAB+nAAAapwAAFacAABCnAAALpwAABqcAAAGnAAA8psAAN6bAADKmwAAt5sAAKObAACPmwAAe5sAAGebAABTmwAAP5sAACubAAAXmwAAA5sAAO+aAADbmgAAx5oAALOaAACfmgAAi5oAAHeaAABjmgAAT5oAADqaAAAmmgAAEpoAAP6ZAADqmQAA1pkAAMKZAACumQAAmpkAAIaZAABymQAAXZkAAEmZAAA1mQAAIZkAAA2ZAAD5mAAA5ZgAANCYAAC8mAAAqJgAAJSYAACAmAAAbJgAAFeYAABDmAAAL5gAABuYAAAHmAAA8pcAAN6XAADKlwAAtpcAAKGXAACNlwAAeZcAAGWXAABQlwAAPJcAACiXAAATlwAA/5YAAOuWAADXlgAAwpYAAK6WAACalgAAhZYAAHGWAABdlgAASJYAADSWAAAglgAAC5YAAPeVAADilQAAzpUAALqVAACllQAAkZUAAH2VAABolQAAVJUAAD+VAAArlQAAFpUAAAKVAADulAAA2ZQAAMWUAACwlAAAnJQAAIeUAABzlAAAXpQAAEqUAAA1lAAAIZQAAAyUAAD4kwAA45MAAM+TAAC6kwAAppMAAJGTAAB9kwAAaJMAAFSTAAA/kwAAKpMAABaTAAABkwAA7ZIAANiSAADEkgAAr5IAAJqSAACGkgAAcZIAAF2SAABIkgAAM5IAAB+SAAAKkgAA9ZEAAOGRAADMkQAAt5EAAKORAACOkQAAeZEAAGWRAABQkQAAO5EAACeRAAASkQAA/ZAAAOmQAADUkAAAv5AAAKqQAACWkAAAgZAAAGyQAABXkAAAQ5AAAC6QAAAZkAAABJAAAPCPAADbjwAAxo8AALGPAACcjwAAiI8AAHOPAABejwAASY8AADSPAAAfjwAAC48AAPaOAADhjgAAzI4AALeOAACijgAAjY4AAHmOAABkjgAAT44AADqOAAAljgAAEI4AAPuNAADmjQAA0Y0AALyNAACnjQAAk40AAH6NAABpjQAAVI0AAD+NAAAqjQAAFY0AAACNAADrjAAA1owAAMGMAACsjAAAl4wAAIKMAABtjAAAWIwAAEOMAAAujAAAGYwAAASMAADviwAA2osAAMWLAACviwAAmosAAIWLAABwiwAAW4sAAEaLAAAxiwAAHIsAAAeLAADyigAA3YoAAMeKAACyigAAnYoAAIiKAABzigAAXooAAEmKAAA0igAAHooAAAmKAAD0iQAA34kAAMqJAAC0iQAAn4kAAIqJAAB1iQAAYIkAAEqJAAA1iQAAIIkAAAuJAAD2iAAA4IgAAMuIAAC2iAAAoYgAAIuIAAB2iAAAYYgAAEyIAAA2iAAAIYgAAAyIAAD2hwAA4YcAAMyHAAC3hwAAoYcAAIyHAAB3hwAAYYcAAEyHAAA3hwAAIYcAAAyHAAD3hgAA4YYAAMyGAAC2hgAAoYYAAIyGAAB2hgAAYYYAAEyGAAA2hgAAIYYAAAuGAAD2hQAA4IUAAMuFAAC2hQAAoIUAAIuFAAB1hQAAYIUAAEqFAAA1hQAAH4UAAAqFAAD1hAAA34QAAMqEAAC0hAAAn4QAAImEAAB0hAAAXoQAAEmEAAAzhAAAHYQAAAiEAADygwAA3YMAAMeDAACygwAAnIMAAIeDAABxgwAAXIMAAEaDAAAwgwAAG4MAAAWDAADwggAA2oIAAMSCAACvggAAmYIAAISCAABuggAAWIIAAEOCAAAtggAAF4IAAAKCAADsgQAA1oEAAMGBAACrgQAAlYEAAICBAABqgQAAVIEAAD+BAAApgQAAE4EAAP6AAADogAAA0oAAALyAAACngAAAkYAAAHuAAABmgAAAUIAAADqAAAAkgAAAD4AAAPl/AADjfwAAzX8AALd/AACifwAAjH8AAHZ/AABgfwAASn8AADV/AAAffwAACX8AAPN+AADdfgAAyH4AALJ+AACcfgAAhn4AAHB+AABafgAARH4AAC9+AAAZfgAAA34AAO19AADXfQAAwX0AAKt9AACVfQAAf30AAGp9AABUfQAAPn0AACh9AAASfQAA/HwAAOZ8AADQfAAAunwAAKR8AACOfAAAeHwAAGJ8AABMfAAANnwAACB8AAAKfAAA9HsAAN57AADIewAAsnsAAJx7AACGewAAcHsAAFp7AABEewAALnsAABh7AAACewAA7HoAANZ6AADAegAAqnoAAJR6AAB+egAAaHoAAFJ6AAA8egAAJnoAABB6AAD5eQAA43kAAM15AAC3eQAAoXkAAIt5AAB1eQAAX3kAAEl5AAAyeQAAHHkAAAZ5AADweAAA2ngAAMR4AACteAAAl3gAAIF4AABreAAAVXgAAD94AAAoeAAAEngAAPx3AADmdwAA0HcAALl3AACjdwAAjXcAAHd3AABgdwAASncAADR3AAAedwAACHcAAPF2AADbdgAAxXYAAK52AACYdgAAgnYAAGx2AABVdgAAP3YAACl2AAASdgAA/HUAAOZ1AADQdQAAuXUAAKN1AACNdQAAdnUAAGB1AABKdQAAM3UAAB11AAAHdQAA8HQAANp0AADDdAAArXQAAJd0AACAdAAAanQAAFR0AAA9dAAAJ3QAABB0AAD6cwAA5HMAAM1zAAC3cwAAoHMAAIpzAABzcwAAXXMAAEdzAAAwcwAAGnMAAANzAADtcgAA1nIAAMByAACpcgAAk3IAAHxyAABmcgAAUHIAADlyAAAjcgAADHIAAPZxAADfcQAAyXEAALJxAACbcQAAhXEAAG5xAABYcQAAQXEAACtxAAAUcQAA/nAAAOdwAADRcAAAunAAAKNwAACNcAAAdnAAAGBwAABJcAAAM3AAABxwAAAFcAAA728AANhvAADCbwAAq28AAJRvAAB+bwAAZ28AAFBvAAA6bwAAI28AAA1vAAD2bgAA324AAMluAACybgAAm24AAIVuAABubgAAV24AAEFuAAAqbgAAE24AAPxtAADmbQAAz20AALhtAACibQAAi20AAHRtAABebQAAR20AADBtAAAZbQAAA20AAOxsAADVbAAAvmwAAKhsAACRbAAAemwAAGNsAABNbAAANmwAAB9sAAAIbAAA8WsAANtrAADEawAArWsAAJZrAAB/awAAaWsAAFJrAAA7awAAJGsAAA1rAAD2agAA4GoAAMlqAACyagAAm2oAAIRqAABtagAAV2oAAEBqAAApagAAEmoAAPtpAADkaQAAzWkAALZpAACgaQAAiWkAAHJpAABbaQAARGkAAC1pAAAWaQAA/2gAAOhoAADRaAAAumgAAKNoAACNaAAAdmgAAF9oAABIaAAAMWgAABpoAAADaAAA7GcAANVnAAC+ZwAAp2cAAJBnAAB5ZwAAYmcAAEtnAAA0ZwAAHWcAAAZnAADvZgAA2GYAAMFmAACqZgAAk2YAAHxmAABlZgAATmYAADdmAAAgZgAACWYAAPJlAADbZQAAw2UAAKxlAACVZQAAfmUAAGdlAABQZQAAOWUAACJlAAALZQAA9GQAAN1kAADGZAAArmQAAJdkAACAZAAAaWQAAFJkAAA7ZAAAJGQAAA1kAAD1YwAA3mMAAMdjAACwYwAAmWMAAIJjAABrYwAAU2MAADxjAAAlYwAADmMAAPdiAADgYgAAyGIAALFiAACaYgAAg2IAAGxiAABUYgAAPWIAACZiAAAPYgAA+GEAAOBhAADJYQAAsmEAAJthAACDYQAAbGEAAFVhAAA+YQAAJmEAAA9hAAD4YAAA4WAAAMlgAACyYAAAm2AAAIRgAABsYAAAVWAAAD5gAAAmYAAAD2AAAPhfAADhXwAAyV8AALJfAACbXwAAg18AAGxfAABVXwAAPV8AACZfAAAPXwAA914AAOBeAADJXgAAsV4AAJpeAACDXgAAa14AAFReAAA8XgAAJV4AAA5eAAD2XQAA310AAMhdAACwXQAAmV0AAIFdAABqXQAAU10AADtdAAAkXQAADF0AAPVcAADeXAAAxlwAAK9cAACXXAAAgFwAAGhcAABRXAAAOlwAACJcAAALXAAA81sAANxbAADEWwAArVsAAJVbAAB+WwAAZlsAAE9bAAA3WwAAIFsAAAhbAADxWgAA2VoAAMJaAACqWgAAk1oAAHtaAABkWgAATFoAADVaAAAdWgAABloAAO5ZAADXWQAAv1kAAKhZAACQWQAAeVkAAGFZAABKWQAAMlkAABpZAAADWQAA61gAANRYAAC8WAAApVgAAI1YAAB1WAAAXlgAAEZYAAAvWAAAF1gAAP9XAADoVwAA0FcAALlXAAChVwAAiVcAAHJXAABaVwAAQ1cAACtXAAATVwAA/FYAAORWAADMVgAAtVYAAJ1WAACFVgAAblYAAFZWAAA+VgAAJ1YAAA9WAAD3VQAA4FUAAMhVAACwVQAAmVUAAIFVAABpVQAAUlUAADpVAAAiVQAAC1UAAPNUAADbVAAAw1QAAKxUAACUVAAAfFQAAGRUAABNVAAANVQAAB1UAAAGVAAA7lMAANZTAAC+UwAAp1MAAI9TAAB3UwAAX1MAAEhTAAAwUwAAGFMAAABTAADoUgAA0VIAALlSAAChUgAAiVIAAHJSAABaUgAAQlIAACpSAAASUgAA+1EAAONRAADLUQAAs1EAAJtRAACDUQAAbFEAAFRRAAA8UQAAJFEAAAxRAAD0UAAA3VAAAMVQAACtUAAAlVAAAH1QAABlUAAATVAAADZQAAAeUAAABlAAAO5PAADWTwAAvk8AAKZPAACOTwAAd08AAF9PAABHTwAAL08AABdPAAD/TgAA504AAM9OAAC3TgAAn04AAIdOAABwTgAAWE4AAEBOAAAoTgAAEE4AAPhNAADgTQAAyE0AALBNAACYTQAAgE0AAGhNAABQTQAAOE0AACBNAAAITQAA8EwAANhMAADATAAAqEwAAJBMAAB5TAAAYUwAAElMAAAxTAAAGUwAAAFMAADpSwAA0UsAALlLAAChSwAAiUsAAHFLAABYSwAAQEsAAChLAAAQSwAA+EoAAOBKAADISgAAsEoAAJhKAACASgAAaEoAAFBKAAA4SgAAIEoAAAhKAADwSQAA2EkAAMBJAACoSQAAkEkAAHhJAABfSQAAR0kAAC9JAAAXSQAA/0gAAOdIAADPSAAAt0gAAJ9IAACHSAAAb0gAAFZIAAA+SAAAJkgAAA5IAAD2RwAA3kcAAMZHAACuRwAAlUcAAH1HAABlRwAATUcAADVHAAAdRwAABUcAAOxGAADURgAAvEYAAKRGAACMRgAAdEYAAFxGAABDRgAAK0YAABNGAAD7RQAA40UAAMtFAACyRQAAmkUAAIJFAABqRQAAUkUAADlFAAAhRQAACUUAAPFEAADZRAAAwEQAAKhEAACQRAAAeEQAAGBEAABHRAAAL0QAABdEAAD/QwAA5kMAAM5DAAC2QwAAnkMAAIVDAABtQwAAVUMAAD1DAAAkQwAADEMAAPRCAADcQgAAw0IAAKtCAACTQgAAe0IAAGJCAABKQgAAMkIAABpCAAABQgAA6UEAANFBAAC4QQAAoEEAAIhBAABvQQAAV0EAAD9BAAAnQQAADkEAAPZAAADeQAAAxUAAAK1AAACVQAAAfEAAAGRAAABMQAAAM0AAABtAAAADQAAA6j8AANI/AAC6PwAAoT8AAIk/AABxPwAAWD8AAEA/AAAoPwAADz8AAPc+AADfPgAAxj4AAK4+AACVPgAAfT4AAGU+AABMPgAAND4AABw+AAADPgAA6z0AANI9AAC6PQAAoj0AAIk9AABxPQAAWD0AAEA9AAAoPQAADz0AAPc8AADePAAAxjwAAK48AACVPAAAfTwAAGQ8AABMPAAAMzwAABs8AAADPAAA6jsAANI7AAC5OwAAoTsAAIg7AABwOwAAWDsAAD87AAAnOwAADjsAAPY6AADdOgAAxToAAKw6AACUOgAAezoAAGM6AABKOgAAMjoAABo6AAABOgAA6TkAANA5AAC4OQAAnzkAAIc5AABuOQAAVjkAAD05AAAlOQAADDkAAPQ4AADbOAAAwzgAAKo4AACSOAAAeTgAAGE4AABIOAAAMDgAABc4AAD+NwAA5jcAAM03AAC1NwAAnDcAAIQ3AABrNwAAUzcAADo3AAAiNwAACTcAAPE2AADYNgAAwDYAAKc2AACONgAAdjYAAF02AABFNgAALDYAABQ2AAD7NQAA4jUAAMo1AACxNQAAmTUAAIA1AABoNQAATzUAADY1AAAeNQAABTUAAO00AADUNAAAuzQAAKM0AACKNAAAcjQAAFk0AABANAAAKDQAAA80AAD3MwAA3jMAAMUzAACtMwAAlDMAAHwzAABjMwAASjMAADIzAAAZMwAAADMAAOgyAADPMgAAtzIAAJ4yAACFMgAAbTIAAFQyAAA7MgAAIzIAAAoyAADxMQAA2TEAAMAxAACnMQAAjzEAAHYxAABeMQAARTEAACwxAAAUMQAA+zAAAOIwAADKMAAAsTAAAJgwAAB/MAAAZzAAAE4wAAA1MAAAHTAAAAQwAADrLwAA0y8AALovAAChLwAAiS8AAHAvAABXLwAAPy8AACYvAAANLwAA9C4AANwuAADDLgAAqi4AAJIuAAB5LgAAYC4AAEcuAAAvLgAAFi4AAP0tAADlLQAAzC0AALMtAACaLQAAgi0AAGktAABQLQAANy0AAB8tAAAGLQAA7SwAANQsAAC8LAAAoywAAIosAABxLAAAWSwAAEAsAAAnLAAADiwAAPYrAADdKwAAxCsAAKsrAACTKwAAeisAAGErAABIKwAAMCsAABcrAAD+KgAA5SoAAMwqAAC0KgAAmyoAAIIqAABpKgAAUSoAADgqAAAfKgAABioAAO0pAADVKQAAvCkAAKMpAACKKQAAcSkAAFkpAABAKQAAJykAAA4pAAD1KAAA3SgAAMQoAACrKAAAkigAAHkoAABgKAAASCgAAC8oAAAWKAAA/ScAAOQnAADMJwAAsycAAJonAACBJwAAaCcAAE8nAAA3JwAAHicAAAUnAADsJgAA0yYAALomAACiJgAAiSYAAHAmAABXJgAAPiYAACUmAAAMJgAA9CUAANslAADCJQAAqSUAAJAlAAB3JQAAXiUAAEYlAAAtJQAAFCUAAPskAADiJAAAySQAALAkAACXJAAAfyQAAGYkAABNJAAANCQAABskAAACJAAA6SMAANAjAAC4IwAAnyMAAIYjAABtIwAAVCMAADsjAAAiIwAACSMAAPAiAADXIgAAvyIAAKYiAACNIgAAdCIAAFsiAABCIgAAKSIAABAiAAD3IQAA3iEAAMYhAACtIQAAlCEAAHshAABiIQAASSEAADAhAAAXIQAA/iAAAOUgAADMIAAAsyAAAJogAACCIAAAaSAAAFAgAAA3IAAAHiAAAAUgAADsHwAA0x8AALofAAChHwAAiB8AAG8fAABWHwAAPR8AACQfAAALHwAA8x4AANoeAADBHgAAqB4AAI8eAAB2HgAAXR4AAEQeAAArHgAAEh4AAPkdAADgHQAAxx0AAK4dAACVHQAAfB0AAGMdAABKHQAAMR0AABgdAAD/HAAA5hwAAM0cAAC0HAAAmxwAAIIcAABpHAAAURwAADgcAAAfHAAABhwAAO0bAADUGwAAuxsAAKIbAACJGwAAcBsAAFcbAAA+GwAAJRsAAAwbAADzGgAA2hoAAMEaAACoGgAAjxoAAHYaAABdGgAARBoAACsaAAASGgAA+RkAAOAZAADHGQAArhkAAJUZAAB8GQAAYxkAAEoZAAAxGQAAGBkAAP8YAADmGAAAzRgAALQYAACbGAAAghgAAGkYAABQGAAANxgAAB0YAAAEGAAA6xcAANIXAAC5FwAAoBcAAIcXAABuFwAAVRcAADwXAAAjFwAAChcAAPEWAADYFgAAvxYAAKYWAACNFgAAdBYAAFsWAABCFgAAKRYAABAWAAD3FQAA3hUAAMUVAACsFQAAkxUAAHoVAABhFQAASBUAAC4VAAAVFQAA/BQAAOMUAADKFAAAsRQAAJgUAAB/FAAAZhQAAE0UAAA0FAAAGxQAAAIUAADpEwAA0BMAALcTAACeEwAAhRMAAGwTAABSEwAAORMAACATAAAHEwAA7hIAANUSAAC8EgAAoxIAAIoSAABxEgAAWBIAAD8SAAAmEgAADRIAAPQRAADaEQAAwREAAKgRAACPEQAAdhEAAF0RAABEEQAAKxEAABIRAAD5EAAA4BAAAMcQAACuEAAAlBAAAHsQAABiEAAASRAAADAQAAAXEAAA/g8AAOUPAADMDwAAsw8AAJoPAACBDwAAZw8AAE4PAAA1DwAAHA8AAAMPAADqDgAA0Q4AALgOAACfDgAAhg4AAG0OAABTDgAAOg4AACEOAAAIDgAA7w0AANYNAAC9DQAApA0AAIsNAAByDQAAWQ0AAD8NAAAmDQAADQ0AAPQMAADbDAAAwgwAAKkMAACQDAAAdwwAAF0MAABEDAAAKwwAABIMAAD5CwAA4AsAAMcLAACuCwAAlQsAAHwLAABiCwAASQsAADALAAAXCwAA/goAAOUKAADMCgAAswoAAJoKAACACgAAZwoAAE4KAAA1CgAAHAoAAAMKAADqCQAA0QkAALgJAACeCQAAhQkAAGwJAABTCQAAOgkAACEJAAAICQAA7wgAANUIAAC8CAAAowgAAIoIAABxCAAAWAgAAD8IAAAmCAAADQgAAPMHAADaBwAAwQcAAKgHAACPBwAAdgcAAF0HAABEBwAAKgcAABEHAAD4BgAA3wYAAMYGAACtBgAAlAYAAHsGAABhBgAASAYAAC8GAAAWBgAA/QUAAOQFAADLBQAAsgUAAJgFAAB/BQAAZgUAAE0FAAA0BQAAGwUAAAIFAADpBAAAzwQAALYEAACdBAAAhAQAAGsEAABSBAAAOQQAACAEAAAGBAAA7QMAANQDAAC7AwAAogMAAIkDAABwAwAAVgMAAD0DAAAkAwAACwMAAPICAADZAgAAwAIAAKcCAACNAgAAdAIAAFsCAABCAgAAKQIAABACAAD3AQAA3gEAAMQBAACrAQAAkgEAAHkBAABgAQAARwEAAC4BAAAUAQAA+wAAAOIAAADJAAAAsAAAAJcAAAB+AAAAZQAAAEsAAAAyAAAAGQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAoAAAAPAAAAFAAAABkAAAAfAAAAJAAAACkAAAAuAAAAMwAAADgAAAA9AAAAQgAAAEcAAABMAAAAUQAAAFcAAABcAAAAYQAAAGYAAABrAAAAcAAAAHUAAAB6AAAAfwAAAIQAAACKAAAAjwAAAJQAAACZAAAAngAAAKMAAACoAAAArQAAALIAAAC3AAAAvAAAAMIAAADHAAAAzAAAANEAAADWAAAA2wAAAOAAAADlAAAA6gAAAO8AAAD0AAAA+gAAAP8AAAAEAQAACQEAAA4BAAATAQAAGAEAAB0BAAAiAQAAJwEAACwBAAAxAQAANwEAADwBAABBAQAARgEAAEsBAABQAQAAVQEAAFoBAABfAQAAZAEAAGkBAABvAQAAdAEAAHkBAAB+AQAAgwEAAIgBAACNAQAAkgEAAJcBAACcAQAAoQEAAKYBAACsAQAAsQEAALYBAAC7AQAAwAEAAMUBAADKAQAAzwEAANQBAADZAQAA3gEAAOMBAADpAQAA7gEAAPMBAAD4AQAA/QEAAAICAAAHAgAADAIAABECAAAWAgAAGwIAACACAAAmAgAAKwIAADACAAA1AgAAOgIAAD8CAABEAgAASQIAAE4CAABTAgAAWAIAAF0CAABiAgAAaAIAAG0CAAByAgAAdwIAAHwCAACBAgAAhgIAAIsCAACQAgAAlQIAAJoCAACfAgAApAIAAKkCAACvAgAAtAIAALkCAAC+AgAAwwIAAMgCAADNAgAA0gIAANcCAADcAgAA4QIAAOYCAADrAgAA8AIAAPYCAAD7AgAAAAMAAAUDAAAKAwAADwMAABQDAAAZAwAAHgMAACMDAAAoAwAALQMAADIDAAA3AwAAPAMAAEEDAABHAwAATAMAAFEDAABWAwAAWwMAAGADAABlAwAAagMAAG8DAAB0AwAAeQMAAH4DAACDAwAAiAMAAI0DAACSAwAAlwMAAJwDAACiAwAApwMAAKwDAACxAwAAtgMAALsDAADAAwAAxQMAAMoDAADPAwAA1AMAANkDAADeAwAA4wMAAOgDAADtAwAA8gMAAPcDAAD8AwAAAQQAAAcEAAAMBAAAEQQAABYEAAAbBAAAIAQAACUEAAAqBAAALwQAADQEAAA5BAAAPgQAAEMEAABIBAAATQQAAFIEAABXBAAAXAQAAGEEAABmBAAAawQAAHAEAAB1BAAAegQAAH8EAACEBAAAiQQAAI4EAACUBAAAmQQAAJ4EAACjBAAAqAQAAK0EAACyBAAAtwQAALwEAADBBAAAxgQAAMsEAADQBAAA1QQAANoEAADfBAAA5AQAAOkEAADuBAAA8wQAAPgEAAD9BAAAAgUAAAcFAAAMBQAAEQUAABYFAAAbBQAAIAUAACUFAAAqBQAALwUAADQFAAA5BQAAPgUAAEMFAABIBQAATQUAAFIFAABXBQAAXAUAAGEFAABmBQAAawUAAHAFAAB1BQAAegUAAH8FAACEBQAAiQUAAI4FAACTBQAAmAUAAJ0FAACiBQAApwUAAKwFAACxBQAAtgUAALsFAADABQAAxQUAAMoFAADPBQAA1AUAANkFAADeBQAA4wUAAOgFAADtBQAA8gUAAPcFAAD8BQAAAQYAAAYGAAALBgAAEAYAABUGAAAaBgAAHwYAACQGAAApBgAALgYAADMGAAA4BgAAPQYAAEIGAABHBgAATAYAAFEGAABWBgAAWwYAAGAGAABlBgAAagYAAG4GAABzBgAAeAYAAH0GAACCBgAAhwYAAIwGAACRBgAAlgYAAJsGAACgBgAApQYAAKoGAACvBgAAtAYAALkGAAC+BgAAwwYAAMgGAADNBgAA0gYAANcGAADcBgAA4QYAAOUGAADqBgAA7wYAAPQGAAD5BgAA/gYAAAMHAAAIBwAADQcAABIHAAAXBwAAHAcAACEHAAAmBwAAKwcAADAHAAA1BwAAOQcAAD4HAABDBwAASAcAAE0HAABSBwAAVwcAAFwHAABhBwAAZgcAAGsHAABwBwAAdQcAAHoHAAB+BwAAgwcAAIgHAACNBwAAkgcAAJcHAACcBwAAoQcAAKYHAACrBwAAsAcAALUHAAC5BwAAvgcAAMMHAADIBwAAzQcAANIHAADXBwAA3AcAAOEHAADmBwAA6wcAAO8HAAD0BwAA+QcAAP4HAAADCAAACAgAAA0IAAASCAAAFwgAABwIAAAgCAAAJQgAACoIAAAvCAAANAgAADkIAAA+CAAAQwgAAEgIAABMCAAAUQgAAFYIAABbCAAAYAgAAGUIAABqCAAAbwgAAHMIAAB4CAAAfQgAAIIIAACHCAAAjAgAAJEIAACWCAAAmggAAJ8IAACkCAAAqQgAAK4IAACzCAAAuAgAAL0IAADBCAAAxggAAMsIAADQCAAA1QgAANoIAADfCAAA4wgAAOgIAADtCAAA8ggAAPcIAAD8CAAAAQkAAAUJAAAKCQAADwkAABQJAAAZCQAAHgkAACIJAAAnCQAALAkAADEJAAA2CQAAOwkAAD8JAABECQAASQkAAE4JAABTCQAAWAkAAFwJAABhCQAAZgkAAGsJAABwCQAAdQkAAHkJAAB+CQAAgwkAAIgJAACNCQAAkgkAAJYJAACbCQAAoAkAAKUJAACqCQAArgkAALMJAAC4CQAAvQkAAMIJAADGCQAAywkAANAJAADVCQAA2gkAAN4JAADjCQAA6AkAAO0JAADyCQAA9gkAAPsJAAAACgAABQoAAAoKAAAOCgAAEwoAABgKAAAdCgAAIgoAACYKAAArCgAAMAoAADUKAAA5CgAAPgoAAEMKAABICgAATQoAAFEKAABWCgAAWwoAAGAKAABkCgAAaQoAAG4KAABzCgAAdwoAAHwKAACBCgAAhgoAAIsKAACPCgAAlAoAAJkKAACeCgAAogoAAKcKAACsCgAAsQoAALUKAAC6CgAAvwoAAMQKAADICgAAzQoAANIKAADXCgAA2woAAOAKAADlCgAA6QoAAO4KAADzCgAA+AoAAPwKAAABCwAABgsAAAsLAAAPCwAAFAsAABkLAAAeCwAAIgsAACcLAAAsCwAAMAsAADULAAA6CwAAPwsAAEMLAABICwAATQsAAFELAABWCwAAWwsAAGALAABkCwAAaQsAAG4LAAByCwAAdwsAAHwLAACACwAAhQsAAIoLAACPCwAAkwsAAJgLAACdCwAAoQsAAKYLAACrCwAArwsAALQLAAC5CwAAvQsAAMILAADHCwAAywsAANALAADVCwAA2QsAAN4LAADjCwAA5wsAAOwLAADxCwAA9QsAAPoLAAD/CwAAAwwAAAgMAAANDAAAEQwAABYMAAAbDAAAHwwAACQMAAApDAAALQwAADIMAAA3DAAAOwwAAEAMAABFDAAASQwAAE4MAABTDAAAVwwAAFwMAABgDAAAZQwAAGoMAABuDAAAcwwAAHgMAAB8DAAAgQwAAIYMAACKDAAAjwwAAJMMAACYDAAAnQwAAKEMAACmDAAAqwwAAK8MAAC0DAAAuAwAAL0MAADCDAAAxgwAAMsMAADPDAAA1AwAANkMAADdDAAA4gwAAOYMAADrDAAA8AwAAPQMAAD5DAAA/QwAAAINAAAHDQAACw0AABANAAAUDQAAGQ0AAB4NAAAiDQAAJw0AACsNAAAwDQAANA0AADkNAAA+DQAAQg0AAEcNAABLDQAAUA0AAFQNAABZDQAAXg0AAGINAABnDQAAaw0AAHANAAB0DQAAeQ0AAH0NAACCDQAAhw0AAIsNAACQDQAAlA0AAJkNAACdDQAAog0AAKYNAACrDQAArw0AALQNAAC5DQAAvQ0AAMINAADGDQAAyw0AAM8NAADUDQAA2A0AAN0NAADhDQAA5g0AAOoNAADvDQAA8w0AAPgNAAD8DQAAAQ4AAAUOAAAKDgAADw4AABMOAAAYDgAAHA4AACEOAAAlDgAAKg4AAC4OAAAzDgAANw4AADwOAABADgAARQ4AAEkOAABODgAAUg4AAFYOAABbDgAAXw4AAGQOAABoDgAAbQ4AAHEOAAB2DgAAeg4AAH8OAACDDgAAiA4AAIwOAACRDgAAlQ4AAJoOAACeDgAAow4AAKcOAACsDgAAsA4AALQOAAC5DgAAvQ4AAMIOAADGDgAAyw4AAM8OAADUDgAA2A4AANwOAADhDgAA5Q4AAOoOAADuDgAA8w4AAPcOAAD8DgAAAA8AAAQPAAAJDwAADQ8AABIPAAAWDwAAGw8AAB8PAAAjDwAAKA8AACwPAAAxDwAANQ8AADoPAAA+DwAAQg8AAEcPAABLDwAAUA8AAFQPAABYDwAAXQ8AAGEPAABmDwAAag8AAG4PAABzDwAAdw8AAHwPAACADwAAhA8AAIkPAACNDwAAkQ8AAJYPAACaDwAAnw8AAKMPAACnDwAArA8AALAPAAC1DwAAuQ8AAL0PAADCDwAAxg8AAMoPAADPDwAA0w8AANcPAADcDwAA4A8AAOUPAADpDwAA7Q8AAPIPAAD2DwAA+g8AAP8PAAADEAAABxAAAAwQAAAQEAAAFBAAABkQAAAdEAAAIRAAACYQAAAqEAAALhAAADMQAAA3EAAAOxAAAEAQAABEEAAASBAAAE0QAABREAAAVRAAAFoQAABeEAAAYhAAAGcQAABrEAAAbxAAAHMQAAB4EAAAfBAAAIAQAACFEAAAiRAAAI0QAACSEAAAlhAAAJoQAACeEAAAoxAAAKcQAACrEAAAsBAAALQQAAC4EAAAvBAAAMEQAADFEAAAyRAAAM4QAADSEAAA1hAAANoQAADfEAAA4xAAAOcQAADrEAAA8BAAAPQQAAD4EAAA/RAAAAERAAAFEQAACREAAA4RAAASEQAAFhEAABoRAAAfEQAAIxEAACcRAAArEQAAMBEAADQRAAA4EQAAPBEAAEARAABFEQAASREAAE0RAABREQAAVhEAAFoRAABeEQAAYhEAAGYRAABrEQAAbxEAAHMRAAB3EQAAfBEAAIARAACEEQAAiBEAAIwRAACREQAAlREAAJkRAACdEQAAoREAAKYRAACqEQAArhEAALIRAAC2EQAAuxEAAL8RAADDEQAAxxEAAMsRAADPEQAA1BEAANgRAADcEQAA4BEAAOQRAADpEQAA7REAAPERAAD1EQAA+REAAP0RAAACEgAABhIAAAoSAAAOEgAAEhIAABYSAAAaEgAAHxIAACMSAAAnEgAAKxIAAC8SAAAzEgAANxIAADwSAABAEgAARBIAAEgSAABMEgAAUBIAAFQSAABZEgAAXRIAAGESAABlEgAAaRIAAG0SAABxEgAAdRIAAHoSAAB+EgAAghIAAIYSAACKEgAAjhIAAJISAACWEgAAmhIAAJ8SAACjEgAApxIAAKsSAACvEgAAsxIAALcSAAC7EgAAvxIAAMMSAADHEgAAzBIAANASAADUEgAA2BIAANwSAADgEgAA5BIAAOgSAADsEgAA8BIAAPQSAAD4EgAA/BIAAAETAAAFEwAACRMAAA0TAAAREwAAFRMAABkTAAAdEwAAIRMAACUTAAApEwAALRMAADETAAA1EwAAORMAAD0TAABBEwAARRMAAEkTAABNEwAAURMAAFUTAABaEwAAXhMAAGITAABmEwAAahMAAG4TAAByEwAAdhMAAHoTAAB+EwAAghMAAIYTAACKEwAAjhMAAJITAACWEwAAmhMAAJ4TAACiEwAAphMAAKoTAACuEwAAshMAALYTAAC6EwAAvhMAAMITAADGEwAAyhMAAM4TAADSEwAA1hMAANoTAADeEwAA4hMAAOYTAADpEwAA7RMAAPETAAD1EwAA+RMAAP0TAAABFAAABRQAAAkUAAANFAAAERQAABUUAAAZFAAAHRQAACEUAAAlFAAAKRQAAC0UAAAxFAAANRQAADkUAAA9FAAAQBQAAEQUAABIFAAATBQAAFAUAABUFAAAWBQAAFwUAABgFAAAZBQAAGgUAABsFAAAcBQAAHMUAAB3FAAAexQAAH8UAACDFAAAhxQAAIsUAACPFAAAkxQAAJcUAACbFAAAnhQAAKIUAACmFAAAqhQAAK4UAACyFAAAthQAALoUAAC+FAAAwRQAAMUUAADJFAAAzRQAANEUAADVFAAA2RQAAN0UAADgFAAA5BQAAOgUAADsFAAA8BQAAPQUAAD4FAAA+xQAAP8UAAADFQAABxUAAAsVAAAPFQAAExUAABYVAAAaFQAAHhUAACIVAAAmFQAAKhUAAC0VAAAxFQAANRUAADkVAAA9FQAAQRUAAEQVAABIFQAATBUAAFAVAABUFQAAWBUAAFsVAABfFQAAYxUAAGcVAABrFQAAbhUAAHIVAAB2FQAAehUAAH4VAACBFQAAhRUAAIkVAACNFQAAkRUAAJQVAACYFQAAnBUAAKAVAACkFQAApxUAAKsVAACvFQAAsxUAALcVAAC6FQAAvhUAAMIVAADGFQAAyRUAAM0VAADRFQAA1RUAANgVAADcFQAA4BUAAOQVAADoFQAA6xUAAO8VAADzFQAA9xUAAPoVAAD+FQAAAhYAAAYWAAAJFgAADRYAABEWAAAUFgAAGBYAABwWAAAgFgAAIxYAACcWAAArFgAALxYAADIWAAA2FgAAOhYAAD4WAABBFgAARRYAAEkWAABMFgAAUBYAAFQWAABYFgAAWxYAAF8WAABjFgAAZhYAAGoWAABuFgAAcRYAAHUWAAB5FgAAfRYAAIAWAACEFgAAiBYAAIsWAACPFgAAkxYAAJYWAACaFgAAnhYAAKEWAAClFgAAqRYAAKwWAACwFgAAtBYAALcWAAC7FgAAvxYAAMIWAADGFgAAyhYAAM0WAADRFgAA1RYAANgWAADcFgAA4BYAAOMWAADnFgAA6xYAAO4WAADyFgAA9hYAAPkWAAD9FgAAABcAAAQXAAAIFwAACxcAAA8XAAATFwAAFhcAABoXAAAdFwAAIRcAACUXAAAoFwAALBcAADAXAAAzFwAANxcAADoXAAA+FwAAQhcAAEUXAABJFwAATBcAAFAXAABUFwAAVxcAAFsXAABeFwAAYhcAAGYXAABpFwAAbRcAAHAXAAB0FwAAeBcAAHsXAAB/FwAAghcAAIYXAACJFwAAjRcAAJEXAACUFwAAmBcAAJsXAACfFwAAohcAAKYXAACqFwAArRcAALEXAAC0FwAAuBcAALsXAAC/FwAAwhcAAMYXAADJFwAAzRcAANEXAADUFwAA2BcAANsXAADfFwAA4hcAAOYXAADpFwAA7RcAAPAXAAD0FwAA9xcAAPsXAAD+FwAAAhgAAAYYAAAJGAAADRgAABAYAAAUGAAAFxgAABsYAAAeGAAAIhgAACUYAAApGAAALBgAADAYAAAzGAAANxgAADoYAAA+GAAAQRgAAEUYAABIGAAATBgAAE8YAABTGAAAVhgAAFoYAABdGAAAYBgAAGQYAABnGAAAaxgAAG4YAAByGAAAdRgAAHkYAAB8GAAAgBgAAIMYAACHGAAAihgAAI4YAACRGAAAlBgAAJgYAACbGAAAnxgAAKIYAACmGAAAqRgAAK0YAACwGAAAsxgAALcYAAC6GAAAvhgAAMEYAADFGAAAyBgAAMwYAADPGAAA0hgAANYYAADZGAAA3RgAAOAYAADjGAAA5xgAAOoYAADuGAAA8RgAAPUYAAD4GAAA+xgAAP8YAAACGQAABhkAAAkZAAAMGQAAEBkAABMZAAAXGQAAGhkAAB0ZAAAhGQAAJBkAACgZAAArGQAALhkAADIZAAA1GQAAOBkAADwZAAA/GQAAQxkAAEYZAABJGQAATRkAAFAZAABTGQAAVxkAAFoZAABdGQAAYRkAAGQZAABoGQAAaxkAAG4ZAAByGQAAdRkAAHgZAAB8GQAAfxkAAIIZAACGGQAAiRkAAIwZAACQGQAAkxkAAJYZAACaGQAAnRkAAKAZAACkGQAApxkAAKoZAACuGQAAsRkAALQZAAC4GQAAuxkAAL4ZAADCGQAAxRkAAMgZAADMGQAAzxkAANIZAADVGQAA2RkAANwZAADfGQAA4xkAAOYZAADpGQAA7RkAAPAZAADzGQAA9hkAAPoZAAD9GQAAABoAAAQaAAAHGgAAChoAAA0aAAARGgAAFBoAABcaAAAbGgAAHhoAACEaAAAkGgAAKBoAACsaAAAuGgAAMRoAADUaAAA4GgAAOxoAAD4aAABCGgAARRoAAEgaAABLGgAATxoAAFIaAABVGgAAWBoAAFwaAABfGgAAYhoAAGUaAABpGgAAbBoAAG8aAAByGgAAdhoAAHkaAAB8GgAAfxoAAIMaAACGGgAAiRoAAIwaAACPGgAAkxoAAJYaAACZGgAAnBoAAJ8aAACjGgAAphoAAKkaAACsGgAAsBoAALMaAAC2GgAAuRoAALwaAADAGgAAwxoAAMYaAADJGgAAzBoAAM8aAADTGgAA1hoAANkaAADcGgAA3xoAAOMaAADmGgAA6RoAAOwaAADvGgAA8hoAAPYaAAD5GgAA/BoAAP8aAAACGwAABRsAAAkbAAAMGwAADxsAABIbAAAVGwAAGBsAABwbAAAfGwAAIhsAACUbAAAoGwAAKxsAAC4bAAAyGwAANRsAADgbAAA7GwAAPhsAAEEbAABEGwAASBsAAEsbAABOGwAAURsAAFQbAABXGwAAWhsAAF0bAABhGwAAZBsAAGcbAABqGwAAbRsAAHAbAABzGwAAdhsAAHkbAAB9GwAAgBsAAIMbAACGGwAAiRsAAIwbAACPGwAAkhsAAJUbAACYGwAAnBsAAJ8bAACiGwAApRsAAKgbAACrGwAArhsAALEbAAC0GwAAtxsAALobAAC9GwAAwRsAAMQbAADHGwAAyhsAAM0bAADQGwAA0xsAANYbAADZGwAA3BsAAN8bAADiGwAA5RsAAOgbAADrGwAA7hsAAPIbAAD1GwAA+BsAAPsbAAD+GwAAARwAAAQcAAAHHAAAChwAAA0cAAAQHAAAExwAABYcAAAZHAAAHBwAAB8cAAAiHAAAJRwAACgcAAArHAAALhwAADEcAAA0HAAANxwAADocAAA9HAAAQBwAAEMcAABGHAAASRwAAEwcAABPHAAAUhwAAFUcAABYHAAAWxwAAF4cAABhHAAAZBwAAGccAABqHAAAbRwAAHAcAABzHAAAdhwAAHkcAAB8HAAAfxwAAIIcAACFHAAAiBwAAIscAACOHAAAkRwAAJQcAACXHAAAmhwAAJ0cAACgHAAAoxwAAKYcAACpHAAArBwAAK8cAACyHAAAtRwAALgcAAC7HAAAvhwAAMEcAADDHAAAxhwAAMkcAADMHAAAzxwAANIcAADVHAAA2BwAANscAADeHAAA4RwAAOQcAADnHAAA6hwAAO0cAADwHAAA8xwAAPUcAAD4HAAA+xwAAP4cAAABHQAABB0AAAcdAAAKHQAADR0AABAdAAATHQAAFh0AABgdAAAbHQAAHh0AACEdAAAkHQAAJx0AACodAAAtHQAAMB0AADMdAAA1HQAAOB0AADsdAAA+HQAAQR0AAEQdAABHHQAASh0AAE0dAABPHQAAUh0AAFUdAABYHQAAWx0AAF4dAABhHQAAZB0AAGYdAABpHQAAbB0AAG8dAAByHQAAdR0AAHgdAAB7HQAAfR0AAIAdAACDHQAAhh0AAIkdAACMHQAAjh0AAJEdAACUHQAAlx0AAJodAACdHQAAoB0AAKIdAAClHQAAqB0AAKsdAACuHQAAsR0AALMdAAC2HQAAuR0AALwdAAC/HQAAwh0AAMQdAADHHQAAyh0AAM0dAADQHQAA0x0AANUdAADYHQAA2x0AAN4dAADhHQAA4x0AAOYdAADpHQAA7B0AAO8dAADxHQAA9B0AAPcdAAD6HQAA/R0AAP8dAAACHgAABR4AAAgeAAALHgAADR4AABAeAAATHgAAFh4AABkeAAAbHgAAHh4AACEeAAAkHgAAJh4AACkeAAAsHgAALx4AADIeAAA0HgAANx4AADoeAAA9HgAAPx4AAEIeAABFHgAASB4AAEoeAABNHgAAUB4AAFMeAABVHgAAWB4AAFseAABeHgAAYB4AAGMeAABmHgAAaR4AAGseAABuHgAAcR4AAHQeAAB2HgAAeR4AAHweAAB/HgAAgR4AAIQeAACHHgAAih4AAIweAACPHgAAkh4AAJQeAACXHgAAmh4AAJ0eAACfHgAAoh4AAKUeAACoHgAAqh4AAK0eAACwHgAAsh4AALUeAAC4HgAAuh4AAL0eAADAHgAAwx4AAMUeAADIHgAAyx4AAM0eAADQHgAA0x4AANUeAADYHgAA2x4AAN4eAADgHgAA4x4AAOYeAADoHgAA6x4AAO4eAADwHgAA8x4AAPYeAAD4HgAA+x4AAP4eAAAAHwAAAx8AAAYfAAAIHwAACx8AAA4fAAAQHwAAEx8AABYfAAAYHwAAGx8AAB4fAAAgHwAAIx8AACYfAAAoHwAAKx8AAC4fAAAwHwAAMx8AADYfAAA4HwAAOx8AAD0fAABAHwAAQx8AAEUfAABIHwAASx8AAE0fAABQHwAAUx8AAFUfAABYHwAAWh8AAF0fAABgHwAAYh8AAGUfAABoHwAAah8AAG0fAABvHwAAch8AAHUfAAB3HwAAeh8AAHwfAAB/HwAAgh8AAIQfAACHHwAAih8AAIwfAACPHwAAkR8AAJQfAACXHwAAmR8AAJwfAACeHwAAoR8AAKQfAACmHwAAqR8AAKsfAACuHwAAsB8AALMfAAC2HwAAuB8AALsfAAC9HwAAwB8AAMMfAADFHwAAyB8AAMofAADNHwAAzx8AANIfAADVHwAA1x8AANofAADcHwAA3x8AAOEfAADkHwAA5h8AAOkfAADsHwAA7h8AAPEfAADzHwAA9h8AAPgfAAD7HwAA/R8AAAAgAAAAAAAAAAAAAAAAAAAQAAAAEQAAABIAAAAAAAAACAAAAAcAAAAJAAAABgAAAAoAAAAFAAAACwAAAAQAAAAMAAAAAwAAAA0AAAACAAAADgAAAAEAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADQAAAA8AAAARAAAAEwAAABcAAAAbAAAAHwAAACMAAAArAAAAMwAAADsAAABDAAAAUwAAAGMAAABzAAAAgwAAAKMAAADDAAAA4wAAAAIBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AAAAAAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABwAAAAkAAAANAAAAEQAAABkAAAAhAAAAMQAAAEEAAABhAAAAgQAAAMEAAAABAQAAgQEAAAECAAABAwAAAQQAAAEGAAABCAAAAQwAAAEQAAABGAAAASAAAAEwAAABQAAAAWAAAAAAAAAAAAAACAAAAAgAAAAEAAAABAAAAAIAAAACAAAAAQAAAAAAAAAAAAAABAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAIAAAACAAAAAQAAAAEAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAIAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAsCAAAqAgAASwIAAG4CAACTAgAAugIAAOQCAAAQAwAAPwMAAHADAACkAwAA2AMAABYEAAAAAAAAAAAAAAAAAAAUXTIAFF0yABRdMgAUXTIAhwYBAIkGAQCLBgEAjQYBAI8GAQCRBgEAkwYBAJUGAQCXBgEAmQYBAJsGAQCdBgEAnwYBAKEGAQCjBgEApQYBAKcGAQCpBgEAqwYBAK0GAQCvBgEAsQYBALMGAQC1BgEAtwYBALkGAQC7BgEAvQYBAL8GAQDBBgEAwwYBAMUGAQDHBgEAyQYBAMsGAQDNBgEAzwYBANYGAQDdBgEA5wYBAOsGAQDxBgEA8wYBAPUGAQD3BgEA+QYBAP8GAQABBwEAAwcBAAUHAQAHBwEAqyMBAAkHAQALBwEAFAcBABcHAQAaBwEAHQcBACAHAQAjBwEAJgcBACkHAQAsBwEALwcBADMHAQA3BwEAOwcBAEcHAQBSBwEAWAcBAF8HAQBkBwEAawcBAHIHAQB2BwEAfwcBAIUHAQCKBwEAjwcBAJIHAQCaBwEAowcBAKwHAQC1BwEAvgcBAMsHAQDUBwEA3QcBAOYHAQDvBwEA+AcBAAEIAQAKCAEAEwgBABwIAQAlCAEAFF0yAC4IAQA6CAEAQAgBAEkIAQBNCAEAUQgBAFUIAQBZCAEAXQgBAGEIAQBlCAEAaQgBAG0IAQBxCAEAdQgBAHkIAQCBCAEAhggBAIsIAQCSCAEAlwgBAJ0IAQCiCAEApggBAKsIAQCxCAEAtggBALsIAQDECAEAFF0yABRdMgAUXTIAzwgBANgIAQAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgDpCAEA8ggBAPkIAQAACQEABgkBAM8GAQAMCQEAFgkBABoJAQAfCQEALQkBADMJAQAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yADkJAQBDCQEATgkBAGEJAQByCQEAfwkBAI8JAQCYCQEAoQkBAKoJAQCzCQEAvgkBAM8JAQDYCQEA4QkBAOoJAQDzCQEA/AkBAAUKAQAQCgEAGQoBACIKAQArCgEANAoBAD0KAQBHCgEAUAoBAFoKAQBjCgEAbAoBAHkKAQCCCgEAiwoBAJsKAQCsCgEAvAoBAMoKAQDdCgEA8AoBAAELAQAMCwEAGQsBACsLAQA5CwEARgsBAFULAQAUXTIAFF0yAGgLAQByCwEAfQsBAIYLAQCPCwEAmgsBAKYLAQCwCwEAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yALoLAQDFCwEAzwsBANkLAQDjCwEA7QsBAPcLAQADDAEABwwBAAwMAQAXDAEAIAwBACoMAQAyDAEAOgwBAEUMAQBNDAEAWAwBAGUMAQB0DAEAgQwBAI8MAQCeDAEAqwwBALYMAQC8DAEAwgwBAMcMAQDMDAEA2AwBABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yAOKWiAAAAADilpIAAAAA8J+QsQAAAOKsh++4jwDilpEAAAAA4py9AAAAAOKXjwAAAADimaUAAAAA4piJAAAAAOybgwAAAADijIIAAAAA4qyF77iPAPCfmJAAAADimaoAAAAA8J+Fvu+4j+KXhgAAAADigKYAAAAA4p6h77iPAOKYhQAAAADip5cAAAAA4qyG77iPAMuHAAAAAADiiKcAAAAA4p2OAAAAAOKWpAAAAADilqUAAAAA4pauAAAAAOKWoAAAAADilqEAAAAA4oGZAAAAAOKBmAAAAADigJYAAAAA4peAAAAAAOKWtgAAAADjgIwAAAAA44CNAAAAAMKlAAAAAADigKIAAAAA44CBAAAAAOOAggAAAADjgpsAAAAA44KcAAAAAOKXnAAAAADil50AAAAA8J2YogAAAPCdmKMAAADwnZikAAAA8J2YpQAAAPCdmKYAAADwnZinAAAA8J2YqAAAAPCdmKkAAADwnZiqAAAA8J2YqwAAAPCdmKwAAADwnZitAAAA8J2YrgAAAPCdmK8AAADwnZiwAAAA8J2YsQAAAPCdmLIAAADwnZizAAAA8J2YtAAAAPCdmLUAAADwnZi2AAAA8J2YtwAAAPCdmLgAAADwnZi5AAAA8J2YugAAAPCdmLsAAAAAAAAAAACwgeIAucIAALLCAACzwgAAtIHiALWB4gC2geIAt4HiALiB4gC5geIAg7XhAIe14QCctuEAiLXhAIm14QCgtuEAgoEAAISBAACGgQAAiIEAAIqBAACLgQAAjYEAAI+BAACRgQAAk4EAAJWBAACXgQAAmYEAAJuBAACdgQAAn4EAAKGBAACkgQAApoEAAKiBAACqgQAAq4EAAKyBAACtgQAAroEAAK+BAACygQAAtYEAALiBAAC7gQAAvoEAAL+BAACAggAAgYIAAIKCAACEggAAhoIAAIiCAACJggAAioIAAIuCAACMggAAjYIAAI+CAACSggAAk4IAAKOBAACDggAAhYIAAIeCAAAAAAAAAAAAAKKCAACkggAApoIAAKiCAACqggAAq4IAAK2CAACvggAAsYIAALOCAAC1ggAAt4IAALmCAAC7ggAAvYIAAL+CAACBgwAAhIMAAIaDAACIgwAAioMAAIuDAACMgwAAjYMAAI6DAACPgwAAkoMAAJWDAACYgwAAm4MAAJ6DAACfgwAAoIMAAKGDAACigwAApIMAAKaDAACogwAAqYMAAKqDAACrgwAArIMAAK2DAACvgwAAsoMAALODAACDgwAAo4MAAKWDAACngwAAAAAAAAAAAACLAwAAhAMAAH4DAAB3AwAAcQMAAGsDAABkAwAAXgMAAFgDAABSAwAATAMAAEYDAABAAwAAOgMAADQDAAAuAwAAKAMAACIDAAAcAwAAFwMAABEDAAALAwAABgMAAAADAAD6AgAA9QIAAPACAADqAgAA5QIAAOACAADaAgAA1QIAANACAADLAgAAxQIAAMACAAC7AgAAtgIAALECAACsAgAApgIAAKMCAACeAgAAmQIAAJQCAACPAgAAiwIAAIYCAACAAgAAfAIAAHgCAAB0AgAAbwIAAGsCAABmAgAAYgIAAFwCAABZAgAAVQIAAFACAABMAgAASAIAAEQCAAA/AgAAOgIAADcCAAAzAgAALwIAACsCAAAnAgAAIwIAAB8CAAAaAgAAFwIAABQCAAAQAgAADAIAAAgCAAAEAgAAAQIAAPwBAAD5AQAA9gEAAPIBAADuAQAA6wEAAOcBAADkAQAA4AEAAN0BAADaAQAA1gEAANMBAADPAQAAzAEAAMkBAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNMAAAAAEQAKABEREQAAAAAFAAAAAAAACQAAAAALAAAAAAAAAAARAA8KERERAwoHAAETCQsLAAAJBgsAAAsABhEAAAAREREAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAEQAKChEREQAKAAACAAkLAAAACQALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAANAAAABA0AAAAACQ4AAAAAAA4AAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAADwAAAAAPAAAAAAkQAAAAAAAQAAAQAAASAAAAEhISAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAASEhIAAAAAAAAJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAAAAAAKAAAAAAoAAAAACQsAAAAAAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAwMTIzNDU2Nzg5QUJDREVGVCEiGQ0BAgMRSxwMEAQLHRIeJ2hub3BxYiAFBg8TFBUaCBYHKCQXGAkKDhsfJSODgn0mKis8PT4/Q0dKTVhZWltcXV5fYGFjZGVmZ2lqa2xyc3R5ent8AAAAAAAAAAAASWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AAAAAAAD/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAAAAAAAAAAAAAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUF////////////////////////////////IiICAPYBAAAZkw0KGgoAAH0GAAD/////776t3mdFIwEBAAAA/////wkAAADvvq3eZ0UjATIFAQD/////AAQAAAEAAAAAADwAAQAAAAEAAACAAAAAgAAAADSNAAAFAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAADjfHAAABAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAK/////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANI0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANhcMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAX3CJAP8JLw+rIwEAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAFF0yABRdMgAUXTIAf39/f39/f39/f39/f38AAHJvb3RfcGF0aABjZGF0YV9wYXRoAGpveXN0aWNrX2luZGV4AGJ1dHRvbl9rZXlzACAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZABsaXZlX25vdGVzAGN1cnNvcl9zbmFwAGd1aV90aGVtZQBzaGlmdF9nbHlwaHMAc2hvd19iYWNrdXBfbWVzc2FnZXMAaG9zdF9mcmFtZXJhdGVfY29udHJvbABjb250ZW50X2ZpbHRlcgBkcmF3X3RhYnMAcmVjb3JkX2FjdGl2aXR5X2xvZwBhbGxvd19mdW5jdGlvbl9rZXlzAGNoZWNrX2Zvcl9jYXJ0X3VwZGF0ZXMAZW5hYmxlX2dwaW8AZmxpcF9hbXBlcnNhbmQAYXV0b19oaWRlX21vdXNlX2N1cnNvcgBhZ2dyZXNzaXZlX2JhY2t1cHMAcGVyaW9kaWNfYmFja3VwcwB0cmFuc2Zvcm1fc2NyZWVuAGdmeF9ncmlkX2xpbmVzAHZlcnNpb24gJXMKCgAwLjIuNEMALy8gYXVkaW8gdm9sdW1lOiAwLi4yNTYgCgB2b2x1bWUgJWQKCgAKLy8gTG9jYXRpb24gb2YgcGljby04J3Mgcm9vdCBmb2xkZXIKAHJvb3RfcGF0aCAlcwoKAAovLyBMb2NhdGlvbiBvZiBjYXJ0cmlkZ2Ugc2F2ZSBkYXRhCgBjZGF0YV9wYXRoICVzCgoACi8vIFNwZWNpZnkgd2hpY2ggcGxheWVyIGluZGV4IGpveXN0aWNrIGNvbnRyb2wgYmVnaW5zIGF0ICgwLi43KQoAam95c3RpY2tfaW5kZXggJWQKCgAKLy8gQ3VzdG9tIGtleWJvYXJkIHNjYW5jb2RlcyBmb3IgYnV0dG9ucy4gcGxheWVyMCAwLi42LCBwbGF5ZXIxIDAuLjUKAGJ1dHRvbl9rZXlzIAAlZCAACgoALy8gUGxheSBub3RlcyBhcyB0aGV5IGFyZSBwbG90dGVkIGluIGZyZXF1ZW5jeSBtb2RlCgBsaXZlX25vdGVzICVkCgoALy8gaWZmIDE6IHdoZW4gdXNpbmcga2V5Ym9hcmQgY3Vyc29yLCBzbmFwIHRvIGNsb3Nlc3QgcGl4ZWwgLyBtYXAgY2VsCgBjdXJzb3Jfc25hcCAlZAoKAC8vIDAgZGVmYXVsdCAgMSBkYXJrIGJsdWUgYmFja2dyb3VuZCBpbiBjb2RlIGVkaXRvciAgMiBibGFjayBiYWNrZ3JvdW5kIGluIGNvZGUgZWRpdG9yICAgMyBncmF5IGJhY2tncm91bmQgaW4gY29kZSBlZGl0b3IgICAKAGd1aV90aGVtZSAlZAoKAC8vIHNjYWxlIG9mIHNjcmVlbnNob3RzIGFuZCBnaWZzIC8vIDIgbWVhbnMgMjU2eDI1NgoAc2NyZWVuc2hvdF9zY2FsZSAlZAoAZ2lmX3NjYWxlICVkCgoALy8gbWF4aW11bSBnaWYgbGVuZ3RoIGluIHNlY29uZHMgKDAuLjEyMDsgMCBtZWFucyBubyBnaWYgcmVjb3JkaW5nKQoAZ2lmX2xlbiAlZAoKAC8vIHdoZW4gMSwgcmVzZXQgdGhlIHJlY29yZGluZyB3aGVuIHByZXNzaW5nIGN0cmwtOSAodXNlZnVsIGZvciBjcmVhdGluZyBhIG5vbi1vdmVybGFwcGluZyBzZXF1ZW5jZSkKAGdpZl9yZXNldF9tb2RlICVkCgoALy8gMCBmb3Igb2ZmLiAxIHRvIGFsbG93IGNvbnRyb2wgb2YgYSBjYXJ0J3MgZnJhbWVyYXRlIGR1ZSB0byBob3N0IG1hY2hpbmUncyBjcHUgY2FwYWNpdHkgKHJlY29tbWVuZGVkKQoAaG9zdF9mcmFtZXJhdGVfY29udHJvbCAlZAoKAC8vIGZpbHRlciBzcGxvcmUgY2FydHJpZGdlcwoALy8gMCBvZmYgICAxIG9uIChleGNsdWRlIGNhcnRyaWRnZSB0YWdnZWQgYXMgJ21hdHVyZScgYnkgY29tbXVuaXR5KQoAc3Bsb3JlX2ZpbHRlciAlZAoKAC8vIHRhYiBkaXNwbGF5IHdpZHRoICgxIH4gNCBzcGFjZXMpCgB0YWJfd2lkdGggJWQKCgAvLyAwIG9mZiAxIG9uOiBkcmF3IHRhYiBjaGFyYWN0ZXJzIGFzIHNtYWxsIHZlcnRpY2FsIGxpbmVzCgBkcmF3X3RhYnMgJWQKCgAvLyAwIG9mZiAxIG9uOiByZWNvcmQgdGhlIGN1cnJlbnQgY2FydHJpZGdlIGFuZCBlZGl0b3IgdmlldyBldmVyeSAzIHNlY29uZHMgKHNlZSBbYXBwZGF0YV0vYWN0aXZpdHkubG9nLnR4dCkKAHJlY29yZF9hY3Rpdml0eV9sb2cgJWQKCgAvLyAwIG9mZiAxIG9uOiBhbGxvdyBGNi4uRjkgKGFsdGVybmF0aXZlOiBjdHJsIDYuLjkpCgBhbGxvd19mdW5jdGlvbl9rZXlzICVkCgoALy8gMCBvZmYgMSBvbjogYXV0b21hdGljYWxseSBjaGVjayBmb3IgYSBuZXdlciB2ZXJzaW9uIG9mIGEgQkJTIGNhcnQgZWFjaCB0aW1lIGl0IGlzIHJ1bi4KAGNoZWNrX2Zvcl9jYXJ0X3VwZGF0ZXMgJWQKCgBmbGlwX2FtcGVyc2FuZCAxCgoALy8gaGlkZSBtb3VzZSBjdXJzb3IgZm9yIG4gc2Vjb25kcyB3aGVuIHR5cGluZy4KAGF1dG9faGlkZV9tb3VzZV9jdXJzb3IgJWQKCgAvLyAwIG9mZiAxIG9uOiBiYWNrdXAgd2l0aCBhIG5ldyB0aW1lc3RhbXBlZCBmaWxlbmFtZSBvbiBldmVyeSBydW4KAC8vIG5vcm1hbGx5IG5vdCBuZWVkZWQgLS0gd2FzIHVzZWQgZm9yIGRlYnVnZ2luZyBjcmFzaC1vbi1ydW4KAGFnZ3Jlc3NpdmVfYmFja3VwcyAlZAoKAC8vIGJhY2sgdXAgY2FydHJpZGdlIGluIGVkaXRvciBldmVyeSBuIG1pbnV0ZXMgd2hlbiBub3QgaWRsZSAoMCBmb3Igbm8gcGVyaW9kaWMgYmFja3VwcykKAHBlcmlvZGljX2JhY2t1cHMgJWQKCgAvLyBnbG9iYWwgc2NyZWVuIHRyYW5zZm9ybWF0aW9uczoKAC8vICAxMjkgZmxpcCBob3Jpem9udGFsbHkKAC8vICAxMzAgZmxpcCB2ZXJ0aWNhbGx5CgAvLyAgMTMzIHJvdGF0ZSBDVyA5MCBkZWdyZWVzCgAvLyAgMTM0IHJvdGF0ZSBDVyAxODAgZGVncmVlcwoALy8gIDEzNSByb3RhdGUgQ1cgMjcwIGRlZ3JlZXMKAHRyYW5zZm9ybV9zY3JlZW4gJWQKCgAvLyAwIG9mZiAxIG9uOiBzaG93IHBpeGVsIGdyaWQgaW4gdGhlIGdmeCBlZGl0b3IgYXQgem9vbTo4IGFuZCB6b29tOjQKAGdmeF9ncmlkX2xpbmVzICVkCgoAe2NpaWkgPSAkMDsgaWlpID0gMDt9ACJ7aWlpID0gaWlpKzE7IHJldHVybiBfY2FydG5hbWVbY2lpaV0uY2hhckNvZGVBdChpaWktMSk7IH0iAFtjb2RvXSBiYnNfd2dldF9vbmxvYWQgOjogcmVjZWl2ZWQuIHByZXBhcmluZyB0byBydW4uIHBzdGF0ZS5jdXJyZW50X2ZpbGVuYW1lICVzIGFwcC5hcmd2X2ZpbGVuYW1lICVzCgB3cm90ZSBsZW46ICVkCgAvYmJzL2dldF9jYXJ0LnBocABsaWQ9AGZpbGVuYW1lX25vdF9mb3VuZC5wOC5wbmcAYmJzX3dnZXRfb25sb2FkOiBzZXQgY3VycmVudF9maWxlbmFtZSB0byAlcyAoZGVyaXZlZCBmcm9tICVzKQoAZmV0Y2hpbmcgY2FydHJpZGdlLi4gb2sAY291bGQgbm90IGZldGNoIGNhcnQAInsgaWYgKHR5cGVvZiBfY2FydGRhdCAhPT0ndW5kZWZpbmVkJykgcmV0dXJuIDE7IHJldHVybiAwO30iACJ7cmV0dXJuIF9jYXJ0ZGF0Lmxlbmd0aCAvIDMyNzY4fSIAInsgX2NkcG9zPV9jZHBvcysxOyByZXR1cm4gX2NhcnRkYXRbX2NkcG9zLTFdOyB9IgBzdGFydGluZyBkb3dubG9hZAoAbG9hZGluZyBlbWJlZGRlZCBjYXJ0cmlkZ2UKAGpveXN0aWNrAGdsb2JhbF9hcGkAa2lvc2sAZ3Bpb19iYXNlAGdsaXRjaF90ZXN0AHgAZXhlYwBwYXJhbQBwAGFjY2VwdF9mdXR1cmUAdHZfZnJhbWUAZGlzcGxheXNfeABkaXNwbGF5c195AGkAbwB1cmxfY29kZQB1cmxfZ2Z4AGxldCBzdGF0ZU9iaiA9IHsgbG9hZF9wYXJhbV9kYXRhIDogZmFsc2UgfTsgaGlzdG9yeS5wdXNoU3RhdGUoc3RhdGVPYmosICJQSUNPLTgiLCAiPyIpOwBmdW5jdGlvbiBta2Rpcl8wKGQpIHsgdHJ5IHsgc3RhdCA9IEZTLnN0YXQoZCk7IH0gY2F0Y2ggKGUpIHsgRlMubWtkaXIoZCk7IH0gfSBta2Rpcl8wKCcvdXNlcl9kYXRhJyk7IEZTLm1vdW50KElEQkZTLCB7fSwgJy91c2VyX2RhdGEnKTsgRlMuc3luY2ZzKHRydWUsIGZ1bmN0aW9uIChlcnIpIHsgaWYgKCFlcnIpIHsgY29uc29sZS5sb2coImNvZG86IG1vdW50ZWQgZmlsZXN5c3RlbS5cbiIpOyBjb2RvX21vdW50ZWRfZmlsZXN5c3RlbSA9IDE7IG1rZGlyXzAoJy91c2VyX2RhdGEvY2RhdGEnKTsgbWtkaXJfMCgnL3VzZXJfZGF0YS9jc3RvcmUnKTsgbWtkaXJfMCgnL3VzZXJfZGF0YS9jYXJ0cycpOyBta2Rpcl8wKCcvdXNlcl9kYXRhL2JhY2t1cCcpOyBta2Rpcl8wKCcvdXNlcl9kYXRhL3BsYXRlcycpOyBta2Rpcl8wKCcvdXNlcl9kYXRhL2JicycpOyBta2Rpcl8wKCcvdXNlcl9kYXRhL2Jicy9jYXJ0cycpOyBta2Rpcl8wKCcvdXNlcl9kYXRhL2Jicy9sYWJlbHMnKTsgfSBlbHNlIHsgY29uc29sZS5sb2coIioqIGNvdWxkIG5vdCBtb3VudCBmaWxlc3lzdGVtXG4iKTsgY29uc29sZS5sb2coZXJyKTsgfSB9ICk7AHVudGl0bGVkLnA4AHVudGl0bGVkXyVkLnA4ACJ7IE1vZHVsZS5waWNvOFJlc2V0ID0gZnVuY3Rpb24oKSB7IGNvZG9fY29tbWFuZCA9IDE7fSA7IE1vZHVsZS5waWNvOFRvZ2dsZVNvdW5kID0gZnVuY3Rpb24oKSB7IGNvZG9fY29tbWFuZCA9IDM7fSA7IE1vZHVsZS5waWNvOFRvZ2dsZVBhdXNlZCA9IGZ1bmN0aW9uKCkgeyBjb2RvX2NvbW1hbmQgPSA0O30gOyBNb2R1bGUucGljbzhTZXRQYXVzZWQgPSBmdW5jdGlvbihwKSB7IGNvZG9fY29tbWFuZCA9IDU7IGNvZG9fY29tbWFuZF9wID0gMDsgaWYgKHApIGNvZG9fY29tbWFuZF9wPTE7fSA7IE1vZHVsZS5waWNvOFRvZ2dsZUNvbnRyb2xNZW51ID0gZnVuY3Rpb24oKSB7IGNvZG9fY29tbWFuZCA9IDc7fSA7IE1vZHVsZS5waWNvOERyYWdPdmVyID0gZnVuY3Rpb24oKSB7IGNvZG9fY29tbWFuZCA9IDEwO30gOyBNb2R1bGUucGljbzhEcmFnU3RvcCA9IGZ1bmN0aW9uKCkgeyBjb2RvX2NvbW1hbmQgPSAxMTt9IDsgfSIAcGljby04AGNhcnRzLwBjZGF0YS8AcGljbzguZGF0AGRhdGEucG9kAFJVTk5JTkc6ICVzCgBjb3VsZG4ndCBsb2FkICVzCgBjb3VsZCBub3QgbG9hZCAlcwoALi8Ae3ZhciB2YWw9MDsgaWYgKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5pbmRleE9mKCJ3aWRnZXQucGhwIikgPj0gMCkgdmFsPTE7IHJldHVybiB2YWw7fQB7dmFyIHZhbD0wOyBpZiAod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLmluZGV4T2YoInBpY28tOC5waHAiKSA+PSAwKSB2YWw9MTsgcmV0dXJuIHZhbDt9AGEgbmV3IHZlcnNpb24gb2YgdGhpcwBjYXJ0cmlkZ2UgaXMgYXZhaWxhYmxlACUwMmQALS1tb3JlLS0AY29udGludWUAcmVzZXQgY2FydABzb3VuZDpvbgBzb3VuZDpvZmYAdm9sdW1lOiAwMTIzNDU2NwB1cGRhdGUgY2FydABza2lwAHNvdW5kIG9mZiAoY3RybC1tKQBzb3VuZCBvbiAoY3RybC1tKQBkb3dubG9hZCB0aW1lZCBvdXQAZG93bmxvYWRpbmcuLiBjYW5jZWxsZWQALm5mbwAvdGVtcC0AY291bGQgbm90IGZpbmQgY2FydABkb3dubG9hZGluZy4uIG9rAGxvYWRlZCAjJXMgKCVkIGNoYXJzKQBjb3VsZCBub3QgY29ubmVjdCB0byBiYnMAZnV0dXJlIHZlcnNpb24uIHBsZWFzZSB1cGRhdGUhACB2b2x1bWU6ICAgICAgICAgICAgICAoY3RybC0vKykAeyBpZiAodHlwZW9mIHBpY284X3N0YXRlICE9PSAndW5kZWZpbmVkJyl7IHBpY284X3N0YXRlLmlzX3BhdXNlZCA9ICQwOyBwaWNvOF9zdGF0ZS5zb3VuZF92b2x1bWUgPSAkMTsgcGljbzhfc3RhdGUuZnJhbWVfbnVtYmVyID0gJDI7IHBpY284X3N0YXRlLmhhc19mb2N1cyA9ICQzOyBwaWNvOF9zdGF0ZS5zaG93X2RwYWQgPSAkNDsgcGljbzhfc3RhdGUucmVxdWVzdF9wb2ludGVyX2xvY2sgPSAkNTsgcGljbzhfc3RhdGUucmVxdWlyZV9wYWdlX25hdmlnYXRlX2NvbmZpcm1hdGlvbiA9ICQ2OyBwaWNvOF9zdGF0ZS5zaHV0ZG93bl9yZXF1ZXN0ZWQgPSAkNzsgfSB9ACJ7dmFyIHZhbD0wOyBpZiAodHlwZW9mIGNvZG9fY29tbWFuZCAhPT0gJ3VuZGVmaW5lZCcpIHt2YWw9Y29kb19jb21tYW5kOyBjb2RvX2NvbW1hbmQ9MDt9IHJldHVybiB2YWx9IgAie3ZhciB2YWw9MDsgaWYgKHR5cGVvZiBjb2RvX2NvbW1hbmRfcCAhPT0gJ3VuZGVmaW5lZCcpIHt2YWw9Y29kb19jb21tYW5kX3A7IGNvZG9fY29tbWFuZF9wPTA7fSByZXR1cm4gdmFsfSIAIntidXR0b25faSA9IDB9IgAie3ZhciB2YWw9LTE7IGlmICh0eXBlb2YgcGljbzhfYnV0dG9ucyAhPT0gJ3VuZGVmaW5lZCcpIHt2YWwgPSBwaWNvOF9idXR0b25zW2J1dHRvbl9pXTsgYnV0dG9uX2kgKys7fSByZXR1cm4gdmFsO30iACJ7dmFyIHZhbCA9IDA7IGlmICh0eXBlb2YgcGljbzhfZ2FtZXBhZHMgIT09ICd1bmRlZmluZWQnKSB7dmFsID0gcGljbzhfZ2FtZXBhZHMuY291bnQ7fSByZXR1cm4gdmFsO30iACoqIGZhaWxlZCB0byBzYXZlIHNjcmVlbnNob3QAc2V0IHZpZGVvIHN0YXJ0aW5nIHBvaW50AG5vIHZpZGVvIHJlY29yZGVkIChyZWM6IGN0cmwtOCkAKiogZmFpbGVkIHRvIHNhdmUgdmlkZW8Aam95c3RpY2sgJWQgY29ubmVjdGVkAGpveXN0aWNrICVkIGRpc2Nvbm5lY3RlZABpZiAodHlwZW9mIG9uX21vZHVsZV9sb2FkICE9PSAndW5kZWZpbmVkJykgeyBpZiAob25fbW9kdWxlX2xvYWQpIG9uX21vZHVsZV9sb2FkKCk7IH0AY291bGQgbm90IG9wZW4gZmlsZSB0byBzYXZlIGZyb20gd2ViOiAlcwoAeyBkb3dubG9hZF9icm93c2VyX2ZpbGUoVVRGOFRvU3RyaW5nKCQwLCAkMSksIFVURjhUb1N0cmluZygkMiwgJDMpKTsgfQBkYXRhOmltYWdlLyVzO2Jhc2U2NCwAeyBpZiAodHlwZW9mIHA4aW1nICE9PSAndW5kZWZpbmVkJykgeyBwOGltZy5zcmM9IiI7IH0gcDhpbWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTsgcDhpbWcuc3JjID0gVVRGOFRvU3RyaW5nKCQwLCAkMSk7IHA4aW1nLnN0eWxlID0gJ3dpZHRoOjEyOHB4OyBoZWlnaHQ6MTI4cHg7IGltYWdlLXJlbmRlcmluZzogcGl4ZWxhdGVkOyAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBuZWFyZXN0LW5laWdoYm9yOyc7IGlmICh0eXBlb2YgcDhpbWdob2xkZXIgPT09ICd1bmRlZmluZWQnIHx8ICFwOGltZ2hvbGRlcil7IHA4aW1naG9sZGVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7IHA4aW1naG9sZGVyLnN0eWxlLmNzc1RleHQgPSAnbWluLXdpZHRoOjE2MHB4OyBkaXNwbGF5OnRhYmxlOyBwb3NpdGlvbjpmaXhlZDsgdG9wOjIwcHg7IGxlZnQ6MjBweDsgcGFkZGluZzoxMnB4OyBiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7IGJveC1zaGFkb3c6IDJweCAycHggOHB4IHJnYmEoMTYsIDAsIDQ4LCAwLjQpOyc7IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocDhpbWdob2xkZXIpOyB9IGlmIChwOGltZ2hvbGRlcikgeyB3aGlsZSAocDhpbWdob2xkZXIuY2hpbGRFbGVtZW50Q291bnQgPiAwKSBwOGltZ2hvbGRlci5yZW1vdmVDaGlsZChwOGltZ2hvbGRlci5maXJzdENoaWxkKTsgdmFyIGRpc21pc3MgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTsgZGlzbWlzcy5zdHlsZS5jc3NUZXh0ID0gJ2Rpc3BsYXk6dGFibGU7IGZvbnQtc2l6ZToxMHB0OyBjb2xvcjojZmZmOyBwYWRkaW5nOjRweDsgY3Vyc29yOnBvaW50ZXI7IG1hcmdpbi1sZWZ0OjEwcHg7IGZsb2F0OnJpZ2h0JzsgZGlzbWlzcy5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uKCl7IHA4aW1nLnNyYz0iIjsgd2hpbGUgKHA4aW1naG9sZGVyLmNoaWxkRWxlbWVudENvdW50ID4gMCkgcDhpbWdob2xkZXIucmVtb3ZlQ2hpbGQocDhpbWdob2xkZXIuZmlyc3RDaGlsZCk7IHA4aW1naG9sZGVyLnN0eWxlLmRpc3BsYXk9Im5vbmUiOyB9LCBmYWxzZSk7IGRpc21pc3MuaW5uZXJIVE1MID0gJ1gnOyBwOGltZ2hvbGRlci5hcHBlbmRDaGlsZChkaXNtaXNzKTsgcDhpbWdob2xkZXIuYXBwZW5kQ2hpbGQocDhpbWcpOyB2YXIgaW5mbyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOyBpbmZvLmlubmVySFRNTCA9ICc8YnI+IDxmb250IHN0eWxlPSJjb2xvcjojYmJiOyBmb250LXNpemU6OHB0Ij48Y2VudGVyPiAocmlnaHQtY2xpY2sgdG8gc2F2ZSkgPC9jZW50ZXI+PC9mb250Pic7IHA4aW1naG9sZGVyLmFwcGVuZENoaWxkKGluZm8pOyBpZiAocDhpbWdob2xkZXIuc3R5bGUuZGlzcGxheSA9PSAibm9uZSIpIHA4aW1naG9sZGVyLnN0eWxlLmRpc3BsYXkgPSAiIjsgfSB9AGNvdWxkIG5vdCBjb21wcmVzcyBjb2RlCgB3cml0aW5nICVkIGJ5dGVzIChjb2RlIG9ubHkpAHdyaXRpbmcgJWQgYnl0ZXMAJTJ4AGxvYWRpbmcgZnV0dXJlIGNhcnQgdmVyc2lvbgBmdXR1cmUgdmVyc2lvbjogJWQAY2FydHJpZGdlIGRhdGEgaXMgY29ycnVwdGVkACVzJXMucDglcwAucm9tACVzJXMlcy5wOAB1bnRpdGxlZABiYWNrdXAvACU0ZCUwMmQlMDJkXyUwMmQlMDJkJTAyZF8AcHJvZ3JhbSBvdmVyIHNpemUgbGltaXQKAGNvbXByZXNzZWQgY29kZSBzaXplIHRvbyBsYXJnZQoAJWQgLyAlZCBieXRlcwB3YXJuaW5nOiBjb21wcmVzc2VkIGNvZGUgdG9vIGJpZwB0byBiZSBleHBvcnRlZCBvciBzYXZlZCBhcyBwbmcAKHNhdmluZyAucDggYW55d2F5KQBmbGF0dGVuZWQgI2luY2x1ZGVzACoqIGZhaWxlZCB0byBzYXZlICoqAC91c2VyX2RhdGEvY3N0b3JlLyVzJXMAX18AcHJlcGFyZV9sb2FkZWRfY2FydDogbG9va2luZyBmb3Igc2FuZGJveGVkIGNhcnQgcGF0Y2g6ICVzCgAgIGZvdW5kCgAgIG5vdCBmb3VuZAoAd2FybmluZzogcG9zc2libGUgZGVwcmVjYXRlZCBAQABsZWdhY3k6IHBhdCAlZCBzd2FwIGNoYW46ICVkICVkAHByaW50KCJhcmNoZW9zIiw5OCwzNCw3KQAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotLSBsZWdhY3kgMC4xLjEgYXBpIGluamVjdGVkCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCglmdW5jdGlvbiBfdmFsaWRhdGUoYykgaWYgKGMuX251bT09bmlsKSB0aGVuIGxvY2FsIGk9MCB3aGlsZShjW2krMV1+PW5pbCkgZG8gaT1pKzEgZW5kIGMuX251bT1pIGMuX21heD1pIAljLl9taW49aSsxIGMuX251bSA9IGkgYy5fY2kgPSBpIGVuZCBlbmQgCWZ1bmN0aW9uIGZvcmVhY2goYywgZikgaWYgKGMgPT0gbmlsKSB0aGVuIHJldHVybiBlbmQgX3ZhbGlkYXRlKGMpIGlmIChjLl9tYXggPT0gbmlsKSB0aGVuIHJldHVybiBlbmQgZm9yIGk9MSxjLl9tYXggZG8gaWYgKGNbaV0gfj0gbmlsKSB0aGVuIGMuX2NpID0gaSBmKGNbaV0pIGVuZCBlbmQgZW5kIGZ1bmN0aW9uIGFsbChjKSBpZiAoYyA9PSBuaWwpIHRoZW4gcmV0dXJuIGZ1bmN0aW9uKCkgZW5kIGVuZCBfdmFsaWRhdGUoYykgbG9jYWwgaT0wIHJldHVybiBmdW5jdGlvbigpIGk9aSsxIHdoaWxlIChjW2ldPT1uaWwgYW5kIGk8Yy5fbWF4KSBkbyBpPWkrMSBlbmQgaWYgKGNbaV0gfj0gbmlsKSB0aGVuIGMuX2NpPWkgcmV0dXJuIGNbaV0gZW5kIGVuZCBlbmQgZnVuY3Rpb24gYWRkKGMsIGkpIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gZW5kIF92YWxpZGF0ZShjKSBmb3Igaj1jLl9taW4sYy5fbWF4KzEgZG8gaWYgKGNbal0gPT0gbmlsKSB0aGVuIGMuX21heCA9IG1heChjLl9tYXgsaikgYy5fbWluID0gaisxIGMuX251bSA9IGMuX251bSsxIGNbal09aSByZXR1cm4gaSBlbmQgZW5kIGVuZCBmdW5jdGlvbiBjb3VudChjKSBpZiAoYyA9PSBuaWwpIHRoZW4gcmV0dXJuIDAgZW5kIF92YWxpZGF0ZShjKSByZXR1cm4gYy5fbnVtIGVuZCBmdW5jdGlvbiBkZWwoYyxpKSBpZiAoYyA9PSBuaWwpIHRoZW4gcmV0dXJuIGVuZCBfdmFsaWRhdGUoYykgaWYgKGk9PW5pbCkgdGhlbiByZXR1cm4gZW5kIGlmIChjLl9jaT09aSkgdGhlbiBjW2MuX2NpXT1uaWwgYy5fbWluPW1pbihjLl9taW4sIGMuX2NpKSBjLl9udW09Yy5fbnVtLTEgcmV0dXJuIGVsc2UgZm9yIGo9MSxjLl9tYXggZG8gaWYgKGNbal09PWkpIHRoZW4gY1tqXT1uaWwgYy5fbWluPW1pbihjLl9taW4saikgYy5fbnVtPWMuX251bS0xIHJldHVybiBlbmQgZW5kIGVuZCB3aGlsZSAoYy5fbWF4PjEgYW5kIGNbYy5fbWF4XT09bmlsKSBkbyBjLl9tYXg9Yy5fbWF4LTEgZW5kIGVuZCAgbmQ9MAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKAGxlZ2FjeTogMC4xLjEgYXBpIGluamVjdGVkAC5sdWEAcGxlYXNlIHNwZWZpY3kgYSBmaWxlbmFtZQAqKiogbm8gZmlsZW5hbWUuIG5vdCBzYXZlZCEgKioqAGNhbiBub3Qgb3ZlcndyaXRlIGJicyBjYXJ0ACogY2FuIG5vdCBvdmVyd3JpdGUgYmJzIGNhcnQhICoAc2F2ZSBmYWlsZWQAKioqKiBzYXZlIGZhaWxlZCAqKioqAHNhdmVkICVzJXMgKip0ZW1wIGRpc2sqKgBzYXZlZCAlcyVzJXMgKip0ZW1wIGRpc2sqKgAlc18lJWQucG5nACVzLnBuZwBmaWxlIG91dHB1dCBwYXRoOiAlcwoAc2F2aW5nIHNjcmVlbnNob3QgdG86ICVzCgBwbmcAbW91bnRfZW1iZWRkZWRfY2FydDogJXMgKCVkIGNoYXJzKSAlcwoAKiogbW91bnRfZW1iZWRkZWRfY2FydDogZmFpbGVkIHRvIG1vdW50AGNvdWxkIG5vdCBsb2FkIGNhcnRyaWRnZQBjYW4gbm90IGxvYWQAcDhtLnBuZwBwOG0ucG5nIG5vdCBzdXBwb3J0ZWQAaW1hZ2UgaXMgdG9vIGxhcmdlICgxMjggbWF4KQBmaWxlIGlzIHRvbyBsYXJnZSAoMjU2ayBtYXgpAHsganNTdHJpbmcgPSBwOF9kcm9wcGVkX2NhcnQ7IGlmICghanNTdHJpbmcpIHJldHVybiAwOyB2YXIgbGVuZ3RoQnl0ZXMgPSBsZW5ndGhCeXRlc1VURjgoanNTdHJpbmcpKzE7IHZhciBzdHJpbmdPbldhc21IZWFwID0gX21hbGxvYyhsZW5ndGhCeXRlcyk7IHN0cmluZ1RvVVRGOChqc1N0cmluZywgc3RyaW5nT25XYXNtSGVhcCwgbGVuZ3RoQnl0ZXMpOyByZXR1cm4gc3RyaW5nT25XYXNtSGVhcDsgfQB7IGpzU3RyaW5nID0gcDhfZHJvcHBlZF9jYXJ0X25hbWU7IGlmICghanNTdHJpbmcpIHJldHVybiAwOyB2YXIgbGVuZ3RoQnl0ZXMgPSBsZW5ndGhCeXRlc1VURjgoanNTdHJpbmcpKzE7IHZhciBzdHJpbmdPbldhc21IZWFwMiA9IF9tYWxsb2MobGVuZ3RoQnl0ZXMpOyBzdHJpbmdUb1VURjgoanNTdHJpbmcsIHN0cmluZ09uV2FzbUhlYXAyLCBsZW5ndGhCeXRlcyk7IHJldHVybiBzdHJpbmdPbldhc21IZWFwMjsgfQBsb2FkaW5nIHVybF9zdHI6ICVzCgBiYXNlNjQsAEBAIHRyeWluZyB0byBsb2FkIGFzIGltYWdlICVkCgBAQCBzZXR0aW5nIGFzIGRyb3BwZWQgaW1hZ2U6ICVkICVkCgBAQCB0cnlpbmcgYXMgZGF0YSBmaWxlLiBkYXRfZi0+bGVuOiAlZAoAY291bGQgbm90IGZpbmQgZHJvcHBlZCBmaWxlAGh0dHBzOi8vcGljby04LWVkdS5jb20vP2M9AGxldCBzdGF0ZU9iaiA9IHsgbG9hZF9wYXJhbV9kYXRhIDogdHJ1ZX07IGhpc3RvcnkucHVzaFN0YXRlKHN0YXRlT2JqLCAnUElDTy04IFVSTCBDYXJ0JywgJyVzJyk7ACoqIGZhaWxlZDogdXJsIGlzIHRvbyBsb25nACVkIC8gMjA0MCBjaGFycwBubyB2YWx1ZQBib29sZWFuAHVzZXJkYXRhAG51bWJlcgBzdHJpbmcAdGFibGUAdGhyZWFkAHByb3RvAHVwdmFsAHN0YWNrIG92ZXJmbG93AEMgc3RhY2sgb3ZlcmZsb3cAdGFibGUgb3ZlcmZsb3cAJ2ZvcicgaW5pdGlhbCB2YWx1ZSBtdXN0IGJlIGEgbnVtYmVyACdmb3InIGxpbWl0IG11c3QgYmUgYSBudW1iZXIAJ2Zvcicgc3RlcCBtdXN0IGJlIGEgbnVtYmVyAG5OAHhYAGJCAGF0dGVtcHQgdG8gY29tcGFyZSB0d28gJXMgdmFsdWVzAGF0dGVtcHQgdG8gY29tcGFyZSAlcyB3aXRoICVzAHN0cmluZyBsZW5ndGggb3ZlcmZsb3cAY29uY2F0ZW5hdGUAPwB1cHZhbHVlAGF0dGVtcHQgdG8gJXMgJXMgJyVzJyAoYSAlcyB2YWx1ZSkAYXR0ZW1wdCB0byAlcyBhICVzIHZhbHVlAF9FTlYAZ2xvYmFsAGZpZWxkAG1ldGhvZABjb25zdGFudAAlMC41ZgAuOTk5OQAuMDAwMAAlMC4zZgAlMC40ZgBnZXQgbGVuZ3RoIG9mAHBlcmZvcm0gYXJpdGhtZXRpYyBvbgB0YWJsZSBpbmRleCBpcyBuaWwAbWVtb3J5IGFsbG9jYXRpb24gZXJyb3I6IGJsb2NrIHRvbyBiaWcAaW5kZXgAbG9vcCBpbiBzZXR0YWJsZQBsb29wIGluIGdldHRhYmxlAGF0dGVtcHQgdG8geWllbGQgYWNyb3NzIGEgQy1jYWxsIGJvdW5kYXJ5AGF0dGVtcHQgdG8geWllbGQgZnJvbSBvdXRzaWRlIGEgY29yb3V0aW5lAGNhbGwALi4uAFtzdHJpbmcgIgAiXQAlcwAweCV4ACUAaW52YWxpZCBvcHRpb24gJyUlJWMnIHRvICdsdWFfcHVzaGZzdHJpbmcnAGVycm9yIGluIGVycm9yIGhhbmRsaW5nAGF0dGVtcHQgdG8gbG9hZCBhICVzIGNodW5rIChtb2RlIGlzICclcycpAGJpbmFyeQB0ZXh0AGNvbnRyb2wgc3RydWN0dXJlIHRvbyBsb25nAGxhYmVscy9nb3RvcwBubyB2aXNpYmxlIGxhYmVsICclcycgZm9yIDxnb3RvPiBhdCBsaW5lICVkICh0YWIgJWQpADwlcz4gYXQgbGluZSAlZCBub3QgaW5zaWRlIGEgbG9vcAA8Z290byAlcz4gYXQgbGluZSAlZCAodGFiICVkKSBqdW1wcyBpbnRvIHRoZSBzY29wZSBvZiBsb2NhbCAnJXMnAHRvbyBtYW55ICVzIChsaW1pdCBpcyAlZCkAJXM6JWQ6ICVzAGxleGljYWwgZWxlbWVudCB0b28gbG9uZwAnJXMnACVzIG5lYXIgJXMAJgB8AF5eADw8AD4+AD4+PgA8PD4APj48AFwAQABAQAAkACclYycAPT0APj0APD0Afj0AOjoAPG51bWJlcj4APG5hbWU+ADxzdHJpbmc+AG9wY29kZXMAJXMgZXhwZWN0ZWQAQyBsZXZlbHMAKGZvciBpbmRleCkAKGZvciBsaW1pdCkAKGZvciBzdGVwKQBmdW5jdGlvbiBvciBleHByZXNzaW9uIHRvbyBjb21wbGV4AChmb3IgZ2VuZXJhdG9yKQAoZm9yIHN0YXRlKQAoZm9yIGNvbnRyb2wpACc9JyBvciAnaW4nIGV4cGVjdGVkAGxhYmVsICclcycgYWxyZWFkeSBkZWZpbmVkIG9uIGxpbmUgJWQgKHRhYiAlZCkAdW5leHBlY3RlZCBzeW1ib2wAZnVuY3Rpb24gYXJndW1lbnRzIGV4cGVjdGVkAGl0ZW1zIGluIGEgY29uc3RydWN0b3IAZnVuY3Rpb25zAHNlbGYAPG5hbWU+IG9yICcuLi4nIGV4cGVjdGVkAGNvbnN0YW50cwBsb2NhbCB2YXJpYWJsZXMAY2Fubm90IHVzZSAnLi4uJyBvdXRzaWRlIGEgdmFyYXJnIGZ1bmN0aW9uACVzIGV4cGVjdGVkICh0byBjbG9zZSAlcyBhdCBsaW5lICVkICh0YWIgJWQpKQBmdW5jdGlvbiBhdCBsaW5lICVkICh0YWIgJWQpAG1haW4gZnVuY3Rpb24AdG9vIG1hbnkgJXMgKGxpbWl0IGlzICVkKSBpbiAlcwBpbnZhbGlkIGxvbmcgc3RyaW5nIGRlbGltaXRlcgB1bmZpbmlzaGVkIHN0cmluZwBoZXhhZGVjaW1hbCBkaWdpdCBleHBlY3RlZABpbnZhbGlkIGVzY2FwZSBzZXF1ZW5jZQBkZWNpbWFsIGVzY2FwZSB0b28gbGFyZ2UAWHgARWUAUHAAKy0AbWFsZm9ybWVkIG51bWJlcgB1bmZpbmlzaGVkIGxvbmcgY29tbWVudAB1bmZpbmlzaGVkIGxvbmcgc3RyaW5nAGNodW5rIGhhcyB0b28gbWFueSBsaW5lcwB1cHZhbHVlcwBiaW5hcnkgc3RyaW5nAHRydW5jYXRlZABub3QgYQB2ZXJzaW9uIG1pc21hdGNoIGluAGluY29tcGF0aWJsZQBjb3JydXB0ZWQAJXM6ICVzIHByZWNvbXBpbGVkIGNodW5rAGludmFsaWQga2V5IHRvICduZXh0JwBzdGFjayB0cmFjZWJhY2s6AAoJLi4uAFNsbnQACgklczoAJWQ6ACBpbiAAZnVuY3Rpb24gJyVzJwBtYWluIGNodW5rAGZ1bmN0aW9uIDwlczolZD4ACgkoLi4udGFpbCBjYWxscy4uLikAPVtDXQA9PwBtYWluAEx1YQBmb3IgaXRlcmF0b3IAbWV0YW1ldGhvZABiYWQgYXJndW1lbnQgIyVkICglcykAbgBjYWxsaW5nICclcycgb24gYmFkIHNlbGYgKCVzKQBiYWQgYXJndW1lbnQgIyVkIHRvICclcycgKCVzKQBTbAAlczolZDogACVzIGV4cGVjdGVkLCBnb3QgJXMAdmFsdWUgZXhwZWN0ZWQAb2JqZWN0IGxlbmd0aCBpcyBub3QgYSBudW1iZXIAX190b3N0cmluZwAlczogJXAAX19pbmRleABfX25ld2luZGV4AF9fZ2MAX19tb2RlAF9fbGVuAF9fZXEAX19hZGQAX19zdWIAX19tdWwAX19kaXYAX19tb2QAX19wb3cAX19hbmQAX19vcgBfX3hvcgBfX3NobABfX3NocgBfX2xzaHIAX19yb3RsAF9fcm90cgBfX25vdABfX2lkaXYAX19wZWVrAF9fcGVlazIAX19wZWVrNABfX3VubQBfX2x0AF9fbGUAX19jb25jYXQAX19jYWxsAF9fbWV0YXRhYmxlAG5pbCBvciB0YWJsZSBleHBlY3RlZABjYW5ub3QgY2hhbmdlIGEgcHJvdGVjdGVkIG1ldGF0YWJsZQB0YWJsZSBvciBzdHJpbmcgZXhwZWN0ZWQAX19wYWlycwBfX2lwYWlycwBhc3NlcnRpb24gZmFpbGVkIQBpbmRleCBvdXQgb2YgcmFuZ2UAY29yb3V0aW5lIGV4cGVjdGVkAGNvcm9saWI6IHRvbyBtYW55IGFyZ3VtZW50cyB0byByZXN1bWUAY29yb2xpYjogY2Fubm90IHJlc3VtZSBkZWFkIGNvcm91dGluZQBjb3JvbGliOiB0b28gbWFueSByZXN1bHRzIHRvIHJlc3VtZQBjYW5ub3QgcmVzdW1lIG5vbi1zdXNwZW5kZWQgY29yb3V0aW5lAGNhbm5vdCByZXN1bWUgZGVhZCBjb3JvdXRpbmUAcnVubmluZwBzdXNwZW5kZWQAbm9ybWFsAGRlYWQAdG9vIG1hbnkgcmVzdWx0cyB0byB1bnBhY2sAdXBsb2FkAHsgaWYgKHR5cGVvZiBwaWNvOF9zdGF0ZSAhPT0gJ3VuZGVmaW5lZCcpeyBpZiAodHlwZW9mIHBpY284X3N0YXRlLnN5c3RlbV9tZXNzYWdlcyA9PT0gJ3VuZGVmaW5lZCcpIHBpY284X3N0YXRlLnN5c3RlbV9tZXNzYWdlcyA9IG5ldyBBcnJheSgpOyBwaWNvOF9zdGF0ZS5zeXN0ZW1fbWVzc2FnZXMucHVzaChVVEY4VG9TdHJpbmcoJDAsICQxKSk7IH0gfQBfZW5kX29mX3Byb2dyYW0AdG8gY2xvc2UgJwBhdCBsaW5lIAAlZCAodGFiICVkKQB1bmNsb3NlZCAlcyBhdCBsaW5lICVkICh0YWIgJWQpCgB1bmNsb3NlZCAlcwAtLSBwaWNvLTggaGVhZGVyAGFzc2VydGlvbiBmYWlsZWQAcG9zaXRpb24gb3V0IG9mIGJvdW5kcwBub3QgZW5vdWdoIG1lbW9yeQA8ZW9mPgB0aGVtZSAAdGhlbWUAYmx1ZQBzZXQgdGhlbWUgdG8gYmx1ZQBhdXRvAHNldCB0aGVtZSB0byBhdXRvAGNsYXNzaWMAc2V0IHRoZW1lIHRvIGNsYXNzaWMAY29uZmlnIHRoZW1lIFt2YWx1ZV0AYXZhaWxhYmxlIHRoZW1lczoAc3Bsb3JlX2ZpbHRlciAAc3Bsb3JlX2ZpbHRlcgBvbgBmaWx0ZXIgb24Ab2ZmAGZpbHRlciBvZmYAY29uZmlnIGZpbHRlciBbb24gfCBvZmZdAHdoZW4gb24sIGNhcnRyaWRnZXMgdGFnZ2VkIGFzAG1hdHVyZSB3aWxsIG5vdCBiZSBkb3dubG9hZGVkLgBmaWx0ZXIgaXMgY3VycmVudGx5OiBvbgBmaWx0ZXIgaXMgY3VycmVudGx5OiBvZmYAdm9sdW1lIABzZXQgdm9sdW1lOiAlZABjb25maWcgdm9sdW1lIFt2YWxdAHZhbDogOCBxdWlldCAuLiAyNTYgbG91ZABjdXJyZW50IHZvbHVtZTogJWQAZ2lmX2xlbiAAc2V0IGdpZl9sZW46ICVkAGdpZl9sZW4AY29uZmlnIGdpZl9sZW4gW3NlY29uZHNdAGN1cnJlbnQgZ2lmX2xlbjogJWQAZ2lmX3Jlc2V0X21vZGUgAHNldCBnaWZfcmVzZXRfbW9kZTogJWQAZ2lmX3Jlc2V0X21vZGUAY29uZmlnIGdpZl9yZXNldF9tb2RlIFttb2RlXQAgMDogZG9uJ3QgcmVzZXQgYWZ0ZXIgcmVjb3JkaW5nACAxOiByZXNldCBhZnRlciBlYWNoIHJlY29yZGluZwBjdXJyZW50IGdpZl9yZXNldF9tb2RlOiAlZABzZnhfZmlsdGVycyAAc2V0IHNmeF9maWx0ZXJzOiAlZABnaWZfc2NhbGUgAHNldCBnaWZfc2NhbGU6ICVkAGdpZl9zY2FsZQBjb25maWcgZ2lmX3NjYWxlIFtzaXplXQBjdXJyZW50IGdpZl9zY2FsZTogJWQAc2NyZWVuc2hvdF9zY2FsZSAAc2V0IHNjcmVlbnNob3Rfc2NhbGU6ICVkAHNjcmVlbnNob3Rfc2NhbGUAY29uZmlnIHNjcmVlbnNob3Rfc2NhbGUgW3NpemVdAGN1cnJlbnQgc2NyZWVuc2hvdF9zY2FsZTogJWQAdGFiX3dpZHRoIABzZXQgdGFiX3dpZHRoOiAlZAB0YWJfd2lkdGgAY29uZmlnIHRhYl93aWR0aCBbd2lkdGhdAGN1cnJlbnQgdGFiX3dpZHRoOiAlZABjb25maWcgW3NldHRpbmddAGF2YWlsYWJsZSBzZXR0aW5nczoAJWQvJWQgJTMuMWYgZnBzACVkLyVkICUxLjJmICUxLjJmAHJlc3VtZQByZXN1bWUoKQBub3RoaW5nIHRvIHJlc3VtZQBzdGF0KDQpACBfZHJhdwBwcm9ncmFtIGV4Y2VlZHMgY2hhciBsaW1pdAAlZCAvICVkIGNoYXJzCgBwcm9ncmFtIHRvbyBsYXJnZQAlZCAvICVkIHRva2VucwoALS0gcGljby04IGhlYWRlcgoJZG8gCWxvY2FsIF9yZWZ1bmRfY3B1XyA9IF9fcmVmdW5kX2NwdV9fIAlsb2NhbCBfcGFpcnMgPSBfX3BhaXJzX18gCWxvY2FsIF9pcGFpcnMgPSBfX2lwYWlyc19fIAlsb2NhbCBfdHlwZSA9IF9fdHlwZSAJbG9jYWwgX3Rvc3RyID0gX190b3N0ciAJbG9jYWwgX3N0b3AgPSBfX3N0b3AgCWxvY2FsIF9wcmludCA9IF9fcHJpbnQgCWxvY2FsIF9wcmludGggPSBfX3ByaW50aCAJbG9jYWwgX3Rvc3RyaW5nID0gX190b3N0cmluZ19fIAlsb2NhbCBfbG9hZCA9IF9fbG9hZCAJbG9jYWwgX3N0YXQgPSBzdGF0IAlsb2NhbCBfZXh0Y21kID0gX19leHRjbWQgCWxvY2FsIF9fbWVudWl0ZW0gPSBfbWVudWl0ZW0gCWxvY2FsIF95aWVsZGVkX3RvX2VzY2FwZV9zbGljZSA9IF9feWllbGRlZF90b19lc2NhcGVfc2xpY2UgCWxvY2FsIF9jb3Jlc3VtZSA9IF9fY29yZXN1bWUgCWxvY2FsIF9zZWxlY3QgPSBfX3NlbGVjdCAJbG9jYWwgX3N1cGVyeWllbGQgPSBfX3N1cGVyeWllbGQgCWxvY2FsIF9sYXN0X21lbnVpdGVtX2luZGV4ID0gMCAJbG9jYWwgX2xhc3RfbWVudWl0ZW1fY2FsbGJhY2sgPSBmdW5jdGlvbigpIGVuZCAJbG9jYWwgX21pZCA9IG1pZCAJX3BhdXNlbWVudT1fcGF1c2VtZW51IG9yIHt9CWZ1bmN0aW9uIG1lbnVpdGVtKGluZGV4LCBsYWJlbCwgY2FsbGJhY2spIAkJaW5kZXggPSBpbmRleCBvciBfbGFzdF9tZW51aXRlbV9pbmRleCAJCWNhbGxiYWNrID0gY2FsbGJhY2sgb3IgX2xhc3RfbWVudWl0ZW1fY2FsbGJhY2sgCQlpZiAodHlwZShpbmRleCl+PSJudW1iZXIiKSB0aGVuIHN0b3AoImJhZCBtZW51aXRlbSBpbmRleCIpIGVuZCAJCWlmIChpbmRleCA8IDEgb3IgaW5kZXggPiA1KSB0aGVuIHJldHVybiBlbmQJCV9wYXVzZW1lbnVbaW5kZXhdID0ge30gCQlfcGF1c2VtZW51W2luZGV4XS5sYWJlbCA9IGxhYmVsIAkJX3BhdXNlbWVudVtpbmRleF0uY2FsbGJhY2sgPSBjYWxsYmFjayAJCV9fbWVudWl0ZW0oaW5kZXgsIGxhYmVsKSAJZW5kIAlmdW5jdGlvbiBwYWlycyhjKSAgaWYgKGMgPT0gbmlsKSB0aGVuIHJldHVybiBmdW5jdGlvbigpIGVuZCBlbmQgcmV0dXJuIF9wYWlycyAoYykgZW5kIAlmdW5jdGlvbiBpcGFpcnMoYykgaWYgKGMgPT0gbmlsKSB0aGVuIHJldHVybiBmdW5jdGlvbigpIGVuZCBlbmQgcmV0dXJuIF9pcGFpcnMoYykgZW5kIAlmdW5jdGlvbiBhbGwoYykgaWYgKGMgPT0gbmlsIG9yICNjID09IDApIHRoZW4gcmV0dXJuIGZ1bmN0aW9uKCkgZW5kIGVuZCAJIAlsb2NhbCBpPTEgCSAJbG9jYWwgbGk9bmlsIAkJX3JlZnVuZF9jcHVfKCgjYyA+PSAxNikgYW5kIC0xNiBvciAtI2MpIAkgCXJldHVybiBmdW5jdGlvbigpIAkgCQlpZiAoY1tpXSA9PSBsaSkgdGhlbiBpPWkrMSBlbmQgCSAJCXdoaWxlKGNbaV09PW5pbCBhbmQgaSA8PSAjYykgZG8gaT1pKzEgZW5kIAkgCQlsaT1jW2ldIAkJCV9yZWZ1bmRfY3B1XygtMTcpIAkgCQlyZXR1cm4gbGkgCSAJZW5kIAllbmQgCWZ1bmN0aW9uIGZvcmVhY2goYyxfZikgZm9yIGkgaW4gYWxsKGMpIGRvIF9mKGkpIGVuZCBlbmQgZnVuY3Rpb24gdG9zdHIoLi4uKSAJLS1bWyBuZWVkIHRvIHVzZSB0b3N0cmluZyB3aGVuIG1ldGF0YWJsZSBhbmQgbXQuX190b3N0cmluZyBpcyBzZXQgc28gdGhhdCBtdC5fX3Rvc3RyaW5nIHdvcmtzLiBzZWUgdGVzdHMvbWV0YSoucDggXV0gCWxvY2FsIHA9ey4uLn0gCWxvY2FsIGEsYixtYXhfZGVwdGggPSBwWzFdLHBbMl0scFszXSAJaWYgKG1heF9kZXB0aCkgdGhlbiByZXR1cm4gX3Rvc3RyKC4uLikgZW5kIAlpZiAoKF90eXBlKGEpPT0idGFibGUiIGFuZCAoKGdldG1ldGF0YWJsZShhKSBhbmQgZ2V0bWV0YXRhYmxlKGEpLl9fdG9zdHJpbmcpIG9yIGIpKSkgb3IgKChfdHlwZShhKT09ImZ1bmN0aW9uIiBhbmQgYikpIHRoZW4gCSByZXR1cm4gX3Rvc3RyaW5nKGEpICAgICBlbHNlIAkgcmV0dXJuIF90b3N0ciguLi4pIAllbmQgZW5kIAktLVtbIHByaW50KCkgc2hvdWxkIHByaW50IG5vdGhpbmc7IHByaW50KG5pbCkgc2hvdWxkIHByaW50IFtuaWxdOyBzdG9wKCkgcGFzc2VzIGFyZ3MgdG8gcHJpbnQgc28gdGhhdCBjYW4gcHJpbnQgaW4gYSBjb2xvdXJdXQlmdW5jdGlvbiBzdG9wKC4uLikgICAgaWYgX3NlbGVjdCgnIycsLi4uKT09MCB0aGVuIF9zdG9wKCkgICBlbHNlIGxvY2FsIGE9ey4uLn0gcmV0dXJuIF9zdG9wICAodG9zdHIoYVsxXSksIF9zZWxlY3QoMiwuLi4pKSBlbmQgZW5kIAlmdW5jdGlvbiBwcmludCguLi4pICAgaWYgX3NlbGVjdCgnIycsLi4uKT09MCB0aGVuIF9wcmludCgpICBlbHNlIGxvY2FsIGE9ey4uLn0gcmV0dXJuIF9wcmludCAodG9zdHIoYVsxXSksIF9zZWxlY3QoMiwuLi4pKSBlbmQgZW5kIAlmdW5jdGlvbiBwcmludGgoLi4uKSAgaWYgX3NlbGVjdCgnIycsLi4uKT09MCB0aGVuIF9wcmludGgoKSBlbHNlIGxvY2FsIGE9ey4uLn0gcmV0dXJuIF9wcmludGgodG9zdHIoYVsxXSksIF9zZWxlY3QoMiwuLi4pKSBlbmQgZW5kIGZ1bmN0aW9uIGxvYWQoLi4uKSAJbG9jYWwgcmVzPV9sb2FkKC4uLikgCWZsaXAoKSAtLVtbdG8gc3VwZXJ5aWVsZC4gcmVmOnBpY293YXJlXV0JaWYgKF9zdGF0KDEwNykgPiAwKSB0aGVuIHJldHVybiB0cnVlIGVuZCAJaWYgKF9zdGF0KDEwNykgPT0gLTEpIHRoZW4gcmV0dXJuIGZhbHNlLCAiY291bGQgbm90IGZpbmQgY2FydCIgZW5kIAlpZiAoX3N0YXQoMTA3KSA9PSAtMikgdGhlbiByZXR1cm4gZmFsc2UsICJjb3VsZCBub3QgZmV0Y2ggY2FydCIgZW5kIAlpZiAoX3N0YXQoMTA3KSA9PSAtMykgdGhlbiByZXR1cm4gZmFsc2UsICJjb3VsZCBub3QgY29ubmVjdCB0byBiYnMiIGVuZCAJaWYgKF9zdGF0KDEwNykgPCAwIG9yIHJlcyA9PSBuaWwpIHRoZW4gcmV0dXJuIGZhbHNlLCAiYWNjZXNzIGRlbmllZCIgZW5kIAlyZXR1cm4gcmVzIGVuZCBmdW5jdGlvbiBleHRjbWQoY21kLCAuLi4pIAlsb2NhbCByZXM9X2V4dGNtZChjbWQsIC4uLikgCWlmIChjbWQ9PSJnb19iYWNrIiBvciBjbWQ9PSJicmVhZGNydW1iIikgdGhlbiAJCWZsaXAoKSAtLVtbdG8gc3VwZXJ5aWVsZF1dCWVuZCAJcmV0dXJuIHJlcyBlbmQgZnVuY3Rpb24gY29yZXN1bWUoYywuLi4pIAlfeWllbGRlZF90b19lc2NhcGVfc2xpY2UoMCkgCWxvY2FsIHIwLHIxID1fY29yZXN1bWUoYywuLi4pCXdoaWxlIChfeWllbGRlZF90b19lc2NhcGVfc2xpY2UoKSBhbmQgY29zdGF0dXMoYykgPT0gInN1c3BlbmRlZCIpIGRvIAkJX3lpZWxkZWRfdG9fZXNjYXBlX3NsaWNlKDApIAkJcjAscjEgPSBfY29yZXN1bWUoYywuLi4pIAllbmQgCV95aWVsZGVkX3RvX2VzY2FwZV9zbGljZSgwKSAJcmV0dXJuIHIwLHIxIGVuZCBmdW5jdGlvbiBmbGlwKCkgCXJlcGVhdCAJCWxvY2FsIGNvbnRpbnVlX21lbnUgPSBmYWxzZSAJCWZvciBpPTEsNSBkbyAJCSBsb2NhbCB2YWwgPSBfZ2V0X21lbnVfaXRlbV9zZWxlY3RlZChpKSAJCSBpZiAodmFsKSB0aGVuIAkJICBfbGFzdF9tZW51aXRlbV9pbmRleCA9IGkgCQkgIF9sYXN0X21lbnVpdGVtX2NhbGxiYWNrID0gX3BhdXNlbWVudVtpXS5jYWxsYmFjayAJCSAgY29udGludWVfbWVudSA9IF9wYXVzZW1lbnVbaV0uY2FsbGJhY2sodmFsKSAJCSAgaWYgKHZhbCAmIDMgPiAwKSB0aGVuIGNvbnRpbnVlX21lbnUgPSB0cnVlIGVuZCAJCSBlbmQgCQllbmQgCQlpZiAoY29udGludWVfbWVudSkgdGhlbiBleHRjbWQoInBhdXNlIiwgMSkgX3N1cGVyeWllbGQoKSBlbmQgIAl1bnRpbCBub3QgY29udGludWVfbWVudSAJX19mbGlwKCkgZW5kIGVuZCAtLVtbIHNjb3BlIF1dX19yZWZ1bmRfY3B1X18gPSBuaWwgX19pcGFpcnNfXyA9IG5pbCBfX3BhaXJzX18gPSBuaWwgX190b3N0ciAgICA9IG5pbCBfX3N0b3AgICAgID0gbmlsIF9fcHJpbnQgICAgPSBuaWwgX19wcmludGggICA9IG5pbCBfX2xvYWQgICAgID0gbmlsIF9fZXh0Y21kICAgPSBuaWwgX190b3N0cmluZ19fID0gbmlsIF9feWllbGRlZF90b19lc2NhcGVfc2xpY2UgPSBuaWwgX19jb3Jlc3VtZSA9IG5pbCBfX3NlbGVjdCA9IG5pbCBfX3N1cGVyeWllbGQgPSBuaWwgAIA9gCBvciAwLjUggT2BIG9yIDIzMTMwLjUggj2CIG9yIDIwNzY3LjUggz2DIG9yIDMghD2EIG9yIDMyMTI1LjUghT2FIG9yIC0xODQwMi41IIY9hiBvciAtMTYzMi41IIc9hyBvciAyMDkyNy41IIg9iCBvciAtMTkwMDguNSCJPYkgb3IgLTI2MjA4LjUgij2KIG9yIC0yMDE5Mi41IIs9iyBvciAwIIw9jCBvciAtMjQzNTEuNSCNPY0gb3IgLTI1NzkyLjUgjj2OIG9yIDQgjz2PIG9yIC0yMDAzMi41IJA9kCBvciAtMjU2MC41IJE9kSBvciAxIJI9kiBvciAtMjAxMjguNSCTPZMgb3IgNjk0My41IJQ9lCBvciAyIJU9lSBvciAtMjYyNC41IJY9liBvciAzMTQ1NS41IJc9lyBvciA1IJg9mCBvciAzODU1LjUgmT2ZIG9yIDIxODQ1LjUgOwBsb2NhbCB0aW1lLHN1YixjaHIsb3JkLHRvc3RyLHRvbnVtLGFkZCxkZWwsZGVsaSxjbGlwLGNvbG9yLHBhbCxwYWx0LGZpbGxwLHBnZXQscHNldCxzZ2V0LHNzZXQsZmdldCxmc2V0LGNpcmMsY2lyY2ZpbGwscmVjdCxyZWN0ZmlsbCxvdmFsLG92YWxmaWxsLGxpbmUsc3ByLHNzcHI9ICAgICAgdGltZSxzdWIsY2hyLG9yZCx0b3N0cix0b251bSxhZGQsZGVsLGRlbGksY2xpcCxjb2xvcixwYWwscGFsdCxmaWxscCxwZ2V0LHBzZXQsc2dldCxzc2V0LGZnZXQsZnNldCxjaXJjLGNpcmNmaWxsLHJlY3QscmVjdGZpbGwsb3ZhbCxvdmFsZmlsbCxsaW5lLHNwcixzc3ByIGxvY2FsIG1nZXQsbXNldCx0bGluZSxwZWVrLHBva2UscGVlazIscG9rZTIscGVlazQscG9rZTQsbWVtY3B5LG1lbXNldCxtYXgsbWluLG1pZCxmbHIsY2VpbCxjb3Msc2luLGF0YW4yLHJhbmQsc3JhbmQsYmFuZCxib3IsYnhvcixibm90LHNobCxzaHIsbHNocixyb3RsLHJvdHI9ICAgICAgIG1nZXQsbXNldCx0bGluZSxwZWVrLHBva2UscGVlazIscG9rZTIscGVlazQscG9rZTQsbWVtY3B5LG1lbXNldCxtYXgsbWluLG1pZCxmbHIsY2VpbCxjb3Msc2luLGF0YW4yLHJhbmQsc3JhbmQsYmFuZCxib3IsYnhvcixibm90LHNobCxzaHIsbHNocixyb3RsLHJvdHI7IAA7CgAxMDM4OAAgbmQ9MCAAJXMgJXMoKQAlcyAlcygiJXMiKQBzcGxvcmUoKQAKIF9lbmRfb2ZfcHJvZ3JhbSA9IDEgCgAKCSAgICBfZW5kX29mX3Byb2dyYW0gPSAxIAoJICAgIGlmIChfaW5pdCB+PSBuaWwpIHRoZW4gX2luaXQoKSBlbmQKICAgICAgICAgICAgX3NldF9tYWlubG9vcF9leGlzdHMoMCkKCSAgICBpZiAoX21haW5sb29wIH49IG5pbCkgdGhlbiBfc2V0X21haW5sb29wX2V4aXN0cygxKSBlbmQKCSAgICBpZiAoX3VwZGF0ZTYwIH49IG5pbCkgdGhlbiBfc2V0X2Zwcyg2MCkgX3VwZGF0ZT1uaWwgZWxzZSBfc2V0X2ZwcygzMCkgZW5kCgkgICAgaWYgKF9tYWlubG9vcCA9PSBuaWwgYW5kIChfZHJhdyB+PSBuaWwgb3IgX3VwZGF0ZSB+PSBuaWwgb3IgX3VwZGF0ZTYwIH49IG5pbCkpIHRoZW4KCSAgICAJX3NldF9tYWlubG9vcF9leGlzdHMoMikKCQkgICAgX21haW5sb29wID0gZnVuY3Rpb24oKSAKCSAgICAgICAgCXdoaWxlICh0cnVlKSBkbwoJCQkJCV91cGRhdGVfYnV0dG9ucyhfdXBkYXRlNjAgYW5kIDEgb3IgMikKCQkJCSAgICBfc3RhcnRmcmFtZSgpIAoJCQkJICAgIGlmIChzdGF0KDcpID09IDYwKSB0aGVuCgkJCQkgICAgCV9tYXJrX2NwdSgwKSBfdXBkYXRlNjAoKSAKCQkJCSAgICBlbHNlaWYgKHN0YXQoNykgPT0gMzAgYW5kIF91cGRhdGU2MCkgdGhlbgoJCQkJICAgIAlfdXBkYXRlNjAoKSBfdXBkYXRlX2J1dHRvbnMoMSkgX21hcmtfY3B1KDApIF91cGRhdGU2MCgpCgkJCQkgICAgZWxzZWlmIChzdGF0KDcpID09IDMwIGFuZCBfdXBkYXRlKSB0aGVuCgkJCQkgICAgCV9tYXJrX2NwdSgwKSBfdXBkYXRlKCkgCgkJCQkgICAgZWxzZWlmIChzdGF0KDcpID09IDE1IGFuZCBfdXBkYXRlKSB0aGVuCgkJCQkgICAgCV91cGRhdGUoKSAgX3VwZGF0ZV9idXR0b25zKDIpIF9tYXJrX2NwdSgwKSBfdXBkYXRlKCkKCQkJCSAgICBlbmQKCQkJCSAgICBfbWFya19jcHUoMSkKCQkJCSAgICBpZiAoX2RyYXcgfj0gbmlsKSB0aGVuCgkJCQkJCWxvY2FsIGRpLHJlcz0wLHRydWUgCgkJCQkJCXdoaWxlIChkaSA8IHN0YXQoMTEpIGFuZCByZXMpIGRvIHJlcyA9IF9tYXBfZGlzcGxheShkaSkgaWYgKHJlcykgdGhlbiByZXM9X2RyYXcoKSBlbmQgZGk9ZGkrMSBlbmQgCgkJCQkJCV9tYXBfZGlzcGxheSgwKSAKCQkJCQllbmQKCQkJCSAgICBfbWFya19jcHUoMikKCQkJCQlfdXBkYXRlX2ZyYW1lcmF0ZSgpCgkJCQkgICAgZmxpcCgpCgkJCSAgICBlbmQKCQkgICAgZW5kCgkgICAgZW5kCgkJaWYgKF9tYWlubG9vcCB+PSBuaWwpIHRoZW4gX21haW5sb29wKCkgZW5kCiAgICAgICAgCgBzeW50YXggZXJyb3IAc3ludGF4IGVycm9yIGxpbmUgJWQgKHRhYiAlZCkAdW5leHBlY3RlZCBzeW1ib2wgbmVhciAnZW5kJwB1bmV4cGVjdGVkIGVuZCBvZiBsaW5lACVzIGxpbmUgJWQKAAotLT44CgAucDgucG5nAGJicy8AcnVuX2NhcnQgY3VycmVudF9maWxlbmFtZTogJXMgcnVubmluZ19maWxlbmFtZTogJXMgcnVubmluZ19jYXJ0X2xpZDogJXMKAHN0YWNrIHRyYWNlYmFjawAnX21haW5sb29wAGluIGZ1bmN0aW9uICcAaW4gJXMgbGluZSAlZCAodGFiICVkKQBpbiBtYWluIGNodW5rAGF0IGxpbmUgJWQgKHRhYiAlZCkAZ2Mgbm90IHJ1bm5pbmc7IGNvdWxkIG5vdCBwZXJmb3JtIGVtZXJnZW5jeSBjb2xsZWN0aW9uCgBnYyBoYXJkIGNvbGxlY3Q6ICVkIC0+ICVkIChvdmVyaGVhZDolZCkKAG91dCBvZiBtZW1vcnkAcnVudGltZSBlcnJvciBsaW5lICVkIHRhYiAlZABydW50aW1lIGVycm9yAFtbAF1dAGtleXdvcmQgaGFzaCBjb2xsaXNpb246ICVzICVzCgBmdW5jdGlvbgBlbmQAZm9yAGlmAHRoZW4AZWxzZQBlbHNlaWYAd2hpbGUAbm90AGFuZABvcgBkbwBsb2NhbAByZXR1cm4AcmVwZWF0AHVudGlsAGdvdG8AYnJlYWsAbmlsAGluAGZvcmVhY2gAYWxsAG1lbnVpdGVtAHBhaXJzAGlwYWlycwAlc18lJWQuZ2lmACVzLmdpZgAqKiBFR2lmT3BlbkZpbGVOYW1lIGVycm9yICVkOiAlcwoAc2F2aW5nIGdpZiB0bzogJXMKAE5FVFNDQVBFMi4wAGdpZgAqKiBFR2lmU3BldygpIEdJRl9FUlJPUgoAW2NhcnRdAFsvY2FydF0AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLwBBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OV8tAHRydWUAZmFsc2UALnA4bAAudHh0AC5vYmoALm10bAAuc3ZnAC5wb3YALnNmZAAuY3N2AC5wcG0AWyVzXQBfX3JlZnVuZF9jcHVfXwBfX3BhaXJzX18AX19pcGFpcnNfXwBfX3N0b3AAX19wcmludABfX3ByaW50aABfX3Rvc3RyAF9fbG9hZABfX2V4dGNtZABfX3Rvc3RyaW5nX18AdG9zdHJpbmcAX190eXBlAF9fc2VsZWN0AF9fY29yZXN1bWUAX195aWVsZGVkX3RvX2VzY2FwZV9zbGljZQBjZABta2RpcgBydW4AbHMAbG9naW4AbG9hZABzYXZlAGhlbHAAcmVib290AHJlc2V0AHNodXRkb3duAGV4aXQAaW5mbwBleHBvcnQAaW1wb3J0AGZpbGU6ICVzJXMAdG9rZW5zOiAgICAgJTVkIC8gICVkAGNoYXJzOiAgICAgICU1ZCAvICVkAGNvbXByZXNzZWQ6ICU1ZCAvICVkAHVuc2F2ZWQgY2hhbmdlcwBleHRlcm5hbCBjaGFuZ2VzAGNvbnRpbnVlIHdpdGggc2h1dGRvd24/IFt5L25dAEBAIHBpY28tOCBzaHV0dGluZyBkb3duAGNvbnRpbnVlIHdpdGggcmVib290PyBbeS9uXQBjb21tYW5kcwBsb2FkIDxmaWxlbmFtZT4gIHNhdmUgPGZpbGVuYW1lPgBydW4gKG9yIGN0cmwtcikgIHJlc3VtZQBzaHV0ZG93biAgICAgICAgIHJlYm9vdABpbnN0YWxsX2RlbW9zICAgIGxzAGNkIDxkaXJuYW1lPiAgICAgbWtkaXIgPGRpcm5hbWU+AGNkIC4uICAgICAgdG8gZ28gdXAgYSBkaXJlY3RvcnkAa2V5Y29uZmlnICB0byBjaG9vc2UgYnV0dG9ucwBzcGxvcmUgICAgIHRvIGV4cGxvcmUgY2FydHJpZGdlcwBwcmVzcyBlc2MgdG8gdG9nZ2xlIGVkaXRvciB2aWV3AGFsdCtlbnRlciB0byB0b2dnbGUgZnVsbHNjcmVlbgBhbHQrZjQgb3IgY3RybC1xIHRvIGZhc3RxdWl0AHNlZSBwaWNvOC50eHQgZm9yIG1vcmUgaW5mbwBvciB2aXNpdDogd3d3LnBpY28tOC5jb20AY2FuIG5vdCBzYXZlIHdoaWxlIHJ1bm5pbmcAZmlsZW5hbWUgdG9vIGxvbmcAQHVybABAY2xpcABAY2xpcC5wOABAY2xpcC5wbmcAQGNsaXAucDgucG5nAHdhcm5pbmc6IGxhYmVsIGlzIGJsYW5rAHJ1biBjYXJ0IGFuZCBjdHJsLTcgdG8gY2FwdHVyZQBfY2xpcC5wOC5wbmcAX2NsaXAucDgucG5nLmhleABjb3BpZWQgdG8gdGV4dGZpZWxkIC0tIHByZXNzAGN0cmwtYyB0byBjb3B5IHRvIGNsaXBib2FyZCEAZmFpbGVkIHRvIHNhdmUgdG8gY2xpcGJvYXJkACogc2F2ZSBmYWlsZWQgKgBpbGxlZ2FsIGZpbGVuYW1lOgAlcyVzJXMAZmlsZSBhbHJlYWR5IGV4aXN0cwBvdmVyd3JpdGU/IFt5L25dAHNhdmVkICVzJXMAbG9naW4gdW5hdmFpbGFibGUAbWtkaXIgW25hbWVdACVzJXMlcy8AZGlyZWN0b3J5OiAvJXMAJXMlcy8AY2Q6IGZhaWxlZABkaXJlY3Rvcnkgbm90IGZvdW5kAC8lcwBsYWJlbABzYXZlZCBsYWJlbABzY3JlZW4AKiogY291bGQgbm90IHNhdmUgc2NyZWVuc2hvdABzYXZlZCBpbWFnZQBnZW5lcmF0ZWQgc2NyZWVuc2hvdAByZWMAcmVjX2ZyYW1lcwB2aWRlbwBAQCBzYXZlIGdpZiByZXN1bHQ6ICVkIHZpZGVvX2NsaXBfaW5kZXg6ICVkCgBubyB2aWRlbyByZWNvcmRlZCAoMCBmcmFtZXMpACoqIGNvdWxkIG5vdCBzYXZlIGdpZgBzYXZlZCAlZCBzZWNvbmQgZ2lmAGdlbmVyYXRlZCAlZCBzZWNvbmQgZ2lmAGF1ZGlvX3JlYwBhdWRpb19lbmQAcGF1c2UAY29udHJvbHMAYnJlYWRjcnVtYgBnb19iYWNrAHNldF90aXRsZQBzZXRfZmlsZW5hbWUAdW5rbm93biBleHRjbWQ6JXMAZG93bmxvYWRpbmcuLiAAYmFkIGNhcnRyaWRnZSBpZAAvYmJzL2Nwb3N0X2xpc3RlcjMucGhwP25mbz0xJnZlcnNpb249JXMlYyZsaWQ9JXMAQGRyb3BwZWQAZHJvcHBlZC5wOABsb2FkZWQgY2FydHJpZGdlICglZCBjaGFycykAc29ycnksIEBjbGlwIGlzIG5vdCBhdmFpbGFibGUAbG9hZGVkICVzJXMgKCVkIGNoYXJzKQBjb3VsZCBub3QgbG9hZDogZnV0dXJlIHZlcnNpb24AY291bGQgbm90IGxvYWQ6IGNvZGUgc2l6ZSA+IDY0awBjb3VsZCBub3QgbG9hZAAweCUwOHgAMHglMDR4LiUwNHgAcHJlc3MgY3RybC1jIHRvIGNvbXBsZXRlIGNvcHkAcHJpbnRoOiBiYWQgbG9nIGZpbGUgbmFtZQBwcmludGg6IHRvbyBtdWNoIGxvZyBkYXRhICgxMG1iIG1heCkAfCVzAHRvbyBtYW55IHByaW50aCBmaWxlcwBhACVzCgBwcmludGg6IGNvdWxkIG5vdCB3cml0ZSBmaWxlAGRlbGkAYWRkAGRlbABjb3VudABmbGlwAF9fZmxpcABfX3N1cGVyeWllbGQAY2FtZXJhAGNsaXAAY2xzAGZvbGRlcgBkaXIAYmFja3VwAGluc3RhbGxfZGVtb3MAaW5zdGFsbF9nYW1lcwBrZXljb25maWcAc3Bsb3JlAHBzZXQAcGdldABjb2xvcgBwcmludABwcmludGgAdG9zdHIAY3Vyc29yAHRvbnVtAHNwcgBzc3ByAHJlY3QAcmVjdGZpbGwAY2lyYwBjaXJjZmlsbABvdmFsAG92YWxmaWxsAGxpbmUAdGxpbmUAcGFsAHBhbHQAZmlsbHAAbWFwZHJhdwBtYXAAbWdldABtc2V0AGZnZXQAZnNldABzZ2V0AHNzZXQAc2Z4AHNlcmlhbABtZW1jcHkAbWVtc2V0AHJlbG9hZABjc3RvcmUAcm5kAHNyYW5kAGNlaWwAc2duAGFicwBjb3MAc2luAHNxcnQAYXRhbjIAYm5vdABmbHIAYmFuZABib3IAYnhvcgBzaGwAc2hyAGxzaHIAcm90bAByb3RyAG1pbgBtYXgAcGVlawBwZWVrMgBwZWVrNABwb2tlAHBva2UyAHBva2U0AHN0b3AAdGltZQB0AGxvZ291dABiYnNyZXEAc2NvcmVzdWIAZXh0Y21kAHJhZGlvAHNldF9kcmF3X3NsaWNlAGJ0bgBidG5wAF9tZW51aXRlbQBjYXJ0ZGF0YQBkZ2V0AGRzZXQAc3RhdABzdWIAY2hyAG9yZABzcGxpdABuZXh0AHNldG1ldGF0YWJsZQBnZXRtZXRhdGFibGUAcmF3ZXF1YWwAcmF3bGVuAHJhd2dldAByYXdzZXQAYXNzZXJ0AGNvY3JlYXRlAGNvcmVzdW1lAHlpZWxkAGNvc3RhdHVzAHVucGFjawBwYWNrAHNlbGVjdABfX3RyYWNlAHRyYWNlAGhvbGRmcmFtZQBfc3RhcnRmcmFtZQBfZ2V0X21lbnVfaXRlbV9zZWxlY3RlZABfdXBkYXRlX2J1dHRvbnMAX3VwZGF0ZV9mcmFtZXJhdGUAX3NldF9tYWlubG9vcF9leGlzdHMAX3NldF9mcHMAX21hcmtfY3B1AF9tYXBfZGlzcGxheQB0b28gbWFueSBvcmQgcmVzdWx0cwBkZXZraXQga2V5Ym9hcmQgZW5hYmxlZABkZXZraXQgbW91c2UgZW5hYmxlZAB7IHZhciBzdHIgPSB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7IHJldHVybiBhbGxvY2F0ZShpbnRBcnJheUZyb21TdHJpbmcoc3RyKSwgJ2k4JywgQUxMT0NfTk9STUFMKTsgfQBkc2V0IGNhbGxlZCBiZWZvcmUgY2FydGRhdGEoKQBkZ2V0IGNhbGxlZCBiZWZvcmUgY2FydGRhdGEoKQBoaWdoIHNjb3JlcyBub3QgaW1wbGVtZW50ZWQgeWV0IQBjYW4gbm90IGNvbm5lY3QgdG8gYmJzcmVxIGhvc3QAdG9vIG1hbnkgcGVlayByZXN1bHRzAGNzdG9yZS8Ac2FuZGJveGVkX2NzdG9yZSBmaWxlIG5vdCBmb3VuZDogJXMKACAgLS0+IHVzaW5nIGludGVybmFsIGZpbGU6ICVzCgBzcGxvcmUgaXMgbm90IGF2YWlsYWJsZQBpbiB0aGlzIHZlcnNpb24uAGluc3RhbGxpbmcgZ2FtZXMgdG8gL2dhbWVzLwBzb3JyeSwgZGVtb3MgYXJlIG5vdCBhdmFpbGFibGUuAGJhY2tlZCB1cCAlcyVzAGJhY2t1cHMAY29uZmlnAHVzZWFnZTogZm9sZGVyIFtsb2NhdGlvbl0AbG9jYXRpb25zOgBiYWNrdXBzIGNvbmZpZyBiYnMgZGVza3RvcABob3N0IGFsbG9jYXRpb24gZXJyb3IAJWRtYiArICVkawoAIT0AKz0ALT0AKj0ALz0AJT0AXD0AJj0AfD0AXl49ADw8Pj0APj48PQA8PD0APj4+PQA+Pj0AXj0ALi49ACVzID0gJXMgJXMgKCVzKSAlcwBpZigAaWYgAHdoaWxlKAB3aGlsZSAAKQAlcyB0aGVuICVzICVzIGVuZCAAJXMgZG8gJXMgJXMgZW5kIABeCiAwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXohIyUoKXt9W108Pis9Lyo6Oy4sfl8AaWYoX3VwZGF0ZTYwKV91cGRhdGU9ZnVuY3Rpb24oKV91cGRhdGU2MCgpX3VwZGF0ZTYwKCllbmQAaWYoX3VwZGF0ZTYwKV91cGRhdGU9ZnVuY3Rpb24oKV91cGRhdGU2MCgpX3VwZGF0ZV9idXR0b25zKClfdXBkYXRlNjAoKWVuZABHSUY4N2EAR0lGODlhAAABAwcPHz9//yVzJXMucDhkLnR4dAAlMDh4AGNhcnRkYXRhKCkgY2FuIG9ubHkgYmUgY2FsbGVkIG9uY2UAY2FydCBkYXRhIGlkIHRvbyBsb25nAGNhcnQgZGF0YSBpZDogYmFkIGNoYXIAcGxheWVyIGtleSBjb25maWcAc2F2ZWQgY29uZmlnLgBwcmVzcyBlc2NhcGUAdG8gY29udGludWUAcHJlc3Mga2V5IGZvcjoAZGVsIGZvciBkZWZhdWx0AGVzYyB0byBjYW5jZWwAJXMgOiAlcwBsZWZ0AHJpZ2h0AHVwAGRvd24AeiAvIGMgLyBuAHggLyB2IC8gbQBzAGYAZQBkAHRhYgBxAHAgLyBlbnRlcgBwMSBsZWZ0ICAgIABwMSByaWdodCAgIABwMSB1cCAgICAgIABwMSBkb3duICAgIABwMSCOICAgICAgAHAxIJcgICAgICAAcDIgbGVmdCAgICAAcDIgcmlnaHQgICAAcDIgdXAgICAgICAAcDIgZG93biAgICAAcDIgjiAgICAgIABwMiCXICAgICAgAHBhdXNlICAgICAgAGxydWRveHBjdXJzb3JzAHogeC9jIHYAcyBmIGUgZAB0YWIgcSB3ACAgICAgICAAJWQgam95c3RpY2tzIGRldGVjdGVkAC5wbmcAfCUtMjBzIHwlLTIwcyB8JS02ZCB8JS0xNnMgfCUtMjBzIHwlcwoAY291bGQgbm90IGxvYWQgZmF2b3VyaXRlcyBmaWxlOiAlcwoAYmJzAGJicy8lZC8AJXN0ZW1wLSVkLm5mbwAlcyVkLnA4LnBuZwBiYnMvY2FydHMAJXMvdGVtcC0lcy5uZm8AJXMvJXMucDgucG5nACVzL2Jicy9nZXRfY2FydC5waHA/Y2F0PTcmcGxheV9zcmM9JWQmbGlkPSVzAGJicy9sYWJlbHMvACVzJXMucG5nAHJ1biBjYXJ0AG9wdGlvbnMAcmVtb3ZlIGZyb20gZmF2b3VyaXRlcwBmYXZvdXJpdGUAY2FydHMgYnkgQCVzAHNpbWlsYXIgY2FydHMAc2VhcmNoIGJicyB0aHJlYWQAb3BlbiB0aHJlYWQgaW4gYnJvd3NlcgBbYmFja10AZWRpdCBjYXJ0AHJlLWRvd25sb2FkAG9wZW4gaW4gYnJvd3NlcgBiYWNrAHZvbHVtZQBmdWxsc2NyZWVuAHNodXRkb3duIHBpY28tOABjYXQ9NyZzZWFyY2g9JXMmbWF4PTMyAGJicy90ZW1wXyVzX18ucGlwLnBuZwBiYnMvdGVtcF8lcy5waXAucG5nAGJicy8lcy5waXAucG5nAC9iYnMvY3Bvc3RfbGlzdGVyMy5waHA/bWF4PTMyJnN0YXJ0X2luZGV4PSVkJiVzJnZlcnNpb249JXMlYyZjZmlsPSVkADAwMDIwNABkb3dubG9hZCBmYWlsZWQAKgAucDgAbGlkAHRpdGxlAGF1dGhvcgBtaWQAY2F0c3ViACBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkAY2FuY2VsbGVkAGRvd25sb2FkIGNhbmNlbGxlZABQSUNPLTgAeyBpZiAodHlwZW9mIHBpY284X2dwaW8gIT09ICd1bmRlZmluZWQnKSBwaWNvOF9ncGlvWyQwXT0kMX0Ae3ZhciB2YWw9MDsgaWYgKHR5cGVvZiBwaWNvOF9ncGlvICE9PSAndW5kZWZpbmVkJykgdmFsID0gcGljbzhfZ3Bpb1skMF07IHJldHVybiB2YWx9AGhlbGxvLnA4AGFwaS5wOABhdXRvbWF0YS5wOABib3VuY2UucDgAY2FzdC5wOABjb2xsaWRlLnA4AGRvdHMzZC5wOABkcmlwcHkucDgAamVscGkucDgAc29ydC5wOAB3YW5kZXIucDgAd2F2ZXMucDgAMTUxMzMAMTk2MzkAMTAwMjIAMTk0ODgAMTg5NzMANDE0MjIANTcyMDEAY2VsZXN0ZS5wOC5wbmcAZnJvZ19ob21lLnA4LnBuZwBodWdfYXJlbmEucDgucG5nAGFyY2hlb3MucDgucG5nAGR1c2tfY2hpbGQucDgucG5nADhfbGVnc190b19sb3ZlLnA4LnBuZwBlbWJyYWNlLnA4LnBuZwBjZWxlc3RlAGZyb2cgaG9tZQBodWcgYXJlbmEAdG93ZXIgb2YgYXJjaGVvcwBkdXNrIGNoaWxkADggbGVncyB0byBsb3ZlAGVtYnJhY2UAaW5zdGFsbGluZyBkZW1vIGNhcnRzIHRvIC9kZW1vcy8AZGVtb3MvAGNvdWxkIG5vdCB3cml0ZSB0byBkaXNrAGZhdm91cml0ZXMudHh0AGdhbWVzLwAjaW5jbHVkZSAAY2FuIG5vdCAjaW5jbHVkZQBzZXJpYWwgYnVmZmVyIG92ZXJmbG93ACUxMDIzcwBmcmVxAGRtYQB0eXBlAGJyaWdodG5lc3MAaW52ZXJ0AGxlZHMAcGljby04IDAuMi40QwAoYykgMjAxNC0yMiBsZXhhbG9mZmxlIGdhbWVzIGxscAB1c2luZyB0ZW1wb3JhcnkgYnJvd3NlciBzdG9yYWdlAGZldGNoaW5nIGNhcnRyaWRnZS4uAGJvb3RpbmcgY2FydHJpZGdlLi4AW2NvZG9dICVzAD5jb2RvX2luaXQKAHBsYXRmb3JtOiAlcwoARW1zY3JpcHRlbgBjb2RvX3N5c3RlbV9pbml0CgBjb2RvX3Jlc2V0X3RpbWVyCgBjb2RvX2d1aV9pbml0CgBjb2RvX2tleXNfaW5pdAoAY29kb190ZXh0X2luaXQKAGNvZG9fdmlkZW9faW5pdAoAY29kb19tb3VzZV9pbml0CgBjb2RvX2pveXN0aWNrX2luaXQKADxvawoAd2lkdGgAaGVpZ2h0AHdpbmRvd194AHdpbmRvd195AHNvdW5kAG11c2ljAHNvZnR3YXJlX2JsaXQAc29mdHdhcmVfYmxpdHRlcgBob21lAGRlc2t0b3AAcGl4ZWxfcGVyZmVjdABkcmF3X3JlY3QAdGltZW91dABoZWFkbGVzcwBwZXJmX3RpbWluZwBmcmFtZWJ1ZmZlcgBlbXVsYXRlX3RleHRpbnB1dABkZWZlcnJlZF9kZWFsbG9jAGV4dF9kaXNwbGF5AHByZWJsaXRfc2NhbGUAZGlzcGxheQBsb2dfc3lzdGVtX2luZm8AJWQAJWQsJWQsJWQsJWQAPmNvZG9fZXhpdAoAY211c2ljX3N0b3AKAGNvZG9fbWFpbl9leGl0CgBjb2RvX2NvbmZpZ19zYXZlCgBjb2RvX3NvdW5kX2V4aXQKAGNvZG9fdmlkZW9fZXhpdAoAY29kb19qb3lzdGlja19leGl0CgBjb2RvX3N5c3RlbV9leGl0CgBjb2RvX2l0ZW1zX2NyZWF0ZWQ6ICVkCgBGUy5zeW5jZnMoIGZhbHNlLCBmdW5jdGlvbiAoZXJyKSB7IH0gKTsAY29kb19kZXN0cm95X3BvZDogY3BvZC0+aXRlbXMgIT0gMAoAQmFkIGNwb2RfYWRkX2l0ZW0gdHlwZQBCYWQgY3BvZF9hZGRfaXRlbQBjb2RvX2xvYWRfcG9kX2ZpbGU6IFVua25vd24gQ2h1bmshCgByYgBmYWlsZWQAb2sAY29kb19sb2FkX3BvZDogJXMgJXMgCgAqKiB3ZWIgZmlsZSBzeXN0ZW0gbm90IG1vdW50ZWQuIHJldHVybmluZyB2ZGlzayBmaWxlOiAlcyAoJXMpCgAgLT4gcmV0dXJuaW5nIHZkaXNrIGZpbGU6ICVzICglcykKACJ7cmV0dXJuICgodHlwZW9mIHA4X3RvdWNoX2RldGVjdGVkID09PSAndW5kZWZpbmVkJykgfHwgIXA4X3RvdWNoX2RldGVjdGVkKSA/IDAgOiAxO30iAEBAIGRlZmF1bHQgbWl4X2J1ZmZlcl9zaXplIGFkanVzdGVkIHRvIDIwNDggKE1vYmlsZSkAY29uZmlnLnR4dABGb3VuZCBjb25maWcudHh0CgA+CgAlMDJkICVzCgB2aWRlb19tb2RlACAlZCAlZAB3aW5kb3dfc2l6ZQBzY3JlZW5fc2l6ZQB3aW5kb3dlZAAgJWQAZm9yZWdyb3VuZF9zbGVlcF9tcwBiYWNrZ3JvdW5kX3NsZWVwX21zAHNvdW5kX3ZvbHVtZQBtdXNpY192b2x1bWUAbWl4X2J1ZmZlcl9zaXplAHdpbmRpYgBvcGVuZ2xfYmxpdABzaG93X2ZwcwBsYXJnZV93aW5kb3cAZnJhbWVsZXNzAHdpbmRvd19wb3NpdGlvbgBuZXcgd2luZG93IHBvc2l0aW9uOiAlZCwgJWQKAHNlc3Npb25zAHJtYl9rZXkAZGVza3RvcF9wYXRoAGZ1bGxzY3JlZW5fbWV0aG9kAHJlYWRfY29udHJvbGxlcnNfaW5fYmFja2dyb3VuZAA8CgB3AHNvdW5kX3ZvbHVtZSAlZCAvLyAwLi4yNTYKAG11c2ljX3ZvbHVtZSAlZCAvLyAwLi4yNTYKAGNvZG9fc3BsaXRfZmlsZW5hbWVfZXg6IGZpbGVfbmFtZSB0b28gbG9uZwoALi4AfgBjb2RvX3NhdmVfcG5nIHJlc3VsdDogJWQgIGZpbGU6ICVzCgAKQXNzZXJ0aW9uIGZhaWxlZDogJXMKAENvdWxkIG5vdCBhbGxvY2F0ZSB2ZXJ0ZXgAQ291bGQgbm90IGFsbG9jYXRlIGJvbmVfdmVydGV4AENvdWxkIG5vdCBhbGxvY2F0ZSBwb2x5AGFjdG9yJWQAIABJSERSAFBMVEUAYktHRABwSFlzAElEQVQAdElNRQB6VFh0AExvZGVQTkcAMjAxMTAyMjEAaVRYdAB0RVh0AHRSTlMAY29kb19mcmVlIGZhaWwgJXggJXgKACUwOHglMDh4JTA4eCUwOHglMDh4ACJ7cmV0dXJuIGRvY3VtZW50LmhpZGRlbiA/IDEgOiAwO30iAGNvZG9fc291bmRfaW5pdCBtaXhfYnVmZmVyX3NpemU6ICVkCgBjb2RvX3NldF9zY3JlZW4gJWQgJWQgJWQgJXgKAHJldHJpZXZpbmcgZGVza3RvcCByZXNvbHV0aW9uOiAlZCAlZAoAIHdpbmRvdyBzaXplOiAlZCAlZAoAIGRlc2t0b3Agc2l6ZTogJWQgJWQKAG9rCgAlWS0lbS0lZCAlSDolTTolUwAlcy8lcwAlZC0lZC0lZCAlZDolZDolZABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAMQAyADMANAA1ADYANwA4ADkAMABSZXR1cm4ARXNjYXBlAEJhY2tzcGFjZQBUYWIAU3BhY2UALQA9AFsAXQBTbGFzaAAjADsAJwBgACwALwBDYXBzTG9jawBGMQBGMgBGMwBGNABGNQBGNgBGNwBGOABGOQBGMTAARjExAEYxMgBQcmludFNjcmVlbgBTY3JvbGxMb2NrAFBhdXNlAEluc2VydABIb21lAFBhZ2VVcABEZWxldGUARW5kAFBhZ2VEb3duAFJpZ2h0AExlZnQARG93bgBVcABOdW1sb2NrAEtleXBhZCAvAEtleXBhZCAqAEtleXBhZCAtAEtleXBhZCArAEtleXBhZCBFbnRlcgBLZXlwYWQgMQBLZXlwYWQgMgBLZXlwYWQgMwBLZXlwYWQgNABLZXlwYWQgNQBLZXlwYWQgNgBLZXlwYWQgNwBLZXlwYWQgOABLZXlwYWQgOQBLZXlwYWQgMABLZXlwYWQgLgBBcHBsaWNhdGlvbgBQb3dlcgBLZXlwYWQgPQBGMTMARjE0AEYxNQBGMTYARjE3AEYxOABGMTkARjIwAEYyMQBGMjIARjIzAEYyNABFeGVjdXRlAEhlbHAATWVudQBTZWxlY3QAU3RvcABBZ2FpbgBVbmRvAEN1dABDb3B5AFBhc3RlAEZpbmQATXV0ZQBWb2x1bWVVcABWb2x1bWVEb3duAEtleXBhZCAsAEtleXBhZCA9IChBUzQwMCkAQWx0RXJhc2UAU3lzUmVxAENhbmNlbABDbGVhcgBQcmlvcgBTZXBhcmF0b3IAT3V0AE9wZXIAQ2xlYXIgLyBBZ2FpbgBDclNlbABFeFNlbABLZXlwYWQgMDAAS2V5cGFkIDAwMABUaG91c2FuZHNTZXBhcmF0b3IARGVjaW1hbFNlcGFyYXRvcgBDdXJyZW5jeVVuaXQAQ3VycmVuY3lTdWJVbml0AEtleXBhZCAoAEtleXBhZCApAEtleXBhZCB7AEtleXBhZCB9AEtleXBhZCBUYWIAS2V5cGFkIEJhY2tzcGFjZQBLZXlwYWQgQQBLZXlwYWQgQgBLZXlwYWQgQwBLZXlwYWQgRABLZXlwYWQgRQBLZXlwYWQgRgBLZXlwYWQgWE9SAEtleXBhZCBeAEtleXBhZCAlAEtleXBhZCA8AEtleXBhZCA+AEtleXBhZCAmAEtleXBhZCAmJgBLZXlwYWQgfABLZXlwYWQgfHwAS2V5cGFkIDoAS2V5cGFkICMAS2V5cGFkIFNwYWNlAEtleXBhZCBAAEtleXBhZCAhAEtleXBhZCBNZW1TdG9yZQBLZXlwYWQgTWVtUmVjYWxsAEtleXBhZCBNZW1DbGVhcgBLZXlwYWQgTWVtQWRkAEtleXBhZCBNZW1TdWJ0cmFjdABLZXlwYWQgTWVtTXVsdGlwbHkAS2V5cGFkIE1lbURpdmlkZQBLZXlwYWQgKy8tAEtleXBhZCBDbGVhcgBLZXlwYWQgQ2xlYXJFbnRyeQBLZXlwYWQgQmluYXJ5AEtleXBhZCBPY3RhbABLZXlwYWQgRGVjaW1hbABLZXlwYWQgSGV4YWRlY2ltYWwATGVmdCBDdHJsAExlZnQgU2hpZnQATGVmdCBBbHQATGVmdCBHVUkAUmlnaHQgQ3RybABSaWdodCBTaGlmdABSaWdodCBBbHQAUmlnaHQgR1VJAE1vZGVTd2l0Y2gAQXVkaW9OZXh0AEF1ZGlvUHJldgBBdWRpb1N0b3AAQXVkaW9QbGF5AEF1ZGlvTXV0ZQBNZWRpYVNlbGVjdABXV1cATWFpbABDYWxjdWxhdG9yAENvbXB1dGVyAEFDIFNlYXJjaABBQyBIb21lAEFDIEJhY2sAQUMgRm9yd2FyZABBQyBTdG9wAEFDIFJlZnJlc2gAQUMgQm9va21hcmtzAEJyaWdodG5lc3NEb3duAEJyaWdodG5lc3NVcABEaXNwbGF5U3dpdGNoAEtCRElsbHVtVG9nZ2xlAEtCRElsbHVtRG93bgBLQkRJbGx1bVVwAEVqZWN0AFNsZWVwAEFwcDEAQXBwMgBBdWRpb1Jld2luZABBdWRpb0Zhc3RGb3J3YXJkAFVuYWJsZSB0byBpbml0aWFsaXplIFNETABpZiAodHlwZW9mIGNvZG9fa2V5X2J1ZmZlciA9PT0gJ3VuZGVmaW5lZCcpIGNvZG9fa2V5X2J1ZmZlciA9IFtdOyBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgZnVuY3Rpb24oZSl7IHZhciB2YWwgPSAtMTsgaWYgKGUua2V5Lmxlbmd0aCA9PSAxKSB7IHZhbCA9IGUua2V5LmNoYXJDb2RlQXQoMCk7IH0gZWxzZSB7IGlmIChlLmtleSA9PSAiVGFiIikgdmFsID0gOTsgaWYgKGUua2V5ID09ICJFbnRlciIpIHZhbCA9IDEzOyBpZiAoZS5rZXkgPT0gIkJhY2tzcGFjZSIpIHZhbCA9IDg7IGlmIChlLmtleSA9PSAiRXNjYXBlIikgdmFsID0gMjc7IGlmICh2YWwgPT0gLTEpeyB9IH0gdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvZG9fdGV4dGFyZWEiKTsgY29kb19rZXlfYnVmZmVyLnB1c2godmFsKTsgfSk7AHZhciBfY29kb190ZXh0X3ZhbHVlID0gIiI7IHZhciBfY29kb19zdHJfb3V0ID0gIiI7IHZhciBjb2RvX3doZWVsX2R4ID0gMDsgdmFyIGNvZG9fd2hlZWxfZHkgPSAwOyBhZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCBmdW5jdGlvbihldmVudCl7IGlmICh0eXBlb2YgcGljbzhfc3RhdGUgIT09ICd1bmRlZmluZWQnKSBpZiAoZXZlbnQudGFyZ2V0LnRhZ05hbWUudG9Mb3dlckNhc2UoKSAhPSAiY2FudmFzIikgeyBwaWNvOF9zdGF0ZS5jbGlja2VkX291dHNpZGUgPSB0cnVlOyB9IH0pOwBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd3aGVlbCcsIGZ1bmN0aW9uKGUpeyBkeCA9IGUuZGVsdGFYOyBpZiAoZHggPCAwKSBkeCA9IC0xOyBpZiAoZHggPiAwKSBkeCA9IDE7IGlmIChlLmRlbHRhTW9kZSA9PSAyKSBkeCAqPSA0OyBpZiAodHlwZW9mIGNvZG9fd2hlZWxfZHggIT09ICd1bmRlZmluZWQnKSBjb2RvX3doZWVsX2R4IC09IGR4OyBkeSA9IGUuZGVsdGFZOyBpZiAoZHkgPCAwKSBkeSA9IC0xOyBpZiAoZHkgPiAwKSBkeSA9IDE7IGlmIChlLmRlbHRhTW9kZSA9PSAyKSBkeSAqPSA0OyBpZiAodHlwZW9mIGNvZG9fd2hlZWxfZHkgIT09ICd1bmRlZmluZWQnKSBjb2RvX3doZWVsX2R5IC09IGR5OyB9KTsACgoqKiBGQVRBTCBFUlJPUjogJXMKCgBTREwgRXJyb3I6ICVzCgAie3ZhciByZXQgPSAwOyBpZiAodHlwZW9mIHBpY284X21vdXNlICE9PSAndW5kZWZpbmVkJyAmJiBwaWNvOF9tb3VzZS5sZW5ndGggPiAwKSByZXQ9MTsgcmV0dXJuIHJldDt9IgAie3JldHVybiBwaWNvOF9tb3VzZVswXX0iACJ7cmV0dXJuIHBpY284X21vdXNlWzFdfSIAZnVuY3Rpb24gYXVkaW9fbG9nKG1zZykgeyBpZiAod2luZG93LmNvbnNvbGUgJiYgd2luZG93LmNvbnNvbGUubG9nKSB7IHdpbmRvdy5jb25zb2xlLmxvZygiW2NvZG9dIGF1ZGlvX2luaXRfd2ViYXVkaW8gIittc2cpOyB9IH0gYXVkaW9fbG9nKCJhdWRpb19pbml0Iik7IHZhciBjb2RvX2F1ZGlvX2NvbnRleHQ7IGlmICh0eXBlb2YgTW9kdWxlID09PSAndW5kZWZpbmVkJykgYXVkaW9fbG9nKCIgKioqIE1vZHVsZSB1bmRlZmluZWQiKTsgZWxzZSBpZiAodHlwZW9mIE1vZHVsZS5jY2FsbCA9PT0gJ3VuZGVmaW5lZCcpIGF1ZGlvX2xvZygiICoqKiogTW9kdWxlLmNjYWxsIHVuZGVmaW5lZCIpOyBlbHNlIHsgdmFyIHdlYkF1ZGlvQVBJID0gd2luZG93LkF1ZGlvQ29udGV4dCB8fCB3aW5kb3cud2Via2l0QXVkaW9Db250ZXh0IHx8IHdpbmRvdy5tb3pBdWRpb0NvbnRleHQgfHwgd2luZG93Lm9BdWRpb0NvbnRleHQgfHwgd2luZG93Lm1zQXVkaW9Db250ZXh0OyBpZiAod2ViQXVkaW9BUEkpIHsgaWYgKHR5cGVvZiBwaWNvOF9hdWRpb19jb250ZXh0ICE9PSAndW5kZWZpbmVkJykgeyBjb2RvX2F1ZGlvX2NvbnRleHQgPSBwaWNvOF9hdWRpb19jb250ZXh0OyBhdWRpb19sb2coImZvdW5kIHBpY284X2F1ZGlvX2NvbnRleHQiKTsgfSBlbHNlIGlmICh0eXBlb2Ygdm94YXRyb25fYXVkaW9fY29udGV4dCAhPT0gJ3VuZGVmaW5lZCcpIHsgY29kb19hdWRpb19jb250ZXh0ID0gdm94YXRyb25fYXVkaW9fY29udGV4dDsgYXVkaW9fbG9nKCJmb3VuZCB2b3hhdHJvbl9hdWRpb19jb250ZXh0Iik7IH0gZWxzZSB7IGNvZG9fYXVkaW9fY29udGV4dCA9IG5ldyB3ZWJBdWRpb0FQSTsgYXVkaW9fbG9nKCJjcmVhdGluZyBvd24gYXVkaW8gY29udGV4dCIpOyB9IGlmIChjb2RvX2F1ZGlvX2NvbnRleHQpIHsgYXVkaW9fbG9nKCJTYW1wbGUgUmF0ZTogIitjb2RvX2F1ZGlvX2NvbnRleHQuc2FtcGxlUmF0ZSk7IGF1ZGlvX2xvZygiQnVmZmVyIFNpemU6ICIrJDApOyBub2RlID0gY29kb19hdWRpb19jb250ZXh0LmNyZWF0ZVNjcmlwdFByb2Nlc3NvcigkMCwgMSwgMSk7IG5vZGUub25hdWRpb3Byb2Nlc3MgPSBmdW5jdGlvbihlKSB7IHZhciBkYXRhID0gZS5vdXRwdXRCdWZmZXIuZ2V0Q2hhbm5lbERhdGEoMCk7IHZhciByID0gMjIwNTAuMCAvIGNvZG9fYXVkaW9fY29udGV4dC5zYW1wbGVSYXRlOyB2YXIgbGVuMCA9IE1hdGguZmxvb3IoZGF0YS5sZW5ndGggKiByKTsgdmFyIGxlbjEgPSBkYXRhLmxlbmd0aDsgdmFyIHB0ciA9IE1vZHVsZS5jY2FsbCgnbWl4XzAnLCAnbnVtYmVyJywgWydudW1iZXInLCdudW1iZXInXSwgW2xlbjAsIGxlbjFdKTsgZm9yICh2YXIgaiA9IDA7IGogPCBkYXRhLmxlbmd0aDsgaisrKSBkYXRhW2pdID0gTW9kdWxlLmdldFZhbHVlKHB0ciArIGoqMiwgJ2kxNicpIC8gMHg4MDAwOyB9OyBub2RlLmNvbm5lY3QoY29kb19hdWRpb19jb250ZXh0LmRlc3RpbmF0aW9uKTsgfSBlbHNlIHsgYXVkaW9fbG9nKCIqKiBmYWlsZWQgdG8gY3JlYXRlIGNvZG9fYXVkaW9fY29udGV4dCIpOyB9IH0gZWxzZSB7IGF1ZGlvX2xvZygiKiogd2ViQXVkaW9BUEkgbm90IGZvdW5kIik7IH0gfQAie3JldHVybiBkb2N1bWVudC5wb2ludGVyTG9ja0VsZW1lbnQgPyAxIDogMDt9IgAiaWYgKHR5cGVvZiBjb2RvX2tleV9idWZmZXIgPT09ICd1bmRlZmluZWQnKSBjb2RvX2tleV9idWZmZXIgPSBbXTsgcmV0dXJuIGNvZG9fa2V5X2J1ZmZlci5sZW5ndGggPiAwID8gMSA6IDA7IgAiaWYgKHR5cGVvZiBjb2RvX2tleV9idWZmZXIgPT09ICd1bmRlZmluZWQnKSBjb2RvX2tleV9idWZmZXIgPSBbXTsgbGV0IHZhbCA9IGNvZG9fa2V5X2J1ZmZlci5zaGlmdCgpIHwgMDsgcmV0dXJuIHZhbDsiAHJlYWQgY3Vyc29yIGtleSAlZAoAInt0ZW1wID0gKHR5cGVvZiBjb2RvX3doZWVsX2R4ICE9PSAndW5kZWZpbmVkJykgPyBjb2RvX3doZWVsX2R4OjA7IGNvZG9fd2hlZWxfZHggPSAwOyByZXR1cm4gdGVtcDt9IgAie3RlbXAgPSAodHlwZW9mIGNvZG9fd2hlZWxfZHkgIT09ICd1bmRlZmluZWQnKSA/IGNvZG9fd2hlZWxfZHk6MDsgY29kb193aGVlbF9keSA9IDA7IHJldHVybiB0ZW1wO30iACJ7IGlmIChkb2N1bWVudC5oaWRkZW4pIHJldHVybiAwOyBlbCA9ICh0eXBlb2YgY29kb190ZXh0YXJlYSA9PT0gJ3VuZGVmaW5lZCcpID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJjb2RvX3RleHRhcmVhXCIpIDogY29kb190ZXh0YXJlYTsgaWYgKGVsICYmIGVsID09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHJldHVybiAxOyBlbCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7IHJldHVybiAoIWVsIHx8IChlbC50YWdOYW1lLnRvTG93ZXJDYXNlKCkgIT0gXCJpbnB1dFwiICYmIGVsLnRhZ05hbWUudG9Mb3dlckNhc2UoKSAhPSBcInRleHRhcmVhXCIpKTsgfSIAInsgaWYgKCh0eXBlb2YgcGljbzhfc3RhdGUpICE9PSAndW5kZWZpbmVkJykgaWYgKHBpY284X3N0YXRlLmNsaWNrZWRfb3V0c2lkZSkgeyBwaWNvOF9zdGF0ZS5jbGlja2VkX291dHNpZGUgPSBmYWxzZTsgcmV0dXJuIDE7IH0gcmV0dXJuIDA7IH0iAGVsID0gKHR5cGVvZiBjb2RvX3RleHRhcmVhID09PSAndW5kZWZpbmVkJykgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29kb190ZXh0YXJlYSIpIDogY29kb190ZXh0YXJlYTsgaWYgKGVsICYmIGVsLnN0eWxlLmRpc3BsYXkgIT0gIm5vbmUiKSB7IGVsLmZvY3VzKCk7IGVsLnNlbGVjdCgpOyB9AGVsID0gKHR5cGVvZiBjb2RvX3RleHRhcmVhID09PSAndW5kZWZpbmVkJykgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29kb190ZXh0YXJlYSIpIDogY29kb190ZXh0YXJlYTsgaWYgKGVsICYmIGVsLnN0eWxlLmRpc3BsYXkgIT0gIm5vbmUiKSB7IGVsLnNlbGVjdCgpOyB9ACJ7cmV0dXJuIHBpY284X21vdXNlWzJdfSIAL3VzZXJfZGF0YS8lcwAie3ZhciB2YWw9MDsgaWYgKHR5cGVvZiBjb2RvX21vdW50ZWRfZmlsZXN5c3RlbSAhPT0gJ3VuZGVmaW5lZCcpIHZhbD0xOyByZXR1cm4gdmFsO30iAEBAIGNvZG9fbWtkaXIgZmFpbGVkOyBmaWxlc3lzdGVtIG5vdCBtb3VudGVkAF9kaXJfbmFtZT0iIjsAe19kaXJfbmFtZT1fZGlyX25hbWUrU3RyaW5nLmZyb21DaGFyQ29kZSgkMCk7fQBGUy5jcmVhdGVQYXRoKCIiLCBfZGlyX25hbWUsIHRydWUsIHRydWUpOwBbY29kb10gZXhpdGluZyBwb2ludGVyIGxvY2sAe01vZHVsZVsnY2FudmFzJ10uZXhpdFBvaW50ZXJMb2NrKCk7fQBAQCBjb2RvX3dnZXRfb25lcnJvcjogJXMKAGVsID0gKHR5cGVvZiBjb2RvX3RleHRhcmVhID09PSAndW5kZWZpbmVkJykgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29kb190ZXh0YXJlYSIpIDogY29kb190ZXh0YXJlYTsgaWYgKGVsKSB7IH0AX2NvZG9fc3RyX291dD0iIjsAeyBfY29kb19zdHJfb3V0ID0gTW9kdWxlLlVURjhUb1N0cmluZygkMCwgJDEpOyB9ACJ7IGVsID0gKHR5cGVvZiBjb2RvX3RleHRhcmVhID09PSAndW5kZWZpbmVkJykgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImNvZG9fdGV4dGFyZWFcIikgOiBjb2RvX3RleHRhcmVhOyBpZiAoZWwpIHsgZWwudmFsdWUgPSBfY29kb19zdHJfb3V0OyByZXR1cm4gMDsgfSBlbHNlIHJldHVybiAxOyB9IgBlbCA9ICh0eXBlb2YgY29kb190ZXh0YXJlYSA9PT0gJ3VuZGVmaW5lZCcpID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvZG9fdGV4dGFyZWEiKSA6IGNvZG9fdGV4dGFyZWE7IGlmIChlbCAmJiBlbC5zdHlsZS5kaXNwbGF5ID09ICJub25lIiAmJiAoKHR5cGVvZiBwOF90b3VjaF9kZXRlY3RlZCA9PT0gJ3VuZGVmaW5lZCcpIHx8ICFwOF90b3VjaF9kZXRlY3RlZCkpIHsgZWwuc3R5bGUuZGlzcGxheSA9ICIiOyBlbC5mb2N1cygpOyBlbC5zZWxlY3QoKTsgfQB7IE1vZHVsZS5zdHJpbmdUb1VURjgoX2NvZG9fdGV4dF92YWx1ZSwgJDAsICQxKTsgfQAiZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiY29kb190ZXh0YXJlYVwiKSA6IGNvZG9fdGV4dGFyZWE7IGlmIChlbCAmJiBlbC5zdHlsZS5kaXNwbGF5ICE9IFwibm9uZVwiICYmIGVsLnZhbHVlICE9IFwiXCIpIHsgX2NvZG9fdGV4dF92YWx1ZSA9IGVsLnZhbHVlOyByZXR1cm4gMTsgfSByZXR1cm4gMDsiACVzJXMAcGljby04IGNhcnRyaWRnZQB2ZXJzaW9uICVkACMjZW5kX3A4AF9fbHVhX18AX19nZnhfXwBfX2dmZl9fAF9fbWFwX18AX19zZnhfXwBfX211c2ljX18AX19sYWJlbF9fAF9fY2hhbmdlX21hc2tfXwBfX21ldGE6ACUwMnglMDJ4JTAyeCUwMngAJTAyeCUxeCUxeCUxeAAlMDJ4IAAKAHIAcGljby04IGNhcnRyaWRnZSAvLyBodHRwOi8vd3d3LnBpY28tOC5jb20KAHZlcnNpb24gJWQKAF9fbHVhX18KAF9fZ2Z4X18KACV4AF9fbGFiZWxfXwoAX19nZmZfXwoAJTAyeABfX21hcF9fCgBfX3NmeF9fCgAlMDJ4JXgleCV4AF9fbXVzaWNfXwoAJTAyeCUwMnglMDJ4JTAyeAoAX19jaGFuZ2VfbWFza19fCgB3YgAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgAAAQIEBwMGBQBpbmZpbml0eQBuYW4AcndhAC4="; var tempDoublePtr = 3300896; function ___setErrNo(value) { if (Module["___errno_location"]) HEAP32[Module["___errno_location"]() >> 2] = value; return value; } var PATH = { splitPath: function(filename) { var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; return splitPathRe.exec(filename).slice(1); }, normalizeArray: function(parts, allowAboveRoot) { var up = 0; for (var i = parts.length - 1; i >= 0; i--) { var last = parts[i]; if (last === ".") { parts.splice(i, 1); } else if (last === "..") { parts.splice(i, 1); up++; } else if (up) { parts.splice(i, 1); up--; } } if (allowAboveRoot) { for (;up; up--) { parts.unshift(".."); } } return parts; }, normalize: function(path) { var isAbsolute = path.charAt(0) === "/", trailingSlash = path.substr(-1) === "/"; path = PATH.normalizeArray(path.split("/").filter(function(p) { return !!p; }), !isAbsolute).join("/"); if (!path && !isAbsolute) { path = "."; } if (path && trailingSlash) { path += "/"; } return (isAbsolute ? "/" : "") + path; }, dirname: function(path) { var result = PATH.splitPath(path), root = result[0], dir = result[1]; if (!root && !dir) { return "."; } if (dir) { dir = dir.substr(0, dir.length - 1); } return root + dir; }, basename: function(path) { if (path === "/") return "/"; var lastSlash = path.lastIndexOf("/"); if (lastSlash === -1) return path; return path.substr(lastSlash + 1); }, extname: function(path) { return PATH.splitPath(path)[3]; }, join: function() { var paths = Array.prototype.slice.call(arguments, 0); return PATH.normalize(paths.join("/")); }, join2: function(l, r) { return PATH.normalize(l + "/" + r); }, resolve: function() { var resolvedPath = "", resolvedAbsolute = false; for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { var path = i >= 0 ? arguments[i] : FS.cwd(); if (typeof path !== "string") { throw new TypeError("Arguments to path.resolve must be strings"); } else if (!path) { return ""; } resolvedPath = path + "/" + resolvedPath; resolvedAbsolute = path.charAt(0) === "/"; } resolvedPath = PATH.normalizeArray(resolvedPath.split("/").filter(function(p) { return !!p; }), !resolvedAbsolute).join("/"); return (resolvedAbsolute ? "/" : "") + resolvedPath || "."; }, relative: function(from, to) { from = PATH.resolve(from).substr(1); to = PATH.resolve(to).substr(1); function trim(arr) { var start = 0; for (;start < arr.length; start++) { if (arr[start] !== "") break; } var end = arr.length - 1; for (;end >= 0; end--) { if (arr[end] !== "") break; } if (start > end) return []; return arr.slice(start, end - start + 1); } var fromParts = trim(from.split("/")); var toParts = trim(to.split("/")); var length = Math.min(fromParts.length, toParts.length); var samePartsLength = length; for (var i = 0; i < length; i++) { if (fromParts[i] !== toParts[i]) { samePartsLength = i; break; } } var outputParts = []; for (var i = samePartsLength; i < fromParts.length; i++) { outputParts.push(".."); } outputParts = outputParts.concat(toParts.slice(samePartsLength)); return outputParts.join("/"); } }; var TTY = { ttys: [], init: function() {}, shutdown: function() {}, register: function(dev, ops) { TTY.ttys[dev] = { input: [], output: [], ops: ops }; FS.registerDevice(dev, TTY.stream_ops); }, stream_ops: { open: function(stream) { var tty = TTY.ttys[stream.node.rdev]; if (!tty) { throw new FS.ErrnoError(ERRNO_CODES.ENODEV); } stream.tty = tty; stream.seekable = false; }, close: function(stream) { stream.tty.ops.flush(stream.tty); }, flush: function(stream) { stream.tty.ops.flush(stream.tty); }, read: function(stream, buffer, offset, length, pos) { if (!stream.tty || !stream.tty.ops.get_char) { throw new FS.ErrnoError(ERRNO_CODES.ENXIO); } var bytesRead = 0; for (var i = 0; i < length; i++) { var result; try { result = stream.tty.ops.get_char(stream.tty); } catch (e) { throw new FS.ErrnoError(ERRNO_CODES.EIO); } if (result === undefined && bytesRead === 0) { throw new FS.ErrnoError(ERRNO_CODES.EAGAIN); } if (result === null || result === undefined) break; bytesRead++; buffer[offset + i] = result; } if (bytesRead) { stream.node.timestamp = Date.now(); } return bytesRead; }, write: function(stream, buffer, offset, length, pos) { if (!stream.tty || !stream.tty.ops.put_char) { throw new FS.ErrnoError(ERRNO_CODES.ENXIO); } try { for (var i = 0; i < length; i++) { stream.tty.ops.put_char(stream.tty, buffer[offset + i]); } } catch (e) { throw new FS.ErrnoError(ERRNO_CODES.EIO); } if (length) { stream.node.timestamp = Date.now(); } return i; } }, default_tty_ops: { get_char: function(tty) { if (!tty.input.length) { var result = null; if (ENVIRONMENT_IS_NODE) { var BUFSIZE = 256; var buf = new Buffer(BUFSIZE); var bytesRead = 0; var isPosixPlatform = process.platform != "win32"; var fd = process.stdin.fd; if (isPosixPlatform) { var usingDevice = false; try { fd = fs.openSync("/dev/stdin", "r"); usingDevice = true; } catch (e) {} } try { bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null); } catch (e) { if (e.toString().indexOf("EOF") != -1) bytesRead = 0; else throw e; } if (usingDevice) { fs.closeSync(fd); } if (bytesRead > 0) { result = buf.slice(0, bytesRead).toString("utf-8"); } else { result = null; } } else if (typeof window != "undefined" && typeof window.prompt == "function") { result = window.prompt("Input: "); if (result !== null) { result += "\n"; } } else if (typeof readline == "function") { result = readline(); if (result !== null) { result += "\n"; } } if (!result) { return null; } tty.input = intArrayFromString(result, true); } return tty.input.shift(); }, put_char: function(tty, val) { if (val === null || val === 10) { out(UTF8ArrayToString(tty.output, 0)); tty.output = []; } else { if (val != 0) tty.output.push(val); } }, flush: function(tty) { if (tty.output && tty.output.length > 0) { out(UTF8ArrayToString(tty.output, 0)); tty.output = []; } } }, default_tty1_ops: { put_char: function(tty, val) { if (val === null || val === 10) { err(UTF8ArrayToString(tty.output, 0)); tty.output = []; } else { if (val != 0) tty.output.push(val); } }, flush: function(tty) { if (tty.output && tty.output.length > 0) { err(UTF8ArrayToString(tty.output, 0)); tty.output = []; } } } }; var MEMFS = { ops_table: null, mount: function(mount) { return MEMFS.createNode(null, "/", 16384 | 511, 0); }, createNode: function(parent, name, mode, dev) { if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); } if (!MEMFS.ops_table) { MEMFS.ops_table = { dir: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, lookup: MEMFS.node_ops.lookup, mknod: MEMFS.node_ops.mknod, rename: MEMFS.node_ops.rename, unlink: MEMFS.node_ops.unlink, rmdir: MEMFS.node_ops.rmdir, readdir: MEMFS.node_ops.readdir, symlink: MEMFS.node_ops.symlink }, stream: { llseek: MEMFS.stream_ops.llseek } }, file: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: { llseek: MEMFS.stream_ops.llseek, read: MEMFS.stream_ops.read, write: MEMFS.stream_ops.write, allocate: MEMFS.stream_ops.allocate, mmap: MEMFS.stream_ops.mmap, msync: MEMFS.stream_ops.msync } }, link: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr, readlink: MEMFS.node_ops.readlink }, stream: {} }, chrdev: { node: { getattr: MEMFS.node_ops.getattr, setattr: MEMFS.node_ops.setattr }, stream: FS.chrdev_stream_ops } }; } var node = FS.createNode(parent, name, mode, dev); if (FS.isDir(node.mode)) { node.node_ops = MEMFS.ops_table.dir.node; node.stream_ops = MEMFS.ops_table.dir.stream; node.contents = {}; } else if (FS.isFile(node.mode)) { node.node_ops = MEMFS.ops_table.file.node; node.stream_ops = MEMFS.ops_table.file.stream; node.usedBytes = 0; node.contents = null; } else if (FS.isLink(node.mode)) { node.node_ops = MEMFS.ops_table.link.node; node.stream_ops = MEMFS.ops_table.link.stream; } else if (FS.isChrdev(node.mode)) { node.node_ops = MEMFS.ops_table.chrdev.node; node.stream_ops = MEMFS.ops_table.chrdev.stream; } node.timestamp = Date.now(); if (parent) { parent.contents[name] = node; } return node; }, getFileDataAsRegularArray: function(node) { if (node.contents && node.contents.subarray) { var arr = []; for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]); return arr; } return node.contents; }, getFileDataAsTypedArray: function(node) { if (!node.contents) return new Uint8Array(); if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); return new Uint8Array(node.contents); }, expandFileStorage: function(node, newCapacity) { var prevCapacity = node.contents ? node.contents.length : 0; if (prevCapacity >= newCapacity) return; var CAPACITY_DOUBLING_MAX = 1024 * 1024; newCapacity = Math.max(newCapacity, prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125) | 0); if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); var oldContents = node.contents; node.contents = new Uint8Array(newCapacity); if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); return; }, resizeFileStorage: function(node, newSize) { if (node.usedBytes == newSize) return; if (newSize == 0) { node.contents = null; node.usedBytes = 0; return; } if (!node.contents || node.contents.subarray) { var oldContents = node.contents; node.contents = new Uint8Array(new ArrayBuffer(newSize)); if (oldContents) { node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); } node.usedBytes = newSize; return; } if (!node.contents) node.contents = []; if (node.contents.length > newSize) node.contents.length = newSize; else while (node.contents.length < newSize) node.contents.push(0); node.usedBytes = newSize; }, node_ops: { getattr: function(node) { var attr = {}; attr.dev = FS.isChrdev(node.mode) ? node.id : 1; attr.ino = node.id; attr.mode = node.mode; attr.nlink = 1; attr.uid = 0; attr.gid = 0; attr.rdev = node.rdev; if (FS.isDir(node.mode)) { attr.size = 4096; } else if (FS.isFile(node.mode)) { attr.size = node.usedBytes; } else if (FS.isLink(node.mode)) { attr.size = node.link.length; } else { attr.size = 0; } attr.atime = new Date(node.timestamp); attr.mtime = new Date(node.timestamp); attr.ctime = new Date(node.timestamp); attr.blksize = 4096; attr.blocks = Math.ceil(attr.size / attr.blksize); return attr; }, setattr: function(node, attr) { if (attr.mode !== undefined) { node.mode = attr.mode; } if (attr.timestamp !== undefined) { node.timestamp = attr.timestamp; } if (attr.size !== undefined) { MEMFS.resizeFileStorage(node, attr.size); } }, lookup: function(parent, name) { throw FS.genericErrors[ERRNO_CODES.ENOENT]; }, mknod: function(parent, name, mode, dev) { return MEMFS.createNode(parent, name, mode, dev); }, rename: function(old_node, new_dir, new_name) { if (FS.isDir(old_node.mode)) { var new_node; try { new_node = FS.lookupNode(new_dir, new_name); } catch (e) {} if (new_node) { for (var i in new_node.contents) { throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); } } } delete old_node.parent.contents[old_node.name]; old_node.name = new_name; new_dir.contents[new_name] = old_node; old_node.parent = new_dir; }, unlink: function(parent, name) { delete parent.contents[name]; }, rmdir: function(parent, name) { var node = FS.lookupNode(parent, name); for (var i in node.contents) { throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY); } delete parent.contents[name]; }, readdir: function(node) { var entries = [ ".", ".." ]; for (var key in node.contents) { if (!node.contents.hasOwnProperty(key)) { continue; } entries.push(key); } return entries; }, symlink: function(parent, newname, oldpath) { var node = MEMFS.createNode(parent, newname, 511 | 40960, 0); node.link = oldpath; return node; }, readlink: function(node) { if (!FS.isLink(node.mode)) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } return node.link; } }, stream_ops: { read: function(stream, buffer, offset, length, position) { var contents = stream.node.contents; if (position >= stream.node.usedBytes) return 0; var size = Math.min(stream.node.usedBytes - position, length); assert(size >= 0); if (size > 8 && contents.subarray) { buffer.set(contents.subarray(position, position + size), offset); } else { for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; } return size; }, write: function(stream, buffer, offset, length, position, canOwn) { if (!length) return 0; var node = stream.node; node.timestamp = Date.now(); if (buffer.subarray && (!node.contents || node.contents.subarray)) { if (canOwn) { node.contents = buffer.subarray(offset, offset + length); node.usedBytes = length; return length; } else if (node.usedBytes === 0 && position === 0) { node.contents = new Uint8Array(buffer.subarray(offset, offset + length)); node.usedBytes = length; return length; } else if (position + length <= node.usedBytes) { node.contents.set(buffer.subarray(offset, offset + length), position); return length; } } MEMFS.expandFileStorage(node, position + length); if (node.contents.subarray && buffer.subarray) node.contents.set(buffer.subarray(offset, offset + length), position); else { for (var i = 0; i < length; i++) { node.contents[position + i] = buffer[offset + i]; } } node.usedBytes = Math.max(node.usedBytes, position + length); return length; }, llseek: function(stream, offset, whence) { var position = offset; if (whence === 1) { position += stream.position; } else if (whence === 2) { if (FS.isFile(stream.node.mode)) { position += stream.node.usedBytes; } } if (position < 0) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } return position; }, allocate: function(stream, offset, length) { MEMFS.expandFileStorage(stream.node, offset + length); stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); }, mmap: function(stream, buffer, offset, length, position, prot, flags) { if (!FS.isFile(stream.node.mode)) { throw new FS.ErrnoError(ERRNO_CODES.ENODEV); } var ptr; var allocated; var contents = stream.node.contents; if (!(flags & 2) && (contents.buffer === buffer || contents.buffer === buffer.buffer)) { allocated = false; ptr = contents.byteOffset; } else { if (position > 0 || position + length < stream.node.usedBytes) { if (contents.subarray) { contents = contents.subarray(position, position + length); } else { contents = Array.prototype.slice.call(contents, position, position + length); } } allocated = true; ptr = _malloc(length); if (!ptr) { throw new FS.ErrnoError(ERRNO_CODES.ENOMEM); } buffer.set(contents, ptr); } return { ptr: ptr, allocated: allocated }; }, msync: function(stream, buffer, offset, length, mmapFlags) { if (!FS.isFile(stream.node.mode)) { throw new FS.ErrnoError(ERRNO_CODES.ENODEV); } if (mmapFlags & 2) { return 0; } var bytesWritten = MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); return 0; } } }; var IDBFS = { dbs: {}, indexedDB: function() { if (typeof indexedDB !== "undefined") return indexedDB; var ret = null; if (typeof window === "object") ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; assert(ret, "IDBFS used, but indexedDB not supported"); return ret; }, DB_VERSION: 21, DB_STORE_NAME: "FILE_DATA", mount: function(mount) { return MEMFS.mount.apply(null, arguments); }, syncfs: function(mount, populate, callback) { IDBFS.getLocalSet(mount, function(err, local) { if (err) return callback(err); IDBFS.getRemoteSet(mount, function(err, remote) { if (err) return callback(err); var src = populate ? remote : local; var dst = populate ? local : remote; IDBFS.reconcile(src, dst, callback); }); }); }, getDB: function(name, callback) { var db = IDBFS.dbs[name]; if (db) { return callback(null, db); } var req; try { req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION); } catch (e) { return callback(e); } if (!req) { return callback("Unable to connect to IndexedDB"); } req.onupgradeneeded = function(e) { var db = e.target.result; var transaction = e.target.transaction; var fileStore; if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME); } else { fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME); } if (!fileStore.indexNames.contains("timestamp")) { fileStore.createIndex("timestamp", "timestamp", { unique: false }); } }; req.onsuccess = function() { db = req.result; IDBFS.dbs[name] = db; callback(null, db); }; req.onerror = function(e) { callback(this.error); e.preventDefault(); }; }, getLocalSet: function(mount, callback) { var entries = {}; function isRealDir(p) { return p !== "." && p !== ".."; } function toAbsolute(root) { return function(p) { return PATH.join2(root, p); }; } var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint)); while (check.length) { var path = check.pop(); var stat; try { stat = FS.stat(path); } catch (e) { return callback(e); } if (FS.isDir(stat.mode)) { check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path))); } entries[path] = { timestamp: stat.mtime }; } return callback(null, { type: "local", entries: entries }); }, getRemoteSet: function(mount, callback) { var entries = {}; IDBFS.getDB(mount.mountpoint, function(err, db) { if (err) return callback(err); try { var transaction = db.transaction([ IDBFS.DB_STORE_NAME ], "readonly"); transaction.onerror = function(e) { callback(this.error); e.preventDefault(); }; var store = transaction.objectStore(IDBFS.DB_STORE_NAME); var index = store.index("timestamp"); index.openKeyCursor().onsuccess = function(event) { var cursor = event.target.result; if (!cursor) { return callback(null, { type: "remote", db: db, entries: entries }); } entries[cursor.primaryKey] = { timestamp: cursor.key }; cursor.continue(); }; } catch (e) { return callback(e); } }); }, loadLocalEntry: function(path, callback) { var stat, node; try { var lookup = FS.lookupPath(path); node = lookup.node; stat = FS.stat(path); } catch (e) { return callback(e); } if (FS.isDir(stat.mode)) { return callback(null, { timestamp: stat.mtime, mode: stat.mode }); } else if (FS.isFile(stat.mode)) { node.contents = MEMFS.getFileDataAsTypedArray(node); return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents }); } else { return callback(new Error("node type not supported")); } }, storeLocalEntry: function(path, entry, callback) { try { if (FS.isDir(entry.mode)) { FS.mkdir(path, entry.mode); } else if (FS.isFile(entry.mode)) { FS.writeFile(path, entry.contents, { canOwn: true }); } else { return callback(new Error("node type not supported")); } FS.chmod(path, entry.mode); FS.utime(path, entry.timestamp, entry.timestamp); } catch (e) { return callback(e); } callback(null); }, removeLocalEntry: function(path, callback) { try { var lookup = FS.lookupPath(path); var stat = FS.stat(path); if (FS.isDir(stat.mode)) { FS.rmdir(path); } else if (FS.isFile(stat.mode)) { FS.unlink(path); } } catch (e) { return callback(e); } callback(null); }, loadRemoteEntry: function(store, path, callback) { var req = store.get(path); req.onsuccess = function(event) { callback(null, event.target.result); }; req.onerror = function(e) { callback(this.error); e.preventDefault(); }; }, storeRemoteEntry: function(store, path, entry, callback) { var req = store.put(entry, path); req.onsuccess = function() { callback(null); }; req.onerror = function(e) { callback(this.error); e.preventDefault(); }; }, removeRemoteEntry: function(store, path, callback) { var req = store.delete(path); req.onsuccess = function() { callback(null); }; req.onerror = function(e) { callback(this.error); e.preventDefault(); }; }, reconcile: function(src, dst, callback) { var total = 0; var create = []; Object.keys(src.entries).forEach(function(key) { var e = src.entries[key]; var e2 = dst.entries[key]; if (!e2 || e.timestamp > e2.timestamp) { create.push(key); total++; } }); var remove = []; Object.keys(dst.entries).forEach(function(key) { var e = dst.entries[key]; var e2 = src.entries[key]; if (!e2) { remove.push(key); total++; } }); if (!total) { return callback(null); } var errored = false; var completed = 0; var db = src.type === "remote" ? src.db : dst.db; var transaction = db.transaction([ IDBFS.DB_STORE_NAME ], "readwrite"); var store = transaction.objectStore(IDBFS.DB_STORE_NAME); function done(err) { if (err) { if (!done.errored) { done.errored = true; return callback(err); } return; } if (++completed >= total) { return callback(null); } } transaction.onerror = function(e) { done(this.error); e.preventDefault(); }; create.sort().forEach(function(path) { if (dst.type === "local") { IDBFS.loadRemoteEntry(store, path, function(err, entry) { if (err) return done(err); IDBFS.storeLocalEntry(path, entry, done); }); } else { IDBFS.loadLocalEntry(path, function(err, entry) { if (err) return done(err); IDBFS.storeRemoteEntry(store, path, entry, done); }); } }); remove.sort().reverse().forEach(function(path) { if (dst.type === "local") { IDBFS.removeLocalEntry(path, done); } else { IDBFS.removeRemoteEntry(store, path, done); } }); } }; var NODEFS = { isWindows: false, staticInit: function() { NODEFS.isWindows = !!process.platform.match(/^win/); var flags = process["binding"]("constants"); if (flags["fs"]) { flags = flags["fs"]; } NODEFS.flagsForNodeMap = { 1024: flags["O_APPEND"], 64: flags["O_CREAT"], 128: flags["O_EXCL"], 0: flags["O_RDONLY"], 2: flags["O_RDWR"], 4096: flags["O_SYNC"], 512: flags["O_TRUNC"], 1: flags["O_WRONLY"] }; }, bufferFrom: function(arrayBuffer) { return Buffer.alloc ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer); }, mount: function(mount) { assert(ENVIRONMENT_IS_NODE); return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0); }, createNode: function(parent, name, mode, dev) { if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } var node = FS.createNode(parent, name, mode); node.node_ops = NODEFS.node_ops; node.stream_ops = NODEFS.stream_ops; return node; }, getMode: function(path) { var stat; try { stat = fs.lstatSync(path); if (NODEFS.isWindows) { stat.mode = stat.mode | (stat.mode & 292) >> 2; } } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } return stat.mode; }, realPath: function(node) { var parts = []; while (node.parent !== node) { parts.push(node.name); node = node.parent; } parts.push(node.mount.opts.root); parts.reverse(); return PATH.join.apply(null, parts); }, flagsForNode: function(flags) { flags &= ~2097152; flags &= ~2048; flags &= ~32768; flags &= ~524288; var newFlags = 0; for (var k in NODEFS.flagsForNodeMap) { if (flags & k) { newFlags |= NODEFS.flagsForNodeMap[k]; flags ^= k; } } if (!flags) { return newFlags; } else { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } }, node_ops: { getattr: function(node) { var path = NODEFS.realPath(node); var stat; try { stat = fs.lstatSync(path); } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } if (NODEFS.isWindows && !stat.blksize) { stat.blksize = 4096; } if (NODEFS.isWindows && !stat.blocks) { stat.blocks = (stat.size + stat.blksize - 1) / stat.blksize | 0; } return { dev: stat.dev, ino: stat.ino, mode: stat.mode, nlink: stat.nlink, uid: stat.uid, gid: stat.gid, rdev: stat.rdev, size: stat.size, atime: stat.atime, mtime: stat.mtime, ctime: stat.ctime, blksize: stat.blksize, blocks: stat.blocks }; }, setattr: function(node, attr) { var path = NODEFS.realPath(node); try { if (attr.mode !== undefined) { fs.chmodSync(path, attr.mode); node.mode = attr.mode; } if (attr.timestamp !== undefined) { var date = new Date(attr.timestamp); fs.utimesSync(path, date, date); } if (attr.size !== undefined) { fs.truncateSync(path, attr.size); } } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } }, lookup: function(parent, name) { var path = PATH.join2(NODEFS.realPath(parent), name); var mode = NODEFS.getMode(path); return NODEFS.createNode(parent, name, mode); }, mknod: function(parent, name, mode, dev) { var node = NODEFS.createNode(parent, name, mode, dev); var path = NODEFS.realPath(node); try { if (FS.isDir(node.mode)) { fs.mkdirSync(path, node.mode); } else { fs.writeFileSync(path, "", { mode: node.mode }); } } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } return node; }, rename: function(oldNode, newDir, newName) { var oldPath = NODEFS.realPath(oldNode); var newPath = PATH.join2(NODEFS.realPath(newDir), newName); try { fs.renameSync(oldPath, newPath); } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } }, unlink: function(parent, name) { var path = PATH.join2(NODEFS.realPath(parent), name); try { fs.unlinkSync(path); } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } }, rmdir: function(parent, name) { var path = PATH.join2(NODEFS.realPath(parent), name); try { fs.rmdirSync(path); } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } }, readdir: function(node) { var path = NODEFS.realPath(node); try { return fs.readdirSync(path); } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } }, symlink: function(parent, newName, oldPath) { var newPath = PATH.join2(NODEFS.realPath(parent), newName); try { fs.symlinkSync(oldPath, newPath); } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } }, readlink: function(node) { var path = NODEFS.realPath(node); try { path = fs.readlinkSync(path); path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path); return path; } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } } }, stream_ops: { open: function(stream) { var path = NODEFS.realPath(stream.node); try { if (FS.isFile(stream.node.mode)) { stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags)); } } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } }, close: function(stream) { try { if (FS.isFile(stream.node.mode) && stream.nfd) { fs.closeSync(stream.nfd); } } catch (e) { if (!e.code) throw e; throw new FS.ErrnoError(ERRNO_CODES[e.code]); } }, read: function(stream, buffer, offset, length, position) { if (length === 0) return 0; try { return fs.readSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position); } catch (e) { throw new FS.ErrnoError(ERRNO_CODES[e.code]); } }, write: function(stream, buffer, offset, length, position) { try { return fs.writeSync(stream.nfd, NODEFS.bufferFrom(buffer.buffer), offset, length, position); } catch (e) { throw new FS.ErrnoError(ERRNO_CODES[e.code]); } }, llseek: function(stream, offset, whence) { var position = offset; if (whence === 1) { position += stream.position; } else if (whence === 2) { if (FS.isFile(stream.node.mode)) { try { var stat = fs.fstatSync(stream.nfd); position += stat.size; } catch (e) { throw new FS.ErrnoError(ERRNO_CODES[e.code]); } } } if (position < 0) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } return position; } } }; var WORKERFS = { DIR_MODE: 16895, FILE_MODE: 33279, reader: null, mount: function(mount) { assert(ENVIRONMENT_IS_WORKER); if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync(); var root = WORKERFS.createNode(null, "/", WORKERFS.DIR_MODE, 0); var createdParents = {}; function ensureParent(path) { var parts = path.split("/"); var parent = root; for (var i = 0; i < parts.length - 1; i++) { var curr = parts.slice(0, i + 1).join("/"); if (!createdParents[curr]) { createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0); } parent = createdParents[curr]; } return parent; } function base(path) { var parts = path.split("/"); return parts[parts.length - 1]; } Array.prototype.forEach.call(mount.opts["files"] || [], function(file) { WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate); }); (mount.opts["blobs"] || []).forEach(function(obj) { WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]); }); (mount.opts["packages"] || []).forEach(function(pack) { pack["metadata"].files.forEach(function(file) { var name = file.filename.substr(1); WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack["blob"].slice(file.start, file.end)); }); }); return root; }, createNode: function(parent, name, mode, dev, contents, mtime) { var node = FS.createNode(parent, name, mode); node.mode = mode; node.node_ops = WORKERFS.node_ops; node.stream_ops = WORKERFS.stream_ops; node.timestamp = (mtime || new Date()).getTime(); assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE); if (mode === WORKERFS.FILE_MODE) { node.size = contents.size; node.contents = contents; } else { node.size = 4096; node.contents = {}; } if (parent) { parent.contents[name] = node; } return node; }, node_ops: { getattr: function(node) { return { dev: 1, ino: undefined, mode: node.mode, nlink: 1, uid: 0, gid: 0, rdev: undefined, size: node.size, atime: new Date(node.timestamp), mtime: new Date(node.timestamp), ctime: new Date(node.timestamp), blksize: 4096, blocks: Math.ceil(node.size / 4096) }; }, setattr: function(node, attr) { if (attr.mode !== undefined) { node.mode = attr.mode; } if (attr.timestamp !== undefined) { node.timestamp = attr.timestamp; } }, lookup: function(parent, name) { throw new FS.ErrnoError(ERRNO_CODES.ENOENT); }, mknod: function(parent, name, mode, dev) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); }, rename: function(oldNode, newDir, newName) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); }, unlink: function(parent, name) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); }, rmdir: function(parent, name) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); }, readdir: function(node) { var entries = [ ".", ".." ]; for (var key in node.contents) { if (!node.contents.hasOwnProperty(key)) { continue; } entries.push(key); } return entries; }, symlink: function(parent, newName, oldPath) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); }, readlink: function(node) { throw new FS.ErrnoError(ERRNO_CODES.EPERM); } }, stream_ops: { read: function(stream, buffer, offset, length, position) { if (position >= stream.node.size) return 0; var chunk = stream.node.contents.slice(position, position + length); var ab = WORKERFS.reader.readAsArrayBuffer(chunk); buffer.set(new Uint8Array(ab), offset); return chunk.size; }, write: function(stream, buffer, offset, length, position) { throw new FS.ErrnoError(ERRNO_CODES.EIO); }, llseek: function(stream, offset, whence) { var position = offset; if (whence === 1) { position += stream.position; } else if (whence === 2) { if (FS.isFile(stream.node.mode)) { position += stream.node.size; } } if (position < 0) { throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } return position; } } }; var FS = { root: null, mounts: [], devices: {}, streams: [], nextInode: 1, nameTable: null, currentPath: "/", initialized: false, ignorePermissions: true, trackingDelegate: {}, tracking: { openFlags: { READ: 1, WRITE: 2 } }, ErrnoError: null, genericErrors: {}, filesystems: null, syncFSRequests: 0, handleFSError: function(e) { if (!(e instanceof FS.ErrnoError)) throw e + " : " + stackTrace(); return ___setErrNo(e.errno); }, lookupPath: function(path, opts) { path = PATH.resolve(FS.cwd(), path); opts = opts || {}; if (!path) return { path: "", node: null }; var defaults = { follow_mount: true, recurse_count: 0 }; for (var key in defaults) { if (opts[key] === undefined) { opts[key] = defaults[key]; } } if (opts.recurse_count > 8) { throw new FS.ErrnoError(40); } var parts = PATH.normalizeArray(path.split("/").filter(function(p) { return !!p; }), false); var current = FS.root; var current_path = "/"; for (var i = 0; i < parts.length; i++) { var islast = i === parts.length - 1; if (islast && opts.parent) { break; } current = FS.lookupNode(current, parts[i]); current_path = PATH.join2(current_path, parts[i]); if (FS.isMountpoint(current)) { if (!islast || islast && opts.follow_mount) { current = current.mounted.root; } } if (!islast || opts.follow) { var count = 0; while (FS.isLink(current.mode)) { var link = FS.readlink(current_path); current_path = PATH.resolve(PATH.dirname(current_path), link); var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count }); current = lookup.node; if (count++ > 40) { throw new FS.ErrnoError(40); } } } } return { path: current_path, node: current }; }, getPath: function(node) { var path; while (true) { if (FS.isRoot(node)) { var mount = node.mount.mountpoint; if (!path) return mount; return mount[mount.length - 1] !== "/" ? mount + "/" + path : mount + path; } path = path ? node.name + "/" + path : node.name; node = node.parent; } }, hashName: function(parentid, name) { var hash = 0; for (var i = 0; i < name.length; i++) { hash = (hash << 5) - hash + name.charCodeAt(i) | 0; } return (parentid + hash >>> 0) % FS.nameTable.length; }, hashAddNode: function(node) { var hash = FS.hashName(node.parent.id, node.name); node.name_next = FS.nameTable[hash]; FS.nameTable[hash] = node; }, hashRemoveNode: function(node) { var hash = FS.hashName(node.parent.id, node.name); if (FS.nameTable[hash] === node) { FS.nameTable[hash] = node.name_next; } else { var current = FS.nameTable[hash]; while (current) { if (current.name_next === node) { current.name_next = node.name_next; break; } current = current.name_next; } } }, lookupNode: function(parent, name) { var err = FS.mayLookup(parent); if (err) { throw new FS.ErrnoError(err, parent); } var hash = FS.hashName(parent.id, name); for (var node = FS.nameTable[hash]; node; node = node.name_next) { var nodeName = node.name; if (node.parent.id === parent.id && nodeName === name) { return node; } } return FS.lookup(parent, name); }, createNode: function(parent, name, mode, rdev) { if (!FS.FSNode) { FS.FSNode = function(parent, name, mode, rdev) { if (!parent) { parent = this; } this.parent = parent; this.mount = parent.mount; this.mounted = null; this.id = FS.nextInode++; this.name = name; this.mode = mode; this.node_ops = {}; this.stream_ops = {}; this.rdev = rdev; }; FS.FSNode.prototype = {}; var readMode = 292 | 73; var writeMode = 146; Object.defineProperties(FS.FSNode.prototype, { read: { get: function() { return (this.mode & readMode) === readMode; }, set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; } }, write: { get: function() { return (this.mode & writeMode) === writeMode; }, set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; } }, isFolder: { get: function() { return FS.isDir(this.mode); } }, isDevice: { get: function() { return FS.isChrdev(this.mode); } } }); } var node = new FS.FSNode(parent, name, mode, rdev); FS.hashAddNode(node); return node; }, destroyNode: function(node) { FS.hashRemoveNode(node); }, isRoot: function(node) { return node === node.parent; }, isMountpoint: function(node) { return !!node.mounted; }, isFile: function(mode) { return (mode & 61440) === 32768; }, isDir: function(mode) { return (mode & 61440) === 16384; }, isLink: function(mode) { return (mode & 61440) === 40960; }, isChrdev: function(mode) { return (mode & 61440) === 8192; }, isBlkdev: function(mode) { return (mode & 61440) === 24576; }, isFIFO: function(mode) { return (mode & 61440) === 4096; }, isSocket: function(mode) { return (mode & 49152) === 49152; }, flagModes: { "r": 0, "rs": 1052672, "r+": 2, "w": 577, "wx": 705, "xw": 705, "w+": 578, "wx+": 706, "xw+": 706, "a": 1089, "ax": 1217, "xa": 1217, "a+": 1090, "ax+": 1218, "xa+": 1218 }, modeStringToFlags: function(str) { var flags = FS.flagModes[str]; if (typeof flags === "undefined") { throw new Error("Unknown file open mode: " + str); } return flags; }, flagsToPermissionString: function(flag) { var perms = [ "r", "w", "rw" ][flag & 3]; if (flag & 512) { perms += "w"; } return perms; }, nodePermissions: function(node, perms) { if (FS.ignorePermissions) { return 0; } if (perms.indexOf("r") !== -1 && !(node.mode & 292)) { return 13; } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) { return 13; } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) { return 13; } return 0; }, mayLookup: function(dir) { var err = FS.nodePermissions(dir, "x"); if (err) return err; if (!dir.node_ops.lookup) return 13; return 0; }, mayCreate: function(dir, name) { try { var node = FS.lookupNode(dir, name); return 17; } catch (e) {} return FS.nodePermissions(dir, "wx"); }, mayDelete: function(dir, name, isdir) { var node; try { node = FS.lookupNode(dir, name); } catch (e) { return e.errno; } var err = FS.nodePermissions(dir, "wx"); if (err) { return err; } if (isdir) { if (!FS.isDir(node.mode)) { return 20; } if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { return 16; } } else { if (FS.isDir(node.mode)) { return 21; } } return 0; }, mayOpen: function(node, flags) { if (!node) { return 2; } if (FS.isLink(node.mode)) { return 40; } else if (FS.isDir(node.mode)) { if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) { return 21; } } return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); }, MAX_OPEN_FDS: 4096, nextfd: function(fd_start, fd_end) { fd_start = fd_start || 0; fd_end = fd_end || FS.MAX_OPEN_FDS; for (var fd = fd_start; fd <= fd_end; fd++) { if (!FS.streams[fd]) { return fd; } } throw new FS.ErrnoError(24); }, getStream: function(fd) { return FS.streams[fd]; }, createStream: function(stream, fd_start, fd_end) { if (!FS.FSStream) { FS.FSStream = function() {}; FS.FSStream.prototype = {}; Object.defineProperties(FS.FSStream.prototype, { object: { get: function() { return this.node; }, set: function(val) { this.node = val; } }, isRead: { get: function() { return (this.flags & 2097155) !== 1; } }, isWrite: { get: function() { return (this.flags & 2097155) !== 0; } }, isAppend: { get: function() { return this.flags & 1024; } } }); } var newStream = new FS.FSStream(); for (var p in stream) { newStream[p] = stream[p]; } stream = newStream; var fd = FS.nextfd(fd_start, fd_end); stream.fd = fd; FS.streams[fd] = stream; return stream; }, closeStream: function(fd) { FS.streams[fd] = null; }, chrdev_stream_ops: { open: function(stream) { var device = FS.getDevice(stream.node.rdev); stream.stream_ops = device.stream_ops; if (stream.stream_ops.open) { stream.stream_ops.open(stream); } }, llseek: function() { throw new FS.ErrnoError(29); } }, major: function(dev) { return dev >> 8; }, minor: function(dev) { return dev & 255; }, makedev: function(ma, mi) { return ma << 8 | mi; }, registerDevice: function(dev, ops) { FS.devices[dev] = { stream_ops: ops }; }, getDevice: function(dev) { return FS.devices[dev]; }, getMounts: function(mount) { var mounts = []; var check = [ mount ]; while (check.length) { var m = check.pop(); mounts.push(m); check.push.apply(check, m.mounts); } return mounts; }, syncfs: function(populate, callback) { if (typeof populate === "function") { callback = populate; populate = false; } FS.syncFSRequests++; if (FS.syncFSRequests > 1) { console.log("warning: " + FS.syncFSRequests + " FS.syncfs operations in flight at once, probably just doing extra work"); } var mounts = FS.getMounts(FS.root.mount); var completed = 0; function doCallback(err) { assert(FS.syncFSRequests > 0); FS.syncFSRequests--; return callback(err); } function done(err) { if (err) { if (!done.errored) { done.errored = true; return doCallback(err); } return; } if (++completed >= mounts.length) { doCallback(null); } } mounts.forEach(function(mount) { if (!mount.type.syncfs) { return done(null); } mount.type.syncfs(mount, populate, done); }); }, mount: function(type, opts, mountpoint) { var root = mountpoint === "/"; var pseudo = !mountpoint; var node; if (root && FS.root) { throw new FS.ErrnoError(16); } else if (!root && !pseudo) { var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); mountpoint = lookup.path; node = lookup.node; if (FS.isMountpoint(node)) { throw new FS.ErrnoError(16); } if (!FS.isDir(node.mode)) { throw new FS.ErrnoError(20); } } var mount = { type: type, opts: opts, mountpoint: mountpoint, mounts: [] }; var mountRoot = type.mount(mount); mountRoot.mount = mount; mount.root = mountRoot; if (root) { FS.root = mountRoot; } else if (node) { node.mounted = mount; if (node.mount) { node.mount.mounts.push(mount); } } return mountRoot; }, unmount: function(mountpoint) { var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); if (!FS.isMountpoint(lookup.node)) { throw new FS.ErrnoError(22); } var node = lookup.node; var mount = node.mounted; var mounts = FS.getMounts(mount); Object.keys(FS.nameTable).forEach(function(hash) { var current = FS.nameTable[hash]; while (current) { var next = current.name_next; if (mounts.indexOf(current.mount) !== -1) { FS.destroyNode(current); } current = next; } }); node.mounted = null; var idx = node.mount.mounts.indexOf(mount); assert(idx !== -1); node.mount.mounts.splice(idx, 1); }, lookup: function(parent, name) { return parent.node_ops.lookup(parent, name); }, mknod: function(path, mode, dev) { var lookup = FS.lookupPath(path, { parent: true }); var parent = lookup.node; var name = PATH.basename(path); if (!name || name === "." || name === "..") { throw new FS.ErrnoError(22); } var err = FS.mayCreate(parent, name); if (err) { throw new FS.ErrnoError(err); } if (!parent.node_ops.mknod) { throw new FS.ErrnoError(1); } return parent.node_ops.mknod(parent, name, mode, dev); }, create: function(path, mode) { mode = mode !== undefined ? mode : 438; mode &= 4095; mode |= 32768; return FS.mknod(path, mode, 0); }, mkdir: function(path, mode) { mode = mode !== undefined ? mode : 511; mode &= 511 | 512; mode |= 16384; return FS.mknod(path, mode, 0); }, mkdirTree: function(path, mode) { var dirs = path.split("/"); var d = ""; for (var i = 0; i < dirs.length; ++i) { if (!dirs[i]) continue; d += "/" + dirs[i]; try { FS.mkdir(d, mode); } catch (e) { if (e.errno != 17) throw e; } } }, mkdev: function(path, mode, dev) { if (typeof dev === "undefined") { dev = mode; mode = 438; } mode |= 8192; return FS.mknod(path, mode, dev); }, symlink: function(oldpath, newpath) { if (!PATH.resolve(oldpath)) { throw new FS.ErrnoError(2); } var lookup = FS.lookupPath(newpath, { parent: true }); var parent = lookup.node; if (!parent) { throw new FS.ErrnoError(2); } var newname = PATH.basename(newpath); var err = FS.mayCreate(parent, newname); if (err) { throw new FS.ErrnoError(err); } if (!parent.node_ops.symlink) { throw new FS.ErrnoError(1); } return parent.node_ops.symlink(parent, newname, oldpath); }, rename: function(old_path, new_path) { var old_dirname = PATH.dirname(old_path); var new_dirname = PATH.dirname(new_path); var old_name = PATH.basename(old_path); var new_name = PATH.basename(new_path); var lookup, old_dir, new_dir; try { lookup = FS.lookupPath(old_path, { parent: true }); old_dir = lookup.node; lookup = FS.lookupPath(new_path, { parent: true }); new_dir = lookup.node; } catch (e) { throw new FS.ErrnoError(16); } if (!old_dir || !new_dir) throw new FS.ErrnoError(2); if (old_dir.mount !== new_dir.mount) { throw new FS.ErrnoError(18); } var old_node = FS.lookupNode(old_dir, old_name); var relative = PATH.relative(old_path, new_dirname); if (relative.charAt(0) !== ".") { throw new FS.ErrnoError(22); } relative = PATH.relative(new_path, old_dirname); if (relative.charAt(0) !== ".") { throw new FS.ErrnoError(39); } var new_node; try { new_node = FS.lookupNode(new_dir, new_name); } catch (e) {} if (old_node === new_node) { return; } var isdir = FS.isDir(old_node.mode); var err = FS.mayDelete(old_dir, old_name, isdir); if (err) { throw new FS.ErrnoError(err); } err = new_node ? FS.mayDelete(new_dir, new_name, isdir) : FS.mayCreate(new_dir, new_name); if (err) { throw new FS.ErrnoError(err); } if (!old_dir.node_ops.rename) { throw new FS.ErrnoError(1); } if (FS.isMountpoint(old_node) || new_node && FS.isMountpoint(new_node)) { throw new FS.ErrnoError(16); } if (new_dir !== old_dir) { err = FS.nodePermissions(old_dir, "w"); if (err) { throw new FS.ErrnoError(err); } } try { if (FS.trackingDelegate["willMovePath"]) { FS.trackingDelegate["willMovePath"](old_path, new_path); } } catch (e) { console.log("FS.trackingDelegate['willMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message); } FS.hashRemoveNode(old_node); try { old_dir.node_ops.rename(old_node, new_dir, new_name); } catch (e) { throw e; } finally { FS.hashAddNode(old_node); } try { if (FS.trackingDelegate["onMovePath"]) FS.trackingDelegate["onMovePath"](old_path, new_path); } catch (e) { console.log("FS.trackingDelegate['onMovePath']('" + old_path + "', '" + new_path + "') threw an exception: " + e.message); } }, rmdir: function(path) { var lookup = FS.lookupPath(path, { parent: true }); var parent = lookup.node; var name = PATH.basename(path); var node = FS.lookupNode(parent, name); var err = FS.mayDelete(parent, name, true); if (err) { throw new FS.ErrnoError(err); } if (!parent.node_ops.rmdir) { throw new FS.ErrnoError(1); } if (FS.isMountpoint(node)) { throw new FS.ErrnoError(16); } try { if (FS.trackingDelegate["willDeletePath"]) { FS.trackingDelegate["willDeletePath"](path); } } catch (e) { console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message); } parent.node_ops.rmdir(parent, name); FS.destroyNode(node); try { if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path); } catch (e) { console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message); } }, readdir: function(path) { var lookup = FS.lookupPath(path, { follow: true }); var node = lookup.node; if (!node.node_ops.readdir) { throw new FS.ErrnoError(20); } return node.node_ops.readdir(node); }, unlink: function(path) { var lookup = FS.lookupPath(path, { parent: true }); var parent = lookup.node; var name = PATH.basename(path); var node = FS.lookupNode(parent, name); var err = FS.mayDelete(parent, name, false); if (err) { throw new FS.ErrnoError(err); } if (!parent.node_ops.unlink) { throw new FS.ErrnoError(1); } if (FS.isMountpoint(node)) { throw new FS.ErrnoError(16); } try { if (FS.trackingDelegate["willDeletePath"]) { FS.trackingDelegate["willDeletePath"](path); } } catch (e) { console.log("FS.trackingDelegate['willDeletePath']('" + path + "') threw an exception: " + e.message); } parent.node_ops.unlink(parent, name); FS.destroyNode(node); try { if (FS.trackingDelegate["onDeletePath"]) FS.trackingDelegate["onDeletePath"](path); } catch (e) { console.log("FS.trackingDelegate['onDeletePath']('" + path + "') threw an exception: " + e.message); } }, readlink: function(path) { var lookup = FS.lookupPath(path); var link = lookup.node; if (!link) { throw new FS.ErrnoError(2); } if (!link.node_ops.readlink) { throw new FS.ErrnoError(22); } return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); }, stat: function(path, dontFollow) { var lookup = FS.lookupPath(path, { follow: !dontFollow }); var node = lookup.node; if (!node) { throw new FS.ErrnoError(2); } if (!node.node_ops.getattr) { throw new FS.ErrnoError(1); } return node.node_ops.getattr(node); }, lstat: function(path) { return FS.stat(path, true); }, chmod: function(path, mode, dontFollow) { var node; if (typeof path === "string") { var lookup = FS.lookupPath(path, { follow: !dontFollow }); node = lookup.node; } else { node = path; } if (!node.node_ops.setattr) { throw new FS.ErrnoError(1); } node.node_ops.setattr(node, { mode: mode & 4095 | node.mode & ~4095, timestamp: Date.now() }); }, lchmod: function(path, mode) { FS.chmod(path, mode, true); }, fchmod: function(fd, mode) { var stream = FS.getStream(fd); if (!stream) { throw new FS.ErrnoError(9); } FS.chmod(stream.node, mode); }, chown: function(path, uid, gid, dontFollow) { var node; if (typeof path === "string") { var lookup = FS.lookupPath(path, { follow: !dontFollow }); node = lookup.node; } else { node = path; } if (!node.node_ops.setattr) { throw new FS.ErrnoError(1); } node.node_ops.setattr(node, { timestamp: Date.now() }); }, lchown: function(path, uid, gid) { FS.chown(path, uid, gid, true); }, fchown: function(fd, uid, gid) { var stream = FS.getStream(fd); if (!stream) { throw new FS.ErrnoError(9); } FS.chown(stream.node, uid, gid); }, truncate: function(path, len) { if (len < 0) { throw new FS.ErrnoError(22); } var node; if (typeof path === "string") { var lookup = FS.lookupPath(path, { follow: true }); node = lookup.node; } else { node = path; } if (!node.node_ops.setattr) { throw new FS.ErrnoError(1); } if (FS.isDir(node.mode)) { throw new FS.ErrnoError(21); } if (!FS.isFile(node.mode)) { throw new FS.ErrnoError(22); } var err = FS.nodePermissions(node, "w"); if (err) { throw new FS.ErrnoError(err); } node.node_ops.setattr(node, { size: len, timestamp: Date.now() }); }, ftruncate: function(fd, len) { var stream = FS.getStream(fd); if (!stream) { throw new FS.ErrnoError(9); } if ((stream.flags & 2097155) === 0) { throw new FS.ErrnoError(22); } FS.truncate(stream.node, len); }, utime: function(path, atime, mtime) { var lookup = FS.lookupPath(path, { follow: true }); var node = lookup.node; node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) }); }, open: function(path, flags, mode, fd_start, fd_end) { if (path === "") { throw new FS.ErrnoError(2); } flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags; mode = typeof mode === "undefined" ? 438 : mode; if (flags & 64) { mode = mode & 4095 | 32768; } else { mode = 0; } var node; if (typeof path === "object") { node = path; } else { path = PATH.normalize(path); try { var lookup = FS.lookupPath(path, { follow: !(flags & 131072) }); node = lookup.node; } catch (e) {} } var created = false; if (flags & 64) { if (node) { if (flags & 128) { throw new FS.ErrnoError(17); } } else { node = FS.mknod(path, mode, 0); created = true; } } if (!node) { throw new FS.ErrnoError(2); } if (FS.isChrdev(node.mode)) { flags &= ~512; } if (flags & 65536 && !FS.isDir(node.mode)) { throw new FS.ErrnoError(20); } if (!created) { var err = FS.mayOpen(node, flags); if (err) { throw new FS.ErrnoError(err); } } if (flags & 512) { FS.truncate(node, 0); } flags &= ~(128 | 512); var stream = FS.createStream({ node: node, path: FS.getPath(node), flags: flags, seekable: true, position: 0, stream_ops: node.stream_ops, ungotten: [], error: false }, fd_start, fd_end); if (stream.stream_ops.open) { stream.stream_ops.open(stream); } if (Module["logReadFiles"] && !(flags & 1)) { if (!FS.readFiles) FS.readFiles = {}; if (!(path in FS.readFiles)) { FS.readFiles[path] = 1; console.log("FS.trackingDelegate error on read file: " + path); } } try { if (FS.trackingDelegate["onOpenFile"]) { var trackingFlags = 0; if ((flags & 2097155) !== 1) { trackingFlags |= FS.tracking.openFlags.READ; } if ((flags & 2097155) !== 0) { trackingFlags |= FS.tracking.openFlags.WRITE; } FS.trackingDelegate["onOpenFile"](path, trackingFlags); } } catch (e) { console.log("FS.trackingDelegate['onOpenFile']('" + path + "', flags) threw an exception: " + e.message); } return stream; }, close: function(stream) { if (FS.isClosed(stream)) { throw new FS.ErrnoError(9); } if (stream.getdents) stream.getdents = null; try { if (stream.stream_ops.close) { stream.stream_ops.close(stream); } } catch (e) { throw e; } finally { FS.closeStream(stream.fd); } stream.fd = null; }, isClosed: function(stream) { return stream.fd === null; }, llseek: function(stream, offset, whence) { if (FS.isClosed(stream)) { throw new FS.ErrnoError(9); } if (!stream.seekable || !stream.stream_ops.llseek) { throw new FS.ErrnoError(29); } if (whence != 0 && whence != 1 && whence != 2) { throw new FS.ErrnoError(22); } stream.position = stream.stream_ops.llseek(stream, offset, whence); stream.ungotten = []; return stream.position; }, read: function(stream, buffer, offset, length, position) { if (length < 0 || position < 0) { throw new FS.ErrnoError(22); } if (FS.isClosed(stream)) { throw new FS.ErrnoError(9); } if ((stream.flags & 2097155) === 1) { throw new FS.ErrnoError(9); } if (FS.isDir(stream.node.mode)) { throw new FS.ErrnoError(21); } if (!stream.stream_ops.read) { throw new FS.ErrnoError(22); } var seeking = typeof position !== "undefined"; if (!seeking) { position = stream.position; } else if (!stream.seekable) { throw new FS.ErrnoError(29); } var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); if (!seeking) stream.position += bytesRead; return bytesRead; }, write: function(stream, buffer, offset, length, position, canOwn) { if (length < 0 || position < 0) { throw new FS.ErrnoError(22); } if (FS.isClosed(stream)) { throw new FS.ErrnoError(9); } if ((stream.flags & 2097155) === 0) { throw new FS.ErrnoError(9); } if (FS.isDir(stream.node.mode)) { throw new FS.ErrnoError(21); } if (!stream.stream_ops.write) { throw new FS.ErrnoError(22); } if (stream.flags & 1024) { FS.llseek(stream, 0, 2); } var seeking = typeof position !== "undefined"; if (!seeking) { position = stream.position; } else if (!stream.seekable) { throw new FS.ErrnoError(29); } var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); if (!seeking) stream.position += bytesWritten; try { if (stream.path && FS.trackingDelegate["onWriteToFile"]) FS.trackingDelegate["onWriteToFile"](stream.path); } catch (e) { console.log("FS.trackingDelegate['onWriteToFile']('" + stream.path + "') threw an exception: " + e.message); } return bytesWritten; }, allocate: function(stream, offset, length) { if (FS.isClosed(stream)) { throw new FS.ErrnoError(9); } if (offset < 0 || length <= 0) { throw new FS.ErrnoError(22); } if ((stream.flags & 2097155) === 0) { throw new FS.ErrnoError(9); } if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { throw new FS.ErrnoError(19); } if (!stream.stream_ops.allocate) { throw new FS.ErrnoError(95); } stream.stream_ops.allocate(stream, offset, length); }, mmap: function(stream, buffer, offset, length, position, prot, flags) { if ((stream.flags & 2097155) === 1) { throw new FS.ErrnoError(13); } if (!stream.stream_ops.mmap) { throw new FS.ErrnoError(19); } return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags); }, msync: function(stream, buffer, offset, length, mmapFlags) { if (!stream || !stream.stream_ops.msync) { return 0; } return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); }, munmap: function(stream) { return 0; }, ioctl: function(stream, cmd, arg) { if (!stream.stream_ops.ioctl) { throw new FS.ErrnoError(25); } return stream.stream_ops.ioctl(stream, cmd, arg); }, readFile: function(path, opts) { opts = opts || {}; opts.flags = opts.flags || "r"; opts.encoding = opts.encoding || "binary"; if (opts.encoding !== "utf8" && opts.encoding !== "binary") { throw new Error('Invalid encoding type "' + opts.encoding + '"'); } var ret; var stream = FS.open(path, opts.flags); var stat = FS.stat(path); var length = stat.size; var buf = new Uint8Array(length); FS.read(stream, buf, 0, length, 0); if (opts.encoding === "utf8") { ret = UTF8ArrayToString(buf, 0); } else if (opts.encoding === "binary") { ret = buf; } FS.close(stream); return ret; }, writeFile: function(path, data, opts) { opts = opts || {}; opts.flags = opts.flags || "w"; var stream = FS.open(path, opts.flags, opts.mode); if (typeof data === "string") { var buf = new Uint8Array(lengthBytesUTF8(data) + 1); var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); } else if (ArrayBuffer.isView(data)) { FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); } else { throw new Error("Unsupported data type"); } FS.close(stream); }, cwd: function() { return FS.currentPath; }, chdir: function(path) { var lookup = FS.lookupPath(path, { follow: true }); if (lookup.node === null) { throw new FS.ErrnoError(2); } if (!FS.isDir(lookup.node.mode)) { throw new FS.ErrnoError(20); } var err = FS.nodePermissions(lookup.node, "x"); if (err) { throw new FS.ErrnoError(err); } FS.currentPath = lookup.path; }, createDefaultDirectories: function() { FS.mkdir("/tmp"); FS.mkdir("/home"); FS.mkdir("/home/web_user"); }, createDefaultDevices: function() { FS.mkdir("/dev"); FS.registerDevice(FS.makedev(1, 3), { read: function() { return 0; }, write: function(stream, buffer, offset, length, pos) { return length; } }); FS.mkdev("/dev/null", FS.makedev(1, 3)); TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); FS.mkdev("/dev/tty", FS.makedev(5, 0)); FS.mkdev("/dev/tty1", FS.makedev(6, 0)); var random_device; if (typeof crypto === "object" && typeof crypto["getRandomValues"] === "function") { var randomBuffer = new Uint8Array(1); random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; }; } else if (ENVIRONMENT_IS_NODE) { try { var crypto_module = require("crypto"); random_device = function() { return crypto_module["randomBytes"](1)[0]; }; } catch (e) { random_device = function() { return Math.random() * 256 | 0; }; } } else { random_device = function() { abort("random_device"); }; } FS.createDevice("/dev", "random", random_device); FS.createDevice("/dev", "urandom", random_device); FS.mkdir("/dev/shm"); FS.mkdir("/dev/shm/tmp"); }, createSpecialDirectories: function() { FS.mkdir("/proc"); FS.mkdir("/proc/self"); FS.mkdir("/proc/self/fd"); FS.mount({ mount: function() { var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73); node.node_ops = { lookup: function(parent, name) { var fd = +name; var stream = FS.getStream(fd); if (!stream) throw new FS.ErrnoError(9); var ret = { parent: null, mount: { mountpoint: "fake" }, node_ops: { readlink: function() { return stream.path; } } }; ret.parent = ret; return ret; } }; return node; } }, {}, "/proc/self/fd"); }, createStandardStreams: function() { if (Module["stdin"]) { FS.createDevice("/dev", "stdin", Module["stdin"]); } else { FS.symlink("/dev/tty", "/dev/stdin"); } if (Module["stdout"]) { FS.createDevice("/dev", "stdout", null, Module["stdout"]); } else { FS.symlink("/dev/tty", "/dev/stdout"); } if (Module["stderr"]) { FS.createDevice("/dev", "stderr", null, Module["stderr"]); } else { FS.symlink("/dev/tty1", "/dev/stderr"); } var stdin = FS.open("/dev/stdin", "r"); assert(stdin.fd === 0, "invalid handle for stdin (" + stdin.fd + ")"); var stdout = FS.open("/dev/stdout", "w"); assert(stdout.fd === 1, "invalid handle for stdout (" + stdout.fd + ")"); var stderr = FS.open("/dev/stderr", "w"); assert(stderr.fd === 2, "invalid handle for stderr (" + stderr.fd + ")"); }, ensureErrnoError: function() { if (FS.ErrnoError) return; FS.ErrnoError = function ErrnoError(errno, node) { this.node = node; this.setErrno = function(errno) { this.errno = errno; }; this.setErrno(errno); this.message = "FS error"; if (this.stack) Object.defineProperty(this, "stack", { value: new Error().stack, writable: true }); }; FS.ErrnoError.prototype = new Error(); FS.ErrnoError.prototype.constructor = FS.ErrnoError; [ 2 ].forEach(function(code) { FS.genericErrors[code] = new FS.ErrnoError(code); FS.genericErrors[code].stack = ""; }); }, staticInit: function() { FS.ensureErrnoError(); FS.nameTable = new Array(4096); FS.mount(MEMFS, {}, "/"); FS.createDefaultDirectories(); FS.createDefaultDevices(); FS.createSpecialDirectories(); FS.filesystems = { "MEMFS": MEMFS, "IDBFS": IDBFS, "NODEFS": NODEFS, "WORKERFS": WORKERFS }; }, init: function(input, output, error) { assert(!FS.init.initialized, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"); FS.init.initialized = true; FS.ensureErrnoError(); Module["stdin"] = input || Module["stdin"]; Module["stdout"] = output || Module["stdout"]; Module["stderr"] = error || Module["stderr"]; FS.createStandardStreams(); }, quit: function() { FS.init.initialized = false; var fflush = Module["_fflush"]; if (fflush) fflush(0); for (var i = 0; i < FS.streams.length; i++) { var stream = FS.streams[i]; if (!stream) { continue; } FS.close(stream); } }, getMode: function(canRead, canWrite) { var mode = 0; if (canRead) mode |= 292 | 73; if (canWrite) mode |= 146; return mode; }, joinPath: function(parts, forceRelative) { var path = PATH.join.apply(null, parts); if (forceRelative && path[0] == "/") path = path.substr(1); return path; }, absolutePath: function(relative, base) { return PATH.resolve(base, relative); }, standardizePath: function(path) { return PATH.normalize(path); }, findObject: function(path, dontResolveLastLink) { var ret = FS.analyzePath(path, dontResolveLastLink); if (ret.exists) { return ret.object; } else { ___setErrNo(ret.error); return null; } }, analyzePath: function(path, dontResolveLastLink) { try { var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); path = lookup.path; } catch (e) {} var ret = { isRoot: false, exists: false, error: 0, name: null, path: null, object: null, parentExists: false, parentPath: null, parentObject: null }; try { var lookup = FS.lookupPath(path, { parent: true }); ret.parentExists = true; ret.parentPath = lookup.path; ret.parentObject = lookup.node; ret.name = PATH.basename(path); lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); ret.exists = true; ret.path = lookup.path; ret.object = lookup.node; ret.name = lookup.node.name; ret.isRoot = lookup.path === "/"; } catch (e) { ret.error = e.errno; } return ret; }, createFolder: function(parent, name, canRead, canWrite) { var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); var mode = FS.getMode(canRead, canWrite); return FS.mkdir(path, mode); }, createPath: function(parent, path, canRead, canWrite) { parent = typeof parent === "string" ? parent : FS.getPath(parent); var parts = path.split("/").reverse(); while (parts.length) { var part = parts.pop(); if (!part) continue; var current = PATH.join2(parent, part); try { FS.mkdir(current); } catch (e) {} parent = current; } return current; }, createFile: function(parent, name, properties, canRead, canWrite) { var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); var mode = FS.getMode(canRead, canWrite); return FS.create(path, mode); }, createDataFile: function(parent, name, data, canRead, canWrite, canOwn) { var path = name ? PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name) : parent; var mode = FS.getMode(canRead, canWrite); var node = FS.create(path, mode); if (data) { if (typeof data === "string") { var arr = new Array(data.length); for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); data = arr; } FS.chmod(node, mode | 146); var stream = FS.open(node, "w"); FS.write(stream, data, 0, data.length, 0, canOwn); FS.close(stream); FS.chmod(node, mode); } return node; }, createDevice: function(parent, name, input, output) { var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); var mode = FS.getMode(!!input, !!output); if (!FS.createDevice.major) FS.createDevice.major = 64; var dev = FS.makedev(FS.createDevice.major++, 0); FS.registerDevice(dev, { open: function(stream) { stream.seekable = false; }, close: function(stream) { if (output && output.buffer && output.buffer.length) { output(10); } }, read: function(stream, buffer, offset, length, pos) { var bytesRead = 0; for (var i = 0; i < length; i++) { var result; try { result = input(); } catch (e) { throw new FS.ErrnoError(5); } if (result === undefined && bytesRead === 0) { throw new FS.ErrnoError(11); } if (result === null || result === undefined) break; bytesRead++; buffer[offset + i] = result; } if (bytesRead) { stream.node.timestamp = Date.now(); } return bytesRead; }, write: function(stream, buffer, offset, length, pos) { for (var i = 0; i < length; i++) { try { output(buffer[offset + i]); } catch (e) { throw new FS.ErrnoError(5); } } if (length) { stream.node.timestamp = Date.now(); } return i; } }); return FS.mkdev(path, mode, dev); }, createLink: function(parent, name, target, canRead, canWrite) { var path = PATH.join2(typeof parent === "string" ? parent : FS.getPath(parent), name); return FS.symlink(target, path); }, forceLoadFile: function(obj) { if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; var success = true; if (typeof XMLHttpRequest !== "undefined") { throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); } else if (Module["read"]) { try { obj.contents = intArrayFromString(Module["read"](obj.url), true); obj.usedBytes = obj.contents.length; } catch (e) { success = false; } } else { throw new Error("Cannot load without read() or XMLHttpRequest."); } if (!success) ___setErrNo(5); return success; }, createLazyFile: function(parent, name, url, canRead, canWrite) { function LazyUint8Array() { this.lengthKnown = false; this.chunks = []; } LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) { if (idx > this.length - 1 || idx < 0) { return undefined; } var chunkOffset = idx % this.chunkSize; var chunkNum = idx / this.chunkSize | 0; return this.getter(chunkNum)[chunkOffset]; }; LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) { this.getter = getter; }; LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() { var xhr = new XMLHttpRequest(); xhr.open("HEAD", url, false); xhr.send(null); if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); var datalength = Number(xhr.getResponseHeader("Content-length")); var header; var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; var chunkSize = 1024 * 1024; if (!hasByteServing) chunkSize = datalength; var doXHR = function(from, to) { if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); if (to > datalength - 1) throw new Error("only " + datalength + " bytes available! programmer error!"); var xhr = new XMLHttpRequest(); xhr.open("GET", url, false); if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer"; if (xhr.overrideMimeType) { xhr.overrideMimeType("text/plain; charset=x-user-defined"); } xhr.send(null); if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); if (xhr.response !== undefined) { return new Uint8Array(xhr.response || []); } else { return intArrayFromString(xhr.responseText || "", true); } }; var lazyArray = this; lazyArray.setDataGetter(function(chunkNum) { var start = chunkNum * chunkSize; var end = (chunkNum + 1) * chunkSize - 1; end = Math.min(end, datalength - 1); if (typeof lazyArray.chunks[chunkNum] === "undefined") { lazyArray.chunks[chunkNum] = doXHR(start, end); } if (typeof lazyArray.chunks[chunkNum] === "undefined") throw new Error("doXHR failed!"); return lazyArray.chunks[chunkNum]; }); if (usesGzip || !datalength) { chunkSize = datalength = 1; datalength = this.getter(0).length; chunkSize = datalength; console.log("LazyFiles on gzip forces download of the whole file when length is accessed"); } this._length = datalength; this._chunkSize = chunkSize; this.lengthKnown = true; }; if (typeof XMLHttpRequest !== "undefined") { if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc"; var lazyArray = new LazyUint8Array(); Object.defineProperties(lazyArray, { length: { get: function() { if (!this.lengthKnown) { this.cacheLength(); } return this._length; } }, chunkSize: { get: function() { if (!this.lengthKnown) { this.cacheLength(); } return this._chunkSize; } } }); var properties = { isDevice: false, contents: lazyArray }; } else { var properties = { isDevice: false, url: url }; } var node = FS.createFile(parent, name, properties, canRead, canWrite); if (properties.contents) { node.contents = properties.contents; } else if (properties.url) { node.contents = null; node.url = properties.url; } Object.defineProperties(node, { usedBytes: { get: function() { return this.contents.length; } } }); var stream_ops = {}; var keys = Object.keys(node.stream_ops); keys.forEach(function(key) { var fn = node.stream_ops[key]; stream_ops[key] = function forceLoadLazyFile() { if (!FS.forceLoadFile(node)) { throw new FS.ErrnoError(5); } return fn.apply(null, arguments); }; }); stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) { if (!FS.forceLoadFile(node)) { throw new FS.ErrnoError(5); } var contents = stream.node.contents; if (position >= contents.length) return 0; var size = Math.min(contents.length - position, length); assert(size >= 0); if (contents.slice) { for (var i = 0; i < size; i++) { buffer[offset + i] = contents[position + i]; } } else { for (var i = 0; i < size; i++) { buffer[offset + i] = contents.get(position + i); } } return size; }; node.stream_ops = stream_ops; return node; }, createPreloadedFile: function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) { Browser.init(); var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent; var dep = getUniqueRunDependency("cp " + fullname); function processData(byteArray) { function finish(byteArray) { if (preFinish) preFinish(); if (!dontCreateFile) { FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); } if (onload) onload(); removeRunDependency(dep); } var handled = false; Module["preloadPlugins"].forEach(function(plugin) { if (handled) return; if (plugin["canHandle"](fullname)) { plugin["handle"](byteArray, fullname, finish, function() { if (onerror) onerror(); removeRunDependency(dep); }); handled = true; } }); if (!handled) finish(byteArray); } addRunDependency(dep); if (typeof url == "string") { Browser.asyncLoad(url, function(byteArray) { processData(byteArray); }, onerror); } else { processData(url); } }, indexedDB: function() { return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB; }, DB_NAME: function() { return "EM_FS_" + window.location.pathname; }, DB_VERSION: 20, DB_STORE_NAME: "FILE_DATA", saveFilesToDB: function(paths, onload, onerror) { onload = onload || function() {}; onerror = onerror || function() {}; var indexedDB = FS.indexedDB(); try { var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); } catch (e) { return onerror(e); } openRequest.onupgradeneeded = function openRequest_onupgradeneeded() { console.log("creating db"); var db = openRequest.result; db.createObjectStore(FS.DB_STORE_NAME); }; openRequest.onsuccess = function openRequest_onsuccess() { var db = openRequest.result; var transaction = db.transaction([ FS.DB_STORE_NAME ], "readwrite"); var files = transaction.objectStore(FS.DB_STORE_NAME); var ok = 0, fail = 0, total = paths.length; function finish() { if (fail == 0) onload(); else onerror(); } paths.forEach(function(path) { var putRequest = files.put(FS.analyzePath(path).object.contents, path); putRequest.onsuccess = function putRequest_onsuccess() { ok++; if (ok + fail == total) finish(); }; putRequest.onerror = function putRequest_onerror() { fail++; if (ok + fail == total) finish(); }; }); transaction.onerror = onerror; }; openRequest.onerror = onerror; }, loadFilesFromDB: function(paths, onload, onerror) { onload = onload || function() {}; onerror = onerror || function() {}; var indexedDB = FS.indexedDB(); try { var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION); } catch (e) { return onerror(e); } openRequest.onupgradeneeded = onerror; openRequest.onsuccess = function openRequest_onsuccess() { var db = openRequest.result; try { var transaction = db.transaction([ FS.DB_STORE_NAME ], "readonly"); } catch (e) { onerror(e); return; } var files = transaction.objectStore(FS.DB_STORE_NAME); var ok = 0, fail = 0, total = paths.length; function finish() { if (fail == 0) onload(); else onerror(); } paths.forEach(function(path) { var getRequest = files.get(path); getRequest.onsuccess = function getRequest_onsuccess() { if (FS.analyzePath(path).exists) { FS.unlink(path); } FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true); ok++; if (ok + fail == total) finish(); }; getRequest.onerror = function getRequest_onerror() { fail++; if (ok + fail == total) finish(); }; }); transaction.onerror = onerror; }; openRequest.onerror = onerror; } }; function _emscripten_set_main_loop_timing(mode, value) { Browser.mainLoop.timingMode = mode; Browser.mainLoop.timingValue = value; if (!Browser.mainLoop.func) { return 1; } if (mode == 0) { Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now()) | 0; setTimeout(Browser.mainLoop.runner, timeUntilNextTick); }; Browser.mainLoop.method = "timeout"; } else if (mode == 1) { Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { Browser.requestAnimationFrame(Browser.mainLoop.runner); }; Browser.mainLoop.method = "rAF"; } else if (mode == 2) { if (typeof setImmediate === "undefined") { var setImmediates = []; var emscriptenMainLoopMessageId = "setimmediate"; var Browser_setImmediate_messageHandler = function(event) { if (event.data === emscriptenMainLoopMessageId || event.data.target === emscriptenMainLoopMessageId) { event.stopPropagation(); setImmediates.shift()(); } }; addEventListener("message", Browser_setImmediate_messageHandler, true); setImmediate = function Browser_emulated_setImmediate(func) { setImmediates.push(func); if (ENVIRONMENT_IS_WORKER) { if (Module["setImmediates"] === undefined) Module["setImmediates"] = []; Module["setImmediates"].push(func); postMessage({ target: emscriptenMainLoopMessageId }); } else postMessage(emscriptenMainLoopMessageId, "*"); }; } Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { setImmediate(Browser.mainLoop.runner); }; Browser.mainLoop.method = "immediate"; } return 0; } function _emscripten_get_now() { abort(); } function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { Module["noExitRuntime"] = true; assert(!Browser.mainLoop.func, "emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."); Browser.mainLoop.func = func; Browser.mainLoop.arg = arg; var browserIterationFunc; if (typeof arg !== "undefined") { browserIterationFunc = function() { Module["dynCall_vi"](func, arg); }; } else { browserIterationFunc = function() { Module["dynCall_v"](func); }; } var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop; Browser.mainLoop.runner = function Browser_mainLoop_runner() { if (ABORT) return; if (Browser.mainLoop.queue.length > 0) { var start = Date.now(); var blocker = Browser.mainLoop.queue.shift(); blocker.func(blocker.arg); if (Browser.mainLoop.remainingBlockers) { var remaining = Browser.mainLoop.remainingBlockers; var next = remaining % 1 == 0 ? remaining - 1 : Math.floor(remaining); if (blocker.counted) { Browser.mainLoop.remainingBlockers = next; } else { next = next + .5; Browser.mainLoop.remainingBlockers = (8 * remaining + next) / 9; } } console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + " ms"); Browser.mainLoop.updateStatus(); if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; setTimeout(Browser.mainLoop.runner, 0); return; } if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0; if (Browser.mainLoop.timingMode == 1 && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { Browser.mainLoop.scheduler(); return; } else if (Browser.mainLoop.timingMode == 0) { Browser.mainLoop.tickStartTime = _emscripten_get_now(); } if (Browser.mainLoop.method === "timeout" && Module.ctx) { err("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"); Browser.mainLoop.method = ""; } Browser.mainLoop.runIter(browserIterationFunc); if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return; if (typeof SDL === "object" && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData(); Browser.mainLoop.scheduler(); }; if (!noSetTiming) { if (fps && fps > 0) _emscripten_set_main_loop_timing(0, 1e3 / fps); else _emscripten_set_main_loop_timing(1, 1); Browser.mainLoop.scheduler(); } if (simulateInfiniteLoop) { throw "SimulateInfiniteLoop"; } } var Browser = { mainLoop: { scheduler: null, method: "", currentlyRunningMainloop: 0, func: null, arg: 0, timingMode: 0, timingValue: 0, currentFrameNumber: 0, queue: [], pause: function() { Browser.mainLoop.scheduler = null; Browser.mainLoop.currentlyRunningMainloop++; }, resume: function() { Browser.mainLoop.currentlyRunningMainloop++; var timingMode = Browser.mainLoop.timingMode; var timingValue = Browser.mainLoop.timingValue; var func = Browser.mainLoop.func; Browser.mainLoop.func = null; _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true); _emscripten_set_main_loop_timing(timingMode, timingValue); Browser.mainLoop.scheduler(); }, updateStatus: function() { if (Module["setStatus"]) { var message = Module["statusMessage"] || "Please wait..."; var remaining = Browser.mainLoop.remainingBlockers; var expected = Browser.mainLoop.expectedBlockers; if (remaining) { if (remaining < expected) { Module["setStatus"](message + " (" + (expected - remaining) + "/" + expected + ")"); } else { Module["setStatus"](message); } } else { Module["setStatus"](""); } } }, runIter: function(func) { if (ABORT) return; if (Module["preMainLoop"]) { var preRet = Module["preMainLoop"](); if (preRet === false) { return; } } try { func(); } catch (e) { if (e instanceof ExitStatus) { return; } else { if (e && typeof e === "object" && e.stack) err("exception thrown: " + [ e, e.stack ]); throw e; } } if (Module["postMainLoop"]) Module["postMainLoop"](); } }, isFullscreen: false, pointerLock: false, moduleContextCreatedCallbacks: [], workers: [], init: function() { if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; if (Browser.initted) return; Browser.initted = true; try { new Blob(); Browser.hasBlobConstructor = true; } catch (e) { Browser.hasBlobConstructor = false; console.log("warning: no blob constructor, cannot create blobs with mimetypes"); } Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : !Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null; Browser.URLObject = typeof window != "undefined" ? window.URL ? window.URL : window.webkitURL : undefined; if (!Module.noImageDecoding && typeof Browser.URLObject === "undefined") { console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."); Module.noImageDecoding = true; } var imagePlugin = {}; imagePlugin["canHandle"] = function imagePlugin_canHandle(name) { return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); }; imagePlugin["handle"] = function imagePlugin_handle(byteArray, name, onload, onerror) { var b = null; if (Browser.hasBlobConstructor) { try { b = new Blob([ byteArray ], { type: Browser.getMimetype(name) }); if (b.size !== byteArray.length) { b = new Blob([ new Uint8Array(byteArray).buffer ], { type: Browser.getMimetype(name) }); } } catch (e) { warnOnce("Blob constructor present but fails: " + e + "; falling back to blob builder"); } } if (!b) { var bb = new Browser.BlobBuilder(); bb.append(new Uint8Array(byteArray).buffer); b = bb.getBlob(); } var url = Browser.URLObject.createObjectURL(b); var img = new Image(); img.onload = function img_onload() { assert(img.complete, "Image " + name + " could not be decoded"); var canvas = document.createElement("canvas"); canvas.width = img.width; canvas.height = img.height; var ctx = canvas.getContext("2d"); ctx.drawImage(img, 0, 0); Module["preloadedImages"][name] = canvas; Browser.URLObject.revokeObjectURL(url); if (onload) onload(byteArray); }; img.onerror = function img_onerror(event) { console.log("Image " + url + " could not be decoded"); if (onerror) onerror(); }; img.src = url; }; Module["preloadPlugins"].push(imagePlugin); var audioPlugin = {}; audioPlugin["canHandle"] = function audioPlugin_canHandle(name) { return !Module.noAudioDecoding && name.substr(-4) in { ".ogg": 1, ".wav": 1, ".mp3": 1 }; }; audioPlugin["handle"] = function audioPlugin_handle(byteArray, name, onload, onerror) { var done = false; function finish(audio) { if (done) return; done = true; Module["preloadedAudios"][name] = audio; if (onload) onload(byteArray); } function fail() { if (done) return; done = true; Module["preloadedAudios"][name] = new Audio(); if (onerror) onerror(); } if (Browser.hasBlobConstructor) { try { var b = new Blob([ byteArray ], { type: Browser.getMimetype(name) }); } catch (e) { return fail(); } var url = Browser.URLObject.createObjectURL(b); var audio = new Audio(); audio.addEventListener("canplaythrough", function() { finish(audio); }, false); audio.onerror = function audio_onerror(event) { if (done) return; console.log("warning: browser could not fully decode audio " + name + ", trying slower base64 approach"); function encode64(data) { var BASE = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; var PAD = "="; var ret = ""; var leftchar = 0; var leftbits = 0; for (var i = 0; i < data.length; i++) { leftchar = leftchar << 8 | data[i]; leftbits += 8; while (leftbits >= 6) { var curr = leftchar >> leftbits - 6 & 63; leftbits -= 6; ret += BASE[curr]; } } if (leftbits == 2) { ret += BASE[(leftchar & 3) << 4]; ret += PAD + PAD; } else if (leftbits == 4) { ret += BASE[(leftchar & 15) << 2]; ret += PAD; } return ret; } audio.src = "data:audio/x-" + name.substr(-3) + ";base64," + encode64(byteArray); finish(audio); }; audio.src = url; Browser.safeSetTimeout(function() { finish(audio); }, 1e4); } else { return fail(); } }; Module["preloadPlugins"].push(audioPlugin); function pointerLockChange() { Browser.pointerLock = document["pointerLockElement"] === Module["canvas"] || document["mozPointerLockElement"] === Module["canvas"] || document["webkitPointerLockElement"] === Module["canvas"] || document["msPointerLockElement"] === Module["canvas"]; } var canvas = Module["canvas"]; if (canvas) { canvas.requestPointerLock = canvas["requestPointerLock"] || canvas["mozRequestPointerLock"] || canvas["webkitRequestPointerLock"] || canvas["msRequestPointerLock"] || function() {}; canvas.exitPointerLock = document["exitPointerLock"] || document["mozExitPointerLock"] || document["webkitExitPointerLock"] || document["msExitPointerLock"] || function() {}; canvas.exitPointerLock = canvas.exitPointerLock.bind(document); document.addEventListener("pointerlockchange", pointerLockChange, false); document.addEventListener("mozpointerlockchange", pointerLockChange, false); document.addEventListener("webkitpointerlockchange", pointerLockChange, false); document.addEventListener("mspointerlockchange", pointerLockChange, false); if (Module["elementPointerLock"]) { canvas.addEventListener("click", function(ev) { if (!Browser.pointerLock && Module["canvas"].requestPointerLock) { Module["canvas"].requestPointerLock(); ev.preventDefault(); } }, false); } } }, createContext: function(canvas, useWebGL, setInModule, webGLContextAttributes) { if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; var ctx; var contextHandle; if (useWebGL) { var contextAttributes = { antialias: false, alpha: false, majorVersion: 1 }; if (webGLContextAttributes) { for (var attribute in webGLContextAttributes) { contextAttributes[attribute] = webGLContextAttributes[attribute]; } } if (typeof GL !== "undefined") { contextHandle = GL.createContext(canvas, contextAttributes); if (contextHandle) { ctx = GL.getContext(contextHandle).GLctx; } } } else { ctx = canvas.getContext("2d"); } if (!ctx) return null; if (setInModule) { if (!useWebGL) assert(typeof GLctx === "undefined", "cannot set in module if GLctx is used, but we are a non-GL context that would replace it"); Module.ctx = ctx; if (useWebGL) GL.makeContextCurrent(contextHandle); Module.useWebGL = useWebGL; Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback(); }); Browser.init(); } return ctx; }, destroyContext: function(canvas, useWebGL, setInModule) {}, fullscreenHandlersInstalled: false, lockPointer: undefined, resizeCanvas: undefined, requestFullscreen: function(lockPointer, resizeCanvas, vrDevice) { lockPointer = false; console.log("forcing lockPointer to false"); Browser.lockPointer = lockPointer; Browser.resizeCanvas = resizeCanvas; Browser.vrDevice = vrDevice; if (typeof Browser.lockPointer === "undefined") Browser.lockPointer = false; if (typeof Browser.resizeCanvas === "undefined") Browser.resizeCanvas = false; if (typeof Browser.vrDevice === "undefined") Browser.vrDevice = null; var canvas = Module["canvas"]; function fullscreenChange() { Browser.isFullscreen = false; var canvasContainer = canvas.parentNode; if ((document["fullscreenElement"] || document["mozFullScreenElement"] || document["msFullscreenElement"] || document["webkitFullscreenElement"] || document["webkitCurrentFullScreenElement"]) === canvasContainer) { canvas.exitFullscreen = document["exitFullscreen"] || document["cancelFullScreen"] || document["mozCancelFullScreen"] || document["msExitFullscreen"] || document["webkitCancelFullScreen"] || function() {}; canvas.exitFullscreen = canvas.exitFullscreen.bind(document); Browser.isFullscreen = true; if (Browser.resizeCanvas) { Browser.setFullscreenCanvasSize(); } else { Browser.updateCanvasDimensions(canvas); } } else { canvasContainer.parentNode.insertBefore(canvas, canvasContainer); canvasContainer.parentNode.removeChild(canvasContainer); if (Browser.resizeCanvas) { Browser.setWindowedCanvasSize(); } else { Browser.updateCanvasDimensions(canvas); } } if (Module["onFullScreen"]) Module["onFullScreen"](Browser.isFullscreen); if (Module["onFullscreen"]) Module["onFullscreen"](Browser.isFullscreen); } if (!Browser.fullscreenHandlersInstalled) { Browser.fullscreenHandlersInstalled = true; document.addEventListener("fullscreenchange", fullscreenChange, false); document.addEventListener("mozfullscreenchange", fullscreenChange, false); document.addEventListener("webkitfullscreenchange", fullscreenChange, false); document.addEventListener("MSFullscreenChange", fullscreenChange, false); } var canvasContainer = document.createElement("div"); canvas.parentNode.insertBefore(canvasContainer, canvas); canvasContainer.appendChild(canvas); canvasContainer.requestFullscreen = canvasContainer["requestFullscreen"] || canvasContainer["mozRequestFullScreen"] || canvasContainer["msRequestFullscreen"] || (canvasContainer["webkitRequestFullscreen"] ? function() { canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]); } : null) || (canvasContainer["webkitRequestFullScreen"] ? function() { canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]); } : null); if (vrDevice) { canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); } else { canvasContainer.requestFullscreen(); } }, requestFullScreen: function(lockPointer, resizeCanvas, vrDevice) { err("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead."); Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) { return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); }; return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); }, nextRAF: 0, fakeRequestAnimationFrame: function(func) { var now = Date.now(); if (Browser.nextRAF === 0) { Browser.nextRAF = now + 1e3 / 60; } else { while (now + 2 >= Browser.nextRAF) { Browser.nextRAF += 1e3 / 60; } } var delay = Math.max(Browser.nextRAF - now, 0); setTimeout(func, delay); }, requestAnimationFrame: function requestAnimationFrame(func) { if (typeof window === "undefined") { Browser.fakeRequestAnimationFrame(func); } else { if (!window.requestAnimationFrame) { window.requestAnimationFrame = window["requestAnimationFrame"] || window["mozRequestAnimationFrame"] || window["webkitRequestAnimationFrame"] || window["msRequestAnimationFrame"] || window["oRequestAnimationFrame"] || Browser.fakeRequestAnimationFrame; } window.requestAnimationFrame(func); } }, safeCallback: function(func) { return function() { if (!ABORT) return func.apply(null, arguments); }; }, allowAsyncCallbacks: true, queuedAsyncCallbacks: [], pauseAsyncCallbacks: function() { Browser.allowAsyncCallbacks = false; }, resumeAsyncCallbacks: function() { Browser.allowAsyncCallbacks = true; if (Browser.queuedAsyncCallbacks.length > 0) { var callbacks = Browser.queuedAsyncCallbacks; Browser.queuedAsyncCallbacks = []; callbacks.forEach(function(func) { func(); }); } }, safeRequestAnimationFrame: function(func) { return Browser.requestAnimationFrame(function() { if (ABORT) return; if (Browser.allowAsyncCallbacks) { func(); } else { Browser.queuedAsyncCallbacks.push(func); } }); }, safeSetTimeout: function(func, timeout) { Module["noExitRuntime"] = true; return setTimeout(function() { if (ABORT) return; if (Browser.allowAsyncCallbacks) { func(); } else { Browser.queuedAsyncCallbacks.push(func); } }, timeout); }, safeSetInterval: function(func, timeout) { Module["noExitRuntime"] = true; return setInterval(function() { if (ABORT) return; if (Browser.allowAsyncCallbacks) { func(); } }, timeout); }, getMimetype: function(name) { return { "jpg": "image/jpeg", "jpeg": "image/jpeg", "png": "image/png", "bmp": "image/bmp", "ogg": "audio/ogg", "wav": "audio/wav", "mp3": "audio/mpeg" }[name.substr(name.lastIndexOf(".") + 1)]; }, getUserMedia: function(func) { if (!window.getUserMedia) { window.getUserMedia = navigator["getUserMedia"] || navigator["mozGetUserMedia"]; } window.getUserMedia(func); }, getMovementX: function(event) { return event["movementX"] || event["mozMovementX"] || event["webkitMovementX"] || 0; }, getMovementY: function(event) { return event["movementY"] || event["mozMovementY"] || event["webkitMovementY"] || 0; }, getMouseWheelDelta: function(event) { var delta = 0; switch (event.type) { case "DOMMouseScroll": delta = event.detail; break; case "mousewheel": delta = event.wheelDelta; break; case "wheel": delta = event["deltaY"]; break; default: throw "unrecognized mouse wheel event: " + event.type; } return delta; }, mouseX: 0, mouseY: 0, mouseMovementX: 0, mouseMovementY: 0, touches: {}, lastTouches: {}, calculateMouseEvent: function(event) { if (Browser.pointerLock) { if (event.type != "mousemove" && "mozMovementX" in event) { Browser.mouseMovementX = Browser.mouseMovementY = 0; } else { Browser.mouseMovementX = Browser.getMovementX(event); Browser.mouseMovementY = Browser.getMovementY(event); } if (typeof SDL != "undefined") { Browser.mouseX = SDL.mouseX + Browser.mouseMovementX; Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; } else { Browser.mouseX += Browser.mouseMovementX; Browser.mouseY += Browser.mouseMovementY; } } else { var rect = Module["canvas"].getBoundingClientRect(); var cw = Module["canvas"].width; var ch = Module["canvas"].height; var scrollX = typeof window.scrollX !== "undefined" ? window.scrollX : window.pageXOffset; var scrollY = typeof window.scrollY !== "undefined" ? window.scrollY : window.pageYOffset; if (event.type === "touchstart" || event.type === "touchend" || event.type === "touchmove") { var touch = event.touch; if (touch === undefined) { return; } var adjustedX = touch.pageX - (scrollX + rect.left); var adjustedY = touch.pageY - (scrollY + rect.top); adjustedX = adjustedX * (cw / rect.width); adjustedY = adjustedY * (ch / rect.height); var coords = { x: adjustedX, y: adjustedY }; if (event.type === "touchstart") { Browser.lastTouches[touch.identifier] = coords; Browser.touches[touch.identifier] = coords; } else if (event.type === "touchend" || event.type === "touchmove") { var last = Browser.touches[touch.identifier]; if (!last) last = coords; Browser.lastTouches[touch.identifier] = last; Browser.touches[touch.identifier] = coords; } return; } var x = event.pageX - (scrollX + rect.left); var y = event.pageY - (scrollY + rect.top); x = x * (cw / rect.width); y = y * (ch / rect.height); Browser.mouseMovementX = x - Browser.mouseX; Browser.mouseMovementY = y - Browser.mouseY; Browser.mouseX = x; Browser.mouseY = y; } }, asyncLoad: function(url, onload, onerror, noRunDep) { var dep = !noRunDep ? getUniqueRunDependency("al " + url) : ""; Module["readAsync"](url, function(arrayBuffer) { assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).'); onload(new Uint8Array(arrayBuffer)); if (dep) removeRunDependency(dep); }, function(event) { if (onerror) { onerror(); } else { throw 'Loading data file "' + url + '" failed.'; } }); if (dep) addRunDependency(dep); }, resizeListeners: [], updateResizeListeners: function() { var canvas = Module["canvas"]; Browser.resizeListeners.forEach(function(listener) { listener(canvas.width, canvas.height); }); }, setCanvasSize: function(width, height, noUpdates) { var canvas = Module["canvas"]; Browser.updateCanvasDimensions(canvas, width, height); if (!noUpdates) Browser.updateResizeListeners(); }, windowedWidth: 0, windowedHeight: 0, setFullscreenCanvasSize: function() { if (typeof SDL != "undefined") { var flags = HEAPU32[SDL.screen >> 2]; flags = flags | 8388608; HEAP32[SDL.screen >> 2] = flags; } Browser.updateCanvasDimensions(Module["canvas"]); Browser.updateResizeListeners(); }, setWindowedCanvasSize: function() { if (typeof SDL != "undefined") { var flags = HEAPU32[SDL.screen >> 2]; flags = flags & ~8388608; HEAP32[SDL.screen >> 2] = flags; } Browser.updateCanvasDimensions(Module["canvas"]); Browser.updateResizeListeners(); }, updateCanvasDimensions: function(canvas, wNative, hNative) { if (wNative && hNative) { canvas.widthNative = wNative; canvas.heightNative = hNative; } else { wNative = canvas.widthNative; hNative = canvas.heightNative; } var w = wNative; var h = hNative; if (Module["forcedAspectRatio"] && Module["forcedAspectRatio"] > 0) { if (w / h < Module["forcedAspectRatio"]) { w = Math.round(h * Module["forcedAspectRatio"]); } else { h = Math.round(w / Module["forcedAspectRatio"]); } } if ((document["fullscreenElement"] || document["mozFullScreenElement"] || document["msFullscreenElement"] || document["webkitFullscreenElement"] || document["webkitCurrentFullScreenElement"]) === canvas.parentNode && typeof screen != "undefined") { var factor = Math.min(screen.width / w, screen.height / h); w = Math.round(w * factor); h = Math.round(h * factor); } if (Browser.resizeCanvas) { if (canvas.width != w) canvas.width = w; if (canvas.height != h) canvas.height = h; if (typeof canvas.style != "undefined") { canvas.style.removeProperty("width"); canvas.style.removeProperty("height"); } } else { if (canvas.width != wNative) canvas.width = wNative; if (canvas.height != hNative) canvas.height = hNative; if (typeof canvas.style != "undefined") { if (w != wNative || h != hNative) { canvas.style.setProperty("width", w + "px", "important"); canvas.style.setProperty("height", h + "px", "important"); } else { canvas.style.removeProperty("width"); canvas.style.removeProperty("height"); } } } }, wgetRequests: {}, nextWgetRequestHandle: 0, getNextWgetRequestHandle: function() { var handle = Browser.nextWgetRequestHandle; Browser.nextWgetRequestHandle++; return handle; } }; function _SDL_GetTicks() { return Date.now() - SDL.startTime | 0; } function _SDL_LockSurface(surf) { var surfData = SDL.surfaces[surf]; surfData.locked++; if (surfData.locked > 1) return 0; if (!surfData.buffer) { surfData.buffer = _malloc(surfData.width * surfData.height * 4); HEAP32[surf + 20 >> 2] = surfData.buffer; } HEAP32[surf + 20 >> 2] = surfData.buffer; if (surf == SDL.screen && Module.screenIsReadOnly && surfData.image) return 0; if (SDL.defaults.discardOnLock) { if (!surfData.image) { surfData.image = surfData.ctx.createImageData(surfData.width, surfData.height); } if (!SDL.defaults.opaqueFrontBuffer) return; } else { surfData.image = surfData.ctx.getImageData(0, 0, surfData.width, surfData.height); } if (surf == SDL.screen && SDL.defaults.opaqueFrontBuffer) { var data = surfData.image.data; var num = data.length; for (var i = 0; i < num / 4; i++) { data[i * 4 + 3] = 255; } } if (SDL.defaults.copyOnLock && !SDL.defaults.discardOnLock) { if (surfData.isFlagSet(2097152)) { throw "CopyOnLock is not supported for SDL_LockSurface with SDL_HWPALETTE flag set" + new Error().stack; } else { HEAPU8.set(surfData.image.data, surfData.buffer); } } return 0; } var SDL = { defaults: { width: 320, height: 200, copyOnLock: false, discardOnLock: true, opaqueFrontBuffer: false }, version: null, surfaces: {}, canvasPool: [], events: [], fonts: [ null ], audios: [ null ], rwops: [ null ], music: { audio: null, volume: 1 }, mixerFrequency: 22050, mixerFormat: 32784, mixerNumChannels: 2, mixerChunkSize: 1024, channelMinimumNumber: 0, GL: false, glAttributes: { 0: 3, 1: 3, 2: 2, 3: 0, 4: 0, 5: 1, 6: 16, 7: 0, 8: 0, 9: 0, 10: 0, 11: 0, 12: 0, 13: 0, 14: 0, 15: 1, 16: 0, 17: 0, 18: 0 }, keyboardState: null, keyboardMap: {}, canRequestFullscreen: false, isRequestingFullscreen: false, textInput: false, startTime: null, initFlags: 0, buttonState: 0, modState: 0, DOMButtons: [ 0, 0, 0 ], DOMEventToSDLEvent: {}, TOUCH_DEFAULT_ID: 0, eventHandler: null, eventHandlerContext: null, eventHandlerTemp: 0, keyCodes: { 16: 1249, 17: 1248, 18: 1250, 20: 1081, 33: 1099, 34: 1102, 35: 1101, 36: 1098, 37: 1104, 38: 1106, 39: 1103, 40: 1105, 44: 316, 45: 1097, 46: 127, 91: 1251, 93: 1125, 96: 1122, 97: 1113, 98: 1114, 99: 1115, 100: 1116, 101: 1117, 102: 1118, 103: 1119, 104: 1120, 105: 1121, 106: 1109, 107: 1111, 109: 1110, 110: 1123, 111: 1108, 112: 1082, 113: 1083, 114: 1084, 115: 1085, 116: 1086, 117: 1087, 118: 1088, 119: 1089, 120: 1090, 121: 1091, 122: 1092, 123: 1093, 124: 1128, 125: 1129, 126: 1130, 127: 1131, 128: 1132, 129: 1133, 130: 1134, 131: 1135, 132: 1136, 133: 1137, 134: 1138, 135: 1139, 144: 1107, 160: 94, 161: 33, 162: 34, 163: 35, 164: 36, 165: 37, 166: 38, 167: 95, 168: 40, 169: 41, 170: 42, 171: 43, 172: 124, 173: 45, 174: 123, 175: 125, 176: 126, 181: 127, 182: 129, 183: 128, 188: 44, 190: 46, 191: 47, 192: 96, 219: 91, 220: 92, 221: 93, 222: 39, 224: 1251 }, scanCodes: { 8: 42, 9: 43, 13: 40, 27: 41, 32: 44, 35: 204, 39: 53, 44: 54, 46: 55, 47: 56, 48: 39, 49: 30, 50: 31, 51: 32, 52: 33, 53: 34, 54: 35, 55: 36, 56: 37, 57: 38, 58: 203, 59: 51, 61: 46, 91: 47, 92: 49, 93: 48, 96: 52, 97: 4, 98: 5, 99: 6, 100: 7, 101: 8, 102: 9, 103: 10, 104: 11, 105: 12, 106: 13, 107: 14, 108: 15, 109: 16, 110: 17, 111: 18, 112: 19, 113: 20, 114: 21, 115: 22, 116: 23, 117: 24, 118: 25, 119: 26, 120: 27, 121: 28, 122: 29, 127: 76, 305: 224, 308: 226, 316: 70 }, loadRect: function(rect) { return { x: HEAP32[rect + 0 >> 2], y: HEAP32[rect + 4 >> 2], w: HEAP32[rect + 8 >> 2], h: HEAP32[rect + 12 >> 2] }; }, updateRect: function(rect, r) { HEAP32[rect >> 2] = r.x; HEAP32[rect + 4 >> 2] = r.y; HEAP32[rect + 8 >> 2] = r.w; HEAP32[rect + 12 >> 2] = r.h; }, intersectionOfRects: function(first, second) { var leftX = Math.max(first.x, second.x); var leftY = Math.max(first.y, second.y); var rightX = Math.min(first.x + first.w, second.x + second.w); var rightY = Math.min(first.y + first.h, second.y + second.h); return { x: leftX, y: leftY, w: Math.max(leftX, rightX) - leftX, h: Math.max(leftY, rightY) - leftY }; }, checkPixelFormat: function(fmt) {}, loadColorToCSSRGB: function(color) { var rgba = HEAP32[color >> 2]; return "rgb(" + (rgba & 255) + "," + (rgba >> 8 & 255) + "," + (rgba >> 16 & 255) + ")"; }, loadColorToCSSRGBA: function(color) { var rgba = HEAP32[color >> 2]; return "rgba(" + (rgba & 255) + "," + (rgba >> 8 & 255) + "," + (rgba >> 16 & 255) + "," + (rgba >> 24 & 255) / 255 + ")"; }, translateColorToCSSRGBA: function(rgba) { return "rgba(" + (rgba & 255) + "," + (rgba >> 8 & 255) + "," + (rgba >> 16 & 255) + "," + (rgba >>> 24) / 255 + ")"; }, translateRGBAToCSSRGBA: function(r, g, b, a) { return "rgba(" + (r & 255) + "," + (g & 255) + "," + (b & 255) + "," + (a & 255) / 255 + ")"; }, translateRGBAToColor: function(r, g, b, a) { return r | g << 8 | b << 16 | a << 24; }, makeSurface: function(width, height, flags, usePageCanvas, source, rmask, gmask, bmask, amask) { flags = flags || 0; var is_SDL_HWSURFACE = flags & 1; var is_SDL_HWPALETTE = flags & 2097152; var is_SDL_OPENGL = flags & 67108864; var surf = _malloc(60); var pixelFormat = _malloc(44); var bpp = is_SDL_HWPALETTE ? 1 : 4; var buffer = 0; if (!is_SDL_HWSURFACE && !is_SDL_OPENGL) { buffer = _malloc(width * height * 4); } HEAP32[surf >> 2] = flags; HEAP32[surf + 4 >> 2] = pixelFormat; HEAP32[surf + 8 >> 2] = width; HEAP32[surf + 12 >> 2] = height; HEAP32[surf + 16 >> 2] = width * bpp; HEAP32[surf + 20 >> 2] = buffer; HEAP32[surf + 36 >> 2] = 0; HEAP32[surf + 40 >> 2] = 0; HEAP32[surf + 44 >> 2] = Module["canvas"].width; HEAP32[surf + 48 >> 2] = Module["canvas"].height; HEAP32[surf + 56 >> 2] = 1; HEAP32[pixelFormat >> 2] = -2042224636; HEAP32[pixelFormat + 4 >> 2] = 0; HEAP8[pixelFormat + 8 >> 0] = bpp * 8; HEAP8[pixelFormat + 9 >> 0] = bpp; HEAP32[pixelFormat + 12 >> 2] = rmask || 255; HEAP32[pixelFormat + 16 >> 2] = gmask || 65280; HEAP32[pixelFormat + 20 >> 2] = bmask || 16711680; HEAP32[pixelFormat + 24 >> 2] = amask || 4278190080; SDL.GL = SDL.GL || is_SDL_OPENGL; var canvas; if (!usePageCanvas) { if (SDL.canvasPool.length > 0) { canvas = SDL.canvasPool.pop(); } else { canvas = document.createElement("canvas"); } canvas.width = width; canvas.height = height; } else { canvas = Module["canvas"]; } var webGLContextAttributes = { antialias: SDL.glAttributes[13] != 0 && SDL.glAttributes[14] > 1, depth: SDL.glAttributes[6] > 0, stencil: SDL.glAttributes[7] > 0, alpha: SDL.glAttributes[3] > 0 }; var ctx = Browser.createContext(canvas, is_SDL_OPENGL, usePageCanvas, webGLContextAttributes); SDL.surfaces[surf] = { width: width, height: height, canvas: canvas, ctx: ctx, surf: surf, buffer: buffer, pixelFormat: pixelFormat, alpha: 255, flags: flags, locked: 0, usePageCanvas: usePageCanvas, source: source, isFlagSet: function(flag) { return flags & flag; } }; return surf; }, copyIndexedColorData: function(surfData, rX, rY, rW, rH) { if (!surfData.colors) { return; } var fullWidth = Module["canvas"].width; var fullHeight = Module["canvas"].height; var startX = rX || 0; var startY = rY || 0; var endX = (rW || fullWidth - startX) + startX; var endY = (rH || fullHeight - startY) + startY; var buffer = surfData.buffer; if (!surfData.image.data32) { surfData.image.data32 = new Uint32Array(surfData.image.data.buffer); } var data32 = surfData.image.data32; var colors32 = surfData.colors32; for (var y = startY; y < endY; ++y) { var base = y * fullWidth; for (var x = startX; x < endX; ++x) { data32[base + x] = colors32[HEAPU8[buffer + base + x >> 0]]; } } }, freeSurface: function(surf) { var refcountPointer = surf + 56; var refcount = HEAP32[refcountPointer >> 2]; if (refcount > 1) { HEAP32[refcountPointer >> 2] = refcount - 1; return; } var info = SDL.surfaces[surf]; if (!info.usePageCanvas && info.canvas) SDL.canvasPool.push(info.canvas); if (info.buffer) _free(info.buffer); _free(info.pixelFormat); _free(surf); SDL.surfaces[surf] = null; if (surf === SDL.screen) { SDL.screen = null; } }, blitSurface: function(src, srcrect, dst, dstrect, scale) { var srcData = SDL.surfaces[src]; var dstData = SDL.surfaces[dst]; var sr, dr; if (srcrect) { sr = SDL.loadRect(srcrect); } else { sr = { x: 0, y: 0, w: srcData.width, h: srcData.height }; } if (dstrect) { dr = SDL.loadRect(dstrect); } else { dr = { x: 0, y: 0, w: srcData.width, h: srcData.height }; } if (dstData.clipRect) { var widthScale = !scale || sr.w === 0 ? 1 : sr.w / dr.w; var heightScale = !scale || sr.h === 0 ? 1 : sr.h / dr.h; dr = SDL.intersectionOfRects(dstData.clipRect, dr); sr.w = dr.w * widthScale; sr.h = dr.h * heightScale; if (dstrect) { SDL.updateRect(dstrect, dr); } } var blitw, blith; if (scale) { blitw = dr.w; blith = dr.h; } else { blitw = sr.w; blith = sr.h; } if (sr.w === 0 || sr.h === 0 || blitw === 0 || blith === 0) { return 0; } var oldAlpha = dstData.ctx.globalAlpha; dstData.ctx.globalAlpha = srcData.alpha / 255; dstData.ctx.drawImage(srcData.canvas, sr.x, sr.y, sr.w, sr.h, dr.x, dr.y, blitw, blith); dstData.ctx.globalAlpha = oldAlpha; if (dst != SDL.screen) { warnOnce("WARNING: copying canvas data to memory for compatibility"); _SDL_LockSurface(dst); dstData.locked--; } return 0; }, downFingers: {}, savedKeydown: null, receiveEvent: function(event) { function unpressAllPressedKeys() { for (var code in SDL.keyboardMap) { SDL.events.push({ type: "keyup", keyCode: SDL.keyboardMap[code] }); } } switch (event.type) { case "touchstart": case "touchmove": { event.preventDefault(); var touches = []; if (event.type === "touchstart") { for (var i = 0; i < event.touches.length; i++) { var touch = event.touches[i]; if (SDL.downFingers[touch.identifier] != true) { SDL.downFingers[touch.identifier] = true; touches.push(touch); } } } else { touches = event.touches; } var firstTouch = touches[0]; if (firstTouch) { if (event.type == "touchstart") { SDL.DOMButtons[0] = 1; } var mouseEventType; switch (event.type) { case "touchstart": mouseEventType = "mousedown"; break; case "touchmove": mouseEventType = "mousemove"; break; } var mouseEvent = { type: mouseEventType, button: 0, pageX: firstTouch.clientX, pageY: firstTouch.clientY }; SDL.events.push(mouseEvent); } for (var i = 0; i < touches.length; i++) { var touch = touches[i]; SDL.events.push({ type: event.type, touch: touch }); } break; } case "touchend": { event.preventDefault(); for (var i = 0; i < event.changedTouches.length; i++) { var touch = event.changedTouches[i]; if (SDL.downFingers[touch.identifier] === true) { delete SDL.downFingers[touch.identifier]; } } var mouseEvent = { type: "mouseup", button: 0, pageX: event.changedTouches[0].clientX, pageY: event.changedTouches[0].clientY }; SDL.DOMButtons[0] = 0; SDL.events.push(mouseEvent); for (var i = 0; i < event.changedTouches.length; i++) { var touch = event.changedTouches[i]; SDL.events.push({ type: "touchend", touch: touch }); } break; } case "DOMMouseScroll": case "mousewheel": case "wheel": var delta = -Browser.getMouseWheelDelta(event); delta = delta == 0 ? 0 : delta > 0 ? Math.max(delta, 1) : Math.min(delta, -1); var button = delta > 0 ? 3 : 4; SDL.events.push({ type: "mousedown", button: button, pageX: event.pageX, pageY: event.pageY }); SDL.events.push({ type: "mouseup", button: button, pageX: event.pageX, pageY: event.pageY }); SDL.events.push({ type: "wheel", deltaX: 0, deltaY: delta }); event.preventDefault(); break; case "mousemove": if (SDL.DOMButtons[0] === 1) { SDL.events.push({ type: "touchmove", touch: { identifier: 0, deviceID: -1, pageX: event.pageX, pageY: event.pageY } }); } if (Browser.pointerLock) { if ("mozMovementX" in event) { event["movementX"] = event["mozMovementX"]; event["movementY"] = event["mozMovementY"]; } if (event["movementX"] == 0 && event["movementY"] == 0) { event.preventDefault(); return; } } case "keydown": case "keyup": case "keypress": case "mousedown": case "mouseup": if (event.type !== "keydown" || !SDL.unicode && !SDL.textInput || (event.keyCode === 8 || event.keyCode === 9)) {} if (event.type == "mousedown") { SDL.DOMButtons[event.button] = 1; SDL.events.push({ type: "touchstart", touch: { identifier: 0, deviceID: -1, pageX: event.pageX, pageY: event.pageY } }); } else if (event.type == "mouseup") { if (!SDL.DOMButtons[event.button]) { return; } SDL.events.push({ type: "touchend", touch: { identifier: 0, deviceID: -1, pageX: event.pageX, pageY: event.pageY } }); SDL.DOMButtons[event.button] = 0; } if (event.type === "keydown" || event.type === "mousedown") { SDL.canRequestFullscreen = true; } else if (event.type === "keyup" || event.type === "mouseup") { if (SDL.isRequestingFullscreen) { Module["requestFullscreen"](false, true); SDL.isRequestingFullscreen = false; } SDL.canRequestFullscreen = false; } if (event.type === "keypress" && SDL.savedKeydown) { SDL.savedKeydown.keypressCharCode = event.charCode; SDL.savedKeydown = null; } else if (event.type === "keydown") { SDL.savedKeydown = event; } if (event.type !== "keypress" || SDL.textInput) { SDL.events.push(event); } break; case "mouseout": for (var i = 0; i < 3; i++) { if (SDL.DOMButtons[i]) { SDL.events.push({ type: "mouseup", button: i, pageX: event.pageX, pageY: event.pageY }); SDL.DOMButtons[i] = 0; } } event.preventDefault(); break; case "focus": SDL.events.push(event); event.preventDefault(); break; case "blur": SDL.events.push(event); unpressAllPressedKeys(); event.preventDefault(); break; case "visibilitychange": SDL.events.push({ type: "visibilitychange", visible: !document.hidden }); unpressAllPressedKeys(); event.preventDefault(); break; case "unload": if (Browser.mainLoop.runner) { SDL.events.push(event); Browser.mainLoop.runner(); } return; case "resize": SDL.events.push(event); if (event.preventDefault) { event.preventDefault(); } break; } if (SDL.events.length >= 1e4) { err("SDL event queue full, dropping events"); SDL.events = SDL.events.slice(0, 1e4); } SDL.flushEventsToHandler(); return; }, lookupKeyCodeForEvent: function(event) { var code = event.keyCode; if (code >= 65 && code <= 90) { code += 32; } else { code = SDL.keyCodes[event.keyCode] || event.keyCode; if (event.location === KeyboardEvent.DOM_KEY_LOCATION_RIGHT && code >= (224 | 1 << 10) && code <= (227 | 1 << 10)) { code += 4; } } return code; }, handleEvent: function(event) { if (event.handled) return; event.handled = true; switch (event.type) { case "touchstart": case "touchend": case "touchmove": { Browser.calculateMouseEvent(event); break; } case "keydown": case "keyup": { var down = event.type === "keydown"; var code = SDL.lookupKeyCodeForEvent(event); HEAP8[SDL.keyboardState + code >> 0] = down; SDL.modState = (HEAP8[SDL.keyboardState + 1248 >> 0] ? 64 : 0) | (HEAP8[SDL.keyboardState + 1249 >> 0] ? 1 : 0) | (HEAP8[SDL.keyboardState + 1250 >> 0] ? 256 : 0) | (HEAP8[SDL.keyboardState + 1252 >> 0] ? 128 : 0) | (HEAP8[SDL.keyboardState + 1253 >> 0] ? 2 : 0) | (HEAP8[SDL.keyboardState + 1254 >> 0] ? 512 : 0); if (down) { SDL.keyboardMap[code] = event.keyCode; } else { delete SDL.keyboardMap[code]; } break; } case "mousedown": case "mouseup": if (event.type == "mousedown") { SDL.buttonState |= 1 << event.button; } else if (event.type == "mouseup") { SDL.buttonState &= ~(1 << event.button); } case "mousemove": { Browser.calculateMouseEvent(event); break; } } }, flushEventsToHandler: function() { if (!SDL.eventHandler) return; while (SDL.pollEvent(SDL.eventHandlerTemp)) { Module["dynCall_iii"](SDL.eventHandler, SDL.eventHandlerContext, SDL.eventHandlerTemp); } }, pollEvent: function(ptr) { if (SDL.initFlags & 512 && SDL.joystickEventState) { SDL.queryJoysticks(); } if (ptr) { while (SDL.events.length > 0) { if (SDL.makeCEvent(SDL.events.shift(), ptr) !== false) return 1; } return 0; } else { return SDL.events.length > 0; } }, makeCEvent: function(event, ptr) { if (typeof event === "number") { _memcpy(ptr, event, 28); _free(event); return; } SDL.handleEvent(event); switch (event.type) { case "keydown": case "keyup": { var down = event.type === "keydown"; var key = SDL.lookupKeyCodeForEvent(event); var scan; if (key >= 1024) { scan = key - 1024; } else { scan = SDL.scanCodes[key] || key; } HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; HEAP8[ptr + 8 >> 0] = down ? 1 : 0; HEAP8[ptr + 9 >> 0] = 0; HEAP32[ptr + 12 >> 2] = scan; HEAP32[ptr + 16 >> 2] = key; HEAP16[ptr + 20 >> 1] = SDL.modState; HEAP32[ptr + 24 >> 2] = event.keypressCharCode || key; break; } case "keypress": { HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; var cStr = intArrayFromString(String.fromCharCode(event.charCode)); for (var i = 0; i < cStr.length; ++i) { HEAP8[ptr + (8 + i) >> 0] = cStr[i]; } break; } case "mousedown": case "mouseup": case "mousemove": { if (event.type != "mousemove") { var down = event.type === "mousedown"; HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; HEAP32[ptr + 4 >> 2] = 0; HEAP32[ptr + 8 >> 2] = 0; HEAP32[ptr + 12 >> 2] = 0; HEAP8[ptr + 16 >> 0] = event.button + 1; HEAP8[ptr + 17 >> 0] = down ? 1 : 0; HEAP32[ptr + 20 >> 2] = Browser.mouseX; HEAP32[ptr + 24 >> 2] = Browser.mouseY; } else { HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; HEAP32[ptr + 4 >> 2] = 0; HEAP32[ptr + 8 >> 2] = 0; HEAP32[ptr + 12 >> 2] = 0; HEAP32[ptr + 16 >> 2] = SDL.buttonState; HEAP32[ptr + 20 >> 2] = Browser.mouseX; HEAP32[ptr + 24 >> 2] = Browser.mouseY; HEAP32[ptr + 28 >> 2] = Browser.mouseMovementX; HEAP32[ptr + 32 >> 2] = Browser.mouseMovementY; } break; } case "wheel": { HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; HEAP32[ptr + 16 >> 2] = event.deltaX; HEAP32[ptr + 20 >> 2] = event.deltaY; break; } case "touchstart": case "touchend": case "touchmove": { var touch = event.touch; if (!Browser.touches[touch.identifier]) break; var w = Module["canvas"].width; var h = Module["canvas"].height; var x = Browser.touches[touch.identifier].x / w; var y = Browser.touches[touch.identifier].y / h; var lx = Browser.lastTouches[touch.identifier].x / w; var ly = Browser.lastTouches[touch.identifier].y / h; var dx = x - lx; var dy = y - ly; if (touch["deviceID"] === undefined) touch.deviceID = SDL.TOUCH_DEFAULT_ID; if (dx === 0 && dy === 0 && event.type === "touchmove") return false; HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; HEAP32[ptr + 4 >> 2] = _SDL_GetTicks(); tempI64 = [ touch.deviceID >>> 0, (tempDouble = touch.deviceID, +Math_abs(tempDouble) >= +1 ? tempDouble > +0 ? (Math_min(+Math_floor(tempDouble / +4294967296), +4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / +4294967296) >>> 0 : 0) ], HEAP32[ptr + 8 >> 2] = tempI64[0], HEAP32[ptr + 12 >> 2] = tempI64[1]; tempI64 = [ touch.identifier >>> 0, (tempDouble = touch.identifier, +Math_abs(tempDouble) >= +1 ? tempDouble > +0 ? (Math_min(+Math_floor(tempDouble / +4294967296), +4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / +4294967296) >>> 0 : 0) ], HEAP32[ptr + 16 >> 2] = tempI64[0], HEAP32[ptr + 20 >> 2] = tempI64[1]; HEAPF32[ptr + 24 >> 2] = x; HEAPF32[ptr + 28 >> 2] = y; HEAPF32[ptr + 32 >> 2] = dx; HEAPF32[ptr + 36 >> 2] = dy; if (touch.force !== undefined) { HEAPF32[ptr + 40 >> 2] = touch.force; } else { HEAPF32[ptr + 40 >> 2] = event.type == "touchend" ? 0 : 1; } break; } case "unload": { HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; break; } case "resize": { HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; HEAP32[ptr + 4 >> 2] = event.w; HEAP32[ptr + 8 >> 2] = event.h; break; } case "joystick_button_up": case "joystick_button_down": { var state = event.type === "joystick_button_up" ? 0 : 1; HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; HEAP8[ptr + 4 >> 0] = event.index; HEAP8[ptr + 5 >> 0] = event.button; HEAP8[ptr + 6 >> 0] = state; break; } case "joystick_axis_motion": { HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; HEAP8[ptr + 4 >> 0] = event.index; HEAP8[ptr + 5 >> 0] = event.axis; HEAP32[ptr + 8 >> 2] = SDL.joystickAxisValueConversion(event.value); break; } case "focus": { var SDL_WINDOWEVENT_FOCUS_GAINED = 12; HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; HEAP32[ptr + 4 >> 2] = 0; HEAP8[ptr + 8 >> 0] = SDL_WINDOWEVENT_FOCUS_GAINED; break; } case "blur": { var SDL_WINDOWEVENT_FOCUS_LOST = 13; HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; HEAP32[ptr + 4 >> 2] = 0; HEAP8[ptr + 8 >> 0] = SDL_WINDOWEVENT_FOCUS_LOST; break; } case "visibilitychange": { var SDL_WINDOWEVENT_SHOWN = 1; var SDL_WINDOWEVENT_HIDDEN = 2; var visibilityEventID = event.visible ? SDL_WINDOWEVENT_SHOWN : SDL_WINDOWEVENT_HIDDEN; HEAP32[ptr >> 2] = SDL.DOMEventToSDLEvent[event.type]; HEAP32[ptr + 4 >> 2] = 0; HEAP8[ptr + 8 >> 0] = visibilityEventID; break; } default: throw "Unhandled SDL event: " + event.type; } }, makeFontString: function(height, fontName) { if (fontName.charAt(0) != "'" && fontName.charAt(0) != '"') { fontName = '"' + fontName + '"'; } return height + "px " + fontName + ", serif"; }, estimateTextWidth: function(fontData, text) { var h = fontData.size; var fontString = SDL.makeFontString(h, fontData.name); var tempCtx = SDL.ttfContext; tempCtx.save(); tempCtx.font = fontString; var ret = tempCtx.measureText(text).width | 0; tempCtx.restore(); return ret; }, allocateChannels: function(num) { if (SDL.numChannels && SDL.numChannels >= num && num != 0) return; SDL.numChannels = num; SDL.channels = []; for (var i = 0; i < num; i++) { SDL.channels[i] = { audio: null, volume: 1 }; } }, setGetVolume: function(info, volume) { if (!info) return 0; var ret = info.volume * 128; if (volume != -1) { info.volume = Math.min(Math.max(volume, 0), 128) / 128; if (info.audio) { try { info.audio.volume = info.volume; if (info.audio.webAudioGainNode) info.audio.webAudioGainNode["gain"]["value"] = info.volume; } catch (e) { err("setGetVolume failed to set audio volume: " + e); } } } return ret; }, setPannerPosition: function(info, x, y, z) { if (!info) return; if (info.audio) { if (info.audio.webAudioPannerNode) { info.audio.webAudioPannerNode["setPosition"](x, y, z); } } }, playWebAudio: function(audio) { if (!audio) return; if (audio.webAudioNode) return; if (!SDL.webAudioAvailable()) return; try { var webAudio = audio.resource.webAudio; audio.paused = false; if (!webAudio.decodedBuffer) { if (webAudio.onDecodeComplete === undefined) abort("Cannot play back audio object that was not loaded"); webAudio.onDecodeComplete.push(function() { if (!audio.paused) SDL.playWebAudio(audio); }); return; } audio.webAudioNode = SDL.audioContext["createBufferSource"](); audio.webAudioNode["buffer"] = webAudio.decodedBuffer; audio.webAudioNode["loop"] = audio.loop; audio.webAudioNode["onended"] = function() { audio["onended"](); }; audio.webAudioPannerNode = SDL.audioContext["createPanner"](); audio.webAudioPannerNode["setPosition"](0, 0, -.5); audio.webAudioPannerNode["panningModel"] = "equalpower"; audio.webAudioGainNode = SDL.audioContext["createGain"](); audio.webAudioGainNode["gain"]["value"] = audio.volume; audio.webAudioNode["connect"](audio.webAudioPannerNode); audio.webAudioPannerNode["connect"](audio.webAudioGainNode); audio.webAudioGainNode["connect"](SDL.audioContext["destination"]); audio.webAudioNode["start"](0, audio.currentPosition); audio.startTime = SDL.audioContext["currentTime"] - audio.currentPosition; } catch (e) { err("playWebAudio failed: " + e); } }, pauseWebAudio: function(audio) { if (!audio) return; if (audio.webAudioNode) { try { audio.currentPosition = (SDL.audioContext["currentTime"] - audio.startTime) % audio.resource.webAudio.decodedBuffer.duration; audio.webAudioNode["onended"] = undefined; audio.webAudioNode.stop(0); audio.webAudioNode = undefined; } catch (e) { err("pauseWebAudio failed: " + e); } } audio.paused = true; }, openAudioContext: function() { if (!SDL.audioContext) { if (typeof AudioContext !== "undefined") SDL.audioContext = new AudioContext(); else if (typeof webkitAudioContext !== "undefined") SDL.audioContext = new webkitAudioContext(); } }, webAudioAvailable: function() { return !!SDL.audioContext; }, fillWebAudioBufferFromHeap: function(heapPtr, sizeSamplesPerChannel, dstAudioBuffer) { var numChannels = SDL.audio.channels; for (var c = 0; c < numChannels; ++c) { var channelData = dstAudioBuffer["getChannelData"](c); if (channelData.length != sizeSamplesPerChannel) { throw "Web Audio output buffer length mismatch! Destination size: " + channelData.length + " samples vs expected " + sizeSamplesPerChannel + " samples!"; } if (SDL.audio.format == 32784) { for (var j = 0; j < sizeSamplesPerChannel; ++j) { channelData[j] = HEAP16[heapPtr + (j * numChannels + c) * 2 >> 1] / 32768; } } else if (SDL.audio.format == 8) { for (var j = 0; j < sizeSamplesPerChannel; ++j) { var v = HEAP8[heapPtr + (j * numChannels + c) >> 0]; channelData[j] = (v >= 0 ? v - 128 : v + 128) / 128; } } else if (SDL.audio.format == 33056) { for (var j = 0; j < sizeSamplesPerChannel; ++j) { channelData[j] = HEAPF32[heapPtr + (j * numChannels + c) * 4 >> 2]; } } else { throw "Invalid SDL audio format " + SDL.audio.format + "!"; } } }, debugSurface: function(surfData) { console.log("dumping surface " + [ surfData.surf, surfData.source, surfData.width, surfData.height ]); var image = surfData.ctx.getImageData(0, 0, surfData.width, surfData.height); var data = image.data; var num = Math.min(surfData.width, surfData.height); for (var i = 0; i < num; i++) { console.log(" diagonal " + i + ":" + [ data[i * surfData.width * 4 + i * 4 + 0], data[i * surfData.width * 4 + i * 4 + 1], data[i * surfData.width * 4 + i * 4 + 2], data[i * surfData.width * 4 + i * 4 + 3] ]); } }, joystickEventState: 1, lastJoystickState: {}, joystickNamePool: {}, recordJoystickState: function(joystick, state) { var buttons = new Array(state.buttons.length); for (var i = 0; i < state.buttons.length; i++) { buttons[i] = SDL.getJoystickButtonState(state.buttons[i]); } SDL.lastJoystickState[joystick] = { buttons: buttons, axes: state.axes.slice(0), timestamp: state.timestamp, index: state.index, id: state.id }; }, getJoystickButtonState: function(button) { if (typeof button === "object") { return button["pressed"]; } else { return button > 0; } }, queryJoysticks: function() { for (var joystick in SDL.lastJoystickState) { var state = SDL.getGamepad(joystick - 1); var prevState = SDL.lastJoystickState[joystick]; if (typeof state === "undefined") return; if (state === null) return; if (typeof state.timestamp !== "number" || state.timestamp !== prevState.timestamp || !state.timestamp) { var i; for (i = 0; i < state.buttons.length; i++) { var buttonState = SDL.getJoystickButtonState(state.buttons[i]); if (buttonState !== prevState.buttons[i]) { SDL.events.push({ type: buttonState ? "joystick_button_down" : "joystick_button_up", joystick: joystick, index: joystick - 1, button: i }); } } for (i = 0; i < state.axes.length; i++) { if (state.axes[i] !== prevState.axes[i]) { SDL.events.push({ type: "joystick_axis_motion", joystick: joystick, index: joystick - 1, axis: i, value: state.axes[i] }); } } SDL.recordJoystickState(joystick, state); } } }, joystickAxisValueConversion: function(value) { value = Math.min(1, Math.max(value, -1)); return Math.ceil((value + 1) * 32767.5 - 32768); }, getGamepads: function() { var fcn = navigator.getGamepads || navigator.webkitGamepads || navigator.mozGamepads || navigator.gamepads || navigator.webkitGetGamepads; if (fcn !== undefined) { return fcn.apply(navigator); } else { return []; } }, getGamepad: function(deviceIndex) { var gamepads = SDL.getGamepads(); if (gamepads.length > deviceIndex && deviceIndex >= 0) { return gamepads[deviceIndex]; } return null; } }; function _SDL_ClearError() {} function _SDL_GetError() { if (!SDL.errorMessage) { SDL.errorMessage = allocate(intArrayFromString("unknown SDL-emscripten error"), "i8", ALLOC_NORMAL); } return SDL.errorMessage; } function _SDL_GetModState() { return SDL.modState; } function _SDL_GetMouseState(x, y) { if (x) HEAP32[x >> 2] = Browser.mouseX; if (y) HEAP32[y >> 2] = Browser.mouseY; return SDL.buttonState; } function _SDL_GetWindowSize(window, width, height) { var w = Module["canvas"].width; var h = Module["canvas"].height; if (width) HEAP32[width >> 2] = w; if (height) HEAP32[height >> 2] = h; } function _SDL_Init(initFlags) { SDL.startTime = Date.now(); SDL.initFlags = initFlags; if (!Module["doNotCaptureKeyboard"]) { var keyboardListeningElement = Module["keyboardListeningElement"] || document; keyboardListeningElement.addEventListener("keydown", SDL.receiveEvent); keyboardListeningElement.addEventListener("keyup", SDL.receiveEvent); keyboardListeningElement.addEventListener("keypress", SDL.receiveEvent); window.addEventListener("focus", SDL.receiveEvent); window.addEventListener("blur", SDL.receiveEvent); document.addEventListener("visibilitychange", SDL.receiveEvent); } window.addEventListener("unload", SDL.receiveEvent); SDL.keyboardState = _malloc(65536); _memset(SDL.keyboardState, 0, 65536); SDL.DOMEventToSDLEvent["keydown"] = 768; SDL.DOMEventToSDLEvent["keyup"] = 769; SDL.DOMEventToSDLEvent["keypress"] = 771; SDL.DOMEventToSDLEvent["mousedown"] = 1025; SDL.DOMEventToSDLEvent["mouseup"] = 1026; SDL.DOMEventToSDLEvent["mousemove"] = 1024; SDL.DOMEventToSDLEvent["wheel"] = 1027; SDL.DOMEventToSDLEvent["touchstart"] = 1792; SDL.DOMEventToSDLEvent["touchend"] = 1793; SDL.DOMEventToSDLEvent["touchmove"] = 1794; SDL.DOMEventToSDLEvent["unload"] = 256; SDL.DOMEventToSDLEvent["resize"] = 28673; SDL.DOMEventToSDLEvent["visibilitychange"] = 512; SDL.DOMEventToSDLEvent["focus"] = 512; SDL.DOMEventToSDLEvent["blur"] = 512; SDL.DOMEventToSDLEvent["joystick_axis_motion"] = 1536; SDL.DOMEventToSDLEvent["joystick_button_down"] = 1539; SDL.DOMEventToSDLEvent["joystick_button_up"] = 1540; return 0; } function _SDL_LockAudio() {} function _SDL_PollEvent(ptr) { return SDL.pollEvent(ptr); } var GL = { counter: 1, lastError: 0, buffers: [], mappedBuffers: {}, programs: [], framebuffers: [], renderbuffers: [], textures: [], uniforms: [], shaders: [], vaos: [], contexts: {}, currentContext: null, offscreenCanvases: {}, timerQueriesEXT: [], programInfos: {}, stringCache: {}, unpackAlignment: 4, init: function() { GL.miniTempBuffer = new Float32Array(GL.MINI_TEMP_BUFFER_SIZE); for (var i = 0; i < GL.MINI_TEMP_BUFFER_SIZE; i++) { GL.miniTempBufferViews[i] = GL.miniTempBuffer.subarray(0, i + 1); } }, recordError: function recordError(errorCode) { if (!GL.lastError) { GL.lastError = errorCode; } }, getNewId: function(table) { var ret = GL.counter++; for (var i = table.length; i < ret; i++) { table[i] = null; } return ret; }, MINI_TEMP_BUFFER_SIZE: 256, miniTempBuffer: null, miniTempBufferViews: [ 0 ], getSource: function(shader, count, string, length) { var source = ""; for (var i = 0; i < count; ++i) { var len = length ? HEAP32[length + i * 4 >> 2] : -1; source += UTF8ToString(HEAP32[string + i * 4 >> 2], len < 0 ? undefined : len); } return source; }, createContext: function(canvas, webGLContextAttributes) { var ctx = canvas.getContext("webgl", webGLContextAttributes) || canvas.getContext("experimental-webgl", webGLContextAttributes); return ctx && GL.registerContext(ctx, webGLContextAttributes); }, registerContext: function(ctx, webGLContextAttributes) { var handle = _malloc(8); var context = { handle: handle, attributes: webGLContextAttributes, version: webGLContextAttributes.majorVersion, GLctx: ctx }; if (ctx.canvas) ctx.canvas.GLctxObject = context; GL.contexts[handle] = context; if (typeof webGLContextAttributes.enableExtensionsByDefault === "undefined" || webGLContextAttributes.enableExtensionsByDefault) { GL.initExtensions(context); } return handle; }, makeContextCurrent: function(contextHandle) { GL.currentContext = GL.contexts[contextHandle]; Module.ctx = GLctx = GL.currentContext && GL.currentContext.GLctx; return !(contextHandle && !GLctx); }, getContext: function(contextHandle) { return GL.contexts[contextHandle]; }, deleteContext: function(contextHandle) { if (GL.currentContext === GL.contexts[contextHandle]) GL.currentContext = null; if (typeof JSEvents === "object") JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas); if (GL.contexts[contextHandle] && GL.contexts[contextHandle].GLctx.canvas) GL.contexts[contextHandle].GLctx.canvas.GLctxObject = undefined; _free(GL.contexts[contextHandle]); GL.contexts[contextHandle] = null; }, initExtensions: function(context) { if (!context) context = GL.currentContext; if (context.initExtensionsDone) return; context.initExtensionsDone = true; var GLctx = context.GLctx; if (context.version < 2) { var instancedArraysExt = GLctx.getExtension("ANGLE_instanced_arrays"); if (instancedArraysExt) { GLctx["vertexAttribDivisor"] = function(index, divisor) { instancedArraysExt["vertexAttribDivisorANGLE"](index, divisor); }; GLctx["drawArraysInstanced"] = function(mode, first, count, primcount) { instancedArraysExt["drawArraysInstancedANGLE"](mode, first, count, primcount); }; GLctx["drawElementsInstanced"] = function(mode, count, type, indices, primcount) { instancedArraysExt["drawElementsInstancedANGLE"](mode, count, type, indices, primcount); }; } var vaoExt = GLctx.getExtension("OES_vertex_array_object"); if (vaoExt) { GLctx["createVertexArray"] = function() { return vaoExt["createVertexArrayOES"](); }; GLctx["deleteVertexArray"] = function(vao) { vaoExt["deleteVertexArrayOES"](vao); }; GLctx["bindVertexArray"] = function(vao) { vaoExt["bindVertexArrayOES"](vao); }; GLctx["isVertexArray"] = function(vao) { return vaoExt["isVertexArrayOES"](vao); }; } var drawBuffersExt = GLctx.getExtension("WEBGL_draw_buffers"); if (drawBuffersExt) { GLctx["drawBuffers"] = function(n, bufs) { drawBuffersExt["drawBuffersWEBGL"](n, bufs); }; } } GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query"); var automaticallyEnabledExtensions = [ "OES_texture_float", "OES_texture_half_float", "OES_standard_derivatives", "OES_vertex_array_object", "WEBGL_compressed_texture_s3tc", "WEBGL_depth_texture", "OES_element_index_uint", "EXT_texture_filter_anisotropic", "EXT_frag_depth", "WEBGL_draw_buffers", "ANGLE_instanced_arrays", "OES_texture_float_linear", "OES_texture_half_float_linear", "EXT_blend_minmax", "EXT_shader_texture_lod", "WEBGL_compressed_texture_pvrtc", "EXT_color_buffer_half_float", "WEBGL_color_buffer_float", "EXT_sRGB", "WEBGL_compressed_texture_etc1", "EXT_disjoint_timer_query", "WEBGL_compressed_texture_etc", "WEBGL_compressed_texture_astc", "EXT_color_buffer_float", "WEBGL_compressed_texture_s3tc_srgb", "EXT_disjoint_timer_query_webgl2" ]; var exts = GLctx.getSupportedExtensions(); if (exts && exts.length > 0) { GLctx.getSupportedExtensions().forEach(function(ext) { if (automaticallyEnabledExtensions.indexOf(ext) != -1) { GLctx.getExtension(ext); } }); } }, populateUniformTable: function(program) { var p = GL.programs[program]; var ptable = GL.programInfos[program] = { uniforms: {}, maxUniformLength: 0, maxAttributeLength: -1, maxUniformBlockNameLength: -1 }; var utable = ptable.uniforms; var numUniforms = GLctx.getProgramParameter(p, 35718); for (var i = 0; i < numUniforms; ++i) { var u = GLctx.getActiveUniform(p, i); var name = u.name; ptable.maxUniformLength = Math.max(ptable.maxUniformLength, name.length + 1); var ls = name.lastIndexOf("["); if (ls > 0) { name = name.slice(0, ls); } var loc = GLctx.getUniformLocation(p, name); if (loc) { var id = GL.getNewId(GL.uniforms); utable[name] = [ u.size, id ]; GL.uniforms[id] = loc; for (var j = 1; j < u.size; ++j) { var n = name + "[" + j + "]"; loc = GLctx.getUniformLocation(p, n); id = GL.getNewId(GL.uniforms); GL.uniforms[id] = loc; } } } } }; function _SDL_SetVideoMode(width, height, depth, flags) { [ "touchstart", "touchend", "touchmove", "mousedown", "mouseup", "mousemove", "DOMMouseScroll", "mousewheel", "wheel", "mouseout" ].forEach(function(event) { Module["canvas"].addEventListener(event, SDL.receiveEvent, true); }); var canvas = Module["canvas"]; if (width == 0 && height == 0) { width = canvas.width; height = canvas.height; } if (!SDL.addedResizeListener) { SDL.addedResizeListener = true; Browser.resizeListeners.push(function(w, h) { if (!SDL.settingVideoMode) { SDL.receiveEvent({ type: "resize", w: w, h: h }); } }); } SDL.settingVideoMode = true; Browser.setCanvasSize(width, height); SDL.settingVideoMode = false; if (SDL.screen) { SDL.freeSurface(SDL.screen); assert(!SDL.screen); } if (SDL.GL) flags = flags | 67108864; SDL.screen = SDL.makeSurface(width, height, flags, true, "screen"); return SDL.screen; } function _SDL_UnlockAudio() {} function _SDL_UnlockSurface(surf) { assert(!SDL.GL); var surfData = SDL.surfaces[surf]; if (!surfData.locked || --surfData.locked > 0) { return; } if (surfData.isFlagSet(2097152)) { SDL.copyIndexedColorData(surfData); } else if (!surfData.colors) { var data = surfData.image.data; var buffer = surfData.buffer; assert(buffer % 4 == 0, "Invalid buffer offset: " + buffer); var src = buffer >> 2; var dst = 0; var isScreen = surf == SDL.screen; var num; if (typeof CanvasPixelArray !== "undefined" && data instanceof CanvasPixelArray) { num = data.length; while (dst < num) { var val = HEAP32[src]; data[dst] = val & 255; data[dst + 1] = val >> 8 & 255; data[dst + 2] = val >> 16 & 255; data[dst + 3] = isScreen ? 255 : val >> 24 & 255; src++; dst += 4; } } else { var data32 = new Uint32Array(data.buffer); if (isScreen && SDL.defaults.opaqueFrontBuffer) { num = data32.length; data32.set(HEAP32.subarray(src, src + num)); var data8 = new Uint8Array(data.buffer); var i = 3; var j = i + 4 * num; if (num % 8 == 0) { while (i < j) { data8[i] = 255; i = i + 4 | 0; data8[i] = 255; i = i + 4 | 0; data8[i] = 255; i = i + 4 | 0; data8[i] = 255; i = i + 4 | 0; data8[i] = 255; i = i + 4 | 0; data8[i] = 255; i = i + 4 | 0; data8[i] = 255; i = i + 4 | 0; data8[i] = 255; i = i + 4 | 0; } } else { while (i < j) { data8[i] = 255; i = i + 4 | 0; } } } else { data32.set(HEAP32.subarray(src, src + data32.length)); } } } else { var width = Module["canvas"].width; var height = Module["canvas"].height; var s = surfData.buffer; var data = surfData.image.data; var colors = surfData.colors; for (var y = 0; y < height; y++) { var base = y * width * 4; for (var x = 0; x < width; x++) { var val = HEAPU8[s++ >> 0] * 4; var start = base + x * 4; data[start] = colors[val]; data[start + 1] = colors[val + 1]; data[start + 2] = colors[val + 2]; } s += width * 3; } } surfData.ctx.putImageData(surfData.image, 0, 0); } var ENV = {}; function ___buildEnvironment(environ) { var MAX_ENV_VALUES = 64; var TOTAL_ENV_SIZE = 1024; var poolPtr; var envPtr; if (!___buildEnvironment.called) { ___buildEnvironment.called = true; ENV["USER"] = ENV["LOGNAME"] = "web_user"; ENV["PATH"] = "/"; ENV["PWD"] = "/"; ENV["HOME"] = "/home/web_user"; ENV["LANG"] = "C.UTF-8"; ENV["_"] = Module["thisProgram"]; poolPtr = getMemory(TOTAL_ENV_SIZE); envPtr = getMemory(MAX_ENV_VALUES * 4); HEAP32[envPtr >> 2] = poolPtr; HEAP32[environ >> 2] = envPtr; } else { envPtr = HEAP32[environ >> 2]; poolPtr = HEAP32[envPtr >> 2]; } var strings = []; var totalSize = 0; for (var key in ENV) { if (typeof ENV[key] === "string") { var line = key + "=" + ENV[key]; strings.push(line); totalSize += line.length; } } if (totalSize > TOTAL_ENV_SIZE) { throw new Error("Environment size exceeded TOTAL_ENV_SIZE!"); } var ptrSize = 4; for (var i = 0; i < strings.length; i++) { var line = strings[i]; writeAsciiToMemory(line, poolPtr); HEAP32[envPtr + i * ptrSize >> 2] = poolPtr; poolPtr += line.length + 1; } HEAP32[envPtr + strings.length * ptrSize >> 2] = 0; } function ___lock() {} var ERRNO_CODES = { EPERM: 1, ENOENT: 2, ESRCH: 3, EINTR: 4, EIO: 5, ENXIO: 6, E2BIG: 7, ENOEXEC: 8, EBADF: 9, ECHILD: 10, EAGAIN: 11, EWOULDBLOCK: 11, ENOMEM: 12, EACCES: 13, EFAULT: 14, ENOTBLK: 15, EBUSY: 16, EEXIST: 17, EXDEV: 18, ENODEV: 19, ENOTDIR: 20, EISDIR: 21, EINVAL: 22, ENFILE: 23, EMFILE: 24, ENOTTY: 25, ETXTBSY: 26, EFBIG: 27, ENOSPC: 28, ESPIPE: 29, EROFS: 30, EMLINK: 31, EPIPE: 32, EDOM: 33, ERANGE: 34, ENOMSG: 42, EIDRM: 43, ECHRNG: 44, EL2NSYNC: 45, EL3HLT: 46, EL3RST: 47, ELNRNG: 48, EUNATCH: 49, ENOCSI: 50, EL2HLT: 51, EDEADLK: 35, ENOLCK: 37, EBADE: 52, EBADR: 53, EXFULL: 54, ENOANO: 55, EBADRQC: 56, EBADSLT: 57, EDEADLOCK: 35, EBFONT: 59, ENOSTR: 60, ENODATA: 61, ETIME: 62, ENOSR: 63, ENONET: 64, ENOPKG: 65, EREMOTE: 66, ENOLINK: 67, EADV: 68, ESRMNT: 69, ECOMM: 70, EPROTO: 71, EMULTIHOP: 72, EDOTDOT: 73, EBADMSG: 74, ENOTUNIQ: 76, EBADFD: 77, EREMCHG: 78, ELIBACC: 79, ELIBBAD: 80, ELIBSCN: 81, ELIBMAX: 82, ELIBEXEC: 83, ENOSYS: 38, ENOTEMPTY: 39, ENAMETOOLONG: 36, ELOOP: 40, EOPNOTSUPP: 95, EPFNOSUPPORT: 96, ECONNRESET: 104, ENOBUFS: 105, EAFNOSUPPORT: 97, EPROTOTYPE: 91, ENOTSOCK: 88, ENOPROTOOPT: 92, ESHUTDOWN: 108, ECONNREFUSED: 111, EADDRINUSE: 98, ECONNABORTED: 103, ENETUNREACH: 101, ENETDOWN: 100, ETIMEDOUT: 110, EHOSTDOWN: 112, EHOSTUNREACH: 113, EINPROGRESS: 115, EALREADY: 114, EDESTADDRREQ: 89, EMSGSIZE: 90, EPROTONOSUPPORT: 93, ESOCKTNOSUPPORT: 94, EADDRNOTAVAIL: 99, ENETRESET: 102, EISCONN: 106, ENOTCONN: 107, ETOOMANYREFS: 109, EUSERS: 87, EDQUOT: 122, ESTALE: 116, ENOTSUP: 95, ENOMEDIUM: 123, EILSEQ: 84, EOVERFLOW: 75, ECANCELED: 125, ENOTRECOVERABLE: 131, EOWNERDEAD: 130, ESTRPIPE: 86 }; var SYSCALLS = { DEFAULT_POLLMASK: 5, mappings: {}, umask: 511, calculateAt: function(dirfd, path) { if (path[0] !== "/") { var dir; if (dirfd === -100) { dir = FS.cwd(); } else { var dirstream = FS.getStream(dirfd); if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); dir = dirstream.path; } path = PATH.join2(dir, path); } return path; }, doStat: function(func, path, buf) { try { var stat = func(path); } catch (e) { if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) { return -ERRNO_CODES.ENOTDIR; } throw e; } HEAP32[buf >> 2] = stat.dev; HEAP32[buf + 4 >> 2] = 0; HEAP32[buf + 8 >> 2] = stat.ino; HEAP32[buf + 12 >> 2] = stat.mode; HEAP32[buf + 16 >> 2] = stat.nlink; HEAP32[buf + 20 >> 2] = stat.uid; HEAP32[buf + 24 >> 2] = stat.gid; HEAP32[buf + 28 >> 2] = stat.rdev; HEAP32[buf + 32 >> 2] = 0; HEAP32[buf + 36 >> 2] = stat.size; HEAP32[buf + 40 >> 2] = 4096; HEAP32[buf + 44 >> 2] = stat.blocks; HEAP32[buf + 48 >> 2] = stat.atime.getTime() / 1e3 | 0; HEAP32[buf + 52 >> 2] = 0; HEAP32[buf + 56 >> 2] = stat.mtime.getTime() / 1e3 | 0; HEAP32[buf + 60 >> 2] = 0; HEAP32[buf + 64 >> 2] = stat.ctime.getTime() / 1e3 | 0; HEAP32[buf + 68 >> 2] = 0; HEAP32[buf + 72 >> 2] = stat.ino; return 0; }, doMsync: function(addr, stream, len, flags) { var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); FS.msync(stream, buffer, 0, len, flags); }, doMkdir: function(path, mode) { path = PATH.normalize(path); if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1); FS.mkdir(path, mode, 0); return 0; }, doMknod: function(path, mode, dev) { switch (mode & 61440) { case 32768: case 8192: case 24576: case 4096: case 49152: break; default: return -ERRNO_CODES.EINVAL; } FS.mknod(path, mode, dev); return 0; }, doReadlink: function(path, buf, bufsize) { if (bufsize <= 0) return -ERRNO_CODES.EINVAL; var ret = FS.readlink(path); var len = Math.min(bufsize, lengthBytesUTF8(ret)); var endChar = HEAP8[buf + len]; stringToUTF8(ret, buf, bufsize + 1); HEAP8[buf + len] = endChar; return len; }, doAccess: function(path, amode) { if (amode & ~7) { return -ERRNO_CODES.EINVAL; } var node; var lookup = FS.lookupPath(path, { follow: true }); node = lookup.node; var perms = ""; if (amode & 4) perms += "r"; if (amode & 2) perms += "w"; if (amode & 1) perms += "x"; if (perms && FS.nodePermissions(node, perms)) { return -ERRNO_CODES.EACCES; } return 0; }, doDup: function(path, flags, suggestFD) { var suggest = FS.getStream(suggestFD); if (suggest) FS.close(suggest); return FS.open(path, flags, 0, suggestFD, suggestFD).fd; }, doReadv: function(stream, iov, iovcnt, offset) { var ret = 0; for (var i = 0; i < iovcnt; i++) { var ptr = HEAP32[iov + i * 8 >> 2]; var len = HEAP32[iov + (i * 8 + 4) >> 2]; var curr = FS.read(stream, HEAP8, ptr, len, offset); if (curr < 0) return -1; ret += curr; if (curr < len) break; } return ret; }, doWritev: function(stream, iov, iovcnt, offset) { var ret = 0; for (var i = 0; i < iovcnt; i++) { var ptr = HEAP32[iov + i * 8 >> 2]; var len = HEAP32[iov + (i * 8 + 4) >> 2]; var curr = FS.write(stream, HEAP8, ptr, len, offset); if (curr < 0) return -1; ret += curr; } return ret; }, varargs: 0, get: function(varargs) { SYSCALLS.varargs += 4; var ret = HEAP32[SYSCALLS.varargs - 4 >> 2]; return ret; }, getStr: function() { var ret = UTF8ToString(SYSCALLS.get()); return ret; }, getStreamFromFD: function() { var stream = FS.getStream(SYSCALLS.get()); if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF); return stream; }, getSocketFromFD: function() { var socket = SOCKFS.getSocket(SYSCALLS.get()); if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF); return socket; }, getSocketAddress: function(allowNull) { var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get(); if (allowNull && addrp === 0) return null; var info = __read_sockaddr(addrp, addrlen); if (info.errno) throw new FS.ErrnoError(info.errno); info.addr = DNS.lookup_addr(info.addr) || info.addr; return info; }, get64: function() { var low = SYSCALLS.get(), high = SYSCALLS.get(); return low; }, getZero: function() { SYSCALLS.get(); } }; function ___syscall140(which, varargs) { SYSCALLS.varargs = varargs; try { var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get(); var offset = offset_low; FS.llseek(stream, offset, whence); HEAP32[result >> 2] = stream.position; if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; return 0; } catch (e) { if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno; } } function ___syscall145(which, varargs) { SYSCALLS.varargs = varargs; try { var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); return SYSCALLS.doReadv(stream, iov, iovcnt); } catch (e) { if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno; } } function ___syscall146(which, varargs) { SYSCALLS.varargs = varargs; try { var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get(); return SYSCALLS.doWritev(stream, iov, iovcnt); } catch (e) { if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno; } } function ___syscall195(which, varargs) { SYSCALLS.varargs = varargs; try { var path = SYSCALLS.getStr(), buf = SYSCALLS.get(); return SYSCALLS.doStat(FS.stat, path, buf); } catch (e) { if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno; } } function ___syscall220(which, varargs) { SYSCALLS.varargs = varargs; try { var stream = SYSCALLS.getStreamFromFD(), dirp = SYSCALLS.get(), count = SYSCALLS.get(); if (!stream.getdents) { stream.getdents = FS.readdir(stream.path); } var pos = 0; while (stream.getdents.length > 0 && pos + 268 <= count) { var id; var type; var name = stream.getdents.pop(); if (name[0] === ".") { id = 1; type = 4; } else { var child = FS.lookupNode(stream.node, name); id = child.id; type = FS.isChrdev(child.mode) ? 2 : FS.isDir(child.mode) ? 4 : FS.isLink(child.mode) ? 10 : 8; } HEAP32[dirp + pos >> 2] = id; HEAP32[dirp + pos + 4 >> 2] = stream.position; HEAP16[dirp + pos + 8 >> 1] = 268; HEAP8[dirp + pos + 10 >> 0] = type; stringToUTF8(name, dirp + pos + 11, 256); pos += 268; } return pos; } catch (e) { if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno; } } function ___syscall221(which, varargs) { SYSCALLS.varargs = varargs; try { var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get(); switch (cmd) { case 0: { var arg = SYSCALLS.get(); if (arg < 0) { return -ERRNO_CODES.EINVAL; } var newStream; newStream = FS.open(stream.path, stream.flags, 0, arg); return newStream.fd; } case 1: case 2: return 0; case 3: return stream.flags; case 4: { var arg = SYSCALLS.get(); stream.flags |= arg; return 0; } case 12: { var arg = SYSCALLS.get(); var offset = 0; HEAP16[arg + offset >> 1] = 2; return 0; } case 13: case 14: return 0; case 16: case 8: return -ERRNO_CODES.EINVAL; case 9: ___setErrNo(ERRNO_CODES.EINVAL); return -1; default: { return -ERRNO_CODES.EINVAL; } } } catch (e) { if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno; } } function ___syscall5(which, varargs) { SYSCALLS.varargs = varargs; try { var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get(); var stream = FS.open(pathname, flags, mode); return stream.fd; } catch (e) { if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno; } } function ___syscall54(which, varargs) { SYSCALLS.varargs = varargs; try { var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); switch (op) { case 21509: case 21505: { if (!stream.tty) return -ERRNO_CODES.ENOTTY; return 0; } case 21510: case 21511: case 21512: case 21506: case 21507: case 21508: { if (!stream.tty) return -ERRNO_CODES.ENOTTY; return 0; } case 21519: { if (!stream.tty) return -ERRNO_CODES.ENOTTY; var argp = SYSCALLS.get(); HEAP32[argp >> 2] = 0; return 0; } case 21520: { if (!stream.tty) return -ERRNO_CODES.ENOTTY; return -ERRNO_CODES.EINVAL; } case 21531: { var argp = SYSCALLS.get(); return FS.ioctl(stream, op, argp); } case 21523: { if (!stream.tty) return -ERRNO_CODES.ENOTTY; return 0; } case 21524: { if (!stream.tty) return -ERRNO_CODES.ENOTTY; return 0; } default: abort("bad ioctl syscall " + op); } } catch (e) { if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno; } } function ___syscall6(which, varargs) { SYSCALLS.varargs = varargs; try { var stream = SYSCALLS.getStreamFromFD(); FS.close(stream); return 0; } catch (e) { if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e); return -e.errno; } } function ___unlock() {} function _abort() { Module["abort"](); } function _emscripten_async_wget_data(url, arg, onload, onerror) { Browser.asyncLoad(UTF8ToString(url), function(byteArray) { var buffer = _malloc(byteArray.length); HEAPU8.set(byteArray, buffer); dynCall_viii(onload, arg, buffer, byteArray.length); _free(buffer); }, function() { if (onerror) dynCall_vi(onerror, arg); }, true); } function _emscripten_get_heap_size() { return TOTAL_MEMORY; } function abortOnCannotGrowMemory(requestedSize) { abort("Cannot enlarge memory arrays to size " + requestedSize + " bytes. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value " + TOTAL_MEMORY + ", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 "); } function _emscripten_resize_heap(requestedSize) { abortOnCannotGrowMemory(requestedSize); } function _emscripten_run_script(ptr) { eval(UTF8ToString(ptr)); } function _exit(status) { exit(status); } var ___tm_current = 3300752; var ___tm_timezone = (stringToUTF8("GMT", 3300800, 4), 3300800); function _gmtime_r(time, tmPtr) { var date = new Date(HEAP32[time >> 2] * 1e3); HEAP32[tmPtr >> 2] = date.getUTCSeconds(); HEAP32[tmPtr + 4 >> 2] = date.getUTCMinutes(); HEAP32[tmPtr + 8 >> 2] = date.getUTCHours(); HEAP32[tmPtr + 12 >> 2] = date.getUTCDate(); HEAP32[tmPtr + 16 >> 2] = date.getUTCMonth(); HEAP32[tmPtr + 20 >> 2] = date.getUTCFullYear() - 1900; HEAP32[tmPtr + 24 >> 2] = date.getUTCDay(); HEAP32[tmPtr + 36 >> 2] = 0; HEAP32[tmPtr + 32 >> 2] = 0; var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; HEAP32[tmPtr + 28 >> 2] = yday; HEAP32[tmPtr + 40 >> 2] = ___tm_timezone; return tmPtr; } function _gmtime(time) { return _gmtime_r(time, ___tm_current); } function _tzset() { if (_tzset.called) return; _tzset.called = true; HEAP32[__get_timezone() >> 2] = new Date().getTimezoneOffset() * 60; var winter = new Date(2e3, 0, 1); var summer = new Date(2e3, 6, 1); HEAP32[__get_daylight() >> 2] = Number(winter.getTimezoneOffset() != summer.getTimezoneOffset()); function extractZone(date) { var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); return match ? match[1] : "GMT"; } var winterName = extractZone(winter); var summerName = extractZone(summer); var winterNamePtr = allocate(intArrayFromString(winterName), "i8", ALLOC_NORMAL); var summerNamePtr = allocate(intArrayFromString(summerName), "i8", ALLOC_NORMAL); if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { HEAP32[__get_tzname() >> 2] = winterNamePtr; HEAP32[__get_tzname() + 4 >> 2] = summerNamePtr; } else { HEAP32[__get_tzname() >> 2] = summerNamePtr; HEAP32[__get_tzname() + 4 >> 2] = winterNamePtr; } } function _localtime_r(time, tmPtr) { _tzset(); var date = new Date(HEAP32[time >> 2] * 1e3); HEAP32[tmPtr >> 2] = date.getSeconds(); HEAP32[tmPtr + 4 >> 2] = date.getMinutes(); HEAP32[tmPtr + 8 >> 2] = date.getHours(); HEAP32[tmPtr + 12 >> 2] = date.getDate(); HEAP32[tmPtr + 16 >> 2] = date.getMonth(); HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900; HEAP32[tmPtr + 24 >> 2] = date.getDay(); var start = new Date(date.getFullYear(), 0, 1); var yday = (date.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24) | 0; HEAP32[tmPtr + 28 >> 2] = yday; HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60); var summerOffset = new Date(2e3, 6, 1).getTimezoneOffset(); var winterOffset = start.getTimezoneOffset(); var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset)) | 0; HEAP32[tmPtr + 32 >> 2] = dst; var zonePtr = HEAP32[__get_tzname() + (dst ? 4 : 0) >> 2]; HEAP32[tmPtr + 40 >> 2] = zonePtr; return tmPtr; } function _localtime(time) { return _localtime_r(time, ___tm_current); } function _longjmp(env, value) { _setThrew(env, value || 1); throw "longjmp"; } function _emscripten_memcpy_big(dest, src, num) { HEAPU8.set(HEAPU8.subarray(src, src + num), dest); } function __isLeapYear(year) { return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0); } function __arraySum(array, index) { var sum = 0; for (var i = 0; i <= index; sum += array[i++]) ; return sum; } var __MONTH_DAYS_LEAP = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]; var __MONTH_DAYS_REGULAR = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]; function __addDays(date, days) { var newDate = new Date(date.getTime()); while (days > 0) { var leap = __isLeapYear(newDate.getFullYear()); var currentMonth = newDate.getMonth(); var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth]; if (days > daysInCurrentMonth - newDate.getDate()) { days -= daysInCurrentMonth - newDate.getDate() + 1; newDate.setDate(1); if (currentMonth < 11) { newDate.setMonth(currentMonth + 1); } else { newDate.setMonth(0); newDate.setFullYear(newDate.getFullYear() + 1); } } else { newDate.setDate(newDate.getDate() + days); return newDate; } } return newDate; } function _strftime(s, maxsize, format, tm) { var tm_zone = HEAP32[tm + 40 >> 2]; var date = { tm_sec: HEAP32[tm >> 2], tm_min: HEAP32[tm + 4 >> 2], tm_hour: HEAP32[tm + 8 >> 2], tm_mday: HEAP32[tm + 12 >> 2], tm_mon: HEAP32[tm + 16 >> 2], tm_year: HEAP32[tm + 20 >> 2], tm_wday: HEAP32[tm + 24 >> 2], tm_yday: HEAP32[tm + 28 >> 2], tm_isdst: HEAP32[tm + 32 >> 2], tm_gmtoff: HEAP32[tm + 36 >> 2], tm_zone: tm_zone ? UTF8ToString(tm_zone) : "" }; var pattern = UTF8ToString(format); var EXPANSION_RULES_1 = { "%c": "%a %b %d %H:%M:%S %Y", "%D": "%m/%d/%y", "%F": "%Y-%m-%d", "%h": "%b", "%r": "%I:%M:%S %p", "%R": "%H:%M", "%T": "%H:%M:%S", "%x": "%m/%d/%y", "%X": "%H:%M:%S" }; for (var rule in EXPANSION_RULES_1) { pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_1[rule]); } var WEEKDAYS = [ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" ]; var MONTHS = [ "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ]; function leadingSomething(value, digits, character) { var str = typeof value === "number" ? value.toString() : value || ""; while (str.length < digits) { str = character[0] + str; } return str; } function leadingNulls(value, digits) { return leadingSomething(value, digits, "0"); } function compareByDay(date1, date2) { function sgn(value) { return value < 0 ? -1 : value > 0 ? 1 : 0; } var compare; if ((compare = sgn(date1.getFullYear() - date2.getFullYear())) === 0) { if ((compare = sgn(date1.getMonth() - date2.getMonth())) === 0) { compare = sgn(date1.getDate() - date2.getDate()); } } return compare; } function getFirstWeekStartDate(janFourth) { switch (janFourth.getDay()) { case 0: return new Date(janFourth.getFullYear() - 1, 11, 29); case 1: return janFourth; case 2: return new Date(janFourth.getFullYear(), 0, 3); case 3: return new Date(janFourth.getFullYear(), 0, 2); case 4: return new Date(janFourth.getFullYear(), 0, 1); case 5: return new Date(janFourth.getFullYear() - 1, 11, 31); case 6: return new Date(janFourth.getFullYear() - 1, 11, 30); } } function getWeekBasedYear(date) { var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4); var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4); var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) { if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) { return thisDate.getFullYear() + 1; } else { return thisDate.getFullYear(); } } else { return thisDate.getFullYear() - 1; } } var EXPANSION_RULES_2 = { "%a": function(date) { return WEEKDAYS[date.tm_wday].substring(0, 3); }, "%A": function(date) { return WEEKDAYS[date.tm_wday]; }, "%b": function(date) { return MONTHS[date.tm_mon].substring(0, 3); }, "%B": function(date) { return MONTHS[date.tm_mon]; }, "%C": function(date) { var year = date.tm_year + 1900; return leadingNulls(year / 100 | 0, 2); }, "%d": function(date) { return leadingNulls(date.tm_mday, 2); }, "%e": function(date) { return leadingSomething(date.tm_mday, 2, " "); }, "%g": function(date) { return getWeekBasedYear(date).toString().substring(2); }, "%G": function(date) { return getWeekBasedYear(date); }, "%H": function(date) { return leadingNulls(date.tm_hour, 2); }, "%I": function(date) { var twelveHour = date.tm_hour; if (twelveHour == 0) twelveHour = 12; else if (twelveHour > 12) twelveHour -= 12; return leadingNulls(twelveHour, 2); }, "%j": function(date) { return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3); }, "%m": function(date) { return leadingNulls(date.tm_mon + 1, 2); }, "%M": function(date) { return leadingNulls(date.tm_min, 2); }, "%n": function() { return "\n"; }, "%p": function(date) { if (date.tm_hour >= 0 && date.tm_hour < 12) { return "AM"; } else { return "PM"; } }, "%S": function(date) { return leadingNulls(date.tm_sec, 2); }, "%t": function() { return "\t"; }, "%u": function(date) { var day = new Date(date.tm_year + 1900, date.tm_mon + 1, date.tm_mday, 0, 0, 0, 0); return day.getDay() || 7; }, "%U": function(date) { var janFirst = new Date(date.tm_year + 1900, 0, 1); var firstSunday = janFirst.getDay() === 0 ? janFirst : __addDays(janFirst, 7 - janFirst.getDay()); var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); if (compareByDay(firstSunday, endDate) < 0) { var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; var firstSundayUntilEndJanuary = 31 - firstSunday.getDate(); var days = firstSundayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); return leadingNulls(Math.ceil(days / 7), 2); } return compareByDay(firstSunday, janFirst) === 0 ? "01" : "00"; }, "%V": function(date) { var janFourthThisYear = new Date(date.tm_year + 1900, 0, 4); var janFourthNextYear = new Date(date.tm_year + 1901, 0, 4); var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); var endDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday); if (compareByDay(endDate, firstWeekStartThisYear) < 0) { return "53"; } if (compareByDay(firstWeekStartNextYear, endDate) <= 0) { return "01"; } var daysDifference; if (firstWeekStartThisYear.getFullYear() < date.tm_year + 1900) { daysDifference = date.tm_yday + 32 - firstWeekStartThisYear.getDate(); } else { daysDifference = date.tm_yday + 1 - firstWeekStartThisYear.getDate(); } return leadingNulls(Math.ceil(daysDifference / 7), 2); }, "%w": function(date) { var day = new Date(date.tm_year + 1900, date.tm_mon + 1, date.tm_mday, 0, 0, 0, 0); return day.getDay(); }, "%W": function(date) { var janFirst = new Date(date.tm_year, 0, 1); var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7 - janFirst.getDay() + 1); var endDate = new Date(date.tm_year + 1900, date.tm_mon, date.tm_mday); if (compareByDay(firstMonday, endDate) < 0) { var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth() - 1) - 31; var firstMondayUntilEndJanuary = 31 - firstMonday.getDate(); var days = firstMondayUntilEndJanuary + februaryFirstUntilEndMonth + endDate.getDate(); return leadingNulls(Math.ceil(days / 7), 2); } return compareByDay(firstMonday, janFirst) === 0 ? "01" : "00"; }, "%y": function(date) { return (date.tm_year + 1900).toString().substring(2); }, "%Y": function(date) { return date.tm_year + 1900; }, "%z": function(date) { var off = date.tm_gmtoff; var ahead = off >= 0; off = Math.abs(off) / 60; off = off / 60 * 100 + off % 60; return (ahead ? "+" : "-") + String("0000" + off).slice(-4); }, "%Z": function(date) { return date.tm_zone; }, "%%": function() { return "%"; } }; for (var rule in EXPANSION_RULES_2) { if (pattern.indexOf(rule) >= 0) { pattern = pattern.replace(new RegExp(rule, "g"), EXPANSION_RULES_2[rule](date)); } } var bytes = intArrayFromString(pattern, false); if (bytes.length > maxsize) { return 0; } writeArrayToMemory(bytes, s); return bytes.length - 1; } function _time(ptr) { var ret = Date.now() / 1e3 | 0; if (ptr) { HEAP32[ptr >> 2] = ret; } return ret; } FS.staticInit(); __ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); }); __ATMAIN__.push(function() { FS.ignorePermissions = false; }); __ATEXIT__.push(function() { FS.quit(); }); Module["FS_createFolder"] = FS.createFolder; Module["FS_createPath"] = FS.createPath; Module["FS_createDataFile"] = FS.createDataFile; Module["FS_createPreloadedFile"] = FS.createPreloadedFile; Module["FS_createLazyFile"] = FS.createLazyFile; Module["FS_createLink"] = FS.createLink; Module["FS_createDevice"] = FS.createDevice; Module["FS_unlink"] = FS.unlink; __ATINIT__.unshift(function() { TTY.init(); }); __ATEXIT__.push(function() { TTY.shutdown(); }); if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); } Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { err("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice); }; Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); }; Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func); }; Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates); }; Module["pauseMainLoop"] = function Module_pauseMainLoop() { Browser.mainLoop.pause(); }; Module["resumeMainLoop"] = function Module_resumeMainLoop() { Browser.mainLoop.resume(); }; Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia(); }; Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes); }; if (ENVIRONMENT_IS_NODE) { _emscripten_get_now = function _emscripten_get_now_actual() { var t = process["hrtime"](); return t[0] * 1e3 + t[1] / 1e6; }; } else if (typeof dateNow !== "undefined") { _emscripten_get_now = dateNow; } else if (typeof self === "object" && self["performance"] && typeof self["performance"]["now"] === "function") { _emscripten_get_now = function() { return self["performance"]["now"](); }; } else if (typeof performance === "object" && typeof performance["now"] === "function") { _emscripten_get_now = function() { return performance["now"](); }; } else { _emscripten_get_now = Date.now; } var GLctx; GL.init(); var ASSERTIONS = false; function intArrayFromString(stringy, dontAddNull, length) { var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1; var u8array = new Array(len); var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); if (dontAddNull) u8array.length = numBytesWritten; return u8array; } function intArrayToString(array) { var ret = []; for (var i = 0; i < array.length; i++) { var chr = array[i]; if (chr > 255) { if (ASSERTIONS) { assert(false, "Character code " + chr + " (" + String.fromCharCode(chr) + ") at offset " + i + " not in 0x00-0xFF."); } chr &= 255; } ret.push(String.fromCharCode(chr)); } return ret.join(""); } var decodeBase64 = typeof atob === "function" ? atob : function(input) { var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; var output = ""; var chr1, chr2, chr3; var enc1, enc2, enc3, enc4; var i = 0; input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); do { enc1 = keyStr.indexOf(input.charAt(i++)); enc2 = keyStr.indexOf(input.charAt(i++)); enc3 = keyStr.indexOf(input.charAt(i++)); enc4 = keyStr.indexOf(input.charAt(i++)); chr1 = enc1 << 2 | enc2 >> 4; chr2 = (enc2 & 15) << 4 | enc3 >> 2; chr3 = (enc3 & 3) << 6 | enc4; output = output + String.fromCharCode(chr1); if (enc3 !== 64) { output = output + String.fromCharCode(chr2); } if (enc4 !== 64) { output = output + String.fromCharCode(chr3); } } while (i < input.length); return output; }; function intArrayFromBase64(s) { if (typeof ENVIRONMENT_IS_NODE === "boolean" && ENVIRONMENT_IS_NODE) { var buf; try { buf = Buffer.from(s, "base64"); } catch (_) { buf = new Buffer(s, "base64"); } return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength); } try { var decoded = decodeBase64(s); var bytes = new Uint8Array(decoded.length); for (var i = 0; i < decoded.length; ++i) { bytes[i] = decoded.charCodeAt(i); } return bytes; } catch (_) { throw new Error("Converting base64 string to bytes failed."); } } function tryParseAsDataURI(filename) { if (!isDataURI(filename)) { return; } return intArrayFromBase64(filename.slice(dataURIPrefix.length)); } function invoke_vii(index, a1, a2) { var sp = stackSave(); try { dynCall_vii(index, a1, a2); } catch (e) { stackRestore(sp); if (e !== e + 0 && e !== "longjmp") throw e; _setThrew(1, 0); } } var asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, Infinity: Infinity }; var asmLibraryArg = { "a": abort, "b": setTempRet0, "c": getTempRet0, "d": invoke_vii, "e": _SDL_ClearError, "f": _SDL_GetError, "g": _SDL_GetModState, "h": _SDL_GetMouseState, "i": _SDL_GetTicks, "j": _SDL_GetWindowSize, "k": _SDL_Init, "l": _SDL_LockAudio, "m": _SDL_LockSurface, "n": _SDL_PollEvent, "o": _SDL_SetVideoMode, "p": _SDL_UnlockAudio, "q": _SDL_UnlockSurface, "r": ___buildEnvironment, "s": ___lock, "t": ___setErrNo, "u": ___syscall140, "v": ___syscall145, "w": ___syscall146, "x": ___syscall195, "y": ___syscall220, "z": ___syscall221, "A": ___syscall5, "B": ___syscall54, "C": ___syscall6, "D": ___unlock, "E": __addDays, "F": __arraySum, "G": __isLeapYear, "H": _abort, "I": _emscripten_asm_const_i, "J": _emscripten_asm_const_ii, "K": _emscripten_asm_const_iii, "L": _emscripten_asm_const_iiiii, "M": _emscripten_asm_const_iiiiiii, "N": _emscripten_asm_const_iiiiiiiii, "O": _emscripten_async_wget_data, "P": _emscripten_get_heap_size, "Q": _emscripten_get_now, "R": _emscripten_memcpy_big, "S": _emscripten_resize_heap, "T": _emscripten_run_script, "U": _emscripten_set_main_loop, "V": _emscripten_set_main_loop_timing, "W": _exit, "X": _gmtime, "Y": _gmtime_r, "Z": _localtime, "_": _localtime_r, "$": _longjmp, "aa": _strftime, "ab": _time, "ac": _tzset, "ad": abortOnCannotGrowMemory, "ae": tempDoublePtr, "af": DYNAMICTOP_PTR }; // EMSCRIPTEN_START_ASM var asm = (/** @suppress {uselessCode} */ function(global,env,buffer) { "use asm";var a=new global.Int8Array(buffer),b=new global.Int16Array(buffer),c=new global.Int32Array(buffer),d=new global.Uint8Array(buffer),e=new global.Uint16Array(buffer),f=new global.Float32Array(buffer),g=new global.Float64Array(buffer),h=env.ae|0,i=env.af|0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=global.NaN,s=global.Infinity,t=global.Math.floor,u=global.Math.abs,v=global.Math.sqrt,w=global.Math.cos,x=global.Math.sin,y=global.Math.atan,z=global.Math.atan2,A=global.Math.ceil,B=global.Math.imul,C=global.Math.min,D=global.Math.clz32,E=env.a,F=env.b,G=env.c,H=env.d,I=env.e,J=env.f,K=env.g,L=env.h,M=env.i,N=env.j,O=env.k,P=env.l,Q=env.m,R=env.n,S=env.o,T=env.p,U=env.q,V=env.r,W=env.s,X=env.t,Y=env.u,Z=env.v,_=env.w,$=env.x,aa=env.y,ba=env.z,ca=env.A,da=env.B,ea=env.C,fa=env.D,ga=env.E,ha=env.F,ia=env.G,ja=env.H,ka=env.I,la=env.J,ma=env.K,na=env.L,oa=env.M,pa=env.N,qa=env.O,ra=env.P,sa=env.Q,ta=env.R,ua=env.S,va=env.T,wa=env.U,xa=env.V,ya=env.W,za=env.X,Aa=env.Y,Ba=env.Z,Ca=env._,Da=env.$,Ea=env.aa,Fa=env.ab,Ga=env.ac,Ha=env.ad,Ia=3300912,Ja=8543792,Ka=0.0; // EMSCRIPTEN_START_FUNCS function qf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;g=Ia;Ia=Ia+160|0;h=g+40|0;i=g+32|0;j=g+24|0;k=g+16|0;l=g+8|0;m=g;n=g+48|0;o=b+8|0;p=b+16|0;q=(c[o>>2]|0)-((c[c[p>>2]>>2]|0)+8)>>3;r=d+16|0;s=c[r>>2]|0;t=d+72|0;if((s|0)==(t|0)){u=1;v=0}else{w=1;x=1;while(1){if(!w){y=s;z=0}else{A=w;B=s;while(1){C=A+-1|0;D=c[B+8>>2]|0;if((A|0)>1&(D|0)!=(t|0)){A=C;B=D}else{y=D;z=C;break}}}if((z|0)!=0|(y|0)==(t|0)){E=x;F=w;break}B=w<<1;if((w|0)<0){E=w;F=B;break}else{A=w;w=B;x=A}}if((E|0)<(F|0)){x=F;w=E;while(1){E=x+w|0;y=(E|0)/2|0;if((E|0)<-1)G=0;else{if((E+1|0)>>>0>2){E=y;z=s;while(1){A=E+-1|0;B=c[z+8>>2]|0;if((E|0)>1&(B|0)!=(t|0)){E=A;z=B}else{H=B;I=A;break}}}else{H=s;I=y}G=(I|0)==0&(H|0)!=(t|0)&1}z=(G|0)==0;E=z?y:x;w=z?w:y+1|0;if((w|0)>=(E|0)){J=E;break}else x=E}}else J=F;u=J;v=(J|0)>23?12:0}if(e|0){c[m>>2]=e;Od(b,61383,m)|0}m=b+12|0;e=c[m>>2]|0;J=e+12|0;F=c[J>>2]|0;do if((F|0)>0)if(!(a[e+51>>0]|0)){x=e+8|0;c[x>>2]=F+1600+(c[x>>2]|0);c[J>>2]=-1600;break}else{Kc(b);break}while(0);J=Zc(b,49633,16)|0;F=c[o>>2]|0;c[F>>2]=J;c[F+4>>2]=(a[J+4>>0]|64)&255;J=(c[o>>2]|0)+8|0;c[o>>2]=J;if((f|0)<0){K=J;L=J}else{J=n+96|0;F=n+36|0;e=n+20|0;x=u+-11|0;u=n+8|0;w=n+12|0;G=n+35|0;H=n+4|0;I=n+24|0;s=f;while(1){f=s+1|0;E=c[r>>2]|0;if((s|0)!=0&(E|0)!=(t|0)){z=s;A=E;while(1){B=z+-1|0;C=c[A+8>>2]|0;if((z|0)>1&(C|0)!=(t|0)){z=B;A=C}else{M=C;N=B;break}}}else{M=E;N=s}if((N|0)!=0|(M|0)==(t|0))break;c[J>>2]=M;do if((f|0)==(v|0)){A=c[m>>2]|0;z=A+12|0;y=c[z>>2]|0;do if((y|0)>0)if(!(a[A+51>>0]|0)){B=A+8|0;c[B>>2]=y+1600+(c[B>>2]|0);c[z>>2]=-1600;break}else{Kc(b);break}while(0);z=Zc(b,49650,5)|0;y=c[o>>2]|0;c[y>>2]=z;c[y+4>>2]=(a[z+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;O=x}else{rf(d,49656,n)|0;c[l>>2]=F;Od(b,49661,l)|0;z=c[e>>2]|0;if((z|0)>0){c[k>>2]=z<<16;Od(b,49667,k)|0}z=c[m>>2]|0;y=z+12|0;A=c[y>>2]|0;do if((A|0)>0)if(!(a[z+51>>0]|0)){B=z+8|0;c[B>>2]=A+1600+(c[B>>2]|0);c[y>>2]=-1600;break}else{Kc(b);break}while(0);y=Zc(b,49671,4)|0;A=c[o>>2]|0;c[A>>2]=y;c[A+4>>2]=(a[y+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;a:do if(!(a[c[u>>2]>>0]|0))switch(a[c[w>>2]>>0]|0){case 109:{y=c[m>>2]|0;A=y+12|0;z=c[A>>2]|0;do if((z|0)>0)if(!(a[y+51>>0]|0)){B=y+8|0;c[B>>2]=z+1600+(c[B>>2]|0);c[A>>2]=-1600;break}else{Kc(b);break}while(0);A=Zc(b,49690,10)|0;z=c[o>>2]|0;c[z>>2]=A;c[z+4>>2]=(a[A+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;break a;break}case 67:{if(!(sf(b,n)|0)){A=c[m>>2]|0;z=A+12|0;y=c[z>>2]|0;do if((y|0)>0)if(!(a[A+51>>0]|0)){B=A+8|0;c[B>>2]=y+1600+(c[B>>2]|0);c[z>>2]=-1600;break}else{Kc(b);break}while(0);z=Zc(b,47918,1)|0;y=c[o>>2]|0;c[y>>2]=z;c[y+4>>2]=(a[z+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;break a}z=c[o>>2]|0;y=z+-8|0;if((c[z+-4>>2]&15|0)!=4)if(!(Fd(b,y)|0))P=0;else{z=c[m>>2]|0;A=z+12|0;B=c[A>>2]|0;do if((B|0)>0)if(!(a[z+51>>0]|0)){C=z+8|0;c[C>>2]=B+1600+(c[C>>2]|0);c[A>>2]=-1600;break}else{Kc(b);break}while(0);Q=(c[o>>2]|0)+-8|0;R=57}else{Q=y;R=57}if((R|0)==57){R=0;P=(c[Q>>2]|0)+16|0}c[i>>2]=P;Od(b,49676,i)|0;A=c[o>>2]|0;B=A+-16|0;z=A+-8|0;while(1){c[B>>2]=c[z>>2];c[B+4>>2]=c[B+12>>2];A=z+8|0;S=c[o>>2]|0;if(A>>>0>>0){C=z;z=A;B=C}else break}c[o>>2]=S+-8;break a;break}default:{B=c[I>>2]<<16;c[h>>2]=F;c[h+4>>2]=B;Od(b,49701,h)|0;break a}}else{c[j>>2]=c[H>>2];Od(b,49676,j)|0}while(0);if(!(a[G>>0]|0)){B=c[o>>2]|0;T=B;U=B}else{B=c[m>>2]|0;z=B+12|0;y=c[z>>2]|0;do if((y|0)>0)if(!(a[B+51>>0]|0)){C=B+8|0;c[C>>2]=y+1600+(c[C>>2]|0);c[z>>2]=-1600;break}else{Kc(b);break}while(0);z=Zc(b,49718,20)|0;y=c[o>>2]|0;c[y>>2]=z;c[y+4>>2]=(a[z+4>>0]|64)&255;z=(c[o>>2]|0)+8|0;c[o>>2]=z;T=z;U=z}z=(T-((c[c[p>>2]>>2]|0)+8)>>3)-q|0;if((z|0)<=1){if(z|0){O=f;break}y=Zc(b,3300628,0)|0;c[U>>2]=y;c[U+4>>2]=(a[y+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;O=f;break}y=c[m>>2]|0;B=y+12|0;C=c[B>>2]|0;do if((C|0)>0)if(!(a[y+51>>0]|0)){A=y+8|0;c[A>>2]=C+1600+(c[A>>2]|0);c[B>>2]=-1600;break}else{Kc(b);break}while(0);Nc(b,z);O=f}while(0);if((O|0)<0)break;else s=O}O=c[o>>2]|0;K=O;L=O}O=(K-((c[c[p>>2]>>2]|0)+8)>>3)-q|0;if((O|0)<=1){if(O|0){Ia=g;return}q=Zc(b,3300628,0)|0;c[L>>2]=q;c[L+4>>2]=(a[q+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;Ia=g;return}o=c[m>>2]|0;m=o+12|0;q=c[m>>2]|0;do if((q|0)>0)if(!(a[o+51>>0]|0)){L=o+8|0;c[L>>2]=q+1600+(c[L>>2]|0);c[m>>2]=-1600;break}else{Kc(b);break}while(0);Nc(b,O);Ia=g;return}function rf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;g=Ia;Ia=Ia+16|0;h=g;if((a[e>>0]|0)==62){i=b+8|0;j=(c[i>>2]|0)+-8|0;c[i>>2]=j;k=e+1|0;l=0;m=j}else{j=c[f+96>>2]|0;k=e;l=j;m=c[j>>2]|0}j=m+4|0;if((c[j>>2]&31|0)==6)n=c[m>>2]|0;else n=0;e=a[k>>0]|0;a:do if(!(e<<24>>24))o=1;else{i=(n|0)==0;p=(l|0)==0;q=f+16|0;r=f+24|0;s=f+28|0;t=f+12|0;u=f+36|0;v=n+4|0;w=f+20|0;x=l+18|0;y=f+32|0;z=f+34|0;A=f+33|0;B=n+6|0;C=f+35|0;D=f+8|0;E=f+45|0;F=n+12|0;G=f+4|0;H=l+8|0;I=f+95|0;J=f+39|0;K=l+28|0;L=b+12|0;M=k;N=1;O=e;while(1){b:do switch(O<<24>>24|0){case 83:{if(!i?(a[v>>0]|0)!=38:0){P=c[F>>2]|0;Q=c[P+36>>2]|0;R=(Q|0)==0?49744:Q+16|0;c[q>>2]=R;Q=c[P+64>>2]|0;c[r>>2]=Q;c[s>>2]=c[P+68>>2];S=R;T=(Q|0)==0?49747:49752}else{c[q>>2]=49739;c[r>>2]=-1;c[s>>2]=-1;S=49739;T=67211}c[t>>2]=T;Q=Ht(S)|0;switch(a[S>>0]|0){case 61:{R=S+1|0;if(Q>>>0>60){U=u;V=R;W=U+59|0;do{a[U>>0]=a[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));a[I>>0]=0;X=N;break b}else{zv(u|0,R|0,Q|0)|0;X=N;break b}break}case 64:{if(Q>>>0>60){a[u>>0]=a[48275]|0;a[u+1>>0]=a[48276]|0;a[u+2>>0]=a[48277]|0;U=J;V=S+1+Q+-57|0;W=U+57|0;do{a[U>>0]=a[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));X=N;break b}else{zv(u|0,S+1|0,Q|0)|0;X=N;break b}break}default:{R=Tt(S,10)|0;U=u;V=48279;W=U+9|0;do{a[U>>0]=a[V>>0]|0;U=U+1|0;V=V+1|0}while((U|0)<(W|0));P=(R|0)==0;if(Q>>>0<45&P){zv(E|0,S|0,Q|0)|0;Y=E+Q|0}else{Z=P?Q:R-S|0;P=Z>>>0<45?Z:45;zv(E|0,S|0,P|0)|0;Z=E+P|0;a[Z>>0]=a[48275]|0;a[Z+1>>0]=a[48276]|0;a[Z+2>>0]=a[48277]|0;Y=Z+3|0};a[Y>>0]=a[48289]|0;a[Y+1>>0]=a[48290]|0;a[Y+2>>0]=a[48291]|0;X=N;break b}}break}case 108:{if(!p?(a[x>>0]&1)!=0:0){Z=c[(c[c[l>>2]>>2]|0)+12>>2]|0;P=c[Z+20>>2]|0;if(!P)_=0;else _=c[P+(((c[K>>2]|0)-(c[Z+12>>2]|0)>>2)+-1<<2)>>2]|0}else _=-1;c[w>>2]=_;X=N;break}case 117:{if(!i){a[y>>0]=a[B>>0]|0;if((a[v>>0]|0)!=38){a[z>>0]=a[(c[F>>2]|0)+77>>0]|0;a[A>>0]=a[(c[F>>2]|0)+76>>0]|0;X=N;break b}}else a[y>>0]=0;a[z>>0]=1;a[A>>0]=0;X=N;break}case 116:{if(p)$=0;else $=a[x>>0]&64;a[C>>0]=$;X=N;break}case 110:{c:do if((!p?(a[x>>0]&64)==0:0)?(Z=c[H>>2]|0,(a[Z+18>>0]&1)!=0):0){P=c[(c[c[Z>>2]>>2]|0)+12>>2]|0;aa=c[P+12>>2]|0;ba=((c[Z+28>>2]|0)-aa>>2)+-1|0;Z=c[aa+(ba<<2)>>2]|0;do switch(Z&63){case 43:case 42:{aa=ad(P,ba,Z>>>6&255,G)|0;c[D>>2]=aa;if(!aa)break c;else{X=N;break b}break}case 47:{c[G>>2]=49756;ca=49756;break}case 7:case 6:case 12:{da=0;ea=68;break}case 10:case 8:{da=1;ea=68;break}case 37:{da=5;ea=68;break}case 13:{da=6;ea=68;break}case 14:{da=7;ea=68;break}case 15:{da=8;ea=68;break}case 16:{da=9;ea=68;break}case 17:{da=10;ea=68;break}case 18:{da=11;ea=68;break}case 19:{da=12;ea=68;break}case 20:{da=13;ea=68;break}case 21:{da=14;ea=68;break}case 22:{da=15;ea=68;break}case 23:{da=16;ea=68;break}case 24:{da=17;ea=68;break}case 25:{da=18;ea=68;break}case 26:{da=19;ea=68;break}case 27:{da=20;ea=68;break}case 28:{da=21;ea=68;break}case 29:{da=22;ea=68;break}case 30:{da=23;ea=68;break}case 31:{da=24;ea=68;break}case 32:{da=25;ea=68;break}case 34:{da=4;ea=68;break}case 38:{da=26;ea=68;break}case 39:{da=27;ea=68;break}case 35:{da=28;ea=68;break}default:{ea=69;break c}}while(0);if((ea|0)==68){ea=0;c[G>>2]=(c[(c[L>>2]|0)+156+(da<<2)>>2]|0)+16;ca=49769}c[D>>2]=ca;X=N;break b}else ea=69;while(0);if((ea|0)==69){ea=0;c[D>>2]=0}c[D>>2]=3300628;c[G>>2]=0;X=N;break}case 102:case 76:{X=N;break}default:X=0}while(0);M=M+1|0;O=a[M>>0]|0;if(!(O<<24>>24)){o=X;break a}else N=X}}while(0);if(Tt(k,102)|0){X=b+8|0;ca=c[X>>2]|0;c[ca>>2]=c[m>>2];c[ca+4>>2]=c[j>>2];c[X>>2]=(c[X>>2]|0)+8}if(!(Tt(k,76)|0)){Ia=g;return o|0}if(n|0?(a[n+4>>0]|0)!=38:0){k=n+12|0;n=c[(c[k>>2]|0)+20>>2]|0;X=c[b+12>>2]|0;j=X+4|0;ca=Pa[c[X>>2]&1](c[j>>2]|0,0,5,32)|0;if(!ca){if(!(a[X+51>>0]|0))uc(b,4);Gc(b,1);m=Pa[c[X>>2]&1](c[j>>2]|0,0,5,32)|0;if(!m)uc(b,4);else fa=m}else fa=ca;ca=X+12|0;c[ca>>2]=(c[ca>>2]|0)+32;ca=X+56|0;a[fa+5>>0]=a[X+48>>0]&3;a[fa+4>>0]=5;c[fa>>2]=c[ca>>2];c[ca>>2]=fa;c[fa+8>>2]=0;a[fa+6>>0]=-1;ca=fa+12|0;c[ca>>2]=0;X=fa+28|0;c[X>>2]=0;m=fa+16|0;c[m>>2]=2336252;j=fa+7|0;a[j>>0]=0;c[fa+20>>2]=2336252;da=b+8|0;$=c[da>>2]|0;c[$>>2]=fa;c[$+4>>2]=69;c[da>>2]=(c[da>>2]|0)+8;if((c[(c[k>>2]|0)+52>>2]|0)<=0){Ia=g;return o|0}da=h+4|0;$=0;do{_=c[n+($<<2)>>2]|0;l=_+-1|0;d:do if(l>>>0<(c[X>>2]|0)>>>0){ga=(c[ca>>2]|0)+(l<<3)|0;ea=94}else{Y=_<<16;S=0-Y|0;V=(c[m>>2]|0)+(((((Y|0)<0?((Y|0)==(S|0)?0:S):Y)|0)%((1<>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[V+12>>2]|0)==3?(c[V+8>>2]|0)==(Y|0):0)break;S=c[V+16>>2]|0;if(!S){ha=Y;ea=96;break d}else V=S}ga=V;ea=94}while(0);if((ea|0)==94){ea=0;if((ga|0)==2336224){ha=_<<16;ea=96}else ia=ga}if((ea|0)==96){ea=0;c[h>>2]=ha;c[da>>2]=3;ia=Jc(b,fa,h)|0}c[ia>>2]=1;c[ia+4>>2]=1;$=$+1|0}while(($|0)<(c[(c[k>>2]|0)+52>>2]|0));Ia=g;return o|0}k=b+8|0;b=c[k>>2]|0;c[b+4>>2]=0;c[k>>2]=b+8;Ia=g;return o|0}function sf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=a+8|0;f=a+16|0;g=(c[e>>2]|0)-((c[c[f>>2]>>2]|0)+8)|0;h=g>>3;rf(a,63489,b)|0;b=c[(c[a+12>>2]|0)+36>>2]|0;a:do if((c[b+28>>2]|0)>>>0>1)i=(c[b+12>>2]|0)+8|0;else{j=(c[b+16>>2]|0)+((131072%((1<<(d[b+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[j+12>>2]|0)==3?(c[j+8>>2]|0)==131072:0)break;k=c[j+16>>2]|0;if(!k){i=2336224;break a}else j=k}i=j}while(0);b=c[e>>2]|0;c[b>>2]=c[i>>2];c[b+4>>2]=c[i+4>>2];c[e>>2]=(c[e>>2]|0)+8;i=h+1|0;if(tf(a,i,2)|0){wd(a,-1,i);l=1;m=(c[e>>2]|0)+-16|0;c[e>>2]=m;return l|0}if((g|0)<=-8){l=0;m=(c[e>>2]|0)+(i<<3)|0;c[e>>2]=m;return l|0}i=c[c[f>>2]>>2]|0;f=c[e>>2]|0;g=i+8+(h<<3)|0;if(f>>>0>=g>>>0){l=0;m=g;c[e>>2]=m;return l|0}a=(i+(h<<3)+4+(3-f)|0)>>>3;h=f;do{c[h+4>>2]=0;h=h+8|0}while(h>>>0>>0);c[e>>2]=f+(a+1<<3);l=0;m=g;c[e>>2]=m;return l|0}function tf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if(!f){g=0;return g|0}h=b+16|0;i=b+8|0;j=c[i>>2]|0;if((j+-8|0)==2336224){g=0;return g|0}if((c[j+-4>>2]&15|0)!=5){g=0;return g|0}c[j+4>>2]=0;c[i>>2]=j+8;if(!(nf(b,-2)|0)){g=0;return g|0}j=f+-1|0;f=(e|0)<-1000999;k=(e|0)==-1001e3;l=b+12|0;m=-1001e3-e|0;n=m+-1|0;a:do if((e|0)>0){while(1){o=c[i>>2]|0;if((o+-16|0)!=2336224?(c[o+-12>>2]&15|0)==4:0){p=(c[c[h>>2]>>2]|0)+(e<<3)|0;q=p>>>0>>0?p:2336224;p=o+-8|0;if(((p|0)!=2336224&(q|0)!=2336224?(c[q+4>>2]|0)==(c[o+-4>>2]|0):0)?Pc(0,q,p)|0:0){r=27;break a}if(tf(b,e,j)|0)break a;s=c[i>>2]|0}else s=o;c[i>>2]=s+-8;if(!(nf(b,-2)|0)){g=0;break}}return g|0}else{while(1){o=c[i>>2]|0;if((o+-16|0)!=2336224?(c[o+-12>>2]&15|0)==4:0){p=c[h>>2]|0;do if(f){if(k){t=(c[l>>2]|0)+36|0;r=24;break}q=c[p>>2]|0;if((c[q+4>>2]|32|0)!=54){u=c[q>>2]|0;t=(m|0)>(d[u+6>>0]|0)?2336224:u+16+(n<<3)|0;r=24}}else{t=o+(e<<3)|0;r=24}while(0);if((((r|0)==24?(r=0,p=o+-8|0,(p|0)!=2336224&(t|0)!=2336224):0)?(c[t+4>>2]|0)==(c[o+-4>>2]|0):0)?Pc(0,t,p)|0:0){r=27;break a}if(tf(b,e,j)|0)break a;v=c[i>>2]|0}else v=o;c[i>>2]=v+-8;if(!(nf(b,-2)|0)){g=0;break}}return g|0}while(0);if((r|0)==27){c[i>>2]=(c[i>>2]|0)+-8;g=1;return g|0}r=c[i>>2]|0;v=r+-16|0;j=r+-8|0;while(1){c[v>>2]=c[j>>2];c[v+4>>2]=c[v+12>>2];r=j+8|0;w=c[i>>2]|0;if(r>>>0>>0){e=j;j=r;v=e}else break}c[i>>2]=w+-8;w=c[l>>2]|0;v=w+12|0;j=c[v>>2]|0;do if((j|0)>0)if(!(a[w+51>>0]|0)){e=w+8|0;c[e>>2]=j+1600+(c[e>>2]|0);c[v>>2]=-1600;break}else{Kc(b);break}while(0);v=Zc(b,74667,1)|0;j=c[i>>2]|0;c[j>>2]=v;c[j+4>>2]=(a[v+4>>0]|64)&255;v=c[i>>2]|0;j=v+8|0;c[i>>2]=j;w=j;do{j=w;w=w+-8|0;c[j>>2]=c[w>>2];c[j+4>>2]=c[j+-4>>2]}while(j>>>0>v>>>0);w=c[i>>2]|0;c[v+-8>>2]=c[w>>2];c[v+-4>>2]=c[w+4>>2];w=c[l>>2]|0;l=w+12|0;v=c[l>>2]|0;do if((v|0)>0)if(!(a[w+51>>0]|0)){i=w+8|0;c[i>>2]=v+1600+(c[i>>2]|0);c[l>>2]=-1600;break}else{Kc(b);break}while(0);Nc(b,3);g=1;return g|0}function uf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=Ia;Ia=Ia+128|0;g=f+16|0;h=f+8|0;i=f;j=f+28|0;f=c[b+16>>2]|0;if((f|0)==(b+72|0)){c[i>>2]=d;c[i+4>>2]=e;vf(b,49780,i)|0}c[j+96>>2]=f;rf(b,49802,j)|0;if(!(xt(c[j+8>>2]|0,48006)|0)){f=d+-1|0;if(!f){c[h>>2]=c[j+4>>2];c[h+4>>2]=e;vf(b,49804,h)|0}else k=f}else k=d;d=j+4|0;f=c[d>>2]|0;if(f|0){l=f;c[g>>2]=k;m=g+4|0;c[m>>2]=l;n=g+8|0;c[n>>2]=e;vf(b,49834,g)|0}do if(!(sf(b,j)|0))o=47918;else{f=b+8|0;h=c[f>>2]|0;i=h+-8|0;if((c[h+-4>>2]&15|0)==4)p=i;else{if(!(Fd(b,i)|0)){o=0;break}i=c[b+12>>2]|0;h=i+12|0;q=c[h>>2]|0;do if((q|0)>0)if(!(a[i+51>>0]|0)){r=i+8|0;c[r>>2]=q+1600+(c[r>>2]|0);c[h>>2]=-1600;break}else{Kc(b);break}while(0);p=(c[f>>2]|0)+-8|0}o=(c[p>>2]|0)+16|0}while(0);c[d>>2]=o;l=o;c[g>>2]=k;m=g+4|0;c[m>>2]=l;n=g+8|0;c[n>>2]=e;vf(b,49834,g)|0;return 0}function vf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=d;wf(a,1);Nd(a,b,f)|0;pf(a,2);mf(a)|0;return 0}function wf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=Ia;Ia=Ia+112|0;f=e;g=e+8|0;if((d|0)>=0){h=c[b+16>>2]|0;i=b+72|0;if((d|0)!=0&(h|0)!=(i|0)){j=d;k=h;while(1){l=j+-1|0;m=c[k+8>>2]|0;if((j|0)>1&(m|0)!=(i|0)){j=l;k=m}else{n=m;o=l;break}}}else{n=h;o=d}if(!((o|0)!=0|(n|0)==(i|0))?(c[g+96>>2]=n,rf(b,49864,g)|0,n=g+20|0,i=c[n>>2]|0,(i|0)>0):0){c[f>>2]=g+36;c[f+4>>2]=i<<16;Od(b,49867,f)|0;c[584058]=c[n>>2];Ia=e;return}}n=c[b+12>>2]|0;f=n+12|0;i=c[f>>2]|0;do if((i|0)>0)if(!(a[n+51>>0]|0)){g=n+8|0;c[g>>2]=i+1600+(c[g>>2]|0);c[f>>2]=-1600;break}else{Kc(b);break}while(0);f=Zc(b,3300628,0)|0;i=b+8|0;b=c[i>>2]|0;c[b>>2]=f;c[b+4>>2]=(a[f+4>>0]|64)&255;c[i>>2]=(c[i>>2]|0)+8;Ia=e;return}function xf(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=Ia;Ia=Ia+16|0;g=f;h=Ed(a,b,e)|0;if(h|0){Ia=f;return h|0}e=c[a+16>>2]|0;do if((b|0)>0){i=(c[e>>2]|0)+(b<<3)|0;if(i>>>0<(c[a+8>>2]|0)>>>0){j=i;k=10}else l=0}else{if((b|0)>=-1000999){j=(c[a+8>>2]|0)+(b<<3)|0;k=10;break}if((b|0)==-1001e3){j=(c[a+12>>2]|0)+36|0;k=10;break}i=-1001e3-b|0;m=c[e>>2]|0;if((c[m+4>>2]|32|0)!=54?(n=c[m>>2]|0,(i|0)<=(d[n+6>>0]|0|0)):0){j=n+16+(i+-1<<3)|0;k=10}else l=0}while(0);if((k|0)==10)if((j|0)==2336224)l=0;else l=(c[j+4>>2]&15)+1|0;j=c[16+(l<<2)>>2]|0;c[g>>2]=47638;c[g+4>>2]=j;uf(a,b,Od(a,49875,g)|0)|0;Ia=f;return h|0}function yf(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a+16>>2]|0;do if((b|0)>0){h=(c[g>>2]|0)+(b<<3)|0;if(h>>>0<(c[a+8>>2]|0)>>>0){i=h;j=9}}else{if((b|0)>=-1000999){i=(c[a+8>>2]|0)+(b<<3)|0;j=9;break}if((b|0)==-1001e3){i=(c[a+12>>2]|0)+36|0;j=9;break}h=-1001e3-b|0;k=c[g>>2]|0;if((c[k+4>>2]|32|0)!=54?(l=c[k>>2]|0,(h|0)<=(d[l+6>>0]|0|0)):0){i=l+16+(h+-1<<3)|0;j=9}}while(0);if(((j|0)==9?(i|0)!=2336224:0)?c[i+4>>2]&15|0:0){m=xf(a,b,f)|0;return m|0}if(!f){m=e;return m|0}if(!e)n=0;else n=Ht(e)|0;c[f>>2]=n;m=e;return m|0}function zf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=Ia;Ia=Ia+16|0;f=e;g=e+8|0;h=a+16|0;i=c[h>>2]|0;j=(b|0)>0;do if(!j){if((b|0)>=-1000999){k=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){k=(c[a+12>>2]|0)+36|0;break}l=-1001e3-b|0;m=c[i>>2]|0;if((c[m+4>>2]|32|0)==54)k=2336224;else{n=c[m>>2]|0;k=(l|0)>(d[n+6>>0]|0|0)?2336224:n+16+(l+-1<<3)|0}}else{l=(c[i>>2]|0)+(b<<3)|0;k=l>>>0<(c[a+8>>2]|0)>>>0?l:2336224}while(0);l=c[k+4>>2]|0;a:do if((l|0)==3)o=c[k>>2]|0;else{do if((l&15|0)==4){n=c[k>>2]|0;if(!(Sc(n+16|0,c[n+12>>2]|0,g)|0)){p=c[h>>2]|0;break}else{o=c[g>>2]|0;break a}}else p=i;while(0);do if(j){n=(c[p>>2]|0)+(b<<3)|0;if(n>>>0<(c[a+8>>2]|0)>>>0){q=n;r=24}else s=0}else{if((b|0)>=-1000999){q=(c[a+8>>2]|0)+(b<<3)|0;r=24;break}if((b|0)==-1001e3){q=(c[a+12>>2]|0)+36|0;r=24;break}n=-1001e3-b|0;m=c[p>>2]|0;if((c[m+4>>2]|32|0)!=54?(t=c[m>>2]|0,(n|0)<=(d[t+6>>0]|0|0)):0){q=t+16+(n+-1<<3)|0;r=24}else s=0}while(0);if((r|0)==24)if((q|0)==2336224)s=0;else s=(c[q+4>>2]&15)+1|0;n=c[16+(s<<2)>>2]|0;c[f>>2]=47631;c[f+4>>2]=n;uf(a,b,Od(a,49875,f)|0)|0;u=0;Ia=e;return u|0}while(0);u=o>>16;Ia=e;return u|0}function Af(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=b+4|0;e=c[a>>2]|0;if(!e){f=0;return f|0}c[d>>2]=e;c[a>>2]=0;f=c[b>>2]|0;return f|0}function Bf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Ia;Ia=Ia+16|0;e=d;f=Ht(b)|0;c[e>>2]=b;c[e+4>>2]=f;f=$d(a,4,e,b,0)|0;Ia=d;return f|0}function Cf(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){g=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){g=(c[a+12>>2]|0)+36|0;break}h=-1001e3-b|0;i=c[f>>2]|0;if((c[i+4>>2]|32|0)==54)g=2336224;else{j=c[i>>2]|0;g=(h|0)>(d[j+6>>0]|0|0)?2336224:j+16+(h+-1<<3)|0}}else{h=(c[f>>2]|0)+(b<<3)|0;g=h>>>0<(c[a+8>>2]|0)>>>0?h:2336224}while(0);b=c[g+4>>2]|0;switch(b&15){case 5:{k=(c[g>>2]|0)+8|0;break}case 7:{k=(c[g>>2]|0)+8|0;break}default:k=(c[a+12>>2]|0)+276+((b&15)<<2)|0}b=c[k>>2]|0;if(!b){l=0;return l|0}k=a+8|0;g=c[k>>2]|0;c[g>>2]=b;c[g+4>>2]=69;c[k>>2]=(c[k>>2]|0)+8;Ld(a,e)|0;e=c[k>>2]|0;a=Ic(c[e+-16>>2]|0,e+-8|0)|0;e=c[k>>2]|0;c[e+-8>>2]=c[a>>2];c[e+-4>>2]=c[a+4>>2];a=c[k>>2]|0;e=a+-8|0;if((e|0)!=2336224?(c[a+-4>>2]&15|0)==0:0){m=0;n=a+-16|0}else{g=a+-16|0;a=e;while(1){c[g>>2]=c[a>>2];c[g+4>>2]=c[g+12>>2];e=a+8|0;o=c[k>>2]|0;if(e>>>0>>0){b=a;a=e;g=b}else break}m=1;n=o+-8|0}c[k>>2]=n;l=m;return l|0}function Df(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Ia;Ia=Ia+16|0;h=g;if((e+1000999|0)>>>0>1000999)i=e;else i=((c[a+8>>2]|0)-(c[c[a+16>>2]>>2]|0)>>3)+e|0;if(!(Cf(a,i,f)|0)){j=0;Ia=g;return j|0}f=c[a+16>>2]|0;do if((i|0)<=0){if((i|0)>=-1000999){k=(c[a+8>>2]|0)+(i<<3)|0;break}if((i|0)==-1001e3){k=(c[a+12>>2]|0)+36|0;break}e=-1001e3-i|0;l=c[f>>2]|0;if((c[l+4>>2]|32|0)==54)k=2336224;else{m=c[l>>2]|0;k=(e|0)>(d[m+6>>0]|0|0)?2336224:m+16+(e+-1<<3)|0}}else{e=(c[f>>2]|0)+(i<<3)|0;k=e>>>0<(c[a+8>>2]|0)>>>0?e:2336224}while(0);i=a+8|0;f=c[i>>2]|0;c[f>>2]=c[k>>2];c[f+4>>2]=c[k+4>>2];k=c[i>>2]|0;c[i>>2]=k+8;i=k+-8|0;k=a+38|0;f=(b[k>>1]|0)+1<<16>>16;b[k>>1]=f;if((f&65535)>199){if(f<<16>>16==200)wc(a,47685,h);if((f&65535)>224)uc(a,6)}f=a+36|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;if(!(Ac(a,i,1)|0))Bc(a);b[f>>1]=(b[f>>1]|0)+-1<<16>>16;b[k>>1]=(b[k>>1]|0)+-1<<16>>16;j=1;Ia=g;return j|0}function Ef(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=Ia;Ia=Ia+16|0;h=g;a:do if(!(Df(b,e,49940)|0)){i=c[b+16>>2]|0;j=(e|0)>0;do if(j){k=(c[i>>2]|0)+(e<<3)|0;l=c[b+8>>2]|0;if(k>>>0>>0){m=k;n=10}else{o=k;p=l;n=40}}else{if((e|0)>=-1000999){m=(c[b+8>>2]|0)+(e<<3)|0;n=10;break}if((e|0)==-1001e3){m=(c[b+12>>2]|0)+36|0;n=10;break}l=-1001e3-e|0;k=c[i>>2]|0;q=c[k+4>>2]|32;if((q|0)!=54){r=c[k>>2]|0;if((l|0)>(d[r+6>>0]|0)){s=l;t=q;u=k;n=46}else{m=r+16+(l+-1<<3)|0;n=10}}else v=0}while(0);do if((n|0)==10){b:do if((m|0)!=2336224)switch(c[m+4>>2]&15){case 4:case 3:{do if(!j){if((e|0)>=-1000999){w=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){w=(c[b+12>>2]|0)+36|0;break}l=-1001e3-e|0;r=c[i>>2]|0;if((c[r+4>>2]|32|0)==54)w=2336224;else{k=c[r>>2]|0;w=(l|0)>(d[k+6>>0]|0)?2336224:k+16+(l+-1<<3)|0}}else{l=(c[i>>2]|0)+(e<<3)|0;w=l>>>0<(c[b+8>>2]|0)>>>0?l:2336224}while(0);l=b+8|0;k=c[l>>2]|0;c[k>>2]=c[w>>2];c[k+4>>2]=c[w+4>>2];c[l>>2]=(c[l>>2]|0)+8;break a;break}case 1:{do if(!j){if((e|0)>=-1000999){x=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){x=(c[b+12>>2]|0)+36|0;break}l=-1001e3-e|0;k=c[i>>2]|0;if((c[k+4>>2]|32|0)==54)x=2336224;else{r=c[k>>2]|0;x=(l|0)>(d[r+6>>0]|0)?2336224:r+16+(l+-1<<3)|0}}else{l=(c[i>>2]|0)+(e<<3)|0;x=l>>>0<(c[b+8>>2]|0)>>>0?l:2336224}while(0);switch(c[x+4>>2]|0){case 0:{n=31;break}case 1:{if(!(c[x>>2]|0))n=31;else y=59322;break}default:y=59322}if((n|0)==31)y=59327;Ld(b,y)|0;break a;break}case 0:{l=c[b+12>>2]|0;r=l+12|0;k=c[r>>2]|0;do if((k|0)>0)if(!(a[l+51>>0]|0)){q=l+8|0;c[q>>2]=k+1600+(c[q>>2]|0);c[r>>2]=-1600;break}else{Kc(b);break}while(0);r=Zc(b,59024,3)|0;k=b+8|0;l=c[k>>2]|0;c[l>>2]=r;c[l+4>>2]=(a[r+4>>0]|64)&255;c[k>>2]=(c[k>>2]|0)+8;break a;break}default:break b}while(0);if(j){o=(c[i>>2]|0)+(e<<3)|0;p=c[b+8>>2]|0;n=40;break}if((e|0)>=-1000999){z=(c[b+8>>2]|0)+(e<<3)|0;n=48;break}if((e|0)==-1001e3){z=(c[b+12>>2]|0)+36|0;n=48;break}else{k=c[i>>2]|0;s=-1001e3-e|0;t=c[k+4>>2]|32;u=k;n=46;break}}while(0);if((n|0)==40)if(o>>>0

>>0){z=o;n=48}else v=0;else if((n|0)==46)if((t|0)!=54?(i=c[u>>2]|0,(s|0)<=(d[i+6>>0]|0)):0){z=i+16+(s+-1<<3)|0;n=48}else v=0;if((n|0)==48)if((z|0)==2336224)v=0;else v=(c[z+4>>2]&15)+1|0;i=c[16+(v<<2)>>2]|0;j=Hd(b,e)|0;c[h>>2]=i;c[h+4>>2]=j;Od(b,49951,h)|0}while(0);h=b+8|0;e=c[h>>2]|0;v=e+-8|0;if((c[e+-4>>2]&15|0)==4)A=v;else{if(!(Fd(b,v)|0)){if(!f){B=0;Ia=g;return B|0}c[f>>2]=0;B=0;Ia=g;return B|0}v=c[b+12>>2]|0;e=v+12|0;z=c[e>>2]|0;do if((z|0)>0)if(!(a[v+51>>0]|0)){n=v+8|0;c[n>>2]=z+1600+(c[n>>2]|0);c[e>>2]=-1600;break}else{Kc(b);break}while(0);A=(c[h>>2]|0)+-8|0}if(f|0)c[f>>2]=c[(c[A>>2]|0)+12>>2];B=(c[A>>2]|0)+16|0;Ia=g;return B|0}function Ff(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=Ia;Ia=Ia+16|0;g=Pa[d&1](e,0,8,428)|0;if(!g){h=0;Ia=f;return h|0}i=g+116|0;c[g>>2]=0;a[g+4>>0]=8;a[g+164>>0]=33;a[g+5>>0]=1;a[g+166>>0]=0;c[g+12>>2]=i;c[g+28>>2]=0;c[g+16>>2]=0;c[g+32>>2]=0;c[g+64>>2]=0;b[g+38>>1]=0;c[g+52>>2]=0;a[g+40>>0]=0;c[g+44>>2]=0;a[g+41>>0]=1;c[g+48>>2]=0;c[g+56>>2]=0;b[g+36>>1]=1;a[g+6>>0]=0;c[g+68>>2]=0;c[i>>2]=d;c[g+120>>2]=e;c[g+260>>2]=g;e=g;d=f;i=(Fa(0)|0)^16;j=(i>>>2)+(1>>>24&255)+(i<<5)^i;i=(j>>>2)+(1>>>16&255)+(j<<5)^j;j=(i>>>2)+(1>>>8&255)+(i<<5)^i;i=(j>>>2)+1+(j<<5)^j;j=(i>>>2)+(2336224>>>24&255)+(i<<5)^i;i=(j>>>2)+(2336224>>>16&255)+(j<<5)^j;j=(i>>>2)+(2336224>>>8&255)+(i<<5)^i;i=(j>>>2)+224+(j<<5)^j;j=(i>>>2)+(d>>>24)+(i<<5)^i;i=(j>>>2)+(d>>>16&255)+(j<<5)^j;j=(i>>>2)+(d>>>8&255)+(i<<5)^i;i=(j>>>2)+(d&252)+(j<<5)^j;j=(i>>>2)+(e>>>24)+(i<<5)^i;i=(j>>>2)+(e>>>16&255)+(j<<5)^j;j=(i>>>2)+(e>>>8&255)+(i<<5)^i;c[g+160>>2]=(j>>>2)+(e&255)+(j<<5)^j;j=g+212|0;c[g+224>>2]=j;c[g+228>>2]=j;a[g+167>>0]=0;j=g+136|0;c[g+156>>2]=0;c[g+232>>2]=0;c[g+240>>2]=0;c[g+256>>2]=0;c[g+264>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;a[g+165>>0]=5;j=g+124|0;e=g+172|0;i=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(i|0));c[j>>2]=428;c[g+128>>2]=0;c[g+244>>2]=200;c[g+248>>2]=200;c[g+252>>2]=200;e=g+392|0;i=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(i|0));if(!(tc(g,5,0)|0)){h=g;Ia=f;return h|0}Hf(g);h=0;Ia=f;return h|0}function Gf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Ia;Ia=Ia+16|0;f=e;g=b+12|0;h=c[g>>2]|0;i=h+4|0;j=Pa[c[h>>2]&1](c[i>>2]|0,0,0,320)|0;if(!j){if(!(a[h+51>>0]|0))uc(b,4);Gc(b,1);k=Pa[c[h>>2]&1](c[i>>2]|0,0,0,320)|0;if(!k)uc(b,4);else l=k}else l=j;j=h+12|0;c[j>>2]=(c[j>>2]|0)+320;c[b+28>>2]=l;c[b+32>>2]=40;j=l+4|0;c[j>>2]=0;c[l+12>>2]=0;c[l+20>>2]=0;c[l+28>>2]=0;c[l+36>>2]=0;c[l+44>>2]=0;c[l+52>>2]=0;c[l+60>>2]=0;c[l+68>>2]=0;c[l+76>>2]=0;c[l+84>>2]=0;c[l+92>>2]=0;c[l+100>>2]=0;c[l+108>>2]=0;c[l+116>>2]=0;c[l+124>>2]=0;c[l+132>>2]=0;c[l+140>>2]=0;c[l+148>>2]=0;c[l+156>>2]=0;c[l+164>>2]=0;c[l+172>>2]=0;c[l+180>>2]=0;c[l+188>>2]=0;c[l+196>>2]=0;c[l+204>>2]=0;c[l+212>>2]=0;c[l+220>>2]=0;c[l+228>>2]=0;c[l+236>>2]=0;c[l+244>>2]=0;c[l+252>>2]=0;c[l+260>>2]=0;c[l+268>>2]=0;c[l+276>>2]=0;c[l+284>>2]=0;c[l+292>>2]=0;c[l+300>>2]=0;c[l+308>>2]=0;c[l+316>>2]=0;c[b+24>>2]=l+280;k=b+72|0;c[b+80>>2]=0;c[b+84>>2]=0;a[b+90>>0]=0;c[k>>2]=l;c[b+8>>2]=l+8;c[j>>2]=0;c[b+76>>2]=l+168;c[b+16>>2]=k;k=c[g>>2]|0;l=k+4|0;j=Pa[c[k>>2]&1](c[l>>2]|0,0,5,32)|0;if(!j){if(!(a[k+51>>0]|0))uc(b,4);Gc(b,1);i=Pa[c[k>>2]&1](c[l>>2]|0,0,5,32)|0;if(!i)uc(b,4);else m=i}else m=j;j=k+12|0;c[j>>2]=(c[j>>2]|0)+32;j=k+56|0;a[m+5>>0]=a[k+48>>0]&3;a[m+4>>0]=5;c[m>>2]=c[j>>2];c[j>>2]=m;c[m+8>>2]=0;a[m+6>>0]=-1;j=m+12|0;c[j>>2]=0;k=m+28|0;c[k>>2]=0;i=m+16|0;c[i>>2]=2336252;l=m+7|0;a[l>>0]=0;c[m+20>>2]=2336252;c[h+36>>2]=m;c[h+40>>2]=69;Tc(b,m,2,0);n=b;a:do if(!(c[k>>2]|0)){o=(c[i>>2]|0)+((65536%((1<>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[o+12>>2]|0)==3?(c[o+8>>2]|0)==65536:0)break;p=c[o+16>>2]|0;if(!p){q=17;break a}else o=p}r=o;q=16}else{r=c[j>>2]|0;q=16}while(0);if((q|0)==16)if((r|0)==2336224)q=17;else s=r;if((q|0)==17){c[f>>2]=65536;c[f+4>>2]=3;s=Jc(b,m,f)|0}c[s>>2]=n;c[s+4>>2]=72;s=c[g>>2]|0;n=s+4|0;r=Pa[c[s>>2]&1](c[n>>2]|0,0,5,32)|0;if(!r){if(!(a[s+51>>0]|0))uc(b,4);Gc(b,1);p=Pa[c[s>>2]&1](c[n>>2]|0,0,5,32)|0;if(!p)uc(b,4);else t=p}else t=r;r=s+12|0;c[r>>2]=(c[r>>2]|0)+32;r=s+56|0;a[t+5>>0]=a[s+48>>0]&3;a[t+4>>0]=5;c[t>>2]=c[r>>2];c[r>>2]=t;c[t+8>>2]=0;a[t+6>>0]=-1;c[t+12>>2]=0;c[t+28>>2]=0;c[t+16>>2]=2336252;a[t+7>>0]=0;c[t+20>>2]=2336252;r=t;b:do if((c[k>>2]|0)>>>0>1){u=(c[j>>2]|0)+8|0;q=29}else{t=(c[i>>2]|0)+((131072%((1<>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[t+12>>2]|0)==3?(c[t+8>>2]|0)==131072:0)break;s=c[t+16>>2]|0;if(!s){q=30;break b}else t=s}u=t;q=29}while(0);if((q|0)==29)if((u|0)==2336224)q=30;else v=u;if((q|0)==30){c[f>>2]=131072;c[f+4>>2]=3;v=Jc(b,m,f)|0}c[v>>2]=r;c[v+4>>2]=69;bd(b,32);v=0;do{r=c[864+(v<<2)>>2]|0;f=td(b,r,Ht(r)|0)|0;c[(c[g>>2]|0)+156+(v<<2)>>2]=f;f=(c[(c[g>>2]|0)+156+(v<<2)>>2]|0)+5|0;a[f>>0]=a[f>>0]|32;v=v+1|0}while((v|0)!=30);v=0;do{g=c[656+(v<<2)>>2]|0;f=td(b,g,Ht(g)|0)|0;g=f+5|0;a[g>>0]=a[g>>0]|32;v=v+1|0;a[f+6>>0]=v}while((v|0)!=22);v=Zc(b,50917,17)|0;c[h+152>>2]=v;b=v+5|0;a[b>>0]=a[b>>0]|32;a[h+51>>0]=1;c[h+148>>2]=36060;Ia=e;return}function Hf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=a+12|0;d=c[b>>2]|0;e=a+28|0;Oc(a,c[e>>2]|0);If(a);f=c[b>>2]|0;g=c[f+24>>2]|0;h=c[f+32>>2]<<2;Pa[c[f>>2]&1](c[f+4>>2]|0,g,h,0)|0;i=f+12|0;c[i>>2]=(c[i>>2]|0)+((g|0)==0?0:0-h|0);h=d+116|0;g=c[h>>2]|0;i=d+124|0;f=c[i>>2]|0;j=c[b>>2]|0;k=Pa[c[j>>2]&1](c[j+4>>2]|0,g,f,0)|0;l=j+12|0;c[l>>2]=(c[l>>2]|0)+((g|0)==0?0:0-f|0);c[h>>2]=k;c[i>>2]=0;i=c[e>>2]|0;if(!i){m=c[d>>2]|0;n=d+4|0;o=c[n>>2]|0;Pa[m&1](o,a,428,0)|0;return}c[a+16>>2]=a+72;k=a+84|0;h=c[k>>2]|0;c[k>>2]=0;if(!h)p=i;else{i=h;do{h=i;i=c[i+12>>2]|0;k=c[b>>2]|0;Pa[c[k>>2]&1](c[k+4>>2]|0,h,40,0)|0;f=k+12|0;c[f>>2]=(c[f>>2]|0)-((h|0)==0?0:40)}while((i|0)!=0);p=c[e>>2]|0}e=c[a+32>>2]<<3;i=c[b>>2]|0;Pa[c[i>>2]&1](c[i+4>>2]|0,p,e,0)|0;b=i+12|0;c[b>>2]=(c[b>>2]|0)-((p|0)==0?0:e);m=c[d>>2]|0;n=d+4|0;o=c[n>>2]|0;Pa[m&1](o,a,428,0)|0;return}function If(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=b+12|0;f=c[e>>2]|0;g=f+60|0;h=f+92|0;i=c[h>>2]|0;if(!i)j=h;else{k=i;while(1){l=c[k>>2]|0;if(!l)break;else k=l}j=k}k=c[g>>2]|0;if(!k){m=h;n=f;o=i}else{i=j;j=k;while(1){k=j+5|0;a[k>>0]=a[k>>0]|8;c[g>>2]=c[j>>2];c[j>>2]=c[i>>2];c[i>>2]=j;k=c[g>>2]|0;if(!k)break;else{h=j;j=k;i=h}}i=c[e>>2]|0;j=i+92|0;m=j;n=i;o=c[j>>2]|0}if(!o){p=n;q=0}else{n=o;do{o=n+5|0;a[o>>0]=a[o>>0]&-65;o=c[e>>2]|0;j=o+92|0;i=c[j>>2]|0;c[j>>2]=c[i>>2];j=o+56|0;c[i>>2]=c[j>>2];c[j>>2]=i;j=i+5|0;i=a[j>>0]|0;a[j>>0]=i&-17;if((d[o+49>>0]|0)>=2)a[j>>0]=a[o+48>>0]&3|i&-88;n=c[m>>2]|0}while((n|0)!=0);p=c[e>>2]|0;q=c[g>>2]|0}a[f+48>>0]=3;a[f+50>>0]=0;n=d[p+48>>0]|0;m=n^3;i=a[p+50>>0]|0;p=i<<24>>24==2;o=n&3;n=p?255:184;j=p?64:o;h=p?64:0;if(!q){r=m;s=o;t=i}else{i=g;g=-3;o=q;while(1){if(!g)break;g=g+-1|0;q=o+5|0;p=d[q>>0]|0;if(!((p^3)&m)){c[i>>2]=c[o>>2];id(b,o);u=i}else{if(h&p|0)break;if((a[o+4>>0]|0)==8)jd(b,o);a[q>>0]=n&p|j;u=o}o=c[u>>2]|0;if(!o)break;else i=u}u=c[e>>2]|0;i=d[u+48>>0]|0;r=i^3;s=i&3;t=a[u+50>>0]|0}u=f+56|0;i=t<<24>>24==2;t=i?255:184;o=i?64:s;s=i?64:0;i=c[u>>2]|0;a:do if(i|0){j=u;n=-3;h=i;while(1){if(!n)break a;n=n+-1|0;m=h+5|0;g=d[m>>0]|0;if(!((g^3)&r)){c[j>>2]=c[h>>2];id(b,h);v=j}else{if(s&g|0)break a;if((a[h+4>>0]|0)==8)jd(b,h);a[m>>0]=t&g|o;v=h}h=c[v>>2]|0;if(!h)break;else j=v}}while(0);v=f+32|0;o=c[v>>2]|0;if((o|0)<=0)return;t=f+24|0;f=0;s=o;while(1){o=(c[t>>2]|0)+(f<<2)|0;r=c[e>>2]|0;i=d[r+48>>0]|0;u=i^3;j=(a[r+50>>0]|0)==2;r=j?255:184;h=j?64:i&3;i=j?64:0;j=c[o>>2]|0;if(!j)w=s;else{n=o;o=-3;g=j;while(1){if(!o)break;o=o+-1|0;j=g+5|0;m=d[j>>0]|0;if(!((m^3)&u)){c[n>>2]=c[g>>2];id(b,g);x=n}else{if(i&m|0)break;if((a[g+4>>0]|0)==8)jd(b,g);a[j>>0]=r&m|h;x=g}g=c[x>>2]|0;if(!g)break;else n=x}w=c[v>>2]|0}f=f+1|0;if((f|0)>=(w|0))break;else s=w}return}function Jf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+16|0;d=(c[c[b>>2]>>2]|0)+8|0;e=a+8|0;f=c[e>>2]|0;if(d>>>0>=f>>>0|(d|0)==2336224){uf(a,1,49895)|0;g=(c[c[b>>2]>>2]|0)+8|0;h=c[e>>2]|0}else{g=d;h=f}f=g>>>0>>0?g:2336224;g=c[f+4>>2]|0;switch(g&15){case 5:{i=(c[f>>2]|0)+8|0;break}case 7:{i=(c[f>>2]|0)+8|0;break}default:i=(c[a+12>>2]|0)+276+((g&15)<<2)|0}g=c[i>>2]|0;if(!g){c[h+4>>2]=0;c[e>>2]=h+8;return 1}else{c[h>>2]=g;c[h+4>>2]=69;c[e>>2]=(c[e>>2]|0)+8;Cf(a,1,50154)|0;return 1}return 0}function Kf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=Ia;Ia=Ia+16|0;d=b+8|0;e=b;f=a+16|0;g=c[c[f>>2]>>2]|0;h=g+16|0;i=a+8|0;j=c[i>>2]|0;if(h>>>0>=j>>>0|(h|0)==2336224)k=-1;else k=c[g+20>>2]&15;h=g+8|0;if(!(h>>>0>=j>>>0|(h|0)==2336224)){h=c[g+12>>2]&15;if((h|0)!=5){l=h+1|0;m=6}}else{l=0;m=6}if((m|0)==6){m=c[16+(l<<2)>>2]|0;c[e>>2]=47645;c[e+4>>2]=m;uf(a,1,Od(a,49875,e)|0)|0}switch(k|0){case 0:case 5:break;default:uf(a,2,50166)|0}if(Cf(a,1,50154)|0)vf(a,50188,d)|0;d=c[c[f>>2]>>2]|0;f=c[i>>2]|0;k=d+24|0;if(f>>>0>=k>>>0){c[i>>2]=k;Wd(a,1)|0;Ia=b;return 1}e=(d+20+(3-f)|0)>>>3;d=f;do{c[d+4>>2]=0;d=d+8|0}while(d>>>0>>0);c[i>>2]=f+(e+1<<3);c[i>>2]=k;Wd(a,1)|0;Ia=b;return 1}function Lf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>=g>>>0|(e|0)==2336224){uf(a,1,49895)|0;h=c[c[b>>2]>>2]|0;i=c[f>>2]|0}else{h=d;i=g}g=h+16|0;if(g>>>0>=i>>>0|(g|0)==2336224){uf(a,2,49895)|0;a=c[c[b>>2]>>2]|0;j=a+16|0;k=a;l=c[f>>2]|0}else{j=g;k=h;l=i}i=k+8|0;k=i>>>0>>0?i:2336224;i=j>>>0>>0?j:2336224;if((k|0)!=2336224&(i|0)!=2336224?(c[k+4>>2]|0)==(c[i+4>>2]|0):0){j=(Pc(0,k,i)|0)!=0&1;m=j;n=c[f>>2]|0}else{m=0;n=l}c[n>>2]=m;c[n+4>>2]=1;c[f>>2]=(c[f>>2]|0)+8;return 1}function Mf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;g=c[f>>2]|0;if(!(e>>>0>=g>>>0|(e|0)==2336224)?(c[d+12>>2]&14|1|0)==5:0){h=e;i=g}else{uf(a,1,50224)|0;h=(c[c[b>>2]>>2]|0)+8|0;i=c[f>>2]|0}b=h>>>0>>0?h:2336224;switch(c[b+4>>2]&15){case 4:{j=c[(c[b>>2]|0)+12>>2]|0;break}case 7:{j=c[(c[b>>2]|0)+16>>2]|0;break}case 5:{j=nd(c[b>>2]|0)|0;break}default:j=0}c[i>>2]=j<<16;c[i+4>>2]=3;c[f>>2]=(c[f>>2]|0)+8;return 1}function Nf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=Ia;Ia=Ia+16|0;d=b;e=a+16|0;f=c[c[e>>2]>>2]|0;g=f+8|0;h=a+8|0;i=c[h>>2]|0;if(!(g>>>0>=i>>>0|(g|0)==2336224)){g=c[f+12>>2]&15;if((g|0)==5){j=f;k=i}else{l=g+1|0;m=4}}else{l=0;m=4}if((m|0)==4){m=c[16+(l<<2)>>2]|0;c[d>>2]=47645;c[d+4>>2]=m;uf(a,1,Od(a,49875,d)|0)|0;j=c[c[e>>2]>>2]|0;k=c[h>>2]|0}d=j+16|0;if(d>>>0>=k>>>0|(d|0)==2336224){uf(a,2,49895)|0;n=c[c[e>>2]>>2]|0;o=c[h>>2]|0}else{n=j;o=k}k=n+8|0;j=n+24|0;if(o>>>0>=j>>>0){c[h>>2]=j;p=c[k>>2]|0;q=n+16|0;r=Ic(p,q)|0;s=c[h>>2]|0;t=s+-8|0;u=c[r>>2]|0;c[t>>2]=u;v=r+4|0;w=c[v>>2]|0;x=s+-4|0;c[x>>2]=w;Ia=b;return 1}e=(n+20+(3-o)|0)>>>3;a=o;do{c[a+4>>2]=0;a=a+8|0}while(a>>>0>>0);c[h>>2]=o+(e+1<<3);c[h>>2]=j;p=c[k>>2]|0;q=n+16|0;r=Ic(p,q)|0;s=c[h>>2]|0;t=s+-8|0;u=c[r>>2]|0;c[t>>2]=u;v=r+4|0;w=c[v>>2]|0;x=s+-4|0;c[x>>2]=w;Ia=b;return 1}function Of(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=Ia;Ia=Ia+16|0;e=d;f=b+16|0;g=c[c[f>>2]>>2]|0;h=g+8|0;i=b+8|0;j=c[i>>2]|0;if(!(h>>>0>=j>>>0|(h|0)==2336224)){h=c[g+12>>2]&15;if((h|0)==5){k=g;l=j}else{m=h+1|0;n=4}}else{m=0;n=4}if((n|0)==4){n=c[16+(m<<2)>>2]|0;c[e>>2]=47645;c[e+4>>2]=n;uf(b,1,Od(b,49875,e)|0)|0;k=c[c[f>>2]>>2]|0;l=c[i>>2]|0}e=k+16|0;if(e>>>0>=l>>>0|(e|0)==2336224){uf(b,2,49895)|0;o=c[c[f>>2]>>2]|0;p=c[i>>2]|0}else{o=k;p=l}l=o+24|0;if(l>>>0>=p>>>0|(l|0)==2336224){uf(b,3,49895)|0;q=c[c[f>>2]>>2]|0;r=c[i>>2]|0}else{q=o;r=p}p=q+8|0;o=q+32|0;if(r>>>0>>0){f=(q+28+(3-r)|0)>>>3;l=r;do{c[l+4>>2]=0;l=l+8|0}while(l>>>0>>0);c[i>>2]=r+(f+1<<3)}c[i>>2]=o;o=c[p>>2]|0;f=q+16|0;r=Ic(o,f)|0;if((r|0)==2336224)s=Jc(b,o,f)|0;else s=r;c[s>>2]=c[q+24>>2];c[s+4>>2]=c[q+28>>2];a[(c[p>>2]|0)+6>>0]=0;q=c[i>>2]|0;if(!(c[q+-4>>2]&64)){t=q;u=t+-16|0;c[i>>2]=u;Ia=d;return 1}if(!(a[(c[q+-8>>2]|0)+5>>0]&3)){t=q;u=t+-16|0;c[i>>2]=u;Ia=d;return 1}s=c[p>>2]|0;p=s+5|0;r=a[p>>0]|0;if(!(r&4)){t=q;u=t+-16|0;c[i>>2]=u;Ia=d;return 1}q=c[b+12>>2]|0;a[p>>0]=r&-5;r=q+76|0;c[s+24>>2]=c[r>>2];c[r>>2]=s;t=c[i>>2]|0;u=t+-16|0;c[i>>2]=u;Ia=d;return 1}function Pf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>=g>>>0|(e|0)==2336224){uf(a,1,49895)|0;h=c[c[b>>2]>>2]|0;i=h+8|0;j=c[f>>2]|0;k=h}else{i=e;j=g;k=d}if(i>>>0>=j>>>0|(i|0)==2336224){l=0;m=16+(l<<2)|0;n=c[m>>2]|0;Ld(a,n)|0;return 1}l=(c[k+12>>2]&15)+1|0;m=16+(l<<2)|0;n=c[m>>2]|0;Ld(a,n)|0;return 1}function Qf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=Ia;Ia=Ia+16|0;d=b;e=a+16|0;f=c[c[e>>2]>>2]|0;g=f+8|0;h=a+8|0;i=c[h>>2]|0;if(!(g>>>0>=i>>>0|(g|0)==2336224)){g=c[f+12>>2]&15;if((g|0)==5){j=f;k=i}else{l=g+1|0;m=4}}else{l=0;m=4}if((m|0)==4){m=c[16+(l<<2)>>2]|0;c[d>>2]=47645;c[d+4>>2]=m;uf(a,1,Od(a,49875,d)|0)|0;j=c[c[e>>2]>>2]|0;k=c[h>>2]|0}e=j+24|0;if(k>>>0>>0){d=(j+20+(3-k)|0)>>>3;j=k;do{c[j+4>>2]=0;j=j+8|0}while(j>>>0>>0);c[h>>2]=k+(d+1<<3)}c[h>>2]=e;if(nf(a,1)|0){n=2;Ia=b;return n|0}a=c[h>>2]|0;c[a+4>>2]=0;c[h>>2]=a+8;n=1;Ia=b;return n|0}function Rf(a){a=a|0;Sf(a,50249,0,4);return 3}function Sf(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=Ia;Ia=Ia+16|0;h=g+8|0;i=g;j=(Cf(a,1,d)|0)==0;d=a+16|0;k=c[c[d>>2]>>2]|0;l=k+8|0;m=a+8|0;n=c[m>>2]|0;o=l>>>0>>0;if(j){if(!((l|0)==2336224|o^1)){j=c[k+12>>2]&15;if((j|0)==5)p=n;else{q=j+1|0;r=5}}else{q=0;r=5}if((r|0)==5){r=c[16+(q<<2)>>2]|0;c[i>>2]=47645;c[i+4>>2]=r;uf(a,1,Od(a,49875,i)|0)|0;p=c[m>>2]|0}c[p>>2]=f;c[p+4>>2]=22;p=c[m>>2]|0;f=p+8|0;c[m>>2]=f;i=c[c[d>>2]>>2]|0;d=i>>>0

>>0?i+8|0:2336224;c[f>>2]=c[d>>2];c[p+12>>2]=c[d+4>>2];d=c[m>>2]|0;p=d+8|0;c[m>>2]=p;if(!e){c[d+12>>2]=0;c[m>>2]=d+16;Ia=g;return}else{c[p>>2]=0;c[d+12>>2]=3;c[m>>2]=(c[m>>2]|0)+8;Ia=g;return}}else{d=o?l:2336224;c[n>>2]=c[d>>2];c[n+4>>2]=c[d+4>>2];d=c[m>>2]|0;c[m>>2]=d+8;m=d+-8|0;d=a+38|0;n=(b[d>>1]|0)+1<<16>>16;b[d>>1]=n;if((n&65535)>199){if(n<<16>>16==200)wc(a,47685,h);if((n&65535)>224)uc(a,6)}n=a+36|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16;if(!(Ac(a,m,3)|0))Bc(a);b[n>>1]=(b[n>>1]|0)+-1<<16>>16;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;Ia=g;return}}function Tf(a){a=a|0;Sf(a,50257,1,5);return 3}function Uf(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=Ia;Ia=Ia+16|0;e=b;f=zf(a,2)|0;g=a+16|0;h=c[c[g>>2]>>2]|0;i=h+8|0;j=a+8|0;k=c[j>>2]|0;if(!(i>>>0>=k>>>0|(i|0)==2336224)){i=c[h+12>>2]&15;if((i|0)==5)l=k;else{m=i+1|0;n=4}}else{m=0;n=4}if((n|0)==4){n=c[16+(m<<2)>>2]|0;c[e>>2]=47645;c[e+4>>2]=n;uf(a,1,Od(a,49875,e)|0)|0;l=c[j>>2]|0}e=f<<16;a=e+65536|0;c[l>>2]=a;c[l+4>>2]=3;l=c[j>>2]|0;n=l+8|0;c[j>>2]=n;m=c[c[g>>2]>>2]|0;g=c[(m>>>0>>0?m+8|0:2336224)>>2]|0;a:do if(f>>>0<(c[g+28>>2]|0)>>>0)o=(c[g+12>>2]|0)+(f<<3)|0;else{m=-65536-e|0;i=(c[g+16>>2]|0)+(((((a|0)<0?((a|0)==(m|0)?0:m):a)|0)%((1<<(d[g+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[i+12>>2]|0)==3?(c[i+8>>2]|0)==(a|0):0)break;m=c[i+16>>2]|0;if(!m){o=2336224;break a}else i=m}o=i}while(0);c[n>>2]=c[o>>2];c[l+12>>2]=c[o+4>>2];o=c[j>>2]|0;c[j>>2]=o+8;if((o|0)==2336224){Ia=b;return 2}else{Ia=b;return ((c[o+4>>2]&15|0)==0?1:2)|0}return 0}function Vf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=Ia;Ia=Ia+16|0;e=d;f=b+16|0;g=c[c[f>>2]>>2]|0;h=g+8|0;i=b+8|0;j=c[i>>2]|0;k=h>>>0>>0?h:2336224;l=j;switch(c[k+4>>2]|0){case 0:{m=l-h>>3;break}case 1:{n=l-h>>3;if(!(c[k>>2]|0))m=n;else{o=n;Ia=d;return o|0}break}default:{o=l-h>>3;Ia=d;return o|0}}if((m|0)<=1){eh(3300628);p=yf(b,2,50266,0)|0;c[e>>2]=p;vf(b,48292,e)|0}m=g+16|0;g=m>>>0>>0?m:2336224;if((c[g+4>>2]&15|0)!=4)if(!(Fd(b,g)|0))q=0;else{m=c[b+12>>2]|0;j=m+12|0;o=c[j>>2]|0;do if((o|0)>0)if(!(a[m+51>>0]|0)){d=m+8|0;c[d>>2]=o+1600+(c[d>>2]|0);c[j>>2]=-1600;break}else{Kc(b);break}while(0);j=(c[c[f>>2]>>2]|0)+16|0;r=j>>>0<(c[i>>2]|0)>>>0?j:2336224;s=13}else{r=g;s=13}if((s|0)==13)q=(c[r>>2]|0)+16|0;eh(q);p=yf(b,2,50266,0)|0;c[e>>2]=p;vf(b,48292,e)|0;return 0}function Wf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=b+8|0;e=c[d>>2]|0;f=c[c[b+16>>2]>>2]|0;g=f+8|0;h=e-g|0;i=h>>3;j=e;if((!(g>>>0>=j>>>0|(g|0)==2336224)?(c[f+12>>2]&15|0)==4:0)?(a[(c[g>>2]|0)+16>>0]|0)==35:0){c[e>>2]=(h<<13)+-65536;c[j+4>>2]=3;c[d>>2]=(c[d>>2]|0)+8;k=1;return k|0}d=zf(b,1)|0;j=(d|0)<0?d+i|0:(d|0)>(i|0)?i:d;if((j|0)<=0)uf(b,1,50284)|0;k=i-j|0;return k|0}function Xf(a){a=a|0;var b=0;b=(c[c[a+16>>2]>>2]|0)+8|0;if(!((b|0)==2336224?1:b>>>0>=(c[a+8>>2]|0)>>>0)){Ef(a,1,0)|0;return 1}uf(a,1,49895)|0;Ef(a,1,0)|0;return 1}function Yf(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;b=a+16|0;e=(c[c[b>>2]>>2]|0)+8|0;f=a+8|0;g=c[f>>2]|0;h=e>>>0>>0?e:2336224;if((c[h+4>>2]|0)==72?(i=c[h>>2]|0,(i|0)!=0):0){j=e;k=g;l=i}else{uf(a,1,50303)|0;j=(c[c[b>>2]>>2]|0)+8|0;k=c[f>>2]|0;l=0}i=Zf(a,l,(k-j>>3)+-1|0)|0;j=c[f>>2]|0;if((i|0)<0){c[j>>2]=0;c[j+4>>2]=1;k=c[f>>2]|0;l=k+8|0;c[f>>2]=l;g=l;do{l=g;g=g+-8|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[l+-4>>2]}while(l>>>0>k>>>0);g=c[f>>2]|0;c[k+-8>>2]=c[g>>2];m=2;n=g;o=k+-4|0;p=n+4|0;q=c[p>>2]|0;c[o>>2]=q;return m|0}c[j>>2]=1;c[j+4>>2]=1;j=(c[f>>2]|0)+8|0;c[f>>2]=j;k=i+1|0;g=c[b>>2]|0;do if((i|0)>1000998){if((i|0)==1000999){r=(c[a+12>>2]|0)+36|0;break}b=c[g>>2]|0;if((c[b+4>>2]|32|0)==54)r=2336224;else{l=c[b>>2]|0;r=(i+-1000999|0)>(d[l+6>>0]|0|0)?2336224:l+16+(i+-1001e3<<3)|0}}else r=j+(~i<<3)|0;while(0);if(j>>>0>r>>>0){i=j;do{g=i;i=i+-8|0;c[g>>2]=c[i>>2];c[g+4>>2]=c[g+-4>>2]}while(i>>>0>r>>>0);s=c[f>>2]|0}else s=j;c[r>>2]=c[s>>2];m=k;n=s;o=r+4|0;p=n+4|0;q=c[p>>2]|0;c[o>>2]=q;return m|0}function Zf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;f=Ia;Ia=Ia+16|0;g=f;c[g>>2]=e;h=d+16|0;i=c[h>>2]|0;j=d+8|0;k=c[j>>2]|0;do if(((c[d+24>>2]|0)-k>>3|0)>(e|0)){l=k;m=e;n=k}else{if(((k-(c[d+28>>2]|0)>>3)+5|0)<=(1e6-e|0)?(tc(d,2,g)|0)==0:0){o=c[j>>2]|0;l=o;m=c[g>>2]|0;n=o;break}o=c[b+12>>2]|0;p=o+12|0;q=c[p>>2]|0;do if((q|0)>0)if(!(a[o+51>>0]|0)){r=o+8|0;c[r>>2]=q+1600+(c[r>>2]|0);c[p>>2]=-1600;break}else{Kc(b);break}while(0);p=Zc(b,50322,37)|0;q=b+8|0;o=c[q>>2]|0;c[o>>2]=p;c[o+4>>2]=(a[p+4>>0]|64)&255;c[q>>2]=(c[q>>2]|0)+8;s=-1;Ia=f;return s|0}while(0);k=i+4|0;i=l+(m<<3)|0;if((c[k>>2]|0)>>>0>>0)c[k>>2]=i;if((a[d+6>>0]|0)==0?(n|0)==((c[c[h>>2]>>2]|0)+8|0):0){n=c[b+12>>2]|0;i=n+12|0;k=c[i>>2]|0;do if((k|0)>0)if(!(a[n+51>>0]|0)){m=n+8|0;c[m>>2]=k+1600+(c[m>>2]|0);c[i>>2]=-1600;break}else{Kc(b);break}while(0);i=Zc(b,50360,37)|0;k=b+8|0;n=c[k>>2]|0;c[n>>2]=i;c[n+4>>2]=(a[i+4>>0]|64)&255;c[k>>2]=(c[k>>2]|0)+8;s=-1;Ia=f;return s|0}k=(b|0)==(d|0);if((!k?(i=b+8|0,n=c[i>>2]|0,m=0-e|0,l=n+(m<<3)|0,c[i>>2]=l,(e|0)>0):0)?(q=c[j>>2]|0,c[j>>2]=q+8,c[q>>2]=c[l>>2],c[q+4>>2]=c[n+(m<<3)+4>>2],(e|0)!=1):0){m=1;do{n=c[i>>2]|0;q=c[j>>2]|0;c[j>>2]=q+8;c[q>>2]=c[n+(m<<3)>>2];c[q+4>>2]=c[n+(m<<3)+4>>2];m=m+1|0}while((m|0)!=(e|0))}if((_f(d,b,e)|0)>>>0>=2){if(k){s=-1;Ia=f;return s|0}e=c[j>>2]|0;d=e+-8|0;c[j>>2]=d;m=b+8|0;i=c[m>>2]|0;c[m>>2]=i+8;c[i>>2]=c[d>>2];c[i+4>>2]=c[e+-4>>2];s=-1;Ia=f;return s|0}e=(c[j>>2]|0)-((c[c[h>>2]>>2]|0)+8)|0;i=e>>3;d=i+1|0;c[g>>2]=d;m=c[b+16>>2]|0;n=b+8|0;q=c[n>>2]|0;do if(((c[b+24>>2]|0)-q>>3|0)>(d|0)){t=q;u=d}else{if(((q-(c[b+28>>2]|0)>>3)+5|0)<=(999999-i|0)?(tc(b,2,g)|0)==0:0){t=c[n>>2]|0;u=c[g>>2]|0;break}l=~i;if((e|0)<0){p=c[c[h>>2]>>2]|0;o=c[j>>2]|0;r=p+8+(l<<3)|0;if(o>>>0>>0){v=(p+(l<<3)+4+(3-o)|0)>>>3;l=o;do{c[l+4>>2]=0;l=l+8|0}while(l>>>0>>0);c[j>>2]=o+(v+1<<3);w=r}else w=r}else w=(c[j>>2]|0)+(0-i<<3)|0;c[j>>2]=w;l=c[b+12>>2]|0;p=l+12|0;x=c[p>>2]|0;do if((x|0)>0)if(!(a[l+51>>0]|0)){y=l+8|0;c[y>>2]=x+1600+(c[y>>2]|0);c[p>>2]=-1600;break}else{Kc(b);break}while(0);p=Zc(b,50398,35)|0;x=c[n>>2]|0;c[x>>2]=p;c[x+4>>2]=(a[p+4>>0]|64)&255;c[n>>2]=(c[n>>2]|0)+8;s=-1;Ia=f;return s|0}while(0);b=m+4|0;m=t+(u<<3)|0;if((c[b>>2]|0)>>>0>>0)c[b>>2]=m;if(k){s=i;Ia=f;return s|0}k=c[j>>2]|0;m=0-i|0;b=k+(m<<3)|0;c[j>>2]=b;if((e|0)<=0){s=i;Ia=f;return s|0}u=c[n>>2]|0;c[n>>2]=u+8;c[u>>2]=c[b>>2];c[u+4>>2]=c[k+(m<<3)+4>>2];if((e|0)==8){s=1;Ia=f;return s|0}e=1;do{m=c[j>>2]|0;k=c[n>>2]|0;c[n>>2]=k+8;c[k>>2]=c[m+(e<<3)>>2];c[k+4>>2]=c[m+(e<<3)+4>>2];e=e+1|0}while((e|0)!=(i|0));s=i;Ia=f;return s|0}function _f(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;h=d+36|0;i=b[h>>1]|0;if(!f)j=1;else j=(e[f+38>>1]|0)+1&65535;f=d+38|0;b[f>>1]=j;b[h>>1]=0;j=d+8|0;k=tc(d,6,(c[j>>2]|0)+(0-g<<3)|0)|0;if((k|0)==-1){l=2;b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}if(k>>>0<=1){l=k;b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}g=d+16|0;o=d+28|0;p=d+41|0;q=d+12|0;r=d+68|0;s=d+32|0;t=k;a:while(1){k=c[g>>2]|0;if(!k)break;u=k;while(1){if(a[u+18>>0]&16)break;k=c[u+8>>2]|0;if(!k)break a;else u=k}k=u+18|0;v=(c[o>>2]|0)+(c[u+20>>2]|0)|0;Oc(d,v);switch(t|0){case 4:{w=c[(c[q>>2]|0)+152>>2]|0;c[v>>2]=w;x=(a[w+4>>0]|64)&255;break}case 6:{w=Zc(d,48345,23)|0;c[v>>2]=w;x=(a[w+4>>0]|64)&255;break}default:{w=c[j>>2]|0;c[v>>2]=c[w+-8>>2];x=c[w+-4>>2]|0}}c[v+4>>2]=x;w=v+8|0;c[j>>2]=w;c[g>>2]=u;a[p>>0]=a[u+36>>0]|0;b[h>>1]=0;v=u;y=w;do{w=c[v+4>>2]|0;y=y>>>0>>0?w:y;v=c[v+8>>2]|0}while((v|0)!=0);v=y-(c[o>>2]|0)|0;w=v>>3;z=w+11+((w+1|0)/8|0)|0;w=(z|0)<1e6?z:1e6;if((v|0)<=7999992?(w|0)<(c[s>>2]|0):0)vc(d,w);c[r>>2]=c[u+32>>2];a[k>>0]=a[k>>0]|32;a[u+37>>0]=t;w=tc(d,7,0)|0;if(w>>>0>1)t=w;else{l=w;A=25;break}}if((A|0)==25){b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}a[d+6>>0]=t;A=c[j>>2]|0;switch(t|0){case 4:{r=c[(c[q>>2]|0)+152>>2]|0;c[A>>2]=r;B=(a[r+4>>0]|64)&255;break}case 6:{r=Zc(d,48345,23)|0;c[A>>2]=r;B=(a[r+4>>0]|64)&255;break}default:{c[A>>2]=c[A+-8>>2];B=c[A+-4>>2]|0}}c[A+4>>2]=B;B=A+8|0;c[j>>2]=B;c[(c[g>>2]|0)+4>>2]=B;l=t;b[h>>1]=i;m=b[f>>1]|0;n=m+-1<<16>>16;b[f>>1]=n;return l|0}function $f(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=d+16|0;h=c[g>>2]|0;if((e[d+38>>1]|0)>199)cg(d,47685,f);i=d+6|0;switch(a[i>>0]|0){case 0:{if((h|0)!=(d+72|0))cg(d,50434,f);if(Ac(d,f+-8|0,-1)|0)return;Bc(d);return}case 1:{a[i>>0]=0;c[h>>2]=(c[d+28>>2]|0)+(c[h+20>>2]|0);i=h+18|0;j=a[i>>0]|0;if(!(j&1)){k=c[h+28>>2]|0;if(!k){l=f;m=d+8|0;n=h}else{a[h+37>>0]=1;a[i>>0]=j|8;j=Ma[k&255](d)|0;k=d+8|0;l=(c[k>>2]|0)+(0-j<<3)|0;m=k;n=c[g>>2]|0}k=c[n>>2]|0;j=b[n+16>>1]|0;c[g>>2]=c[n+8>>2];a:do if(j<<16>>16){n=k;g=j<<16>>16;i=l;while(1){if(i>>>0>=(c[m>>2]|0)>>>0)break;h=n+8|0;c[n>>2]=c[i>>2];c[n+4>>2]=c[i+4>>2];o=g+-1|0;if(!o){p=h;break a}else{n=h;g=o;i=i+8|0}}if((g|0)>0){i=g;o=n;while(1){h=o+8|0;c[o+4>>2]=0;if((i|0)>1){i=i+-1|0;o=h}else{p=h;break}}}else p=n}else p=k;while(0);c[m>>2]=p}else Bc(d);ag(d,0);return}default:cg(d,50472,f)}}function ag(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=d+16|0;f=c[e>>2]|0;g=d+72|0;if((f|0)==(g|0))return;h=d+68|0;i=d+8|0;j=f;do{f=j+18|0;k=a[f>>0]|0;if(!(k&1)){l=k&255;if(!(l&16))m=k;else{k=l&239;a[f>>0]=k;c[h>>2]=c[j+32>>2];m=k}if((b[j+16>>1]|0)==-1?(k=j+4|0,l=c[i>>2]|0,(c[k>>2]|0)>>>0>>0):0)c[k>>2]=l;if(!(m&32))a[j+37>>0]=1;a[f>>0]=m&-57|8;f=Ma[c[j+28>>2]&255](d)|0;l=c[i>>2]|0;k=c[e>>2]|0;n=c[k>>2]|0;o=b[k+16>>1]|0;c[e>>2]=c[k+8>>2];a:do if(o<<16>>16){k=o<<16>>16;p=0-f|0;if((p|0)<0){q=n;r=k;s=l+(p<<3)|0;while(1){p=q+8|0;c[q>>2]=c[s>>2];c[q+4>>2]=c[s+4>>2];t=r+-1|0;if(!t){u=p;break a}s=s+8|0;if(s>>>0>=(c[i>>2]|0)>>>0){v=p;w=t;break}else{q=p;r=t}}}else{v=n;w=k}if((w|0)>0){r=w;q=v;while(1){s=q+8|0;c[q+4>>2]=0;if((r|0)>1){r=r+-1|0;q=s}else{u=s;break}}}else u=v}else u=n;while(0);c[i>>2]=u}else{bg(d);Bc(d)}j=c[e>>2]|0}while((j|0)!=(g|0));return}function bg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=c[a+16>>2]|0;e=b+24|0;f=c[e>>2]|0;g=b+28|0;h=c[(c[g>>2]|0)+-4>>2]|0;i=h&63;switch(h&63){case 12:case 7:case 6:case 31:case 30:case 29:case 28:case 27:case 24:case 23:case 22:case 21:case 20:case 19:case 34:case 32:case 18:case 17:case 16:case 15:case 14:case 13:{j=a+8|0;k=c[j>>2]|0;l=k+-8|0;c[j>>2]=l;j=h>>>6&255;c[f+(j<<3)>>2]=c[l>>2];c[f+(j<<3)+4>>2]=c[k+-4>>2];return}case 37:case 38:case 39:{k=a+8|0;j=c[k>>2]|0;switch(c[j+-4>>2]|0){case 0:{m=1;break}case 1:{m=(c[j+-8>>2]|0)==0;break}default:m=0}l=(m^1)&1;c[k>>2]=j+-8;if((i|0)==39){i=h>>>23;j=f+(i<<3)|0;k=c[f+(i<<3)+4>>2]|0;switch(k&15){case 5:{n=(c[j>>2]|0)+8|0;break}case 7:{n=(c[j>>2]|0)+8|0;break}default:n=(c[a+12>>2]|0)+276+((k&15)<<2)|0}k=c[n>>2]|0;a:do if(!k)o=2336224;else{n=c[(c[a+12>>2]|0)+264>>2]|0;j=(c[k+16>>2]|0)+(((1<<(d[k+7>>0]|0))+-1&c[n+8>>2])*20|0)|0;while(1){if((c[j+12>>2]|0)==68?(c[j+8>>2]|0)==(n|0):0)break;i=c[j+16>>2]|0;if(!i){o=2336224;break a}else j=i}o=j}while(0);p=(c[o+4>>2]|0)==0?m&1:l}else p=l;if((p|0)==(h>>>6&255|0))return;c[g>>2]=(c[g>>2]|0)+4;return}case 35:{g=a+8|0;p=c[g>>2]|0;l=p+-16|0;m=l-(f+(h>>>23<<3))|0;c[p+-24>>2]=c[p+-8>>2];c[p+-20>>2]=c[p+-4>>2];if((m|0)>8){c[g>>2]=l;Nc(a,m>>>3)}m=c[g>>2]|0;l=c[e>>2]|0;e=h>>>6&255;c[l+(e<<3)>>2]=c[m+-8>>2];c[l+(e<<3)+4>>2]=c[m+-4>>2];c[g>>2]=c[b+4>>2];return}case 47:{c[a+8>>2]=c[b+4>>2];return}case 42:{if(!(h&8372224))return;c[a+8>>2]=c[b+4>>2];return}default:return}}function cg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=b+8|0;c[f>>2]=e;g=Md(b,d)|0;c[e>>2]=g;c[e+4>>2]=(a[g+4>>0]|64)&255;c[f>>2]=(c[f>>2]|0)+8;uc(b,-1)}function dg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=Ia;Ia=Ia+16|0;d=b;e=a+16|0;f=c[c[e>>2]>>2]|0;g=f+8|0;h=a+8|0;if(!((g|0)==2336224?1:g>>>0>=(c[h>>2]|0)>>>0)){g=c[f+12>>2]&15;if((g|0)!=6){i=g+1|0;j=4}}else{i=0;j=4}if((j|0)==4){j=c[16+(i<<2)>>2]|0;c[d>>2]=58930;c[d+4>>2]=j;uf(a,1,Od(a,49875,d)|0)|0}d=eg(a)|0;j=(c[c[e>>2]>>2]|0)+8|0;e=c[h>>2]|0;i=j>>>0>>0?j:2336224;c[e>>2]=c[i>>2];c[e+4>>2]=c[i+4>>2];i=c[h>>2]|0;c[h>>2]=i+8;if((d|0)==(a|0)){Ia=b;return 1}c[h>>2]=i;h=d+8|0;d=c[h>>2]|0;c[h>>2]=d+8;c[d>>2]=c[i>>2];c[d+4>>2]=c[i+4>>2];Ia=b;return 1}function eg(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=d+12|0;f=c[e>>2]|0;g=f+12|0;h=c[g>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[g>>2]=-1600;j=f;break}else{Kc(d);j=c[e>>2]|0;break}else j=f;while(0);f=j+4|0;g=Pa[c[j>>2]&1](c[f>>2]|0,0,8,116)|0;if(!g){if(!(a[j+51>>0]|0))uc(d,4);Gc(d,1);h=Pa[c[j>>2]&1](c[f>>2]|0,0,8,116)|0;if(!h)uc(d,4);else k=h}else k=g;g=j+12|0;c[g>>2]=(c[g>>2]|0)+116;g=j+56|0;a[k+5>>0]=a[j+48>>0]&3;a[k+4>>0]=8;c[k>>2]=c[g>>2];c[g>>2]=k;g=d+8|0;j=c[g>>2]|0;c[j>>2]=k;c[j+4>>2]=72;c[g>>2]=(c[g>>2]|0)+8;c[k+12>>2]=c[e>>2];g=k+28|0;c[g>>2]=0;j=k+16|0;c[j>>2]=0;h=k+32|0;c[h>>2]=0;c[k+64>>2]=0;b[k+38>>1]=0;f=k+52|0;c[f>>2]=0;i=k+40|0;a[i>>0]=0;l=k+44|0;c[l>>2]=0;a[k+41>>0]=1;c[k+56>>2]=0;b[k+36>>1]=1;a[k+6>>0]=0;c[k+68>>2]=0;a[i>>0]=a[d+40>>0]|0;i=c[d+44>>2]|0;c[l>>2]=i;c[f>>2]=c[d+52>>2];c[k+48>>2]=i;i=c[e>>2]|0;e=i+4|0;f=Pa[c[i>>2]&1](c[e>>2]|0,0,0,320)|0;if(!f){if(!(a[i+51>>0]|0))uc(d,4);Gc(d,1);l=Pa[c[i>>2]&1](c[e>>2]|0,0,0,320)|0;if(!l)uc(d,4);else m=l}else m=f;f=i+12|0;c[f>>2]=(c[f>>2]|0)+320;c[g>>2]=m;c[h>>2]=40;h=m+4|0;c[h>>2]=0;c[m+12>>2]=0;c[m+20>>2]=0;c[m+28>>2]=0;c[m+36>>2]=0;c[m+44>>2]=0;c[m+52>>2]=0;c[m+60>>2]=0;c[m+68>>2]=0;c[m+76>>2]=0;c[m+84>>2]=0;c[m+92>>2]=0;c[m+100>>2]=0;c[m+108>>2]=0;c[m+116>>2]=0;c[m+124>>2]=0;c[m+132>>2]=0;c[m+140>>2]=0;c[m+148>>2]=0;c[m+156>>2]=0;c[m+164>>2]=0;c[m+172>>2]=0;c[m+180>>2]=0;c[m+188>>2]=0;c[m+196>>2]=0;c[m+204>>2]=0;c[m+212>>2]=0;c[m+220>>2]=0;c[m+228>>2]=0;c[m+236>>2]=0;c[m+244>>2]=0;c[m+252>>2]=0;c[m+260>>2]=0;c[m+268>>2]=0;c[m+276>>2]=0;c[m+284>>2]=0;c[m+292>>2]=0;c[m+300>>2]=0;c[m+308>>2]=0;c[m+316>>2]=0;c[k+24>>2]=m+280;g=k+72|0;c[k+80>>2]=0;c[k+84>>2]=0;a[k+90>>0]=0;c[g>>2]=m;c[k+8>>2]=m+8;c[h>>2]=0;c[k+76>>2]=m+168;c[j>>2]=g;return k|0}function fg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=(c[c[b+16>>2]>>2]|0)+8|0;e=b+8|0;f=d>>>0<(c[e>>2]|0)>>>0?d:2336224;if((c[f+4>>2]|0)==72?(d=c[f>>2]|0,(d|0)!=0):0)g=d;else{uf(b,1,50303)|0;g=0}a:do if((g|0)==(b|0)){d=c[b+12>>2]|0;f=d+12|0;h=c[f>>2]|0;do if((h|0)>0)if(!(a[d+51>>0]|0)){i=d+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[f>>2]=-1600;break}else{Kc(b);break}while(0);j=Zc(b,50501,7)|0}else switch(a[g+6>>0]|0){case 1:{f=c[b+12>>2]|0;h=f+12|0;d=c[h>>2]|0;do if((d|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=d+1600+(c[i>>2]|0);c[h>>2]=-1600;break}else{Kc(b);break}while(0);j=Zc(b,50509,9)|0;break a;break}case 0:{h=c[g+16>>2]|0;if((h|0)!=(g+72|0)){d=c[b+12>>2]|0;f=d+12|0;i=c[f>>2]|0;do if((i|0)>0)if(!(a[d+51>>0]|0)){k=d+8|0;c[k>>2]=i+1600+(c[k>>2]|0);c[f>>2]=-1600;break}else{Kc(b);break}while(0);j=Zc(b,50519,6)|0;break a}f=c[b+12>>2]|0;i=f+12|0;d=c[i>>2]|0;k=(d|0)>0;if((c[g+8>>2]|0)==((c[h>>2]|0)+8|0)){do if(k)if(!(a[f+51>>0]|0)){l=f+8|0;c[l>>2]=d+1600+(c[l>>2]|0);c[i>>2]=-1600;break}else{Kc(b);break}while(0);j=Zc(b,50526,4)|0;break a}else{do if(k)if(!(a[f+51>>0]|0)){h=f+8|0;c[h>>2]=d+1600+(c[h>>2]|0);c[i>>2]=-1600;break}else{Kc(b);break}while(0);j=Zc(b,50509,9)|0;break a}break}default:{i=c[b+12>>2]|0;d=i+12|0;f=c[d>>2]|0;do if((f|0)>0)if(!(a[i+51>>0]|0)){k=i+8|0;c[k>>2]=f+1600+(c[k>>2]|0);c[d>>2]=-1600;break}else{Kc(b);break}while(0);j=Zc(b,50526,4)|0;break a}}while(0);b=c[e>>2]|0;c[b>>2]=j;c[b+4>>2]=(a[j+4>>0]|64)&255;c[e>>2]=(c[e>>2]|0)+8;return 1}function gg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+16|0;d=c[c[b>>2]>>2]|0;e=d+8|0;f=a+8|0;if(!((e|0)==2336224?1:e>>>0>=(c[f>>2]|0)>>>0)?(g=c[d+12>>2]|0,(g&15|0)==8):0)if((g|0)==72){h=1;i=c[e>>2]|0}else{h=1;i=0}else{h=0;i=a}e=h+1|0;g=Ed(a,e,0)|0;d=c[c[b>>2]>>2]|0;if(!g){b=d+(e<<3)|0;j=c[f>>2]|0;if(!(b>>>0>=j>>>0|(b|0)==2336224)?(c[d+(e<<3)+4>>2]&15|0)!=0:0){c[j>>2]=c[b>>2];c[j+4>>2]=c[d+(e<<3)+4>>2];c[f>>2]=(c[f>>2]|0)+8;return 1}else k=j}else k=c[f>>2]|0;f=h|2;h=(i|0)==(a|0)&1;j=d+(f<<3)|0;if(!(j>>>0>=k>>>0|(j|0)==2336224)?(c[d+(f<<3)+4>>2]&15|0)!=0:0)l=zf(a,f)|0;else l=h;qf(a,i,g,l);return 1}function hg(a){a=a|0;Hf(c[(c[a+12>>2]|0)+144>>2]|0);return}function ig(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=Ia;Ia=Ia+16|0;e=b;f=b+8|0;g=b+4|0;h=a+16|0;i=c[c[h>>2]>>2]|0;j=i+8|0;k=a+8|0;l=c[k>>2]|0;if(j>>>0>=l>>>0|(j|0)==2336224){m=0;Ia=b;return m|0}if((c[i+12>>2]&15|0)!=5){m=0;Ia=b;return m|0}Mc(a,l,j);j=c[k>>2]|0;l=j+8|0;c[k>>2]=l;i=c[j+4>>2]|0;do if((i|0)!=3){if((i&15|0)!=4)vf(a,49910,e)|0;n=c[j>>2]|0;if(!(Sc(n+16|0,c[n+12>>2]|0,f)|0))vf(a,49910,e)|0;else{o=c[f>>2]|0;p=c[k>>2]|0;break}}else{o=c[j>>2]|0;p=l}while(0);l=o>>16;o=p+-8|0;c[k>>2]=o;p=l+1|0;j=c[c[h>>2]>>2]|0;switch(o-(j+8)>>3|0){case 2:{q=p;r=o;break}case 1:case 0:{m=0;Ia=b;return m|0}default:s=10}if((s|0)==10){e=j+24|0;j=e>>>0>>0?e:2336224;e=c[j+4>>2]|0;do if((e|0)==3){t=j;s=14}else{if((e&15|0)==4?(o=c[j>>2]|0,Sc(o+16|0,c[o+12>>2]|0,f)|0):0){c[g>>2]=c[f>>2];t=g;s=14;break}u=0}while(0);if((s|0)==14)u=c[t>>2]|0;t=u>>16;s=c[k>>2]|0;g=c[c[h>>2]>>2]|0;f=2-(s-(g+8)>>3)|0;j=f+-1|0;e=s;if((f|0)>0){o=g+(f<<3)|0;if(o>>>0>e>>>0){i=(g+(j<<3)+4+(3-s)|0)>>>3;s=e;do{c[s+4>>2]=0;s=s+8|0}while(s>>>0>>0);c[k>>2]=e+(i+1<<3);v=o}else v=o}else v=e+(f<<3)|0;c[k>>2]=v;if((u|0)<65536|(p|0)<(t|0))uf(a,2,50894)|0;if((l|0)>=(t|0)){l=p;do{u=l;l=l+-1|0;v=(c[c[h>>2]>>2]|0)+8|0;f=c[k>>2]|0;e=c[(v>>>0>>0?v:2336224)>>2]|0;v=u+-2|0;a:do if(v>>>0<(c[e+28>>2]|0)>>>0)w=(c[e+12>>2]|0)+(v<<3)|0;else{o=l<<16;i=0-o|0;s=(c[e+16>>2]|0)+(((((o|0)<0?((o|0)==(i|0)?0:i):o)|0)%((1<<(d[e+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[s+12>>2]|0)==3?(c[s+8>>2]|0)==(o|0):0)break;i=c[s+16>>2]|0;if(!i){w=2336224;break a}else s=i}w=s}while(0);c[f>>2]=c[w>>2];c[f+4>>2]=c[w+4>>2];c[k>>2]=(c[k>>2]|0)+8;Vd(a,1,u)}while((l|0)>(t|0))}dh(p-t|0);q=t;r=c[k>>2]|0}c[r>>2]=c[r+-8>>2];c[r+4>>2]=c[r+-4>>2];c[k>>2]=(c[k>>2]|0)+8;Vd(a,1,q);m=1;Ia=b;return m|0}function jg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;b=Ia;Ia=Ia+16|0;e=b;f=b+8|0;g=b+4|0;h=a+16|0;i=c[c[h>>2]>>2]|0;j=i+8|0;k=a+8|0;l=c[k>>2]|0;if(j>>>0>=l>>>0|(j|0)==2336224){m=0;Ia=b;return m|0}if((c[i+12>>2]&15|0)!=5){m=0;Ia=b;return m|0}Mc(a,l,j);j=c[k>>2]|0;l=j+8|0;c[k>>2]=l;i=c[j+4>>2]|0;do if((i|0)!=3){if((i&15|0)!=4)vf(a,49910,e)|0;n=c[j>>2]|0;if(!(Sc(n+16|0,c[n+12>>2]|0,f)|0))vf(a,49910,e)|0;else{o=c[f>>2]|0;p=c[k>>2]|0;break}}else{o=c[j>>2]|0;p=l}while(0);l=o>>16;o=p+-8|0;c[k>>2]=o;p=c[c[h>>2]>>2]|0;j=o-(p+8)|0;if((j|0)==8){e=p+16|0;if(!(e>>>0>=o>>>0|(e|0)==2336224)?(c[p+20>>2]&15|0)!=0:0){e=zf(a,2)|0;i=c[k>>2]|0;n=c[c[h>>2]>>2]|0;q=e;r=i-(n+8)|0;s=n;t=i;u=13}else v=l}else{q=-1;r=j;s=p;t=o;u=13}if((u|0)==13)if((r|0)>8){r=s+16|0;s=r>>>0>>0?r:2336224;r=c[s+4>>2]|0;do if((r|0)==3){w=s;u=18}else{if((r&15|0)==4?(t=c[s>>2]|0,Sc(t+16|0,c[t+12>>2]|0,f)|0):0){c[g>>2]=c[f>>2];w=g;u=18;break}x=0}while(0);if((u|0)==18)x=c[w>>2]>>16;v=x}else v=q;if((v|0)<1|(l|0)<(v|0)){m=0;Ia=b;return m|0}q=(c[c[h>>2]>>2]|0)+8|0;x=c[k>>2]|0;w=c[(q>>>0>>0?q:2336224)>>2]|0;q=v+-1|0;a:do if(q>>>0<(c[w+28>>2]|0)>>>0)y=(c[w+12>>2]|0)+(q<<3)|0;else{u=v<<16;g=0-u|0;f=(c[w+16>>2]|0)+(((((u|0)<0?((u|0)==(g|0)?0:g):u)|0)%((1<<(d[w+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[f+12>>2]|0)==3?(c[f+8>>2]|0)==(u|0):0)break;g=c[f+16>>2]|0;if(!g){y=2336224;break a}else f=g}y=f}while(0);c[x>>2]=c[y>>2];c[x+4>>2]=c[y+4>>2];c[k>>2]=(c[k>>2]|0)+8;dh(l-v|0);if((l|0)>(v|0)){y=v;while(1){x=y;y=y+1|0;w=(c[c[h>>2]>>2]|0)+8|0;q=c[k>>2]|0;u=c[(w>>>0>>0?w:2336224)>>2]|0;b:do if(x>>>0<(c[u+28>>2]|0)>>>0)z=(c[u+12>>2]|0)+(x<<3)|0;else{w=y<<16;g=0-w|0;s=(c[u+16>>2]|0)+(((((w|0)<0?((w|0)==(g|0)?0:g):w)|0)%((1<<(d[u+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[s+12>>2]|0)==3?(c[s+8>>2]|0)==(w|0):0)break;g=c[s+16>>2]|0;if(!g){z=2336224;break b}else s=g}z=s}while(0);c[q>>2]=c[z>>2];c[q+4>>2]=c[z+4>>2];c[k>>2]=(c[k>>2]|0)+8;Vd(a,1,x);if((y|0)==(l|0)){A=l;break}}}else A=v;v=c[k>>2]|0;c[v+4>>2]=0;c[k>>2]=v+8;Vd(a,1,A);m=1;Ia=b;return m|0}function kg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=Ia;Ia=Ia+16|0;e=b;f=b+4|0;g=a+8|0;h=c[g>>2]|0;i=a+16|0;j=c[c[i>>2]>>2]|0;k=j+8|0;l=h;if(h-k>>3>>>0<2){m=0;Ia=b;return m|0}if((k|0)==2336224|k>>>0>=l>>>0){m=0;Ia=b;return m|0}if((c[j+12>>2]&15|0)!=5){m=0;Ia=b;return m|0}Mc(a,l,k);k=c[g>>2]|0;l=k+8|0;c[g>>2]=l;j=c[k+4>>2]|0;do if((j|0)!=3){if((j&15|0)!=4)vf(a,49910,e)|0;h=c[k>>2]|0;if(!(Sc(h+16|0,c[h+12>>2]|0,f)|0))vf(a,49910,e)|0;else{n=c[f>>2]|0;o=c[g>>2]|0;break}}else{n=c[k>>2]|0;o=l}while(0);l=n>>16;k=o+-8|0;c[g>>2]=k;if((n|0)<65536){dh(l);m=0;Ia=b;return m|0}n=1;o=k;while(1){k=(c[c[i>>2]>>2]|0)+8|0;f=c[(k>>>0>>0?k:2336224)>>2]|0;k=n+-1|0;a:do if(k>>>0<(c[f+28>>2]|0)>>>0)p=(c[f+12>>2]|0)+(k<<3)|0;else{e=n<<16;j=(c[f+16>>2]|0)+(((e|0)%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[j+12>>2]|0)==3?(c[j+8>>2]|0)==(e|0):0)break;h=c[j+16>>2]|0;if(!h){p=2336224;break a}else j=h}p=j}while(0);c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];f=c[g>>2]|0;k=f+8|0;c[g>>2]=k;e=(c[c[i>>2]>>2]|0)+16|0;h=e>>>0>>0?e:2336224;if((f|0)!=2336224&(h|0)!=2336224?(c[f+4>>2]|0)==(c[h+4>>2]|0):0){e=(Pc(a,f,h)|0)==0;h=(c[g>>2]|0)+-8|0;c[g>>2]=h;if(e)q=h;else{r=n;break}}else{c[g>>2]=f;q=f}if((n|0)<(l|0)){n=n+1|0;o=q}else{r=0;break}}dh(l);if(!r){m=0;Ia=b;return m|0}q=(c[c[i>>2]>>2]|0)+8|0;o=c[g>>2]|0;n=c[(q>>>0>>0?q:2336224)>>2]|0;q=r+-1|0;b:do if(q>>>0<(c[n+28>>2]|0)>>>0)s=(c[n+12>>2]|0)+(q<<3)|0;else{p=r<<16;f=0-p|0;h=(c[n+16>>2]|0)+(((((p|0)<0?((p|0)==(f|0)?0:f):p)|0)%((1<<(d[n+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==(p|0):0)break;f=c[h+16>>2]|0;if(!f){s=2336224;break b}else h=f}s=h}while(0);c[o>>2]=c[s>>2];c[o+4>>2]=c[s+4>>2];s=(c[g>>2]|0)+8|0;c[g>>2]=s;if((r|0)<(l|0)){o=r;n=s;while(1){q=o;o=o+1|0;p=(c[c[i>>2]>>2]|0)+8|0;f=c[(p>>>0>>0?p:2336224)>>2]|0;c:do if(q>>>0<(c[f+28>>2]|0)>>>0)t=(c[f+12>>2]|0)+(q<<3)|0;else{p=o<<16;e=0-p|0;k=(c[f+16>>2]|0)+(((((p|0)<0?((p|0)==(e|0)?0:e):p)|0)%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[k+12>>2]|0)==3?(c[k+8>>2]|0)==(p|0):0)break;e=c[k+16>>2]|0;if(!e){t=2336224;break c}else k=e}t=k}while(0);c[n>>2]=c[t>>2];c[n+4>>2]=c[t+4>>2];c[g>>2]=(c[g>>2]|0)+8;Vd(a,1,q);f=c[g>>2]|0;if((o|0)==(l|0)){u=l;v=f;break}else n=f}}else{u=r;v=s}c[v+4>>2]=0;c[g>>2]=v+8;Vd(a,1,u);m=1;Ia=b;return m|0}function lg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;b=Ia;Ia=Ia+16|0;e=b;f=b+4|0;g=a+16|0;h=c[c[g>>2]>>2]|0;i=h+8|0;j=a+8|0;k=c[j>>2]|0;if(i>>>0>=k>>>0|(i|0)==2336224){l=0;Ia=b;return l|0}if((c[h+12>>2]&15|0)!=5){l=0;Ia=b;return l|0}Mc(a,k,i);i=c[j>>2]|0;k=i+8|0;c[j>>2]=k;h=c[i+4>>2]|0;do if((h|0)!=3){if((h&15|0)!=4)vf(a,49910,e)|0;m=c[i>>2]|0;if(!(Sc(m+16|0,c[m+12>>2]|0,f)|0))vf(a,49910,e)|0;else{n=c[f>>2]|0;o=c[j>>2]|0;break}}else{n=c[i>>2]|0;o=k}while(0);k=n>>16;i=o+-8|0;c[j>>2]=i;o=c[c[g>>2]>>2]|0;a:do if((i-(o+8)|0)>8)if((n|0)<65536){p=0;q=0}else{f=0;e=1;h=0;m=o;r=i;while(1){s=m+8|0;t=c[(s>>>0>>0?s:2336224)>>2]|0;s=e+-1|0;b:do if(s>>>0<(c[t+28>>2]|0)>>>0)u=(c[t+12>>2]|0)+(s<<3)|0;else{v=e<<16;w=(c[t+16>>2]|0)+(((v|0)%((1<<(d[t+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[w+12>>2]|0)==3?(c[w+8>>2]|0)==(v|0):0)break;x=c[w+16>>2]|0;if(!x){u=2336224;break b}else w=x}u=w}while(0);c[r>>2]=c[u>>2];c[r+4>>2]=c[u+4>>2];t=c[j>>2]|0;s=t+8|0;c[j>>2]=s;v=(c[c[g>>2]>>2]|0)+16|0;x=v>>>0>>0?v:2336224;if(((t|0)!=2336224&(x|0)!=2336224?(c[t+4>>2]|0)==(c[x+4>>2]|0):0)?(Pc(a,t,x)|0)!=0:0)y=f+1|0;else y=f;x=(c[j>>2]|0)+-8|0;c[j>>2]=x;t=h+1|0;if((e|0)>=(k|0)){p=t;q=y;break a}f=y;e=e+1|0;h=t;m=c[c[g>>2]>>2]|0;r=x}}else{p=0;q=k}while(0);dh(p);p=c[j>>2]|0;c[p>>2]=q<<16;c[p+4>>2]=3;c[j>>2]=(c[j>>2]|0)+8;l=1;Ia=b;return l|0}function mg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=b+8|0;e=b+16|0;f=(c[d>>2]|0)-((c[c[e>>2]>>2]|0)+8)|0;g=f>>3;Td(b,g,1);h=c[d>>2]|0;c[h>>2]=f<<13;c[h+4>>2]=3;h=c[d>>2]|0;c[d>>2]=h+16;i=td(b,49802,1)|0;c[h+8>>2]=i;c[h+12>>2]=(a[i+4>>0]|64)&255;i=c[d>>2]|0;Ec(b,h+-8|0,i+-8|0,i+-16|0);i=c[d>>2]|0;h=i+-16|0;c[d>>2]=h;if((f|0)<=0){j=f>>2;dh(j);return 1}k=(c[c[e>>2]>>2]|0)+8|0;l=k>>>0>>0?k:2336224;c[h>>2]=c[l>>2];c[i+-12>>2]=c[l+4>>2];c[d>>2]=(c[d>>2]|0)+8;Vd(b,-2,1);l=c[d>>2]|0;i=(c[c[e>>2]>>2]|0)+8|0;e=i>>>0>>0?i:2336224;c[e>>2]=c[l+-8>>2];c[e+4>>2]=c[l+-4>>2];c[d>>2]=(c[d>>2]|0)+-8;if((f|0)<=8){j=f>>2;dh(j);return 1}d=g;while(1){Vd(b,1,d);if((d|0)>2)d=d+-1|0;else break}j=f>>2;dh(j);return 1}function ng(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;b=Ia;Ia=Ia+32|0;e=b+16|0;f=b+8|0;g=b;h=b+20|0;i=a+16|0;j=c[c[i>>2]>>2]|0;k=j+8|0;l=a+8|0;m=c[l>>2]|0;if(!(k>>>0>=m>>>0|(k|0)==2336224)){k=c[j+12>>2]&15;if((k|0)==5){n=j;o=m}else{p=k+1|0;q=4}}else{p=0;q=4}if((q|0)==4){q=c[16+(p<<2)>>2]|0;c[g>>2]=47645;c[g+4>>2]=q;uf(a,1,Od(a,49875,g)|0)|0;n=c[c[i>>2]>>2]|0;o=c[l>>2]|0}g=n+16|0;if(!(g>>>0>=o>>>0|(g|0)==2336224)?(c[n+20>>2]&15|0)!=0:0){g=zf(a,2)|0;r=c[c[i>>2]>>2]|0;s=c[l>>2]|0;t=g}else{r=n;s=o;t=1}o=r+24|0;if(!(o>>>0>=s>>>0|(o|0)==2336224)?(c[r+28>>2]&15|0)!=0:0)u=zf(a,3)|0;else{o=r+8|0;Mc(a,s,o>>>0>>0?o:2336224);o=c[l>>2]|0;s=o+8|0;c[l>>2]=s;r=c[o+4>>2]|0;do if((r|0)!=3){if((r&15|0)!=4)vf(a,49910,f)|0;n=c[o>>2]|0;if(!(Sc(n+16|0,c[n+12>>2]|0,h)|0))vf(a,49910,f)|0;else{v=c[h>>2]|0;w=c[l>>2]|0;break}}else{v=c[o>>2]|0;w=s}while(0);c[l>>2]=w+-8;u=v>>16}if((u|0)<(t|0)){x=0;Ia=b;return x|0}v=u-t|0;w=v+1|0;if((v|0)<0)vf(a,50531,e)|0;c[h>>2]=w;s=c[i>>2]|0;o=c[l>>2]|0;do if(((c[a+24>>2]|0)-o>>3|0)>(w|0)){y=o;z=w}else{if(((o-(c[a+28>>2]|0)>>3)+5|0)<=(999999-v|0)?(tc(a,2,h)|0)==0:0){y=c[l>>2]|0;z=c[h>>2]|0;break}vf(a,50531,e)|0}while(0);e=s+4|0;s=y+(z<<3)|0;if((c[e>>2]|0)>>>0>>0)c[e>>2]=s;s=(c[c[i>>2]>>2]|0)+8|0;e=c[(s>>>0>>0?s:2336224)>>2]|0;s=t+-1|0;a:do if(s>>>0<(c[e+28>>2]|0)>>>0)A=(c[e+12>>2]|0)+(s<<3)|0;else{z=t<<16;a=0-z|0;h=(c[e+16>>2]|0)+(((((z|0)<0?((z|0)==(a|0)?0:a):z)|0)%((1<<(d[e+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==(z|0):0)break;a=c[h+16>>2]|0;if(!a){A=2336224;break a}else h=a}A=h}while(0);c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];A=(c[l>>2]|0)+8|0;c[l>>2]=A;if((u|0)>(t|0)){y=t;t=A;do{A=y;y=y+1|0;e=(c[c[i>>2]>>2]|0)+8|0;s=c[(e>>>0>>0?e:2336224)>>2]|0;b:do if(A>>>0<(c[s+28>>2]|0)>>>0)B=(c[s+12>>2]|0)+(A<<3)|0;else{e=y<<16;z=0-e|0;a=(c[s+16>>2]|0)+(((((e|0)<0?((e|0)==(z|0)?0:z):e)|0)%((1<<(d[s+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[a+12>>2]|0)==3?(c[a+8>>2]|0)==(e|0):0)break;z=c[a+16>>2]|0;if(!z){B=2336224;break b}else a=z}B=a}while(0);c[t>>2]=c[B>>2];c[t+4>>2]=c[B+4>>2];t=(c[l>>2]|0)+8|0;c[l>>2]=t}while((y|0)!=(u|0))}dh(w<<1);x=w;Ia=b;return x|0}function og(){c[584061]=0;return}function pg(){c[584059]=(c[584059]|0)+(c[584060]|0);c[584060]=0;return}function qg(){return c[584062]|0}function rg(a){a=a|0;c[584062]=a;return}function sg(){return (c[584060]|0)+(c[584059]|0)|0}function tg(a){a=a|0;c[584060]=(c[584060]|0)+a;return 0}function ug(a){a=a|0;c[9014]=a;return}function vg(){c[584059]=0;c[584060]=0;return}function wg(){c[584061]=1073741824;c[584062]=1;return}function xg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[584071]|0;if((e|0)>510)return;qs(164480+(e*1320|0)|0,a)|0;qs(164480+((c[584071]|0)*1320|0)+256|0,b)|0;b=c[584071]|0;c[164480+(b*1320|0)+1316>>2]=d;qs(164480+(b*1320|0)+288|0,3229808)|0;c[584071]=(c[584071]|0)+1;return}function yg(){c[824448]=0;c[584071]=0;return}function zg(){var a=0;a=c[584071]|0;return ((a|0)<1?0:164480+((a+-1|0)*1320|0)+256|0)|0}function Ag(){var a=0;a=c[584071]|0;return ((a|0)<1?0:164480+((a+-1|0)*1320|0)|0)|0}function Bg(){var a=0,b=0;a=c[584071]|0;if((a|0)<1)return;b=a+-1|0;if(!(c[164480+(b*1320|0)+1316>>2]|0))return;c[584071]=b;return}function Cg(){var a=0,b=0;a=c[584071]|0;if(!a)return;b=164480+((a+-1|0)*1320|0)+1316|0;if(!(c[b>>2]|0))return;c[b>>2]=0;return}function Dg(){var a=0;a=c[584071]|0;if((a|0)<1)return;ac(164480+((a+-1|0)*1320|0)|0)|0;c[806967]=1;a=c[584071]|0;qs(3230833,(a|0)<1?0:164480+((a+-1|0)*1320|0)+288|0)|0;c[806970]=20;a=c[584071]|0;if((a|0)>=1)c[584071]=a+-1;c[474480]=0;return}function Eg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=(c[769398]|0)!=0;f=c[806962]|0;if(e&(f|0)==0){Vu(b)|0;return}if(!((a[2294728]|0)==0|e^1)){Vu(b)|0;return}if((f|0)!=2)ma(21,b|0,Ht(b)|0)|0;f=Ht(b)|0;if((f|0)>32){e=~f;g=((f+((e|0)>-65?e:-65)+32|0)>>>5)*6|0;e=f;while(1){$a();if((e|0)>64)e=e+-32|0;else break}h=g+6|0}else h=0;g=(c[807091]|0)-h|0;c[807091]=g;e=c[769383]|0;un(e,0,g,127,g+5+((((Ht(b)|0)+-1|0)>>>5)*6|0)|0,0);go(c[769383]|0,b,c[769402]|0,c[807090]|0,c[807091]|0,17,d)|0;c[807091]=(c[807091]|0)+h;$a();return}function Fg(b,d){b=b|0;d=d|0;var e=0,f=0;Eg(b,d);d=c[574463]|0;if(!d){e=dq(16)|0;c[574463]=e;f=e}else f=d;d=Ht(c[f+12>>2]|0)|0;eq(f,d+16+(Ht(b)|0)|0)|0;Rt(c[(c[574463]|0)+12>>2]|0,b)|0;b=c[(c[574463]|0)+12>>2]|0;d=b+(Ht(b)|0)|0;a[d>>0]=10;a[d+1>>0]=0;return}function Gg(a){a=a|0;Eg(a,6);return}function Hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=b;c[f+4>>2]=d;Xs(1676064,a,f)|0;Eg(1676064,6);Ia=e;return}function Ig(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Ia;Ia=Ia+16|0;g=f;c[g>>2]=b;c[g+4>>2]=d;Xs(1676064,a,g)|0;Eg(1676064,e);Ia=f;return}function Jg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Ia;Ia=Ia+48|0;f=e+24|0;g=e+8|0;h=e;i=e+32|0;j=e+28|0;if(Hu(b,50767)|0){k=0;Ia=e;return k|0}l=Hu(b,50783)|0;if(!l){if(!b){k=0;Ia=e;return k|0}m=aq((Ht(b)|0)+1|0)|0;qs(m,b)|0;n=m+(Ht(m)|0)|0;o=n+-1|0;a:do if(o>>>0>m>>>0){p=o;q=n;while(1){if((a[p>>0]|0)==58){r=p;s=q;break a}t=p+-1|0;if(t>>>0>m>>>0){u=p;p=t;q=u}else{r=t;s=p;break}}}else{r=o;s=n}while(0);Qu(840320,(a[r>>0]|0)==58?s+1|0:r,1023)|0;a[841343]=0;cq(m);k=840320;Ia=e;return k|0}c[i>>2]=0;c[j>>2]=0;m=Hu(b,50794)|0;if(m|0){c[i>>2]=0;c[h>>2]=i;c[h+4>>2]=j;wu(m+8|0,50803,h)|0}h=aq((Ht(b)|0)+1|0)|0;qs(h,l+10|0)|0;l=h;b:while(1){v=l+1|0;switch(a[v>>0]|0){case 0:case 39:{break b;break}default:l=v}}a[v>>0]=0;if(!d){c[f>>2]=h;Xs(1676064,50848,f)|0}else{f=c[i>>2]|0;d=c[j>>2]|0;c[g>>2]=h;c[g+4>>2]=f;c[g+8>>2]=d;Xs(1676064,50815,g)|0}Fg(1676064,6);g=c[i>>2]|0;if((g|0)>0?(i=c[804556]|0,d=g+-1|0,(is(c[i>>2]|0,c[i+336>>2]|0)|0)!=(d|0)):0){i=js(c[c[804556]>>2]|0,d)|0;d=c[804556]|0;c[d+336>>2]=i;gs(d,52);c[474577]=g}cq(h);k=0;Ia=e;return k|0}function Kg(b){b=b|0;var c=0,d=0;c=_p(8192)|0;qs(c,b)|0;if(!(Hu(b,50860)|0)){if(!(xt(b,50917)|0)){cq(c);return}Fg(c,6);cq(c);return}if(Hu(b,50877)|0?(Fg(50877,6),a[3299444]|0):0)Fg(3299444,7);d=Hu(b,50894)|0;if(!d){cq(c);return}qs(1676064,d)|0;a[1676064+((Ht(1676064)|0)+-1)>>0]=0;Fg(1676064,6);cq(c);return}function Lg(a){a=a|0;var b=0;if(!a){b=sg()|0;return b|0}else{b=c[769379]|0;return b|0}return 0}function Mg(){var a=0;a=c[584069]|0;if(a|0)hg(a);a=Ff(1,0)|0;c[584069]=a;c[584068]=a;c[584070]=eg(a)|0;ti(c[584068]|0);lf(c[584068]|0,6,100)|0;lf(c[584068]|0,7,200)|0;return}function Ng(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if(!e){f=0;g=b}else{e=_p(262144)|0;Pm(b,e)|0;f=e;g=e}cq(c[584072]|0);if(!g){e=aq(16)|0;c[584072]=e;a[e>>0]=0;cq(f);h=c[584072]|0;return h|0}e=(Ht(g)|0)+1|0;b=aq(e>>>0>32?e:32)|0;c[584072]=b;qs(b,g)|0;g=c[584072]|0;b=a[g>>0]|0;a:do if(b<<24>>24){e=g;i=1;j=b;while(1){if((i|0)==(d|0))break;k=j<<24>>24==0;l=e+1|0;if(k^j<<24>>24!=10){m=l;while(1){n=a[m>>0]|0;o=n<<24>>24==0;p=m+1|0;if(o^n<<24>>24!=10)m=p;else{q=m;r=p;s=o;break}}}else{q=e;r=l;s=k}m=s?q:r;o=a[m>>0]|0;if(!(o<<24>>24))break a;else{e=m;i=i+1|0;j=o}}i=e;o=j;b:while(1){switch(o<<24>>24){case 0:case 10:{break b;break}default:{}}m=i+1|0;i=m;o=a[m>>0]|0}a[i>>0]=0;cq(f);h=e;return h|0}while(0);qs(g,50935)|0;cq(f);h=c[584072]|0;return h|0}function Og(){var b=0,d=0,e=0,f=0,g=0;b=c[807090]|0;d=c[807091]|0;e=kl(0)|0;f=kl(1)|0;g=Pk(3077500,c[808062]|0,24375)|0;Sk(3077500,c[808062]|0,24320,0,128);Ok(3077500,c[808062]|0,24404,0);Ok(3077500,c[808062]|0,24405,96);Ok(3077500,c[808062]|0,24406,32);Ok(3077500,c[808062]|0,24407,128);c[807090]=b;c[807091]=d;ll(0,e);ll(1,f);Ok(3077500,c[808062]|0,24375,g);c[807090]=0;c[807092]=0;c[807089]=6;c[807095]=4;c[807096]=6;c[807103]=15;c[807102]=15;c[807101]=255;c[807106]=0;c[807107]=0;c[807109]=0;c[807098]=0;c[807097]=0;c[807053]=0;c[807069]=0;c[807038]=1;c[807054]=1;c[807070]=1;c[807039]=2;c[807055]=2;c[807071]=18;c[807040]=3;c[807056]=3;c[807072]=19;c[807041]=4;c[807057]=4;c[807073]=36;c[807042]=5;c[807058]=5;c[807074]=21;c[807043]=6;c[807059]=6;c[807075]=214;c[807044]=7;c[807060]=7;c[807076]=103;c[807045]=8;c[807061]=8;c[807077]=72;c[807046]=9;c[807062]=9;c[807078]=73;c[807047]=10;c[807063]=10;c[807079]=154;c[807048]=11;c[807064]=11;c[807080]=59;c[807049]=12;c[807065]=12;c[807081]=220;c[807050]=13;c[807066]=13;c[807082]=93;c[807051]=14;c[807067]=14;c[807083]=142;c[807052]=15;c[807068]=15;c[807084]=239;c[807037]=16;c[807100]=0;c[807086]=0;c[807085]=0;c[807088]=128;c[807087]=128;Ak();c[807105]=0;a[3299444]=0;c[807451]=0;c[573673]=0;c[824450]=0;c[824451]=0;c[824452]=0;c[769376]=0;c[824989]=0;Xm();if(c[824858]|0){c[769378]=0;c[807444]=0;bn();c[824525]=0;a[3299964]=0;Ik();Jk();return}c[473642]=0;c[473645]=0;c[769378]=0;c[807444]=0;bn();c[824525]=0;a[3299964]=0;Ik();Jk();return}function Pg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=Ia;Ia=Ia+176|0;e=d+152|0;f=d+144|0;g=d+136|0;h=d+128|0;i=d+120|0;j=d+112|0;k=d+104|0;l=d+96|0;m=d+88|0;n=d+80|0;o=d+72|0;p=d+64|0;q=d+56|0;r=d+48|0;s=d+40|0;t=d+32|0;u=d+24|0;v=d+16|0;w=d+8|0;x=d;y=d+160|0;c[y>>2]=0;c[807089]=6;if(Vs(b,50941,6)|0)if(!(Vs(b,50948,5)|0))z=b+5|0;else{if(Vs(b,51068,14)|0)if(Vs(b,51083,13)|0){if(!(Vs(b,51260,7)|0)){c[x>>2]=y;wu(b+7|0,65660,x)|0;x=c[y>>2]|0;A=(x|0)<256?x:256;x=(A|0)>8?A:8;c[y>>2]=x;c[573680]=x;if(c[584939]|0)c[584939]=x;c[w>>2]=x;Xs(1676064,51268,w)|0;Eg(1676064,14);Ia=d;return}if(!(Vs(b,64122,6)|0)){Eg(51283,14);Eg(51303,12);c[v>>2]=c[573680];c[v+4>>2]=0;Xs(1676064,51328,v)|0;Eg(1676064,6);Ia=d;return}if(!(Vs(b,51347,8)|0)){c[u>>2]=y;wu(b+8|0,65660,u)|0;u=c[y>>2]|0;v=(u|0)<120?u:120;u=(v|0)>1?v:1;c[y>>2]=u;c[473628]=u;c[t>>2]=u;Xs(1676064,51356,t)|0;Eg(1676064,14);Hh();Ia=d;return}if(!(Vs(b,51372,7)|0)){Eg(51380,14);c[s>>2]=c[473628];c[s+4>>2]=0;Xs(1676064,51405,s)|0;Eg(1676064,6);Ia=d;return}if(!(Vs(b,51425,15)|0)){c[r>>2]=y;wu(b+15|0,65660,r)|0;r=c[y>>2]|0;s=(r|0)<1?r:1;r=(s|0)>0?s:0;c[y>>2]=r;c[473629]=r;c[q>>2]=r;Xs(1676064,51441,q)|0;Eg(1676064,14);Ia=d;return}if(!(Vs(b,51464,14)|0)){Eg(51479,14);Eg(51508,12);Eg(51540,12);Eg(3300628,6);c[p>>2]=c[473629];c[p+4>>2]=0;Xs(1676064,51571,p)|0;Eg(1676064,6);Ia=d;return}if(!(Vs(b,51598,12)|0)){c[o>>2]=y;wu(b+12|0,65660,o)|0;o=c[y>>2]|0;p=(o|0)<1?o:1;o=(p|0)>0?p:0;c[y>>2]=o;c[473640]=o;c[n>>2]=o;Xs(1676064,51611,n)|0;Eg(1676064,14);Ia=d;return}n=b+10|0;if(!(Vs(b,51631,10)|0)){c[m>>2]=y;wu(n,65660,m)|0;m=c[y>>2]|0;o=(m|0)<8?m:8;m=(o|0)>1?o:1;c[y>>2]=m;c[473625]=m;c[l>>2]=m;Xs(1676064,51642,l)|0;Eg(1676064,14);Ia=d;return}if(!(Vs(b,51660,9)|0)){Eg(51670,14);c[k>>2]=c[473625];c[k+4>>2]=0;Xs(1676064,51694,k)|0;Eg(1676064,6);Ia=d;return}if(!(Vs(b,51716,17)|0)){c[j>>2]=y;wu(b+17|0,65660,j)|0;j=c[y>>2]|0;k=(j|0)<8?j:8;j=(k|0)>1?k:1;c[y>>2]=j;c[473624]=j;c[i>>2]=j;Xs(1676064,51734,i)|0;Eg(1676064,14);Ia=d;return}if(!(Vs(b,51759,16)|0)){Eg(51776,14);c[h>>2]=c[473624];c[h+4>>2]=0;Xs(1676064,51807,h)|0;Eg(1676064,6);Ia=d;return}if(!(Vs(b,51836,10)|0)){c[g>>2]=y;wu(n,65660,g)|0;g=c[y>>2]|0;n=(g|0)<8?g:8;g=(n|0)>1?n:1;c[y>>2]=g;c[473621]=g;y=((g|0)<4?g:4)<<2;c[(c[804540]|0)+316>>2]=y;c[(c[804541]|0)+316>>2]=y;c[(c[804542]|0)+316>>2]=y;c[(c[804543]|0)+316>>2]=y;c[(c[804544]|0)+316>>2]=y;c[(c[804545]|0)+316>>2]=y;c[(c[804546]|0)+316>>2]=y;c[(c[804547]|0)+316>>2]=y;c[(c[804548]|0)+316>>2]=y;c[(c[804549]|0)+316>>2]=y;c[(c[804550]|0)+316>>2]=y;c[(c[804551]|0)+316>>2]=y;c[(c[804552]|0)+316>>2]=y;c[(c[804553]|0)+316>>2]=y;c[(c[804554]|0)+316>>2]=y;c[(c[804555]|0)+316>>2]=y;c[f>>2]=g;Xs(1676064,51847,f)|0;Eg(1676064,14);Ia=d;return}if(!(Vs(b,51865,9)|0)){Eg(51875,14);c[e>>2]=c[473621];c[e+4>>2]=0;Xs(1676064,51900,e)|0;Eg(1676064,6);Ia=d;return}else{Eg(51922,14);Eg(3300628,6);Eg(51939,12);c[807089]=14;Eg(64122,6);Eg(50948,6);Eg(51372,6);Eg(51464,6);Eg(51660,6);Eg(51759,6);Eg(51083,6);Eg(51865,6);Eg(3300628,6);Ia=d;return}}else B=b+13|0;else B=b+14|0;if(!(Vs(B,51097,2)|0)){c[473637]=1;Eg(51100,14);Ia=d;return}if(!(Vs(B,51110,3)|0)){c[473637]=0;Eg(51114,14);Ia=d;return}switch(a[B>>0]|0){case 49:{c[473637]=1;Eg(51100,14);Ia=d;return}case 48:{c[473637]=0;Eg(51114,14);Ia=d;return}default:{Eg(51125,14);Eg(3300628,6);Eg(51150,6);Eg(51180,6);Eg(3300628,6);if(!((c[473637]|0)!=0?(Eg(51211,12),(c[473637]|0)!=0):0))Eg(51235,12);Eg(3300628,6);Ia=d;return}}}else z=b+6|0;if(!(Vs(z,50954,4)|0)){c[473631]=1;Eg(50959,14);Ia=d;return}if(!(Vs(z,50977,4)|0)){c[473631]=0;Eg(50982,14);Ia=d;return}if(!(Vs(z,51e3,7)|0)){c[473631]=3;Eg(51008,14);Ia=d;return}else{Eg(51029,14);Eg(3300628,6);Eg(51050,12);Eg(50977,6);Eg(50954,6);Eg(51e3,6);Eg(3300628,6);Ia=d;return}}function Qg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=(yr()|0)/120|0;if((c[574460]|0)==0|(c[769376]|0)<240)return;d=sg()|0;e=uv(d|0,((d|0)<0)<<31>>31|0,16)|0;d=G()|0;f=c[824514]|0;g=8388608/(((f|0)==0?30:f)|0)|0;f=ov(e|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;G()|0;if((c[806962]|0)!=1|(f|0)<7864320|(c[806968]|0)==0)return;f=4;do{g=B(f+1001|0,b)|0;d=B(f,b)|0;e=f+-1|0;h=f|1;if(((((g*41|0)+103|0)%4701|0|0)%97|0)&4|0){un(a,3,e,5,h,0);zn(a,4,f,((Yo(2)|0)<<1)+12|0)}if(((((d<<2)+103|0)%4701|0|0)%101|0)&8|0){un(a,3,e,5,h,0);zn(a,4,f,7)}if(((((g*43|0)+103|0)%4701|0|0)%97|0)&4|0){un(a,5,e,7,h,0);zn(a,6,f,((Yo(2)|0)<<1)+12|0)}if(((((d*6|0)+103|0)%4701|0|0)%101|0)&8|0){un(a,5,e,7,h,0);zn(a,6,f,7)}if(((((g*45|0)+103|0)%4701|0|0)%97|0)&4|0){un(a,7,e,9,h,0);zn(a,8,f,((Yo(2)|0)<<1)+12|0)}if(((((d<<3)+103|0)%4701|0|0)%101|0)&8|0){un(a,7,e,9,h,0);zn(a,8,f,7)}f=f+2|0}while(f>>>0<10);return}function Rg(a){a=a|0;var b=0,d=0,e=0;b=uv(a|0,((a|0)<0)<<31>>31|0,16)|0;a=G()|0;d=c[824514]|0;e=8388608/(((d|0)==0?30:d)|0)|0;d=ov(b|0,a|0,e|0,((e|0)<0)<<31>>31|0)|0;G()|0;return d|0}function Sg(a){a=a|0;var b=0,d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0;b=Ia;Ia=Ia+48|0;d=b+16|0;e=b;if(!((c[806962]|0)==1&(c[806968]|0)!=0)){Ia=b;return}wk(a,60,4,123,26,0);vn(a,60,4,124,27);f=0;do{h=((c[574457]|0)+f|0)%64|0;if(!f)i=60;else{j=f+60|0;k=c[2295780+(h<<5)+20>>2]|0;zn(a,j,((k|0)/32768|0)+2|0,(k|0)>131071?8:2);i=j}zn(a,i,19-(c[2295780+(h<<5)+16>>2]|0)|0,2);l=2295780+(h<<5)+4|0;j=c[l>>2]|0;k=(j|0)<98303?j:98303;j=c[2295780+(h<<5)+12>>2]|0;zn(a,i,19-((((k|0)>0?k:0)>>>0)/6144|0)|0,(j|0)==0?1:j);f=f+1|0}while((f|0)!=64);if(!(Wn(225)|0)){f=c[824514]|0;m=+(c[l>>2]|0)*.0000152587890625;n=+((c[574450]|0)+((c[574442]|0)+((c[574434]|0)+((c[574426]|0)+((c[574418]|0)+((c[574410]|0)+((c[574402]|0)+((c[574394]|0)+((c[574386]|0)+((c[574378]|0)+((c[574370]|0)+((c[574362]|0)+((c[574354]|0)+((c[574346]|0)+((c[574338]|0)+((c[574330]|0)+((c[574322]|0)+((c[574314]|0)+((c[574306]|0)+((c[574298]|0)+((c[574290]|0)+((c[574282]|0)+((c[574274]|0)+((c[574266]|0)+((c[574258]|0)+((c[574250]|0)+((c[574242]|0)+((c[574234]|0)+((c[574226]|0)+((c[574218]|0)+((c[574210]|0)+((c[574202]|0)+((c[574194]|0)+((c[574186]|0)+((c[574178]|0)+((c[574170]|0)+((c[574162]|0)+((c[574154]|0)+((c[574146]|0)+((c[574138]|0)+((c[574130]|0)+((c[574122]|0)+((c[574114]|0)+((c[574106]|0)+((c[574098]|0)+((c[574090]|0)+((c[574082]|0)+((c[574074]|0)+((c[574066]|0)+((c[574058]|0)+((c[574050]|0)+((c[574042]|0)+((c[574034]|0)+((c[574026]|0)+((c[574018]|0)+((c[574010]|0)+((c[574002]|0)+((c[573994]|0)+((c[573986]|0)+((c[573978]|0)+((c[573970]|0)+((c[573962]|0)+((c[573954]|0)+(c[573946]|0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))|0)*2.384185791015625e-07;c[d>>2]=c[824513];c[d+4>>2]=f;g[d+8>>3]=m;g[d+16>>3]=n;Xs(1676064,51975,d)|0;go(a,1676064,c[769402]|0,63,20,1,(c[824513]|0)<(c[824514]|0)?8:13)|0}else{d=c[824514]|0;n=+(c[2295780+(h<<5)+24>>2]|0);c[e>>2]=c[824513];c[e+4>>2]=d;g[e+8>>3]=n;Xs(1676064,51959,e)|0;go(a,1676064,c[769402]|0,63,20,1,(c[824513]|0)<(c[824514]|0)?8:13)|0}Cn(a);Bn(a,59,3,124,27,0);Ia=b;return}function Tg(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=c[574457]|0;b=(c[824449]|0)+(c[807111]|0)|0;d=(b|0)>2097152?134217728:b<<6;c[2295780+(a<<5)>>2]=(d|0)>0?d:0;d=sg()|0;b=uv(d|0,((d|0)<0)<<31>>31|0,16)|0;d=G()|0;e=c[824514]|0;f=8388608/(((e|0)==0?30:e)|0)|0;g=((f|0)<0)<<31>>31;h=ov(b|0,d|0,f|0,g|0)|0;G()|0;c[2295780+(a<<5)+4>>2]=h;h=c[769379]|0;d=uv(h|0,((h|0)<0)<<31>>31|0,16)|0;h=ov(d|0,G()|0,f|0,g|0)|0;G()|0;c[2295780+(a<<5)+8>>2]=h;c[2295780+(a<<5)+12>>2]=(c[573677]|0)==0?((c[824513]|0)<(e|0)?14:6):7;c[2295780+(a<<5)+20>>2]=c[573676];c[2295780+(a<<5)+24>>2]=er()|0;a=((c[574457]|0)+1|0)%64|0;c[574457]=a;e=2295780+(a<<5)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;return}function Ug(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;e=Ia;Ia=Ia+128|0;f=e+104|0;g=e+88|0;h=e+80|0;i=e+72|0;j=e+64|0;k=e+112|0;l=e;c[574460]=0;fq(c[574463]|0);c[574463]=0;if((xt(b,51993)|0?xt(b,52e3)|0:0)?xt(b,74412)|0:0){if(xt(b,74667)|0?!((a[b>>0]|0)==0&(c[474576]|0)!=0):0){c[474576]=0;Zh(c[584068]|0);c[769396]=0;if(!(c[806968]|0)){a[1965392]=0;a[2227536]=0;c[573268]=0}c[769380]=1;c[769380]=(Hu(b,59383)|0)==0&1;if(!((Hu(b,52027)|0)==0?!(Hu(b,60247)|0):0))Tr();c[574460]=(Hu(b,52035)|0)!=0&1;c[769379]=0;c[769381]=0;vg();ug(279620);c[k>>2]=0;m=(d|0)!=0;d=(m^1)&1;n=aq(262144)|0;a:do if(!(Pm(b,n)|0)){do if(!m){if((Ht(n)|0)>>>0>65536){Eg(52042,6);c[j>>2]=Ht(n)|0;c[j+4>>2]=65536;Xs(1676064,52069,j)|0;Eg(1676064,6);cq(n);break a}o=qh(n)|0;if((o|0)>8192){Eg(52084,6);c[i>>2]=o;c[i+4>>2]=8192;Xs(1676064,52102,i)|0;Eg(1676064,6);cq(n);break a}else{p=c[584069]|0;c[584068]=p;q=o*12|0;r=p;break}}else{p=c[584070]|0;c[584068]=p;q=0;r=p}while(0);kf(r);Av(905856,0,262144)|0;qs(905856,52118)|0;zv(905856+(Ht(905856)|0)|0,56145,358)|0;if(!(c[473587]|0))zv(905856+(Ht(905856)|0)|0,56503,639)|0;p=905856+(Ht(905856)|0)|0;a[p>>0]=a[57142]|0;a[p+1>>0]=a[57143]|0;a[p+2>>0]=a[57144]|0;if(!((xt(3224776,64712)|0)!=0?(xt(3224776,57145)|0)!=0:0)){p=905856+(Ht(905856)|0)|0;a[p>>0]=a[57151]|0;a[p+1>>0]=a[57152]|0;a[p+2>>0]=a[57153]|0;a[p+3>>0]=a[57154]|0;a[p+4>>0]=a[57155]|0;a[p+5>>0]=a[57156]|0;a[p+6>>0]=a[57157]|0}p=aq(262144)|0;dl(n,p);Rt(905856,p)|0;cq(n);cq(p);if(59574){p=992;o=59574;do{qs(l,o)|0;s=c[p>>2]|0;if(!(xt(b,s)|0)){c[h>>2]=52118;c[h+4>>2]=l;Xs(905856,57158,h)|0;t=c[p>>2]|0}else t=s;s=Ht(b)|0;u=Ht(t)|0;b:do if(s>>>0>=(u+2|0)>>>0){if(Vs(b,t,u)|0)break;v=b+u|0;switch(a[v>>0]|0){case 32:case 0:break;default:break b}if((a[b+(u+1)>>0]|0)==34)break;c[g>>2]=52118;c[g+4>>2]=l;c[g+8>>2]=v+1;Xs(905856,57166,g)|0}while(0);p=p+4|0;o=c[p>>2]|0}while((o|0)!=0)}if(!(xt(b,63487)|0)){o=905856;p=57178;u=o+9|0;do{a[o>>0]=a[p>>0]|0;o=o+1|0;p=p+1|0}while((o|0)<(u|0))}if((Vs(b,62780,6)|0)==0?(a[b+6>>0]|0)<33:0){Pg(b+7|0);qs(905856,3300628)|0}Rt(905856,m?57187:57211)|0;c[824447]=1;p=Bf(c[584068]|0,905856)|0;c[824447]=0;c[824449]=q;if(!p){$k();c[824521]=0;if((c[806967]|0)==1)Og();c[806962]=1;c[806968]=d;break}c[807089]=6;c:do if(m){Fg(58441,14);w=d;x=0}else{p=Vg(c[9013]|0,k)|0;do if((p|0)>0){o=c[804556]|0;u=p+-1|0;if((is(c[o>>2]|0,c[o+336>>2]|0)|0)==(u|0))break;o=js(c[c[804556]>>2]|0,u)|0;u=c[804556]|0;c[u+336>>2]=o;gs(u,52);c[474577]=p}else{if(p|0)break;Fg(58441,14);w=d;x=0;break c}while(0);u=c[k>>2]|0;c[f>>2]=p;c[f+4>>2]=u;Xs(1676064,58454,f)|0;Fg(1676064,14);u=Ng(b,(c[9013]|0)+-2|0,1)|0;if(!u){w=0;x=0;break}Fg(u,7);w=0;x=u}while(0);u=Jg(Ed(c[584068]|0,-1,0)|0,w)|0;do if(u|0){if(xt(u,58484)|0){Fg(u,6);break}if(!(Hu(x,58939)|0)){Fg(58513,6);break}else{Fg(u,6);break}}while(0);c[474479]=1}else cq(n);while(0);Ia=e;return}n=c[584069]|0;if((n|0)!=0&(c[574461]|0)!=0){c[584068]=n;c[584657]=0;c[806968]=1;c[806962]=1;$k();c[474576]=1;c[824513]=c[824514];Ia=e;return}else{Eg(52009,6);Ia=e;return}}n=c[584069]|0;if((n|0)!=0&(c[574461]|0)!=0){c[584068]=n;c[584657]=0;c[806968]=1;c[806962]=1;$k();c[474576]=0;Ia=e;return}else{Eg(52009,6);Ia=e;return}}function Vg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;d=Ia;Ia=Ia+16|0;e=d;f=a+-2|0;a=_p(262144)|0;Pm(c[c[804540]>>2]|0,a)|0;g=is(a,1048576)|0;cq(a);a=g+2|0;if((f|0)>(a|0)){g=f-a|0;a=_p(262144)|0;Pm(c[c[804541]>>2]|0,a)|0;h=is(a,1048576)|0;cq(a);a=h+2|0;if((g|0)>(a|0)){h=g-a|0;a=_p(262144)|0;Pm(c[c[804542]>>2]|0,a)|0;i=is(a,1048576)|0;cq(a);a=i+2|0;if((h|0)>(a|0)){i=h-a|0;a=_p(262144)|0;Pm(c[c[804543]>>2]|0,a)|0;j=is(a,1048576)|0;cq(a);a=j+2|0;if((i|0)>(a|0)){j=i-a|0;a=_p(262144)|0;Pm(c[c[804544]>>2]|0,a)|0;k=is(a,1048576)|0;cq(a);a=k+2|0;if((j|0)>(a|0)){k=j-a|0;a=_p(262144)|0;Pm(c[c[804545]>>2]|0,a)|0;l=is(a,1048576)|0;cq(a);a=l+2|0;if((k|0)>(a|0)){l=k-a|0;a=_p(262144)|0;Pm(c[c[804546]>>2]|0,a)|0;m=is(a,1048576)|0;cq(a);a=m+2|0;if((l|0)>(a|0)){m=l-a|0;a=_p(262144)|0;Pm(c[c[804547]>>2]|0,a)|0;n=is(a,1048576)|0;cq(a);a=n+2|0;if((m|0)>(a|0)){n=m-a|0;a=_p(262144)|0;Pm(c[c[804548]>>2]|0,a)|0;o=is(a,1048576)|0;cq(a);a=o+2|0;if((n|0)>(a|0)){o=n-a|0;a=_p(262144)|0;Pm(c[c[804549]>>2]|0,a)|0;p=is(a,1048576)|0;cq(a);a=p+2|0;if((o|0)>(a|0)){p=o-a|0;a=_p(262144)|0;Pm(c[c[804550]>>2]|0,a)|0;q=is(a,1048576)|0;cq(a);a=q+2|0;if((p|0)>(a|0)){q=p-a|0;a=_p(262144)|0;Pm(c[c[804551]>>2]|0,a)|0;r=is(a,1048576)|0;cq(a);a=r+2|0;if((q|0)>(a|0)){r=q-a|0;a=_p(262144)|0;Pm(c[c[804552]>>2]|0,a)|0;s=is(a,1048576)|0;cq(a);a=s+2|0;if((r|0)>(a|0)){s=r-a|0;a=_p(262144)|0;Pm(c[c[804553]>>2]|0,a)|0;t=is(a,1048576)|0;cq(a);a=t+2|0;if((s|0)>(a|0)){t=s-a|0;a=_p(262144)|0;Pm(c[c[804554]>>2]|0,a)|0;u=is(a,1048576)|0;cq(a);a=u+2|0;if((t|0)>(a|0)){u=t-a|0;a=_p(262144)|0;Pm(c[c[804555]>>2]|0,a)|0;v=is(a,1048576)|0;cq(a);if((u|0)>(v+2|0)){if(!b){w=0;Ia=d;return w|0}c[b>>2]=0;w=0;Ia=d;return w|0}else{x=15;y=u}}else{x=14;y=t}}else{x=13;y=s}}else{x=12;y=r}}else{x=11;y=q}}else{x=10;y=p}}else{x=9;y=o}}else{x=8;y=n}}else{x=7;y=m}}else{x=6;y=l}}else{x=5;y=k}}else{x=4;y=j}}else{x=3;y=i}}else{x=2;y=h}}else{x=1;y=g}}else{x=0;y=f}if(b|0)c[b>>2]=x;if((Qm()|0)<=0){w=y;Ia=d;return w|0}x=0;b=y;while(1){if((y|0)>(Rm(x)|0)?(y|0)<=(Sm(x)|0):0)break;if((y|0)>(Sm(x)|0)){f=Sm(x)|0;z=b+1-f+(Rm(x)|0)|0}else z=b;f=x+1|0;if((f|0)<(Qm()|0)){x=f;b=z}else{w=z;A=14;break}}if((A|0)==14){Ia=d;return w|0}A=Tm(x)|0;z=y-(Rm(x)|0)|0;c[e>>2]=A;c[e+4>>2]=z;Xs(1676064,58536,e)|0;Eg(1676064,9);w=1-y+b+(Rm(x)|0)|0;Ia=d;return w|0}function Wg(){var a=0,b=0,d=0;if((c[769397]|0)>0)return;a=(c[806968]|0)!=0;if(a){c[584069]=c[584068];c[584657]=1;c[769396]=0;Ol()|0;if(!((Pk(3077500,c[808062]|0,24366)|0)&1)){c[807053]=0;c[807054]=1;c[807055]=2;c[807056]=3;c[807057]=4;c[807058]=5;c[807059]=6;c[807060]=7;c[807061]=8;c[807062]=9;c[807063]=10;c[807064]=11;c[807065]=12;c[807066]=13;c[807067]=14;c[807068]=15}if(!((Pk(3077500,c[808062]|0,24366)|0)&2))Ok(3077500,c[808062]|0,24415,0);if(!((Pk(3077500,c[808062]|0,24366)|0)&4)){c[807447]=0;c[807448]=0;c[807449]=0;c[807450]=0}if(!((Pk(3077500,c[808062]|0,24366)|0)&8)){c[807103]=15;c[807102]=15;c[807101]=255}if(!((Pk(3077500,c[808062]|0,24366)|0)&16)){Ok(3077500,c[808062]|0,24408,0);Ok(3077500,c[808062]|0,24409,0);Ok(3077500,c[808062]|0,24410,0);Ok(3077500,c[808062]|0,24411,0)}if(!((Pk(3077500,c[808062]|0,24366)|0)&32))c[807105]=0;if(!((Pk(3077500,c[808062]|0,24366)|0)&64))c[807089]=6;if(!((Pk(3077500,c[808062]|0,24366)|0)&128)){Ok(3077500,c[808062]|0,24404,0);Ok(3077500,c[808062]|0,24405,96)}Cm();if(!(c[474479]|0))c[474479]=1}c[806962]=0;c[769394]=0;c[807098]=0;c[807097]=0;c[807086]=0;c[807085]=0;c[807088]=128;c[807087]=128;Ak();Bk(0);c[807090]=0;c[807092]=0;b=c[807091]|0;d=(b|0)<122?b:122;c[807091]=(d|0)>0?d:0;if(a?Tn()|0:0)do Un()|0;while((Tn()|0)!=0);if(c[769398]|0)c[584504]=1;c[473642]=0;Cn(c[769383]|0);return}function Xg(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;b=c[804558]|0;d=(a[c[c[804540]>>2]>>0]|0)==0;e=(b|0)==1?1:(a[c[c[804541]>>2]>>0]|0)!=0;f=(b|0)==2?1:(a[c[c[804542]>>2]>>0]|0)!=0;g=(b|0)==3?1:(a[c[c[804543]>>2]>>0]|0)!=0;h=(b|0)==4?1:(a[c[c[804544]>>2]>>0]|0)!=0;i=(b|0)==5?1:(a[c[c[804545]>>2]>>0]|0)!=0;j=(b|0)==6?1:(a[c[c[804546]>>2]>>0]|0)!=0;k=(b|0)==7?1:(a[c[c[804547]>>2]>>0]|0)!=0;l=(b|0)==8?1:(a[c[c[804548]>>2]>>0]|0)!=0;m=(b|0)==9?1:(a[c[c[804549]>>2]>>0]|0)!=0;n=(b|0)==10?1:(a[c[c[804550]>>2]>>0]|0)!=0;o=(b|0)==11?1:(a[c[c[804551]>>2]>>0]|0)!=0;p=(b|0)==12?1:(a[c[c[804552]>>2]>>0]|0)!=0;q=(b|0)==13?1:(a[c[c[804553]>>2]>>0]|0)!=0;r=(b|0)==14?1:(a[c[c[804554]>>2]>>0]|0)!=0;s=(b|0)==15?1:(a[c[c[804555]>>2]>>0]|0)!=0;a[c[c[18988]>>2]>>0]=0;t=s?15:r?14:q?13:p?12:o?11:n?10:m?9:l?8:k?7:j?6:i?5:h?4:g?3:f?2:e?1:((b|0)!=0&d)<<31>>31;Rt(c[c[18988]>>2]|0,c[c[804540]>>2]|0)|0;if((t|0)>0){d=c[c[18988]>>2]|0;b=d+(Ht(d)|0)|0;a[b>>0]=a[58548]|0;a[b+1>>0]=a[58549]|0;a[b+2>>0]=a[58550]|0;a[b+3>>0]=a[58551]|0;a[b+4>>0]=a[58552]|0;a[b+5>>0]=a[58553]|0;a[b+6>>0]=a[58554]|0}Rt(c[c[18988]>>2]|0,c[c[804541]>>2]|0)|0;if((t|0)>1){b=c[c[18988]>>2]|0;d=b+(Ht(b)|0)|0;a[d>>0]=a[58548]|0;a[d+1>>0]=a[58549]|0;a[d+2>>0]=a[58550]|0;a[d+3>>0]=a[58551]|0;a[d+4>>0]=a[58552]|0;a[d+5>>0]=a[58553]|0;a[d+6>>0]=a[58554]|0}Rt(c[c[18988]>>2]|0,c[c[804542]>>2]|0)|0;if((t|0)>2){d=c[c[18988]>>2]|0;b=d+(Ht(d)|0)|0;a[b>>0]=a[58548]|0;a[b+1>>0]=a[58549]|0;a[b+2>>0]=a[58550]|0;a[b+3>>0]=a[58551]|0;a[b+4>>0]=a[58552]|0;a[b+5>>0]=a[58553]|0;a[b+6>>0]=a[58554]|0}Rt(c[c[18988]>>2]|0,c[c[804543]>>2]|0)|0;if((t|0)>3){b=c[c[18988]>>2]|0;d=b+(Ht(b)|0)|0;a[d>>0]=a[58548]|0;a[d+1>>0]=a[58549]|0;a[d+2>>0]=a[58550]|0;a[d+3>>0]=a[58551]|0;a[d+4>>0]=a[58552]|0;a[d+5>>0]=a[58553]|0;a[d+6>>0]=a[58554]|0}Rt(c[c[18988]>>2]|0,c[c[804544]>>2]|0)|0;if((t|0)>4){d=c[c[18988]>>2]|0;b=d+(Ht(d)|0)|0;a[b>>0]=a[58548]|0;a[b+1>>0]=a[58549]|0;a[b+2>>0]=a[58550]|0;a[b+3>>0]=a[58551]|0;a[b+4>>0]=a[58552]|0;a[b+5>>0]=a[58553]|0;a[b+6>>0]=a[58554]|0}Rt(c[c[18988]>>2]|0,c[c[804545]>>2]|0)|0;if((t|0)>5){b=c[c[18988]>>2]|0;d=b+(Ht(b)|0)|0;a[d>>0]=a[58548]|0;a[d+1>>0]=a[58549]|0;a[d+2>>0]=a[58550]|0;a[d+3>>0]=a[58551]|0;a[d+4>>0]=a[58552]|0;a[d+5>>0]=a[58553]|0;a[d+6>>0]=a[58554]|0}Rt(c[c[18988]>>2]|0,c[c[804546]>>2]|0)|0;if((t|0)>6){d=c[c[18988]>>2]|0;b=d+(Ht(d)|0)|0;a[b>>0]=a[58548]|0;a[b+1>>0]=a[58549]|0;a[b+2>>0]=a[58550]|0;a[b+3>>0]=a[58551]|0;a[b+4>>0]=a[58552]|0;a[b+5>>0]=a[58553]|0;a[b+6>>0]=a[58554]|0}Rt(c[c[18988]>>2]|0,c[c[804547]>>2]|0)|0;if((t|0)>7){b=c[c[18988]>>2]|0;d=b+(Ht(b)|0)|0;a[d>>0]=a[58548]|0;a[d+1>>0]=a[58549]|0;a[d+2>>0]=a[58550]|0;a[d+3>>0]=a[58551]|0;a[d+4>>0]=a[58552]|0;a[d+5>>0]=a[58553]|0;a[d+6>>0]=a[58554]|0}Rt(c[c[18988]>>2]|0,c[c[804548]>>2]|0)|0;if((t|0)>8){d=c[c[18988]>>2]|0;b=d+(Ht(d)|0)|0;a[b>>0]=a[58548]|0;a[b+1>>0]=a[58549]|0;a[b+2>>0]=a[58550]|0;a[b+3>>0]=a[58551]|0;a[b+4>>0]=a[58552]|0;a[b+5>>0]=a[58553]|0;a[b+6>>0]=a[58554]|0}Rt(c[c[18988]>>2]|0,c[c[804549]>>2]|0)|0;if((t|0)>9){b=c[c[18988]>>2]|0;d=b+(Ht(b)|0)|0;a[d>>0]=a[58548]|0;a[d+1>>0]=a[58549]|0;a[d+2>>0]=a[58550]|0;a[d+3>>0]=a[58551]|0;a[d+4>>0]=a[58552]|0;a[d+5>>0]=a[58553]|0;a[d+6>>0]=a[58554]|0}Rt(c[c[18988]>>2]|0,c[c[804550]>>2]|0)|0;if((t|0)>10){d=c[c[18988]>>2]|0;b=d+(Ht(d)|0)|0;a[b>>0]=a[58548]|0;a[b+1>>0]=a[58549]|0;a[b+2>>0]=a[58550]|0;a[b+3>>0]=a[58551]|0;a[b+4>>0]=a[58552]|0;a[b+5>>0]=a[58553]|0;a[b+6>>0]=a[58554]|0}Rt(c[c[18988]>>2]|0,c[c[804551]>>2]|0)|0;if((t|0)>11){b=c[c[18988]>>2]|0;d=b+(Ht(b)|0)|0;a[d>>0]=a[58548]|0;a[d+1>>0]=a[58549]|0;a[d+2>>0]=a[58550]|0;a[d+3>>0]=a[58551]|0;a[d+4>>0]=a[58552]|0;a[d+5>>0]=a[58553]|0;a[d+6>>0]=a[58554]|0}Rt(c[c[18988]>>2]|0,c[c[804552]>>2]|0)|0;if((t|0)>12){d=c[c[18988]>>2]|0;b=d+(Ht(d)|0)|0;a[b>>0]=a[58548]|0;a[b+1>>0]=a[58549]|0;a[b+2>>0]=a[58550]|0;a[b+3>>0]=a[58551]|0;a[b+4>>0]=a[58552]|0;a[b+5>>0]=a[58553]|0;a[b+6>>0]=a[58554]|0}Rt(c[c[18988]>>2]|0,c[c[804553]>>2]|0)|0;if((t|0)>13){b=c[c[18988]>>2]|0;d=b+(Ht(b)|0)|0;a[d>>0]=a[58548]|0;a[d+1>>0]=a[58549]|0;a[d+2>>0]=a[58550]|0;a[d+3>>0]=a[58551]|0;a[d+4>>0]=a[58552]|0;a[d+5>>0]=a[58553]|0;a[d+6>>0]=a[58554]|0}Rt(c[c[18988]>>2]|0,c[c[804554]>>2]|0)|0;if((t|0)<=14){u=c[18988]|0;v=c[u>>2]|0;w=c[804555]|0;x=c[w>>2]|0;Rt(v,x)|0;return}t=c[c[18988]>>2]|0;d=t+(Ht(t)|0)|0;a[d>>0]=a[58548]|0;a[d+1>>0]=a[58549]|0;a[d+2>>0]=a[58550]|0;a[d+3>>0]=a[58551]|0;a[d+4>>0]=a[58552]|0;a[d+5>>0]=a[58553]|0;a[d+6>>0]=a[58554]|0;u=c[18988]|0;v=c[u>>2]|0;w=c[804555]|0;x=c[w>>2]|0;Rt(v,x)|0;return}function Yg(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=c[(c[804540]|0)+4>>2]|0;Av(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[804541]|0)+4>>2]|0;Av(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[804542]|0)+4>>2]|0;Av(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[804543]|0)+4>>2]|0;Av(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[804544]|0)+4>>2]|0;Av(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[804545]|0)+4>>2]|0;Av(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[804546]|0)+4>>2]|0;Av(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[804547]|0)+4>>2]|0;Av(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[804548]|0)+4>>2]|0;Av(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[804549]|0)+4>>2]|0;Av(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[804550]|0)+4>>2]|0;Av(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[804551]|0)+4>>2]|0;Av(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[804552]|0)+4>>2]|0;Av(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[804553]|0)+4>>2]|0;Av(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[804554]|0)+4>>2]|0;Av(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[804555]|0)+4>>2]|0;Av(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=0;b=c[c[18988]>>2]|0;while(1){if((a|0)!=15){d=Hu(b,58548)|0;e=c[c[3218160+(a<<2)>>2]>>2]|0;if(!d){f=e;g=6}else{zv(e|0,b|0,d-b|0)|0;h=a+1|0;i=d+6|0}}else{f=c[c[804555]>>2]|0;g=6}if((g|0)==6){g=0;qs(f,b)|0;h=16;i=b}if((h|0)<16){a=h;b=i}else break}return}function Zg(b){b=b|0;var c=0,d=0,e=0,f=0;c=Ia;Ia=Ia+1024|0;d=c;Av(1168e3,0,1024)|0;qs(d,b)|0;a[1168e3]=0;b=rs(d,64330)|0;if(!((b|0)!=0&b>>>0>d>>>0)){Ia=c;return 1168e3}a[b>>0]=0;e=b;a:while(1){f=e+-1|0;b=a[f>>0]|0;if(!((b+-97&255)<26|(b+-48&255)<10))switch(b<<24>>24){case 45:case 95:break;default:break a}if(f>>>0>d>>>0)e=f;else break}qs(1168e3,f>>>0>d>>>0?e:f)|0;Ia=c;return 1168e3}function _g(a){a=a|0;return 1}function $g(){var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Ia;Ia=Ia+2064|0;e=d+2048|0;f=d+1024|0;g=d;Xg();qs(3229808,3230833)|0;a[3230833]=0;a[3224776]=0;a[3225800]=0;qs(g,3221316)|0;c[474479]=0;do if(!(Hu(g,3218236)|0)){h=(Hu(g,58555)|0)!=0;if(!(h&(c[473572]|0)!=0)?(Gr(58563,f),(Hu(g,f)|0)==0):0){qs(3225800,g)|0;break}Av(1168e3,0,1024)|0;qs(f,g)|0;a[1168e3]=0;h=rs(f,64330)|0;if((h|0)!=0&h>>>0>f>>>0){a[h>>0]=0;i=h;a:while(1){j=i+-1|0;h=a[j>>0]|0;if(!((h+-97&255)<26|(h+-48&255)<10))switch(h<<24>>24){case 45:case 95:break;default:break a}if(j>>>0>f>>>0)i=j;else break}qs(1168e3,j>>>0>f>>>0?i:j)|0}qs(3224776,1168e3)|0;c[573942]=0}else qs(3225800,g+(Ht(3218236)|0)|0)|0;while(0);c[e>>2]=3221316;c[e+4>>2]=3225800;c[e+8>>2]=3224776;Xs(1671456,58568,e)|0;hn(1671456);a[3226824]=0;Mg();Tk(3077500,c[808062]|0,0,0,17152);a[3222468]=0;a[3231858]=0;a[3231922]=0;a[3231986]=0;a[3232050]=0;a[3232114]=0;a[3232178]=0;b[1616121]=0;b[1616122]=0;b[1616123]=0;e=Fa(0)|0;ml((yr()|0)+e|0);Ug(c[c[18988]>>2]|0,0);Tq();Qq(0,0);c[807447]=0;c[807448]=0;c[807449]=0;c[807450]=0;c[824513]=30;c[824514]=30;$k();Jb(c[18988]|0,3222381);c[806971]=0;c[474576]=0;c[574461]=1;Bk(0);Ia=d;return}function ah(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=Ia;Ia=Ia+560|0;e=d+536|0;f=d+520|0;g=d+512|0;h=d;i=d+548|0;j=d+544|0;c[j>>2]=0;Rd(b,62119);Yd(c[584068]|0,0,1,0,0,0)|0;k=Ed(b,-1,0)|0;if(!k){Ia=d;return}vd(b,-2);b=a[k>>0]|0;if(!(b<<24>>24)){Ia=d;return}l=k;k=0;m=b;while(1){if(k>>>0>=10){n=23;break}k=k+1|0;b=l;o=m;a:while(1){switch(o<<24>>24){case 10:case 0:{break a;break}default:{}}p=b+1|0;b=p;o=a[p>>0]|0}Av(h|0,0,512)|0;Qu(h,l,b-l|0)|0;l=(a[b>>0]|0)==10?b+1|0:b;b:do if((Hu(h,58641)|0)==0?(Hu(h,58657)|0)==0:0){o=h;c:while(1){switch(a[o>>0]|0){case 0:{break b;break}case 58:{break c;break}default:{}}o=o+1|0}c[i>>2]=0;c[g>>2]=i;wu(o+1|0,65660,g)|0;p=c[i>>2]|0;if((p|0)>0){q=Hu(h,58668)|0;if(!q){if(!(Hu(h,58705)|0))break;r=Vg(p,j)|0;if((r|0)<=-1)break;p=c[j>>2]|0;c[e>>2]=r;c[e+4>>2]=p;Xs(1676064,58719,e)|0;Fg(1676064,13);break}p=q+13|0;q=p;d:while(1){switch(a[q>>0]|0){case 0:{break b;break}case 39:{break d;break}default:{}}q=q+1|0}a[q>>0]=0;o=Vg(c[i>>2]|0,j)|0;r=c[j>>2]|0;c[f>>2]=p;c[f+4>>2]=o;c[f+8>>2]=r;Xs(1676064,58682,f)|0;Eg(1676064,13)}}while(0);m=a[l>>0]|0;if(!(m<<24>>24)){n=23;break}}if((n|0)==23){Ia=d;return}}function bh(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=Ia;Ia=Ia+32|0;d=b+16|0;e=b;f=b+24|0;c[f>>2]=0;g=(c[473572]|0)==0;lf(c[584068]|0,1,0)|0;if(lf(c[584068]|0,9,0)|0){h=c[584068]|0;if((c[824525]|0)>64)lf(h,2,0)|0;else lf(h,5,200)|0}h=g?2359296:2113536;if(((c[824449]|0)+(c[807111]|0)|0)>(h|0)?lf(c[584068]|0,9,0)|0:0){g=c[769376]|0;if((c[584073]|0)!=(g|0)){c[824525]=(c[824525]|0)+1;c[584073]=g}lf(c[584068]|0,2,0)|0;g=c[807111]|0;i=(c[824449]|0)+g|0;if((i|0)>(h|0)){if(!(lf(c[584068]|0,9,0)|0))hn(58739);else Gc(c[584068]|0,1);j=c[824449]|0;k=(c[807111]|0)+j|0;c[e>>2]=j+g;c[e+4>>2]=k;c[e+8>>2]=j;Xs(1671456,58795,e)|0;hn(1671456);l=(c[824449]|0)+(c[807111]|0)|0}else l=i;if((l|0)>(h|0)){Mg();Wg();Eg(58836,6);Ia=b;return}}lf(c[584068]|0,0,0)|0;if((c[806962]|0)!=1|(c[806963]|0)!=0){Ia=b;return}og();a:do switch(_f(c[584068]|0,0,0)|0){case 0:{Wg();if((c[584068]|0)==(c[584069]|0))c[574461]=0;break}case 1:{c[806962]=1;break}default:if((c[769397]|0)<=0){Wg();do if(c[806968]|0){h=c[584058]|0;if((h|0)>2){l=Ng(c[c[18988]>>2]|0,h+-2|0,1)|0;i=Vg(h,f)|0;h=c[f>>2]|0;if((h|0)>=(zh()|0)){Fg(58879,14);break}h=c[f>>2]|0;c[d>>2]=i;c[d+4>>2]=h;Xs(1676064,58850,d)|0;Fg(1676064,14);if(l|0)Fg(l,7);if((i|0)>0?(l=c[804556]|0,h=i+-1|0,(is(c[l>>2]|0,c[l+336>>2]|0)|0)!=(h|0)):0){l=js(c[c[804556]>>2]|0,h)|0;h=c[804556]|0;c[h+336>>2]=l;gs(h,52);c[474577]=i}}}else Fg(58879,14);while(0);Kg(Ed(c[584068]|0,-1,0)|0);if(a[3299444]|0)Fg(3299444,6);if(c[824526]|0){c[824526]=0;break a}if(c[806968]|0)ah(c[584068]|0)}}while(0);if(!(c[824522]|0)){Ia=b;return}d=yr()|0;if((d|0)<=((c[824523]|0)+1e3|0)){Ia=b;return}Ol()|0;c[824523]=yr()|0;Ia=b;return}function ch(){var a=0,b=0;yr()|0;ug(8388608/(c[824513]|0)|0);pg();c[474483]=0;if(Kk()|0)return;a=1;while(1){c[807451]=(c[807451]|0)+1;c[824524]=0;bh();if(!(c[824524]|0)){b=5;break}if(a>>>0<8192)a=a+1|0;else{b=5;break}}if((b|0)==5)return}function dh(a){a=a|0;var b=0;b=(a|0)==0?2:a<<1;if((a|0)<0)return;c[769379]=(c[769379]|0)+b;tg(b)|0;return}function eh(b){b=b|0;a[3299444]=0;if(!b)return;Qu(3299444,b,254)|0;a[3299699]=0;return}function fh(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0;a=c[574457]|0;c[824483]=c[824484];c[824484]=c[824485];c[824485]=c[824486];c[824486]=c[824487];c[824487]=c[824488];c[824488]=c[824489];c[824489]=c[824490];c[824490]=c[824491];c[824491]=c[824492];c[824492]=c[824493];c[824493]=c[824494];c[824494]=c[824495];c[824495]=c[824496];c[824496]=c[824497];c[824497]=c[824498];c[824498]=c[824499];c[824499]=c[824500];c[824500]=c[824501];c[824501]=c[824502];c[824502]=c[824503];c[824503]=c[824504];c[824504]=c[824505];c[824505]=c[824506];c[824506]=c[824507];c[824507]=c[824508];c[824508]=c[824509];c[824509]=c[824510];c[824510]=c[824511];c[824511]=c[824512];c[824512]=er()|0;b=c[824483]|0;d=c[824484]|0;e=c[824485]|0;f=c[824486]|0;g=c[824487]|0;h=c[824488]|0;i=c[824489]|0;j=c[824490]|0;k=c[824491]|0;l=c[824492]|0;m=c[824493]|0;n=c[824494]|0;o=c[824495]|0;p=c[824496]|0;q=c[824497]|0;r=c[824498]|0;s=c[824499]|0;t=c[824500]|0;u=c[824501]|0;v=c[824502]|0;w=c[824503]|0;x=c[824504]|0;y=c[824505]|0;z=c[824506]|0;A=c[824507]|0;B=c[824508]|0;C=c[824509]|0;D=c[824510]|0;E=c[824511]|0;F=c[824512]|0;H=((b|0)!=0&1)+((d|0)!=0&1)+((e|0)!=0&1)+((f|0)!=0&1)+((g|0)!=0&1)+((h|0)!=0&1)+((i|0)!=0&1)+((j|0)!=0&1)+((k|0)!=0&1)+((l|0)!=0&1)+((m|0)!=0&1)+((n|0)!=0&1)+((o|0)!=0&1)+((p|0)!=0&1)+((q|0)!=0&1)+((r|0)!=0&1)+((s|0)!=0&1)+((t|0)!=0&1)+((u|0)!=0&1)+((v|0)!=0&1)+((w|0)!=0&1)+((x|0)!=0&1)+((y|0)!=0&1)+((z|0)!=0&1)+((A|0)!=0&1)+((B|0)!=0&1)+((C|0)!=0&1)+((D|0)!=0&1)+((E|0)!=0&1)+((F|0)!=0&1)|0;I=c[824517]|0;J=c[824515]|0;if((I|0)>(J|0)){K=I-J|0;J=uv(K|0,((K|0)<0)<<31>>31|0,16)|0;K=G()|0;I=c[824514]|0;L=8388608/(((I|0)==0?30:I)|0)|0;I=ov(J|0,K|0,L|0,((L|0)<0)<<31>>31|0)|0;G()|0;L=c[824454]|0;c[824453]=L;c[824454]=I;K=(L|0)==0|(L|0)<(I|0)?I:L;M=(I|0)==0|(K|0)>(I|0)?K:I}else M=1048576;I=c[824520]|0;K=c[824518]|0;if((I|0)<(K|0))return;L=c[573675]|0;J=I-K+(c[824451]|0)+((L|0)>0?L:0)|0;L=(c[573541]|0)==0;K=L?1e4:(F+(E+(D+(C+(B+(A+(z+(y+(x+(w+(v+(u+(t+(s+(r+(q+(p+(o+(n+(m+(l+(k+(j+(i+(h+(g+(f+(e+(d+b))))))))))))))))))))))))))))|0)/(((H|0)==0?1:H)|0)|0;H=c[824513]|0;b=c[824514]|0;if((c[573677]|0)!=0&(H|0)==(b|0)){c[2295780+(a<<5)+28>>2]=9;c[824513]=(H|0)/2|0;c[573677]=0;return}c[573677]=0;if((H|0)==60?(K|0)<60&(b|0)==60:0){d=2295780+(a<<5)+28|0;c[d>>2]=8;c[824513]=30;if(Qr()|0?(e=yr()|0,(e-(c[824452]|0)|0)<2e3):0){c[d>>2]=10;d=(c[824451]|0)+1|0;c[824451]=(d|0)<5?d:5}c[824452]=yr()|0;return}if((H|0)>=(b|0))return;if((K|0)>=(b|0)?(M|0)<64512&(L|(J|0)<17|(b|0)==30):0){c[2295780+(a<<5)+28>>2]=11;c[824513]=b;return}if((M|0)>=63488)return;c[2295780+(a<<5)+28>>2]=2;return}function gh(a){a=a|0;var b=0;if((a|0)>255){b=0;return b|0}b=d[1104+(a&255)>>0]|0;return b|0}function hh(a){a=a|0;return d[1360+(a&255)>>0]|0|0}function ih(){c[292256]=0;c[584074]=0;return}function jh(a){a=a|0;qs(1169024+(c[584074]<<6)|0,a)|0;c[584074]=(c[584074]|0)+1;return}function kh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;d=c[584076]|0;if((d|4|0)!=-995)c[584077]=d;a[1185408]=0;c[584076]=0;e=b;a:while(1){f=a[e>>0]|0;switch(f<<24>>24){case 0:{g=6;break a;break}case 45:{g=7;break a;break}case 126:{g=16;break a;break}case 13:case 9:case 8:case 32:break;default:{h=0;i=f;break a}}e=e+1|0}if((g|0)==6){c[584076]=-1e3;j=e;return j|0}else if((g|0)==7){b=a[e+1>>0]|0;if(b<<24>>24==45){c[584076]=-995;b:do if((a[e+2>>0]|0)==91?(a[e+3>>0]|0)==91:0){k=e+4|0;l=1;while(1){m=Hu(k,58893)|0;n=Hu(k,58896)|0;if(!n)break b;o=(m|0)!=0&m>>>0>>0;l=(o?1:-1)+l|0;p=(o?m:n)+2|0;if((l|0)<=0){j=p;break}else k=p}return j|0}while(0);k=e;l=45;c:while(1){switch(l<<24>>24){case 0:case 10:{j=k;break c;break}default:{}}p=k+1|0;k=p;l=a[p>>0]|0}return j|0}else{q=b;r=45;g=17}}else if((g|0)==16){q=a[e+1>>0]|0;r=126;g=17}do if((g|0)==17){if((q+-48&255)>9){if(q<<24>>24!=46){h=0;i=r;break}if(((a[e+2>>0]|0)+-48&255)>9){h=0;i=r;break}}b=c[584077]|0;h=((b|0)==-982|((b|0)==-980|((b+987|0)>>>0<2|((b|0)==-990|((b|0)==-972|((b|1|0)==-973|((b|0)==-965|((b|0)==61|((b|0)==-966|((b|1|0)==-967|((b|1|0)==-969|((b|2|0)==62|((b|0)==-954|((b|1|0)==-955|((b|1|0)==-957|((b|0)==-953|((b|0)==124|((b|0)==38|((b|0)==92|((b|0)==37|((b|0)==94|((b|0)==45|((b|4|0)==47|((b|0)==42|((b|0)==126|((b|0)==63|((b|4|0)==44|(b|32|0)==123)))))))))))))))))))))))))))&1;i=r}while(0);if(a[1104+(i&255)>>0]|0){c[584076]=0;r=c[9018]|0;q=f<<24>>24;if(!(a[1360+(q&255)>>0]|0)){s=r;t=0;u=e}else{b=r;r=0;l=e;k=q;q=f;while(1){p=(B(k,b)|0)&8191^7266;n=r+1|0;a[1185408+r>>0]=q;m=l+1|0;q=a[m>>0]|0;k=q<<24>>24;if(!(a[1360+(k&255)>>0]|0)){s=p;t=n;u=m;break}else{b=p;r=n;l=m}}}a[1185408+t>>0]=0;switch(d|0){case 46:case 58:break;default:{d=c[1250944+(s*20|0)+16>>2]|0;if(d|0?(xt(1250944+(s*20|0)|0,1185408)|0)==0:0){c[584076]=d;j=u;return j|0}}}c[584076]=-998;j=u;return j|0}if((i+-48&255)>9)if(i<<24>>24==46)v=((a[e+1>>0]|0)+-48&255)<10&1;else v=0;else v=1;if(v|h|0){switch(i<<24>>24){case 126:case 45:{a[1185408]=i;h=e+1|0;w=h;x=a[h>>0]|0;break}default:{w=e;x=f}}c[584076]=0;d:do if(x<<24>>24!=48)if(x<<24>>24==46|(x+-48&255)<10)g=46;else{y=0;z=w}else{h=a[w+1>>0]|0;switch((h|32)<<24>>24){case 120:break;case 98:{a[1185408]=48;a[1185409]=h;v=0;u=w+2|0;while(1){d=a[u>>0]|0;switch(d<<24>>24){case 46:case 48:case 49:break;default:{y=v;z=u;break d}}a[1185408+v>>0]=d;v=v+1|0;u=u+1|0}break}default:{g=46;break d}}a[1185408]=48;a[1185409]=h;u=0;v=w+2|0;while(1){d=a[v>>0]|0;if(!((d+-48&255)<10|(d+-97&255)<6))switch(d<<24>>24){case 46:case 65:case 66:case 67:case 68:case 69:case 70:break;default:{y=u;z=v;break d}}a[1185408+u>>0]=d;u=u+1|0;v=v+1|0}}while(0);if((g|0)==46){v=0;u=w;w=x;while(1){x=v+1|0;a[1185408+v>>0]=w;h=u+1|0;w=a[h>>0]|0;if(!(w<<24>>24==46|(w+-48&255)<10)){y=x;z=h;break}else{v=x;u=h}}}a[1185408+y>>0]=0;c[584076]=-997;j=z;return j|0}switch(i<<24>>24){case 91:{z=e+1|0;y=a[z>>0]|0;if(y<<24>>24==91){c[584076]=-996;a[1185408]=0;u=e+2|0;v=1;while(1){w=Hu(u,58893)|0;h=Hu(u,58896)|0;if(!h)break;x=(w|0)!=0&w>>>0>>0;v=(x?1:-1)+v|0;d=(x?w:h)+2|0;if((v|0)<=0){j=d;g=137;break}else u=d}if((g|0)==137)return j|0;j=e+(Ht(e)|0)|0;return j|0}else{A=z;C=y;D=0;g=74}break}case 34:{a[1185408]=34;y=e;z=1;e:while(1){u=y+1|0;v=a[u>>0]|0;switch(v<<24>>24){case 34:{g=60;break e;break}case 10:case 0:{E=u;F=z;break e;break}case 92:{d=y+2|0;a[1185408+z>>0]=92;G=z+1|0;H=d;I=a[d>>0]|0;break}default:{G=z;H=u;I=v}}a[1185408+G>>0]=I;y=H;z=G+1|0}if((g|0)==60){a[1185408+z>>0]=34;E=y+2|0;F=z+1|0}a[1185408+F>>0]=0;c[584076]=-996;j=E;return j|0}case 39:{a[1185408]=39;E=e;F=1;f:while(1){z=E+1|0;y=a[z>>0]|0;switch(y<<24>>24){case 39:{g=66;break f;break}case 10:case 0:{J=F;K=z;break f;break}case 92:{G=E+2|0;a[1185408+F>>0]=92;L=G;M=F+1|0;N=a[G>>0]|0;break}default:{L=z;M=F;N=y}}a[1185408+M>>0]=N;E=L;F=M+1|0}if((g|0)==66){a[1185408+F>>0]=39;J=F+1|0;K=E+2|0}a[1185408+J>>0]=0;c[584076]=-996;j=K;return j|0}case 10:{c[584078]=(c[584078]|0)+1;c[584076]=-999;j=e+1|0;return j|0}case 58:{K=e+1|0;J=a[K>>0]|0;if(J<<24>>24==58){c[584076]=-960;j=e+2|0;return j|0}else{A=K;C=J;D=0;g=74}break}case 46:{J=e+1|0;K=a[J>>0]|0;if(K<<24>>24==46)if((a[e+2>>0]|0)==46){c[584076]=-961;j=e+3|0;return j|0}else{O=J;P=46;Q=1;g=90}else{A=J;C=K;D=1;g=74}break}default:{K=e+1|0;A=K;C=a[K>>0]|0;D=0;g=74}}g:do if((g|0)==74)if(C<<24>>24==61)do switch(i<<24>>24){case 60:{c[584076]=-970;j=e+2|0;return j|0}case 62:{c[584076]=-969;j=e+2|0;return j|0}case 126:{c[584076]=-967;j=e+2|0;return j|0}case 33:{c[584076]=-967;j=e+2|0;return j|0}case 61:{c[584076]=-966;j=e+2|0;return j|0}case 43:{c[584076]=-965;j=e+2|0;return j|0}case 45:{c[584076]=-965;j=e+2|0;return j|0}case 42:{c[584076]=-965;j=e+2|0;return j|0}case 47:{c[584076]=-965;j=e+2|0;return j|0}case 92:{c[584076]=-965;j=e+2|0;return j|0}case 37:{c[584076]=-965;j=e+2|0;return j|0}case 38:{c[584076]=-965;j=e+2|0;return j|0}case 124:{c[584076]=-965;j=e+2|0;return j|0}case 94:{c[584076]=-965;j=e+2|0;return j|0}default:{R=A;break g}}while(0);else{O=A;P=C;Q=D;g=90}while(0);h:do if((g|0)==90){D=i<<24>>24==0;C=P<<24>>24==0;i:do if(!(D|C)?(a[e+2>>0]|0)==61:0){if(Q&P<<24>>24==46){c[584076]=-965;j=e+3|0;return j|0}switch(i<<24>>24){case 60:{if(P<<24>>24!=60){R=O;break h}c[584076]=-965;j=e+3|0;return j|0}case 62:{if(P<<24>>24!=62){R=O;break h}c[584076]=-965;j=e+3|0;return j|0}case 94:{if(P<<24>>24!=94){R=O;break h}c[584076]=-965;j=e+3|0;return j|0}default:break i}}else g=101;while(0);j:do if((g|0)==101){k:do if(!D){if((!C?(A=a[e+2>>0]|0,A<<24>>24):0)?(a[e+3>>0]|0)==61:0){K=i<<24>>24==62;J=P<<24>>24==62;if(K&J&A<<24>>24==60){c[584076]=-965;j=e+4|0;return j|0}E=A<<24>>24==62;if(i<<24>>24==60&P<<24>>24==60&E){c[584076]=-965;j=e+4|0;return j|0}if(!K)break j;if(!(J&E)){R=O;break h}c[584076]=-965;j=e+4|0;return j|0}switch(i<<24>>24){case 62:{if(P<<24>>24!=62)break k;E=e+2|0;switch(a[E>>0]|0){case 62:{if((a[e+3>>0]|0)==61){c[584076]=-965;j=e+4|0;return j|0}else{c[584076]=-956;j=e+3|0;return j|0}break}case 60:{c[584076]=-954;j=e+3|0;return j|0}default:{c[584076]=-957;j=E;return j|0}}break}case 60:{if(P<<24>>24!=60)break k;E=e+2|0;if((a[E>>0]|0)==62){c[584076]=-955;j=e+3|0;return j|0}else{c[584076]=-958;j=E;return j|0}break}case 94:{if(P<<24>>24!=94)break k;c[584076]=-953;j=e+2|0;return j|0}default:break k}}while(0);if(Q&P<<24>>24==46){c[584076]=-964;j=e+2|0;return j|0}}while(0);if(i<<24>>24==47&P<<24>>24==47){c[584076]=-995;C=e;D=f;l:while(1){switch(D<<24>>24){case 0:case 10:{j=C;break l;break}default:{}}E=C+1|0;C=E;D=a[E>>0]|0}return j|0}else R=O}while(0);if(Vs(e,65020,9)|0){c[584076]=i<<24>>24;j=R;return j|0}c[584076]=-962;R=e;e=f;m:while(1){switch(e<<24>>24){case 0:case 10:{j=R;break m;break}default:{}}f=R+1|0;R=f;e=a[f>>0]|0}return j|0}function lh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ia;Ia=Ia+16|0;f=e+8|0;g=e;if((Ht(b)|0)>>>0>15){Ia=e;return}h=c[9018]|0;i=a[b>>0]|0;if(!(i<<24>>24))j=h;else{k=b;l=h;h=i;while(1){i=(B(l,h<<24>>24)|0)&8191^7266;k=k+1|0;h=a[k>>0]|0;if(!(h<<24>>24)){j=i;break}else l=i}}l=1250944+(j*20|0)+16|0;h=1250944+(j*20|0)|0;if((c[l>>2]|0)==0?(a[h>>0]|0)==0:0){c[l>>2]=d;qs(h,b)|0;Ia=e;return}c[g>>2]=h;c[g+4>>2]=b;_u(58899,g)|0;c[f>>2]=h;c[f+4>>2]=b;Xs(1671456,58899,f)|0;hn(1671456);ya(0)}function mh(a){a=a|0;if(c[584075]|0)return;c[584075]=1;c[9018]=a;Av(1250944,0,163840)|0;lh(58930,-993);lh(58939,-992);lh(58943,-991);lh(58947,-990);lh(58950,-989);lh(58955,-988);lh(58960,-987);lh(58967,-986);lh(58973,-974);lh(58977,-973);lh(58981,-972);lh(58984,-985);lh(58987,-983);lh(58993,-982);lh(59e3,-981);lh(59007,-980);lh(59013,-979);lh(59018,-978);lh(59322,-963);lh(59327,-963);lh(59024,-963);lh(59028,-984);lh(59031,-977);lh(59039,-977);lh(59043,-977);lh(59052,-977);lh(59058,-977);if((c[584074]|0)<=0)return;a=0;do{lh(1169024+(a<<6)|0,-977);a=a+1|0}while((a|0)<(c[584074]|0));return}function nh(b){b=b|0;var c=0;c=kh(b)|0;if(!c)return 0;else return ((c|0)==(b|0)&(a[c>>0]|0)!=0?c+1|0:c)|0;return 0}function oh(b){b=b|0;var d=0,e=0;mh(c[9018]|0);c[584076]=0;c[584077]=0;c[584079]=b;d=kh(b)|0;if(!d){e=0;return e|0}e=(d|0)==(b|0)&(a[d>>0]|0)!=0?d+1|0:d;return e|0}function ph(){return c[584076]|0}function qh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=-1;e=0;while(1){if((d|0)==-1){mh(c[9018]|0);c[584076]=0;c[584077]=0;c[584079]=b;f=kh(b)|0;if(!f){g=0;h=0}else{g=0;h=(f|0)==(b|0)&(a[f>>0]|0)!=0?f+1|0:f}}else{if(!(a[e>>0]|0))break;f=kh(e)|0;if(!f){g=d;h=0}else{g=d;h=(f|0)==(e|0)&(a[f>>0]|0)!=0?f+1|0:f}}switch(c[584076]|0){case -960:case -962:case 58:case 44:case 46:case -992:case 93:case 125:case 41:case 59:case -1e3:case -983:case -995:case -999:{i=g;break}default:i=g+1|0}d=i;e=h}return d|0}function rh(){var a=0,b=0,d=0,e=0,f=0;a=Om(c[(c[18988]|0)+4>>2]|0,0)|0;b=c[18988]|0;d=c[b+44588>>2]|0;if(!(c[(c[d>>2]|0)+16>>2]|0))e=-4;else{f=c[b+4>>2]|0;e=(B(c[f>>2]<<1,c[f+4>>2]|0)|0)+260|0}os(a,d,e)|0;jp(c[(c[18988]|0)+4>>2]|0,c[(c[792785]|0)+8>>2]|0,0,0,0,0,128,128);c[473571]=1;return}function sh(a){a=a|0;return}function th(){return}function uh(){return}function vh(){return}function wh(a){a=a|0;return}function xh(){return}function yh(){return}function zh(){var b=0;b=c[804558]|0;return (((b|0)==15?1:(a[c[c[804555]>>2]>>0]|0)!=0)?16:((b|0)==14?1:(a[c[c[804554]>>2]>>0]|0)!=0)?15:((b|0)==13?1:(a[c[c[804553]>>2]>>0]|0)!=0)?14:((b|0)==12?1:(a[c[c[804552]>>2]>>0]|0)!=0)?13:((b|0)==11?1:(a[c[c[804551]>>2]>>0]|0)!=0)?12:((b|0)==10?1:(a[c[c[804550]>>2]>>0]|0)!=0)?11:((b|0)==9?1:(a[c[c[804549]>>2]>>0]|0)!=0)?10:((b|0)==8?1:(a[c[c[804548]>>2]>>0]|0)!=0)?9:((b|0)==7?1:(a[c[c[804547]>>2]>>0]|0)!=0)?8:((b|0)==6?1:(a[c[c[804546]>>2]>>0]|0)!=0)?7:((b|0)==5?1:(a[c[c[804545]>>2]>>0]|0)!=0)?6:((b|0)==4?1:(a[c[c[804544]>>2]>>0]|0)!=0)?5:((b|0)==3?1:(a[c[c[804543]>>2]>>0]|0)!=0)?4:((b|0)==2?1:(a[c[c[804542]>>2]>>0]|0)!=0)?3:((b|0)==1?1:(a[c[c[804541]>>2]>>0]|0)!=0)?2:((b|0)==0?1:(a[c[c[804540]>>2]>>0]|0)!=0)&1)|0}function Ah(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=b+4|0;f=b+12|0;b=32;do{g=b<<1;h=0;do{i=c[(c[(c[e>>2]|0)+16>>2]|0)+((h>>>6)+g<<2)>>2]|0;j=h<<1&126;a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+h>>0]=((d[i+(j|1)>>0]|0)<<4)+(d[i+j>>0]|0);h=h+1|0}while((h|0)!=128);b=b+1|0}while((b|0)!=64);return}function Bh(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=b+12|0;f=b+4|0;b=32;do{g=b<<1;h=0;do{i=(h>>>6)+g|0;j=h<<1&126;a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(i<<2)>>2]|0)+j>>0]=a[(c[(c[(c[e>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+h>>0]&15;a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(i<<2)>>2]|0)+(j|1)>>0]=(d[(c[(c[(c[e>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+h>>0]|0)>>>4;h=h+1|0}while((h|0)!=128);b=b+1|0}while((b|0)!=64);return}function Ch(){var b=0,d=0,e=0,f=0,g=0,h=0;b=a[3256658]|0;d=(b&255)<<8;e=a[3256659]|0;f=e<<24>>24==0?256:e&255;if(b<<24>>24>-1){e=(b&-16)<<24>>24==16?d+8192|0:d;b=(e+-8192|0)>>>0>7936?8192:e;g=(16384-b|0)/(f|0)|0;h=b;c[584080]=f;c[584081]=g;c[584082]=h;return}else{g=((65536-d|0)>>>0)/(f>>>0)|0;h=d;c[584080]=f;c[584081]=g;c[584082]=h;return}}function Dh(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;if((a|0)<0){e=0;return e|0}f=c[584080]|0;if(!((b|0)>-1&(f|0)>(a|0)&(c[584081]|0)>(b|0))){e=0;return e|0}g=c[584082]|0;if(!(g&32768))h=(c[(c[(c[808062]|0)+12>>2]|0)+12>>2]|0)+(g+-8192)|0;else h=3232252+g|0;e=d[h+((B(f,b)|0)+a)>>0]|0;return e|0}function Eh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((b|0)<0)return;f=c[584080]|0;if(!((d|0)>-1&(f|0)>(b|0)&(c[584081]|0)>(d|0)))return;g=c[584082]|0;if(g&32768|0){a[3232252+g+((B(f,d)|0)+b)>>0]=e;return}h=(B(f,d)|0)+b|0;a[(c[(c[(c[808062]|0)+12>>2]|0)+12>>2]|0)+(g+-8192)+h>>0]=e;if((h|0)<=4095)return;Ok(3077500,c[808062]|0,h,e);return}function Fh(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;f=Ia;Ia=Ia+2928|0;g=f+2920|0;h=f+2912|0;i=f+2904|0;j=f+2896|0;k=f+2888|0;l=f+2880|0;m=f+1856|0;n=f+832|0;o=f+64|0;p=f+2924|0;q=f;c[p>>2]=0;if(!(c[584084]|0)){c[584084]=1;Av(1414784,0,1920)|0}if(!(c[584083]|0)){r=9;Ia=f;return r|0}c[l>>2]=Hm()|0;Xs(q,59065,l)|0;if(a[3299964]|0){c[k>>2]=3299964;Xs(q,59076,k)|0}k=(e|0)==0;do if(!(Tt(q,37)|0))if(k){Ir(q,n);break}else{gc(q,n);break}else if(k){e=0;while(1){c[j>>2]=e;Xs(m,q,j)|0;Ir(m,n);if(!(ir(n)|0))break;else e=e+1|0}}else{e=0;while(1){c[i>>2]=e;Xs(m,q,i)|0;gc(m,n);if(!(ir(n)|0))break;else e=e+1|0}}while(0);m=El(n,0,p)|0;if(!m){c[h>>2]=c[p>>2];c[h+4>>2]=n;Xs(1671456,59083,h)|0;hn(1671456);s=1}else{c[g>>2]=n;Xs(1671456,59117,g)|0;hn(1671456);g=(b|0)>0?b:c[473625]|0;b=(g|0)<8?g:8;g=(b|0)<1?128:b<<7;b=xn(g,g,8)|0;if((c[584083]|0)>0){g=0;h=18;while(1){p=1414784+(g<<2)|0;i=c[p>>2]|0;if(!i){q=xn(128,128,8)|0;c[p>>2]=q;t=q}else t=i;i=c[t+12>>2]|0;q=0;u=h;do{u=(d[i+q>>0]|0)>15?256:u;q=q+1|0}while((q|0)!=16384);g=g+1|0;if((g|0)>=(c[584083]|0))break;else h=u}if((u|0)>0){v=u;w=25}else x=u}else{v=18;w=25}if((w|0)==25){w=c[769362]|0;u=0;do{a[o+(u*3|0)>>0]=a[w+(u*3|0)>>0]|0;a[o+(u*3|0)+1>>0]=a[w+(u*3|0)+1>>0]|0;a[o+(u*3|0)+2>>0]=a[w+(u*3|0)+2>>0]|0;u=u+1|0}while((u|0)!=(v|0));x=v}v=Dl(1<<(Ml(x)|0),o)|0;o=c[b>>2]|0;c[m>>2]=o;u=b+4|0;w=c[u>>2]|0;c[m+4>>2]=w;c[m+8>>2]=x;c[m+12>>2]=0;c[m+20>>2]=v;a:do if((c[584083]|0)>0){h=b+16|0;g=0;t=o;q=w;while(1){i=1414784+(g<<2)|0;Fn(c[i>>2]|0,b,0,0,t,q,0);p=Nl(m,0)|0;c[p>>2]=0;c[p+4>>2]=0;j=c[b>>2]|0;c[p+8>>2]=j;k=c[u>>2]|0;c[p+12>>2]=k;a[p+16>>0]=0;e=(g|0)!=0;c[p+20>>2]=e?0:v;l=Bl(B(k,j)|0)|0;j=p+24|0;c[j>>2]=l;Av(l|0,0,B(c[u>>2]|0,c[b>>2]|0)|0)|0;l=c[u>>2]|0;if((l|0)>0){k=0;y=l;z=c[b>>2]|0;while(1){if((z|0)>0){A=0;C=z;do{a[(c[j>>2]|0)+((B(C,k)|0)+A)>>0]=(d[(c[(c[h>>2]|0)+(k<<2)>>2]|0)+A>>0]|0)%(x|0)|0;A=A+1|0;C=c[b>>2]|0}while((A|0)<(C|0));D=c[u>>2]|0;E=C}else{D=y;E=z}k=k+1|0;if((k|0)>=(D|0)){F=D;break}else{y=D;z=E}}}else F=l;if(e&(F|0)>0){z=1414784+(g+-1<<2)|0;y=0;k=c[b>>2]|0;while(1){if((k|0)>0){A=0;G=k;while(1){H=c[473625]|0;I=(y|0)/(H|0)|0;J=(A|0)/(H|0)|0;if((a[(c[(c[(c[z>>2]|0)+16>>2]|0)+(I<<2)>>2]|0)+J>>0]|0)==(a[(c[(c[(c[i>>2]|0)+16>>2]|0)+(I<<2)>>2]|0)+J>>0]|0)){J=(B(G,y)|0)+A|0;a[(c[j>>2]|0)+J>>0]=17;K=c[b>>2]|0}else K=G;A=A+1|0;if((A|0)>=(K|0)){L=K;break}else G=K}}else L=k;y=y+1|0;if((y|0)>=(c[u>>2]|0))break;else k=L}}k=(g|0)==0;y=k?3:1;j=p+28|0;c[j>>2]=y;i=Bl(y*12|0)|0;y=p+32|0;c[y>>2]=i;Av(i|0,0,(c[j>>2]|0)*12|0)|0;if(k){k=c[y>>2]|0;c[k+8>>2]=255;c[k>>2]=11;j=Bl(12)|0;c[k+4>>2]=j;qs(j,59136)|0;j=c[y>>2]|0;c[j+20>>2]=0;c[j+12>>2]=3;k=Bl(3)|0;i=j+16|0;c[i>>2]=k;a[k>>0]=1;a[(c[i>>2]|0)+1>>0]=0;a[(c[i>>2]|0)+2>>0]=0;M=2}else M=0;i=c[y>>2]|0;c[i+(M*12|0)+8>>2]=249;c[i+(M*12|0)>>2]=4;y=Bl(4)|0;k=i+(M*12|0)+4|0;c[k>>2]=y;a[y>>0]=1;a[(c[k>>2]|0)+1>>0]=3;a[(c[k>>2]|0)+2>>0]=0;a[(c[k>>2]|0)+3>>0]=17;k=g+1|0;if((k|0)>=(c[584083]|0))break a;g=k;t=c[b>>2]|0;q=c[u>>2]|0}}while(0);u=Ll(m)|0;yn(b)|0;Mb(n,59148,128,128);Cl();n=(u|0)==0;if(n)hn(59152);s=n&1}r=s;Ia=f;return r|0}function Gh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Ia;Ia=Ia+16|0;d=b;if(!(c[584084]|0)){c[584084]=1;Av(1414784,0,1920)|0}if(!(c[473639]|c[473628])){Ia=b;return}Fr(b+8|0,b+4|0,d);yr()|0;d=c[473639]|0;e=c[473628]|0;if((e|0)>0|(d|0)!=0){f=0;g=e;e=d;while(1){d=1414784+(f<<2)|0;if(!(c[d>>2]|0)){c[d>>2]=xn(128,128,8)|0;h=c[473639]|0;i=c[473628]|0}else{h=e;i=g}f=f+1|0;d=(h|0)==0?i*30|0:480;j=(d|0)<480?d:480;if(f>>>0>=((j|0)>0?j:0)>>>0)break;else{g=i;e=h}}}jp(a,c[1414784+(c[584083]<<2)>>2]|0,0,0,0,0,128,128);a=yr()|0;if((a|0)<(c[573942]|0))qb(c[1414784+(c[584083]<<2)>>2]|0);a=c[584083]|0;h=(c[473639]|0)==0?(c[473628]|0)*30|0:480;e=(h|0)<480;if((a|0)<(((h|0)<0?-1:e?h+-1|0:479)|0)){c[584083]=a+1;Ia=b;return}a=c[353696]|0;i=e?h:480;h=(i|0)<0?-1:i+-1|0;if((h|0)>0){e=0;do{g=e;e=e+1|0;c[1414784+(g<<2)>>2]=c[1414784+(((e|0)%(i|0)|0)<<2)>>2]}while((e|0)<(h|0));k=h}else k=0;c[1414784+(k<<2)>>2]=a;Ia=b;return}function Hh(){c[584083]=0;c[473630]=0;return}function Ih(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=Ia;Ia=Ia+16|0;f=e;g=ju(a,65983)|0;if(!g){h=1;Ia=e;return h|0}a=aq(1048576)|0;i=Yu(a,1,1048576,g)|0;pu(g)|0;g=ju(b,66613)|0;if(!g){h=2;Ia=e;return h|0}Nu(59177,6,1,g)|0;if((i|0)>0){b=0;do{c[f>>2]=d[a+b>>0];Eu(g,74510,f)|0;b=b+1|0}while((b|0)!=(i|0))}Nu(59184,7,1,g)|0;pu(g)|0;h=0;Ia=e;return h|0}function Jh(a){a=a|0;yn(c[(c[18988]|0)+44576>>2]|0)|0;a=xn(128,128,8)|0;c[(c[18988]|0)+44576>>2]=a;jp(c[769392]|0,a,0,0,0,0,128,128);return 0}function Kh(){return}function Lh(){return ((c[584083]|0)+15|0)/30|0|0}function Mh(b){b=b|0;c[b>>2]=0;a[b+4>>0]=0;c[b+8>>2]=0;return}function Nh(b){b=b|0;var d=0;if(b<<24>>24>63){d=61;return d|0}d=a[((c[575494]|0)==0?59192:59257)+(b<<24>>24)>>0]|0;return d|0}function Oh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;g=b+d|0;d=f+4|0;h=a[d>>0]|0;switch(c[f>>2]|0){case 0:{i=h;j=e;k=b;l=2;break}case 1:{m=h;n=e;o=b;l=6;break}case 2:{p=h;q=e;r=b;l=10;break}default:{s=0;return s|0}}while(1)if((l|0)==2){l=0;if((k|0)==(g|0)){t=i;u=j;v=0;break}b=a[k>>0]|0;h=b>>>2&63;if((h&255)<<24>>24>63)w=61;else w=a[((c[575494]|0)==0?59192:59257)+h>>0]|0;a[j>>0]=w;m=b<<4&48;n=j+1|0;o=k+1|0;l=6;continue}else if((l|0)==6){l=0;if((o|0)==(g|0)){t=m;u=n;v=1;break}b=a[o>>0]|0;h=b>>>4&15|m&255;if((h&255)<<24>>24>63)x=61;else x=a[((c[575494]|0)==0?59192:59257)+(h<<24>>24)>>0]|0;a[n>>0]=x;p=b<<2&60;q=n+1|0;r=o+1|0;l=10;continue}else if((l|0)==10){l=0;if((r|0)==(g|0)){t=p;u=q;v=2;break}b=a[r>>0]|0;h=b>>>6&3|p&255;if((h&255)<<24>>24>63)y=61;else y=a[((c[575494]|0)==0?59192:59257)+(h<<24>>24)>>0]|0;a[q>>0]=y;h=b&63;b=h&255;if(b<<24>>24>63)z=61;else z=a[((c[575494]|0)==0?59192:59257)+h>>0]|0;a[q+1>>0]=z;h=f+8|0;A=(c[h>>2]|0)+1|0;c[h>>2]=(A|0)==18?0:A;i=b;j=q+2|0;k=r+1|0;l=2;continue}a[d>>0]=t;c[f>>2]=v;s=u-e|0;return s|0}function Ph(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;switch(c[d>>2]|0){case 1:{e=a[d+4>>0]|0;if(e<<24>>24>63)f=61;else f=a[((c[575494]|0)==0?59192:59257)+(e<<24>>24)>>0]|0;a[b>>0]=f;a[b+1>>0]=61;g=b+2|0;h=3;break}case 2:{f=a[d+4>>0]|0;if(f<<24>>24>63)i=61;else i=a[((c[575494]|0)==0?59192:59257)+(f<<24>>24)>>0]|0;a[b>>0]=i;g=b+1|0;h=2;break}default:{j=b;k=j;l=b;m=k-l|0;return m|0}}a[g>>0]=61;j=b+h|0;k=j;l=b;m=k-l|0;return m|0}function Qh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[575494]|0;if((c[9019]|0)!=(d|0)){Av(1416704,-1,1024)|0;e=(d|0)==0?59192:59257;f=0;do{if((f&255)<<24>>24>63)g=61;else g=a[e+(f<<24>>24)>>0]|0;c[1416704+(g<<24>>24<<2)>>2]=f;f=f+1|0}while((f|0)!=64);c[9019]=d}if(b<<24>>24<0){h=-1;return h|0}h=c[1416704+(b<<24>>24<<2)>>2]|0;return h|0}function Rh(b){b=b|0;c[b>>2]=0;a[b+4>>0]=0;return}function Sh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;h=g+4|0;a[f>>0]=a[h>>0]|0;switch(c[g>>2]|0){case 0:{i=f;j=b;k=b+e|0;l=6;break}case 1:{m=f;n=b;o=b+e|0;l=18;break}case 2:{p=f;q=b;r=b+e|0;l=30;break}case 3:{s=f;t=b;u=b+e|0;l=42;break}default:{v=0;return v|0}}a:while(1)if((l|0)==6){l=0;e=j;do{if((e|0)==(k|0)){w=i;x=0;break a}b=e;e=e+1|0;y=a[b>>0]|0;b=c[575494]|0;if((c[9019]|0)!=(b|0)){Av(1416704,-1,1024)|0;z=(b|0)==0?59192:59257;A=0;do{if((A&255)<<24>>24>63)B=61;else B=a[z+(A<<24>>24)>>0]|0;c[1416704+(B<<24>>24<<2)>>2]=A;A=A+1|0}while((A|0)!=64);c[9019]=b}if(y<<24>>24<0)C=-1;else C=c[1416704+(y<<24>>24<<2)>>2]|0}while((C&128|0)!=0);a[i>>0]=C<<2;m=i;n=e;o=k;l=18;continue}else if((l|0)==18){l=0;A=n;do{if((A|0)==(o|0)){w=m;x=1;break a}z=A;A=A+1|0;D=a[z>>0]|0;z=c[575494]|0;if((c[9019]|0)!=(z|0)){Av(1416704,-1,1024)|0;E=(z|0)==0?59192:59257;F=0;do{if((F&255)<<24>>24>63)G=61;else G=a[E+(F<<24>>24)>>0]|0;c[1416704+(G<<24>>24<<2)>>2]=F;F=F+1|0}while((F|0)!=64);c[9019]=z}if(D<<24>>24<0)H=-1;else H=c[1416704+(D<<24>>24<<2)>>2]|0}while((H&128|0)!=0);e=m+1|0;a[m>>0]=H>>>4&3|(d[m>>0]|0);a[e>>0]=H<<4;p=e;q=A;r=o;l=30;continue}else if((l|0)==30){l=0;e=q;do{if((e|0)==(r|0)){w=p;x=2;break a}F=e;e=e+1|0;E=a[F>>0]|0;F=c[575494]|0;if((c[9019]|0)!=(F|0)){Av(1416704,-1,1024)|0;y=(F|0)==0?59192:59257;b=0;do{if((b&255)<<24>>24>63)I=61;else I=a[y+(b<<24>>24)>>0]|0;c[1416704+(I<<24>>24<<2)>>2]=b;b=b+1|0}while((b|0)!=64);c[9019]=F}if(E<<24>>24<0)J=-1;else J=c[1416704+(E<<24>>24<<2)>>2]|0}while((J&128|0)!=0);A=p+1|0;a[p>>0]=J>>>2&15|(d[p>>0]|0);a[A>>0]=J<<6;s=A;t=e;u=r;l=42;continue}else if((l|0)==42){l=0;A=t;do{if((A|0)==(u|0)){w=s;x=3;break a}b=A;A=A+1|0;y=a[b>>0]|0;b=c[575494]|0;if((c[9019]|0)!=(b|0)){Av(1416704,-1,1024)|0;D=(b|0)==0?59192:59257;z=0;do{if((z&255)<<24>>24>63)K=61;else K=a[D+(z<<24>>24)>>0]|0;c[1416704+(K<<24>>24<<2)>>2]=z;z=z+1|0}while((z|0)!=64);c[9019]=b}if(y<<24>>24<0)L=-1;else L=c[1416704+(y<<24>>24<<2)>>2]|0}while((L&128|0)!=0);a[s>>0]=L&63|(d[s>>0]|0);i=s+1|0;j=A;k=u;l=6;continue}c[g>>2]=x;a[h>>0]=a[w>>0]|0;v=w-f|0;return v|0}function Th(){return}function Uh(){return}function Vh(){return 0}function Wh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=Ia;Ia=Ia+16|0;d=b;e=b+4|0;f=c[807089]&15;c[e>>2]=0;g=ud(a)|0;if(!g){h=0;Ia=b;return h|0}i=yd(a,1)|0;do if((i+-3|0)>>>0>=2)if((i|0)==1){j=(Dd(a,1)|0)==0;k=j?59327:59322;c[e>>2]=Ht(k)|0;l=k;break}else{c[d>>2]=zd(a,i)|0;Xs(1676064,59378,d)|0;c[e>>2]=Ht(1676064)|0;l=1676064;break}else l=Ed(a,1,e)|0;while(0);if((g|0)==2){d=c[807089]&255;if((ud(a)|0)>=2){i=Ad(a,2,0)|0;k=i>>>16&255;c[807089]=k;if(!((i&268435456|0)==0|(c[807110]|0)!=1)?(j=i>>>8&65536|i&65535,c[807105]=j,(i&33554432|0)!=0):0){c[807105]=j|131072;m=k}else m=k}else m=d;d=c[3228148+((m&15)<<2)>>2]&15;if(!(c[807105]&262144)){n=c[3228148+(m>>>4<<2)>>2]<<4&240|d;o=0}else{n=c[3228276+(d<<2)>>2]|0;o=0}}else if((g|0)>2){d=(Ad(a,2,0)|0)>>16;m=(Ad(a,3,0)|0)>>16;c[807090]=d;c[807092]=d;c[807091]=m;if((g|0)!=3){m=c[807089]&255;if((ud(a)|0)>=4){d=Ad(a,4,0)|0;k=d>>>16&255;c[807089]=k;if(!((d&268435456|0)==0|(c[807110]|0)!=1)?(j=d>>>8&65536|d&65535,c[807105]=j,(d&33554432|0)!=0):0){c[807105]=j|131072;p=k}else p=k}else p=m;m=c[3228148+((p&15)<<2)>>2]&15;if(!(c[807105]&262144)){n=c[3228148+(p>>>4<<2)>>2]<<4&240|m;o=1}else{n=c[3228276+(m<<2)>>2]|0;o=1}}else{n=f;o=1}}else{n=f;o=0}f=(g|0)<3?32:0;g=o|(c[806968]|0)!=0?f:f|16;c[584085]=0;if(!(Lk(c[769383]|0,l,c[e>>2]|0,g,n)|0)){Jd(a,c[584085]<<16);h=1;Ia=b;return h|0}Tg();a=c[824513]|0;if((a|0)==30){Tg();q=c[824513]|0}else q=a;if((q|0)==15){Tg();Tg()}vb();al();c[769394]=0;Ym();vg();c[769379]=0;if(c[474576]|0){c[806967]=2;c[807091]=0;c[807090]=0;c[807092]=0}if(c[473630]|0){db(0);Gh(c[769392]|0)}wg();h=0;Ia=b;return h|0}function Xh(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=Ia;Ia=Ia+2048|0;h=g+1024|0;i=g;if((b|0)==0|(d|0)==0){j=1;Ia=g;return j|0}k=Ht(b)|0;l=Ht(3218236)|0;if((e|0)>1023|(k+4+l+(Ht(3219260)|0)|0)>>>0>=e>>>0){j=1;Ia=g;return j|0}qs(h,b)|0;if(Hu(h,66713)|0){j=1;Ia=g;return j|0}b=a[h>>0]|0;a:do if(b<<24>>24){e=h;l=b;b:while(1){if(!((l+-97&255)<26|(l+-48&255)<10))switch(l<<24>>24){case 32:case 46:case 47:case 95:break;default:{j=1;break b}}e=e+1|0;l=a[e>>0]|0;if(!(l<<24>>24))break a}Ia=g;return j|0}while(0);Do(h,0,0,i);if(59333){b=1616;l=0;e=59333;do{k=(xt(i,e)|0)==0;l=k?1:l;b=b+4|0;e=c[b>>2]|0}while((e|0)!=0);if(!l)m=13}else m=13;if((m|0)==13){m=h+(Ht(h)|0)|0;a[m>>0]=a[59333]|0;a[m+1>>0]=a[59334]|0;a[m+2>>0]=a[59335]|0;a[m+3>>0]=a[59336]|0;a[m+4>>0]=a[59337]|0}if(!f){gc(h,d);j=0;Ia=g;return j|0}else{Ir(h,d);j=0;Ia=g;return j|0}return 0}function Yh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;b=(a+-46|0)>>>0<11;d=b?a+-30|0:a;if(b){if((d&-8|0)==16?(b=d&3,a=c[1897944+(b*20|0)+4>>2]|0,(a|0)!=0):0){e=d&-4;if((e|0)==16){f=c[808062]|0;g=0;h=-65536;while(1){i=(a|0)==(f+16+(g*660|0)|0)?g<<16:h;g=g+1|0;if((g|0)==64){j=i;break}else h=i}}else j=-65536;if((e|0)==20)k=c[1897944+(b*20|0)+8>>2]<<16;else k=j}else k=-65536;if((d+-24|0)>>>0>=3){l=k;return l|0}if(!(c[474507]|0)){l=-65536;return l|0}if((d|0)!=26){l=(d|0)==25?c[474510]<<16:(d|0)==24?c[474509]<<16:-65536;return l|0}l=c[474506]<<16;return l|0}k=d&-4;if((k|0)==16){j=Hq(d+-16|0)|0;b=c[808062]|0;e=-65536;h=0;do{e=(j|0)==(b+16+(h*660|0)|0)?h<<16:e;h=h+1|0}while((h|0)!=64);if((e|0)==-65536){h=Hq(d+-12|0)|0;b=c[808062]|0;j=0;g=-65536;while(1){f=(h|0)==(b+16+(j*660|0)|0)?j<<16:g;j=j+1|0;if((j|0)==64){m=f;break}else g=f}}else m=e}else m=-65536;do if((k|0)==20){e=Hq(d+-20|0)|0;if(!e){g=Hq(d+-16|0)|0;if(!g){n=m;break}else o=g}else o=e;n=(Gq(o)|0)<<16}else n=m;while(0);if(!(Sq()|0)){l=n;return l|0}if((d|0)!=26){l=(d|0)==25?c[584663]<<16:(d|0)==24?c[584664]<<16:n;return l|0}l=(Vq()|0)<<16;return l|0}function Zh(a){a=a|0;Pd(a,6,0);Ud(a,59383);Pd(a,7,0);Ud(a,59398);Pd(a,8,0);Ud(a,59408);Pd(a,9,0);Ud(a,59419);Pd(a,10,0);Ud(a,59426);Pd(a,11,0);Ud(a,59434);Pd(a,12,0);Ud(a,59443);Pd(a,13,0);Ud(a,59451);Pd(a,14,0);Ud(a,59458);Pd(a,15,0);Ud(a,59467);Pd(a,15,0);Ud(a,59480);Pd(a,16,0);Ud(a,59489);Pd(a,17,0);Ud(a,59496);Pd(a,18,0);Ud(a,59505);Pd(a,19,0);Ud(a,59516);Pd(a,20,0);Ud(a,59542);Pd(a,21,0);Ud(a,59545);Pd(a,22,0);Ud(a,59551);Pd(a,23,0);Ud(a,59555);Pd(a,24,0);Ud(a,59558);Pd(a,13,0);Ud(a,59564);Pd(a,25,0);Ud(a,59569);Pd(a,26,0);Ud(a,59574);Pd(a,27,0);Ud(a,59579);Pd(a,28,0);Ud(a,59586);Pd(a,29,0);Ud(a,59592);Pd(a,29,0);Ud(a,59601);Pd(a,30,0);Ud(a,59606);Pd(a,31,0);Ud(a,59611);Pd(a,32,0);Ud(a,59618);return}function _h(a){a=a|0;var b=0;if(!(c[769380]|0))return 0;b=Ad(a,1,0)|0;if((b|0)<-1114112)return 0;c[584060]=(c[584060]|0)+(b>>16<<1);return 0}function $h(a){a=a|0;if((c[769397]|0)>0)return 0;c[806967]=2;c[807098]=0;c[807097]=0;Wh(a)|0;wg();return 0}function ai(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Ia;Ia=Ia+2096|0;e=d+2080|0;f=d+2072|0;g=d+2064|0;h=d+1040|0;i=d;j=d+2084|0;c[j>>2]=0;if(!(ud(b)|0)){Ia=d;return 0}k=yd(b,1)|0;do if((k+-3|0)>>>0>=2)if((k|0)==1){l=(Dd(b,1)|0)==0;m=l?59327:59322;c[j>>2]=Ht(m)|0;n=m;break}else{c[g>>2]=zd(b,k)|0;Xs(1676064,59378,g)|0;c[j>>2]=Ht(1676064)|0;n=1676064;break}else n=Ed(b,1,j)|0;while(0);if((ud(b)|0)<=1){g=hs(n,0,1)|0;Vu(g)|0;ru(c[9036]|0)|0;cq(g);Ia=d;return 0}g=Ed(b,2,0)|0;if(!g){Ia=d;return 0}if((ud(b)|0)>2)o=Dd(b,3)|0;else o=0;if(!(xt(g,60247)|0)){k=hs(n,0,1)|0;Rr(k)|0;if((Sr(k)|0)==0?(Wn(-5)|0)==0:0)fb(61262,1500);m=c[474485]|0;if(m|0)cq(m);c[474485]=k;Ia=d;return 0}if((ud(b)|0)>3)p=Dd(b,4)|0;else p=0;if(Xh(g,h,1023,p)|0){Bb(61292)|0;Ia=d;return 0}p=c[573268]|0;g=(Ht(n)|0)+p|0;if(g>>>0>10485759){Bb(61318)|0;Ia=d;return 0}c[573268]=g;c[f>>2]=h;Xs(i,61355,f)|0;do if(!(Hu(2227536,i)|0)){f=0;g=0;a:while(1){switch(a[2227536+f>>0]|0){case 0:{break a;break}case 124:{q=g+1|0;break}default:q=g}f=f+1|0;g=q}if((g|0)<=63){Rt(2227536,i)|0;break}Bb(61359)|0;Ia=d;return 0}while(0);i=ju(h,(o|0)==0?61381:66613)|0;if(!i){fb(61387,1500);Ia=d;return 0}o=hs(n,0,1)|0;h=Ht(n)|0;if(h>>>0<(c[j>>2]|0)>>>0)Mu(o,i)|0;else{c[e>>2]=o;Eu(i,61383,e)|0}pu(i)|0;cq(o);Ia=d;return 0}function bi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=Ia;Ia=Ia+32|0;d=b+24|0;e=b+16|0;f=b+8|0;g=b;h=yd(a,1)|0;dh(2);if(!(ud(a)|0)){Ld(a,3300628)|0;Ia=b;return 1}switch(h|0){case 4:{vd(a,1);Ia=b;return 1}case 3:{do if((ud(a)|0)>1){if((yd(a,2)|0)==1)i=(Dd(a,2)|0)!=0&1;else i=(Ad(a,2,0)|0)>>16;if(!(i&1)){if(!(i&2))break;c[e>>2]=Ad(a,1,0)|0;Xs(1676064,65660,e)|0;Ld(a,1676064)|0;Ia=b;return 1}j=Ad(a,1,0)|0;if(!(i&2)){c[f>>2]=j>>>16;c[f+4>>2]=j&65535;Xs(1676064,61250,f)|0}else{c[g>>2]=j;Xs(1676064,61243,g)|0}Ld(a,1676064)|0;Ia=b;return 1}while(0);Ld(a,Ed(a,1,0)|0)|0;Ia=b;return 1}case 1:{g=(Dd(a,1)|0)==0;Ld(a,g?59327:59322)|0;Ia=b;return 1}default:{c[d>>2]=zd(a,h)|0;Xs(1676064,59378,d)|0;Ld(a,1676064)|0;Ia=b;return 1}}return 0}function ci(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=Ia;Ia=Ia+7200|0;e=d+7184|0;f=d+7168|0;g=d+6144|0;h=d+5120|0;i=d+4096|0;j=d+3072|0;k=d+2048|0;l=d+1024|0;m=d;n=d+7196|0;c[n>>2]=255;if((c[769397]|0)>0){o=0;Ia=d;return o|0}Ol()|0;if((yd(b,1)|0)!=4){o=0;Ia=d;return o|0}if((ud(b)|0)<=1)if(!(c[806968]|0)){yg();p=0}else p=0;else p=Ed(b,2,0)|0;if((ud(b)|0)>2?(Ed(b,3,0)|0)!=0:0)Qu(3230833,Ed(b,3,0)|0,1024)|0;else a[3230833]=0;if((ud(b)|0)<=0){o=0;Ia=d;return o|0}q=Ed(b,1,n)|0;if(!q){o=0;Ia=d;return o|0}c[473645]=0;qs(k,3221316)|0;qs(m,3219260)|0;if((a[q>>0]|0)==47){qs(m,3300628)|0;r=q+1|0}else r=q;qs(g,r)|0;a:do switch(a[r>>0]|0){case 95:{if((a[r+1>>0]|0)==95)s=43;else s=28;break}case 35:{c[473642]=0;c[473645]=0;if(!(c[806968]|0))Hg(60983,0,0);q=r+1|0;m=a[q>>0]|0;b:do if(m<<24>>24){n=q;t=m;c:while(1){if(!((t+-48&255)<10|((t&-33)+-65&255)<26))switch(t<<24>>24){case 45:case 95:break;default:break c}n=n+1|0;t=a[n>>0]|0;if(!(t<<24>>24))break b}Bb(60998)|0;u=1;break a}while(0);m=xm()|0;c[f>>2]=64305;c[f+4>>2]=m;c[f+8>>2]=q;Xs(l,61015,f)|0;vm(l,gm(q)|0,0);c[806970]=30;if((p|0)!=0?(Ht(p)|0)>>>0>1:0){xg(k,p,1);u=100}else u=100;break}default:s=28}while(0);d:do if((s|0)==28){do if(!(xt(r,61064)|0)){l=c[574464]|0;if(!l){s=43;break d}Yb(l,61073);c[574464]=0;qs(3221316,3300628)|0;Hg(61084,Ht(c[c[18988]>>2]|0)|0,0)}else{if(((xt(r,60247)|0?xt(r,60253)|0:0)?xt(r,60262)|0:0)?xt(r,60272)|0:0){if(ac(g)|0){s=43;break d}Do(3221316,h,i,j);l=Ht(c[c[18988]>>2]|0)|0;c[e>>2]=i;c[e+4>>2]=j;c[e+8>>2]=l;Xs(1676064,61142,e)|0;if(c[806968]|0)break;Gg(1676064);break}Gg(61112);u=1;break d}while(0);if(p|0?(Ht(p)|0)>>>0>1:0)xg(k,p,0);Og();q=c[804556]|0;l=q+336|0;c[q+324>>2]=0;c[q+320>>2]=0;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[l+12>>2]=0;Tk(3077500,c[808062]|0,0,0,17152);dh(8388608);if((c[769398]|0)==0&(c[806968]|0)!=0?(c[806967]=1,(xt(3221316,k)|0)!=0):0){c[806970]=30;u=0}else u=0}while(0);if((s|0)==43)if(!(c[806968]|0)){switch(c[805616]|0){case 1:{Gg(61165);break}case 2:{Gg(61196);break}default:Gg(61228)}c[805616]=0;u=1}else u=1;switch(u&127){case 100:{wg();Qd(b,0);o=1;Ia=d;return o|0}case 0:{Qd(b,1);o=1;Ia=d;return o|0}default:{Qd(b,0);o=1;Ia=d;return o|0}}return 0}function di(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Ia;Ia=Ia+16|0;e=d+8|0;f=d;g=Ed(b,1,0)|0;h=Ed(b,2,0)|0;i=(Ad(b,2,0)|0)>>16;j=(Ad(b,3,0)|0)>>16;if(!g){Ia=d;return 0}if(!(xt(g,60640)|0)){db(0);Jh(c[769392]|0)|0;fb(60646,1500);Ia=d;return 0}if(!(xt(g,60658)|0)){db(0);if(fc(c[769392]|0,i,j)|0){fb(60665,1500);Ia=d;return 0}if(!j){fb(60706,1500);Ia=d;return 0}else{fb(60694,1500);Ia=d;return 0}}if(!(xt(g,60727)|0)){Hh();Ia=d;return 0}if(!(xt(g,60731)|0)){Hh();c[473630]=1;Ia=d;return 0}if(!(xt(g,60742)|0)){c[473630]=0;db(0);b=Fh(i,j)|0;k=c[584083]|0;c[f>>2]=b;c[f+4>>2]=k;_u(60748,f)|0;if((b|0)==9){fb(60793,1500);Ia=d;return 0}if((b|0)>0){fb(60822,1500);Ia=d;return 0}b=Lh()|0;if(!j){zb(60864,1500,b,0);Ia=d;return 0}else{zb(60844,1500,b,0);Ia=d;return 0}}if(!(xt(g,60888)|0)){Uq();Ia=d;return 0}if(!(xt(g,60898)|0)){Ia=d;return 0}if(!(xt(g,60908)|0)){c[474480]=1;ub();if(i|0){Ia=d;return 0}c[474482]=0;Ia=d;return 0}if(!(xt(g,60914)|0)){c[474480]=3;ub();c[474482]=0;Ia=d;return 0}if(!(xt(g,59586)|0)){if(c[769397]|0){Ia=d;return 0}i=yr()|0;if((i|0)<=((c[573678]|0)+500|0)){Ia=d;return 0}c[769397]=1;c[573678]=yr()|0;Ia=d;return 0}if(!((xt(g,60923)|0)!=0?(xt(g,60934)|0)!=0:0))l=37;if((l|0)==37?Ag()|0:0){Dg();wg();Ia=d;return 0}if(!(xt(g,59592)|0)){c[806967]=2;wg();Ia=d;return 0}if(!((a[3224776]|0)!=0&(c[806968]|0)!=0|(c[473572]|0)!=0)?(h|0)!=0&(xt(g,60942)|0)==0:0){en(h);Ia=d;return 0}if(xt(g,60952)|0){c[e>>2]=g;Xs(1676064,60965,e)|0;fb(1676064,2e3);Ia=d;return 0}if(!h)a[3299964]=0;else Qu(3299964,h,63)|0;h=3299964;a:while(1){switch(a[h>>0]|0){case 0:{break a;break}case 46:{a[h>>0]=0;break}default:{}}h=h+1|0}Ia=d;return 0}function ei(a){a=a|0;return Yf(a)|0}function fi(a){a=a|0;var b=0;if((ud(a)|0)==1?(yd(a,1)|0)==3:0){rg((Ad(a,1,0)|0)/65536|0);b=0;return b|0}Qd(a,qg()|0);b=1;return b|0}function gi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=Ia;Ia=Ia+3936|0;e=d+3104|0;f=d+3088|0;g=d+3080|0;h=d+3072|0;i=d+2048|0;j=d+1024|0;k=d;l=d+3112|0;Eo(3218236,k);if((c[769398]|0)==0&(c[806968]|0)!=0){Ia=d;return 0}if((ud(b)|0)>0?(m=Ed(b,1,0)|0,m|0):0){if((Ht(m)|0)>>>0>511){Ia=d;return 0}if((a[m>>0]|0)==47){c[g>>2]=k;c[g+4>>2]=m+1;Xs(i,60599,g)|0}else{c[f>>2]=k;c[f+4>>2]=3219260;c[f+8>>2]=m;Xs(i,60576,f)|0}Eo(i,j);if((a[k>>0]|0)!=46?(Hu(j,k)|0)==0:0){Eg(60605,7);Ia=d;return 0}i=fr(j,64328,l,-1)|0;hr(l)|0;if(i|0){Eg(60616,7);Ia=d;return 0}if((a[k>>0]|0)==46)qs(3219260,j)|0;else qs(3219260,j+(Ht(k)|0)|0)|0;if(!(xt(3219260,67337)|0))a[3219260]=0;c[e>>2]=3219260;Xs(1676064,60636,e)|0;Eg(1676064,12);Ia=d;return 0}c[h>>2]=3219260;Xs(1676064,60584,h)|0;Eg(1676064,12);Ia=d;return 0}function hi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=Ia;Ia=Ia+1040|0;d=b+1024|0;e=b;if((c[769398]|0)==0&(c[806968]|0)!=0){f=0;Ia=b;return f|0}if((ud(a)|0)<1){Gg(60563);f=0;Ia=b;return f|0}g=Ed(a,1,0)|0;if(!g){f=0;Ia=b;return f|0}if((Ht(g)|0)>>>0>511){Jd(a,0);f=1;Ia=b;return f|0}else{c[d>>2]=3218236;c[d+4>>2]=3219260;c[d+8>>2]=g;Xs(e,60576,d)|0;Kr(e)|0;f=0;Ia=b;return f|0}return 0}function ii(b){b=b|0;if((c[769397]|0)>0)return 0;if((ud(b)|0)<=0){if(!(c[806968]|0)){a[3230833]=0;a[3229808]=0}}else Qu(3230833,Ed(b,1,0)|0,1024)|0;c[769397]=3;wg();return 0}function ji(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=Ia;Ia=Ia+1856|0;e=d+1024|0;f=d+1032|0;g=d;c[824857]=17;a[2293080]=0;h=(c[806968]|0)==0;i=(ud(b)|0)>0;if(h){if(i)Qu(2293080,Ed(b,1,0)|0,1023)|0;tb();j=0;Ia=d;return j|0}if(i|(c[473570]|0)==0){j=0;Ia=d;return j|0}c[e>>2]=3218236;c[e+4>>2]=3219260;Xs(g,74247,e)|0;fr(g,64328,f,-1)|0;Td(b,0,100);g=f+256|0;e=1;while(1){if((Hu(g,64330)|0)!=0?(Tt(g,126)|0)==0:0){Ld(b,g)|0;Vd(b,-2,e);dh(32);k=e+1|0}else k=e;if(!(gr(f)|0))e=k;else{j=1;break}}Ia=d;return j|0}function ki(a){a=a|0;Gg(60545);Id(a);return 1}function li(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=Ia;Ia=Ia+4128|0;e=d+4112|0;f=d+4096|0;g=d+4120|0;h=d+3072|0;i=d+2048|0;j=d+1024|0;k=d;c[g>>2]=255;l=(c[769398]|0)==0;if(l&(c[806968]|0)!=0){Gg(60197);Ia=d;return 0}if(!l){l=0;do{m=c[18988]|0;Ok(0,m,l,Pk(3077500,c[808062]|0,l)|0);l=l+1|0}while((l|0)!=17152)}if((ud(b)|0)>0?(yd(b,1)|0)==4:0){l=Ed(b,1,g)|0;if((Ht(l)|0)>>>0>511){Gg(60224);Ia=d;return 0}if(l|0?(g=a[l>>0]|0,g<<24>>24):0){if(!(xt(l,60242)|0)){Xg();pc(c[18988]|0);Ia=d;return 0}if(((xt(l,60247)|0?xt(l,60253)|0:0)?xt(l,60262)|0:0)?xt(l,60272)|0:0){b=l;m=1;n=g;do{m=n<<24>>24>122|(n<<24>>24==96|((n+-91&255)<4|((n+-58&255)<6|n<<24>>24!=32&n<<24>>24<46)))?0:m;b=b+1|0;n=a[b>>0]|0}while(n<<24>>24!=0);if(!m){Eg(60456,9);Eg(60472,14);Gg(l);Ia=d;return 0}c[f>>2]=3218236;c[f+4>>2]=3219260;c[f+8>>2]=l;Xs(h,60490,f)|0;Ub(h,h);do if(ir(h)|0){if(c[824859]|0){c[824859]=0;break}Gg(60497);Eg(60517,14);c[824859]=1;Ia=d;return 0}while(0);if(Xb(h)|0){Ia=d;return 0}qs(3221316,h)|0;Do(h,i,j,k);c[e>>2]=j;c[e+4>>2]=k;Xs(1676064,60534,e)|0;Gg(1676064);Lb(h);Ia=d;return 0}Xg();if(!(c[(c[18988]|0)+44576>>2]|0)){Eg(60285,9);Eg(60309,10)}Gr(60340,i);if(((Pb(c[18988]|0,i)|0)==0?(Gr(60353,h),(Ih(i,h)|0)==0):0)?(Vr(h)|0)==0:0){Tr();i=yo(h)|0;if(i|0){no(0,i);Sr(c[i+12>>2]|0)|0;fq(i)}Gg(60370);Gg(60399);Ia=d;return 0}Gg(60428);Ia=d;return 0}}dc(1);Lb(3221316);Ia=d;return 0}function mi(a){a=a|0;if((c[769398]|0)==0&(c[806968]|0)!=0)return 0;Gg(3300628);Eg(59815,12);Gg(3300628);Gg(59824);Gg(59857);Gg(59881);Gg(59905);Gg(59925);Gg(59958);Gg(59990);Eg(60019,14);Gg(3300628);Gg(60052);Gg(60084);Gg(60115);Gg(3300628);Eg(60144,12);Eg(60172,12);Gg(3300628);return 0}function ni(a){a=a|0;if((c[769398]|0)==0&(c[806968]|0)!=0)return 0;if(mc(59787)|0)return 0;if(kc()|0)Wb(3221316,0)|0;c[806967]=3;c[473568]=0;wg();return 0}function oi(a){a=a|0;var b=0,e=0,f=0;a=c[807090]|0;b=c[807092]|0;e=c[807091]|0;f=0;do{Ok(3077500,c[808062]|0,f+24320|0,d[1664+f>>0]|0);f=f+1|0}while((f|0)!=128);f=Fa(0)|0;ml((yr()|0)+f|0);c[807090]=a;c[807092]=b;c[807091]=e;dh(16);return 0}function pi(a){a=a|0;if((c[769398]|0)==0&(c[806968]|0)!=0)return 0;if(mc(59733)|0)return 0;if(kc()|0)Wb(3221316,0)|0;c[584504]=1;Vu(59763)|0;c[473571]=0;wg();return 0}function qi(b){b=b|0;var d=0,e=0,f=0;b=Ia;Ia=Ia+3088|0;d=b+3072|0;e=b+1024|0;f=b;if((c[769398]|0)==0&(c[806968]|0)!=0){Ia=b;return 0}Do(3221316,b+2048|0,e,f);if(a[3221316]|0){if(!(a[f>>0]|0))qs(f,64330)|0;c[d>>2]=e;c[d+4>>2]=f;Xs(1676064,59625,d)|0;Eg(1676064,14)}Xg();d=aq(131072)|0;if(Pm(c[c[18988]>>2]|0,d)|0){cq(d);Ia=b;return 0}f=aq(131072)|0;e=zl(d,f,Ht(d)|0)|0;cq(f);f=qh(d)|0;Ig(59636,f,8192,(f|0)<8193?6:9);f=Ht(d)|0;Ig(59658,f,65535,f>>>0<65536?6:9);Ig(59679,e,15616,(e|0)<15617?6:9);if(kc()|0)Hg(59700,0,0);if(lc()|0)Hg(59716,0,0);cq(d);Ia=b;return 0}function ri(a){a=a|0;return 0}function si(a){a=a|0;return 0} function Va(a){a=a|0;var b=0;b=Ia;Ia=Ia+a|0;Ia=Ia+15&-16;return b|0}function Wa(){return Ia|0}function Xa(a){a=a|0;Ia=a}function Ya(a,b){a=a|0;b=b|0;Ia=a;Ja=b}function Za(){return c[(c[(c[c[769401]>>2]|0)+16>>2]|0)+12>>2]|0}function _a(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;if((c[806968]|0)!=0&(c[806962]|0)==1?a[3256626]&64:0)return;c[807091]=(c[807091]|0)-b;d=128-b|0;e=c[769383]|0;if((d|0)>0){f=0;g=e;while(1){jp(g,g,0,f+b|0,0,f,128,1);f=f+1|0;h=c[769383]|0;if((f|0)==(d|0)){i=d;j=h;break}else g=h}}else{i=0;j=e}un(j,0,i,127,127,0);dh(65536);return}function $a(){var b=0,d=0;b=(c[807091]|0)+(c[807096]|0)|0;c[807091]=b;if((b|0)<=((c[807098]|0)+122|0))return;if((c[806968]|0)!=0&(c[806962]|0)==1?a[3256626]&64:0)return;c[807091]=b+-6;b=0;d=c[769383]|0;do{jp(d,d,0,b+6|0,0,b,128,1);b=b+1|0;d=c[769383]|0}while((b|0)!=122);un(d,0,122,127,127,0);dh(65536);return}function ab(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;b=Ia;Ia=Ia+256|0;d=b+248|0;e=b+240|0;f=b+232|0;g=b+224|0;h=b+216|0;i=b+208|0;j=b+200|0;k=b+192|0;l=b+184|0;m=b+176|0;n=b+168|0;o=b+160|0;p=b+152|0;q=b+144|0;r=b+136|0;s=b+128|0;t=b+120|0;u=b+112|0;v=b+104|0;w=b+96|0;x=b+88|0;y=b+80|0;z=b+72|0;A=b+64|0;B=b+8|0;C=b;D=b+252|0;if(!(Vs(a,36708,9)|0))zo(a+10|0,3218236)|0;if(!(Vs(a,36718,10)|0))zo(a+11|0,3220284)|0;if(!(Vs(a,36729,14)|0)){c[C>>2]=1894296;wu(a+14|0,66349,C)|0}if(!(Vs(a,36744,11)|0)){c[B>>2]=1894352;c[B+4>>2]=1894356;c[B+8>>2]=1894360;c[B+12>>2]=1894364;c[B+16>>2]=1894368;c[B+20>>2]=1894372;c[B+24>>2]=1894376;c[B+28>>2]=1894380;c[B+32>>2]=1894384;c[B+36>>2]=1894388;c[B+40>>2]=1894392;c[B+44>>2]=1894396;c[B+48>>2]=1894400;wu(a+11|0,36756,B)|0}if(!(Vs(a,36796,10)|0)){c[A>>2]=1894480;wu(a+10|0,66349,A)|0}if(!(Vs(a,36807,11)|0)){c[z>>2]=1894508;wu(a+11|0,66349,z)|0}if(!(Vs(a,51372,7)|0)){c[y>>2]=1894512;wu(a+7|0,66349,y)|0}if((Vs(a,64122,6)|0)==0?(c[x>>2]=2294720,wu(a+6|0,66349,x)|0,c[584939]|0):0)c[584939]=c[573680];if(!(Vs(a,36819,9)|0)){c[w>>2]=1894524;wu(a+9|0,66349,w)|0}if(!(Vs(a,51759,16)|0)){c[v>>2]=1894496;wu(a+16|0,66349,v)|0}if(!(Vs(a,51660,9)|0)){c[u>>2]=1894500;wu(a+9|0,66349,u)|0}if(!(Vs(a,36829,12)|0)){c[t>>2]=1894540;wu(a+12|0,66349,t)|0}if(!(Vs(a,36842,20)|0)){c[s>>2]=2294160;wu(a+20|0,66349,s)|0}if(!(Vs(a,36863,22)|0)){c[r>>2]=2294164;wu(a+22|0,66349,r)|0}if(!(Vs(a,36886,14)|0)){c[q>>2]=D;wu(a+14|0,66349,q)|0;c[473637]=(c[D>>2]|0)==2&1}if(!(Vs(a,51083,13)|0)){c[p>>2]=1894548;wu(a+13|0,66349,p)|0}if(!(Vs(a,51865,9)|0)){c[o>>2]=1894484;wu(a+9|0,66349,o)|0}if(!(Vs(a,36901,9)|0)){c[n>>2]=1894488;wu(a+9|0,66349,n)|0}if(!(Vs(a,36911,19)|0)){c[m>>2]=1894340;wu(a+19|0,66349,m)|0}if(!(Vs(a,36931,19)|0)){c[l>>2]=1894336;wu(a+19|0,66349,l)|0}if(!(Vs(a,36951,22)|0)){c[k>>2]=1894344;wu(a+22|0,66349,k)|0}if(!(Vs(a,36974,11)|0)){c[j>>2]=1894532;wu(a+11|0,66349,j)|0}if(!(Vs(a,36986,14)|0)){c[i>>2]=1894492;wu(a+14|0,66349,i)|0}if(!(Vs(a,37001,22)|0)){c[h>>2]=1894332;wu(a+22|0,66349,h)|0}if(!(Vs(a,37024,18)|0)){c[g>>2]=1894324;wu(a+18|0,66349,g)|0}if(!(Vs(a,37043,16)|0)){c[f>>2]=1894328;wu(a+16|0,66349,f)|0}if(!(Vs(a,37060,16)|0)){c[e>>2]=1894320;wu(a+16|0,66349,e)|0}if(Vs(a,37077,14)|0){Ia=b;return 0}c[d>>2]=1894316;wu(a+14|0,66349,d)|0;Ia=b;return 0}function bb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0;b=Ia;Ia=Ia+304|0;d=b+288|0;e=b+280|0;f=b+272|0;g=b+264|0;h=b+256|0;i=b+248|0;j=b+240|0;k=b+232|0;l=b+224|0;m=b+216|0;n=b+208|0;o=b+200|0;p=b+192|0;q=b+184|0;r=b+176|0;s=b+168|0;t=b+160|0;u=b+152|0;v=b+144|0;w=b+136|0;x=b+128|0;y=b+120|0;z=b+112|0;A=b+104|0;B=b+96|0;C=b+88|0;D=b+80|0;E=b+72|0;F=b+64|0;G=b+56|0;H=b+48|0;I=b+40|0;J=b+32|0;K=b+24|0;L=b+16|0;M=b+8|0;N=b;O=a+8|0;a=c[O>>2]|0;c[N>>2]=37105;Eu(a,37092,N)|0;Nu(37112,25,1,c[O>>2]|0)|0;N=c[O>>2]|0;c[M>>2]=c[573680];Eu(N,37138,M)|0;Nu(37150,37,1,c[O>>2]|0)|0;M=c[O>>2]|0;c[L>>2]=3218236;Eu(M,37188,L)|0;Nu(37203,36,1,c[O>>2]|0)|0;L=c[O>>2]|0;c[K>>2]=3220284;Eu(L,37240,K)|0;Nu(37256,65,1,c[O>>2]|0)|0;K=c[O>>2]|0;c[J>>2]=c[473574];Eu(K,37322,J)|0;Nu(37342,70,1,c[O>>2]|0)|0;Nu(37413,12,1,c[O>>2]|0)|0;J=c[O>>2]|0;c[I>>2]=c[473588];Eu(J,37426,I)|0;I=c[O>>2]|0;c[H>>2]=c[473589];Eu(I,37426,H)|0;H=c[O>>2]|0;c[G>>2]=c[473590];Eu(H,37426,G)|0;G=c[O>>2]|0;c[F>>2]=c[473591];Eu(G,37426,F)|0;F=c[O>>2]|0;c[E>>2]=c[473592];Eu(F,37426,E)|0;E=c[O>>2]|0;c[D>>2]=c[473593];Eu(E,37426,D)|0;D=c[O>>2]|0;c[C>>2]=c[473594];Eu(D,37426,C)|0;C=c[O>>2]|0;c[B>>2]=c[473595];Eu(C,37426,B)|0;B=c[O>>2]|0;c[A>>2]=c[473596];Eu(B,37426,A)|0;A=c[O>>2]|0;c[z>>2]=c[473597];Eu(A,37426,z)|0;z=c[O>>2]|0;c[y>>2]=c[473598];Eu(z,37426,y)|0;y=c[O>>2]|0;c[x>>2]=c[473599];Eu(y,37426,x)|0;x=c[O>>2]|0;c[w>>2]=c[473600];Eu(x,37426,w)|0;Nu(37430,2,1,c[O>>2]|0)|0;Nu(37433,52,1,c[O>>2]|0)|0;w=c[O>>2]|0;c[v>>2]=c[473620];Eu(w,37486,v)|0;Nu(37502,70,1,c[O>>2]|0)|0;v=c[O>>2]|0;c[u>>2]=c[473627];Eu(v,37573,u)|0;Nu(37590,125,1,c[O>>2]|0)|0;u=c[O>>2]|0;c[t>>2]=c[473631];Eu(u,37716,t)|0;Nu(37731,52,1,c[O>>2]|0)|0;t=c[O>>2]|0;c[s>>2]=c[473624];Eu(t,37784,s)|0;s=c[O>>2]|0;c[r>>2]=c[473625];Eu(s,37805,r)|0;Nu(37820,68,1,c[O>>2]|0)|0;r=c[O>>2]|0;c[q>>2]=c[473628];Eu(r,37889,q)|0;Nu(37902,101,1,c[O>>2]|0)|0;q=c[O>>2]|0;c[p>>2]=c[473629];Eu(q,38004,p)|0;Nu(38024,104,1,c[O>>2]|0)|0;p=c[O>>2]|0;c[o>>2]=c[573541];Eu(p,38129,o)|0;Nu(38157,28,1,c[O>>2]|0)|0;Nu(38186,68,1,c[O>>2]|0)|0;o=c[O>>2]|0;c[n>>2]=c[473637];Eu(o,38255,n)|0;Nu(38274,36,1,c[O>>2]|0)|0;n=c[O>>2]|0;c[m>>2]=c[473621];Eu(n,38311,m)|0;Nu(38326,59,1,c[O>>2]|0)|0;m=c[O>>2]|0;c[l>>2]=c[473622];Eu(m,38386,l)|0;Nu(38401,109,1,c[O>>2]|0)|0;l=c[O>>2]|0;c[k>>2]=c[473585];Eu(l,38511,k)|0;Nu(38536,53,1,c[O>>2]|0)|0;k=c[O>>2]|0;c[j>>2]=c[473584];Eu(k,38590,j)|0;Nu(38615,90,1,c[O>>2]|0)|0;j=c[O>>2]|0;c[i>>2]=c[473586];Eu(j,38706,i)|0;if(!(c[473623]|0)){P=c[O>>2]|0;Nu(38753,48,1,P)|0;Q=c[O>>2]|0;R=c[473583]|0;c[h>>2]=R;Eu(Q,38802,h)|0;S=c[O>>2]|0;Nu(38830,67,1,S)|0;T=c[O>>2]|0;Nu(38898,62,1,T)|0;U=c[O>>2]|0;V=c[473581]|0;c[g>>2]=V;Eu(U,38961,g)|0;W=c[O>>2]|0;Nu(38985,89,1,W)|0;X=c[O>>2]|0;Y=c[473582]|0;c[f>>2]=Y;Eu(X,39075,f)|0;Z=c[O>>2]|0;Nu(39097,34,1,Z)|0;_=c[O>>2]|0;Nu(39132,26,1,_)|0;$=c[O>>2]|0;Nu(39159,24,1,$)|0;aa=c[O>>2]|0;Nu(39184,29,1,aa)|0;ba=c[O>>2]|0;Nu(39214,30,1,ba)|0;ca=c[O>>2]|0;Nu(39245,30,1,ca)|0;da=c[O>>2]|0;ea=c[473580]|0;c[e>>2]=ea;Eu(da,39276,e)|0;fa=c[O>>2]|0;Nu(39298,70,1,fa)|0;ga=c[O>>2]|0;ha=c[473579]|0;c[d>>2]=ha;Eu(ga,39369,d)|0;Ia=b;return 0}Nu(38734,18,1,c[O>>2]|0)|0;P=c[O>>2]|0;Nu(38753,48,1,P)|0;Q=c[O>>2]|0;R=c[473583]|0;c[h>>2]=R;Eu(Q,38802,h)|0;S=c[O>>2]|0;Nu(38830,67,1,S)|0;T=c[O>>2]|0;Nu(38898,62,1,T)|0;U=c[O>>2]|0;V=c[473581]|0;c[g>>2]=V;Eu(U,38961,g)|0;W=c[O>>2]|0;Nu(38985,89,1,W)|0;X=c[O>>2]|0;Y=c[473582]|0;c[f>>2]=Y;Eu(X,39075,f)|0;Z=c[O>>2]|0;Nu(39097,34,1,Z)|0;_=c[O>>2]|0;Nu(39132,26,1,_)|0;$=c[O>>2]|0;Nu(39159,24,1,$)|0;aa=c[O>>2]|0;Nu(39184,29,1,aa)|0;ba=c[O>>2]|0;Nu(39214,30,1,ba)|0;ca=c[O>>2]|0;Nu(39245,30,1,ca)|0;da=c[O>>2]|0;ea=c[473580]|0;c[e>>2]=ea;Eu(da,39276,e)|0;fa=c[O>>2]|0;Nu(39298,70,1,fa)|0;ga=c[O>>2]|0;ha=c[473579]|0;c[d>>2]=ha;Eu(ga,39369,d)|0;Ia=b;return 0}function cb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;b=Ia;Ia=Ia+32|0;f=b+16|0;g=b+8|0;h=b;c[575495]=0;if(c[574462]|0){Ia=b;return}hc();c[h>>2]=3221316;c[h+4>>2]=1893240;_u(39471,h)|0;h=dq(e)|0;lo(d,1,e,h)|0;c[g>>2]=e;_u(39574,g)|0;c[h+20>>2]=0;g=Rb(h)|0;uo(h);if(!g){c[473645]=-1;Ia=b;return}do if(Hu(1893240,39589)|0){h=Hu(1893240,39607)|0;if(!h){qs(3221316,39612)|0;break}else{qs(3221316,h+4|0)|0;break}}else Co(1893240,0,3221316,0,1);while(0);h=3221316+(Ht(3221316)|0)|0;e=h;a[e>>0]=46;a[e+1>>0]=112;a[e+2>>0]=56;a[e+3>>0]=46;e=h+4|0;a[e>>0]=112;a[e+1>>0]=110;a[e+2>>0]=103;a[e+3>>0]=0;c[f>>2]=3221316;c[f+4>>2]=1893240;_u(39638,f)|0;Yb(g,3221316);ic(g,3221316);c[806962]=0;c[807089]=6;if(!(c[473570]|0)){c[806967]=1;Ia=b;return}else{c[807091]=(c[807091]|0)+-6;c[807089]=6;Gg(39701);Gg(3300628);db(0);Ia=b;return}}function db(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=Ia;Ia=Ia+64|0;f=e;g=(c[806968]|0)!=0;h=c[808062]|0;i=c[(g&(a[3256657]|0)==0?h+4|0:3077536+((g?b:0)<<2)|0)>>2]|0;b=c[769392]|0;c[807104]=1;c[f>>2]=Pk(3077500,h,24416)|0;c[f+4>>2]=Pk(3077500,c[808062]|0,24417)|0;c[f+8>>2]=Pk(3077500,c[808062]|0,24418)|0;c[f+12>>2]=Pk(3077500,c[808062]|0,24419)|0;c[f+16>>2]=Pk(3077500,c[808062]|0,24420)|0;c[f+20>>2]=Pk(3077500,c[808062]|0,24421)|0;c[f+24>>2]=Pk(3077500,c[808062]|0,24422)|0;c[f+28>>2]=Pk(3077500,c[808062]|0,24423)|0;c[f+32>>2]=Pk(3077500,c[808062]|0,24424)|0;c[f+36>>2]=Pk(3077500,c[808062]|0,24425)|0;c[f+40>>2]=Pk(3077500,c[808062]|0,24426)|0;c[f+44>>2]=Pk(3077500,c[808062]|0,24427)|0;c[f+48>>2]=Pk(3077500,c[808062]|0,24428)|0;c[f+52>>2]=Pk(3077500,c[808062]|0,24429)|0;c[f+56>>2]=Pk(3077500,c[808062]|0,24430)|0;c[f+60>>2]=Pk(3077500,c[808062]|0,24431)|0;h=Pk(3077500,c[808062]|0,24415)|0;a:do if((h|0)==16){g=i+12|0;j=b+12|0;k=0;do{l=((Pk(3077500,c[808062]|0,(k>>>3)+24432|0)|0)&1<<(k&7)|0)==0;m=l?3228212:f;l=k<<7;n=l+128|0;o=l;do{a[(c[j>>2]|0)+o>>0]=c[m+((a[(c[g>>2]|0)+o>>0]&15)<<2)>>2]&143;o=o+1|0}while(o>>>0>>0);k=k+1|0}while((k|0)!=128);if(!(c[573942]|0))c[573942]=(yr()|0)+150}else{if((h|0)==32&(c[807100]|0)==1&(c[806962]|0)==1){k=i+12|0;g=b+12|0;j=0;n=64;while(1){o=j<<7;if(o>>>0<(o|64)>>>0){m=o;do{o=c[k>>2]|0;a[(c[g>>2]|0)+m>>0]=c[((a[o+(m+64)>>0]|0)==0?3228212:f)+((a[o+m>>0]&15)<<2)>>2]&143;m=m+1|0}while((m|0)!=(n|0))}j=j+1|0;if((j|0)==128)break;else n=n+128|0}if(c[573942]|0)break;c[573942]=(yr()|0)+150;break}n=i+12|0;if((h&-16|0)!=48){j=b+12|0;g=0;while(1){a[(c[j>>2]|0)+g>>0]=c[3228212+((a[(c[n>>2]|0)+g>>0]&15)<<2)>>2]&143;g=g+1|0;if((g|0)==16384)break a}}g=h+-48|0;j=b+12|0;k=0;do{m=k>>>3;o=((Pk(3077500,c[808062]|0,m+24432|0)|0)&1<<(k&7)|0)==0;l=k<<7;p=l+128|0;q=f+((o?m:m+1&15)<<2)|0;m=l;do{l=d[(c[n>>2]|0)+m>>0]|0;a[(c[j>>2]|0)+m>>0]=c[((g|0)==(l|0)?q:3228212+((l&15)<<2)|0)>>2]&143;m=m+1|0}while(m>>>0

>>0);k=k+1|0}while((k|0)!=128);if(!(c[573942]|0))c[573942]=(yr()|0)+150}while(0);if(!((c[806962]|0)==1&(c[806968]|0)!=0)){Ia=e;return}mb(b,c[807100]|0);Ia=e;return}function eb(a){a=a|0;c[575495]=0;if(!(c[806968]|0)){Hg(39725,0,0);c[473645]=-2;return}else{qs(2294168,39725)|0;c[573606]=yr()|0;c[573607]=(yr()|0)+1900;c[573608]=15;c[473645]=-2;return}}function fb(a,b){a=a|0;b=b|0;qs(2294168,a)|0;c[573606]=yr()|0;c[573607]=b+400+(yr()|0);c[573608]=15;return}function gb(){var b=0,d=0,e=0,f=0,g=0,h=0;hc();if(!(ka(0)|0))return;b=ka(1)|0;d=(b|0)>0;e=d?((b|0)<16?b:16):0;b=e<<15;f=aq(b)|0;if((e|0)>0){g=0;do{a[f+g>>0]=ka(2)|0;g=g+1|0}while((g|0)<(b|0))}b=Yr()|0;Qb(b,f);c[b+44580>>2]=36;la(3,0)|0;a[74672]=0;g=0;do{h=ka(4)|0;a[74672+g>>0]=h;g=g+1|0;a[74672+g>>0]=0}while((h|0)!=0&g>>>0<1023);Yb(b,74672);if(d){d=0;do{b=Yr()|0;Qb(b,f+(d<<15)|0);c[b+44580>>2]=36;la(3,d|0)|0;a[74672]=0;g=0;do{h=ka(4)|0;a[74672+g>>0]=h;g=g+1|0;a[74672+g>>0]=0}while((h|0)!=0&g>>>0<1023);ic(b,74672);Zr(b);d=d+1|0}while((d|0)<(e|0))}c[806962]=0;c[806967]=1;return}function hb(){var b=0;b=ka(0)|0;if((b|0)!=0|(a[1893240]|0)==0){c[575495]=0;hn(39911);c[473572]=0;gb();return}else{c[575495]=1;hn(39892);c[473572]=1;qa(1893240,0,1,1);return}}function ib(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;e=Ia;Ia=Ia+16|0;f=e;g=e+4|0;Av(2301984,0,34180)|0;if((b|0)<=1){Ia=e;return}h=0;i=1;a:while(1){j=d+(i<<2)|0;k=c[j>>2]|0;l=a[k>>0]|0;switch(l<<24>>24){case 62:case 124:case 38:{m=47;break a;break}default:{}}b:do if((h|0)!=17&l<<24>>24==45){n=k+1|0;o=(xt(n,39939)|0)==0;if(!(xt(n,59551)|0)){c[473567]=1;p=0}else p=o?4:-1;if(!(xt(n,39948)|0)){c[473587]=1;q=0}else q=p;if(!(xt(n,39959)|0)){c[473569]=1;c[473568]=1;r=0}else r=q;if((xt(n,39987)|0)!=0?(o=(xt(n,39975)|0)==0,s=(xt(n,39965)|0)==0,t=(xt(n,51660)|0)==0,u=(xt(n,51759)|0)==0,v=(xt(n,36819)|0)==0,w=(xt(n,51372)|0)==0,(xt(n,39989)|0)!=0):0)x=o?11:s?10:t?9:u?8:v?7:w?6:r;else{c[769398]=1;c[473567]=1;c[584975]=1;x=0}w=(xt(n,39994)|0)==0;v=w|(xt(n,4e4)|0)==0;w=(xt(n,51083)|0)==0;u=(xt(n,36708)|0)==0;t=(xt(n,36718)|0)==0;s=(xt(n,40002)|0)==0;o=(xt(n,59611)|0)==0;y=(xt(n,64122)|0)==0;z=(xt(n,40016)|0)==0;A=(xt(n,40025)|0)==0;B=(xt(n,40036)|0)==0;C=(xt(n,51464)|0)==0;D=(xt(n,40047)|0)==0;E=(xt(n,40049)|0)==0;F=(xt(n,40051)|0)==0;G=(xt(n,40060)|0)==0;H=G?27:F?26:E?25:D?24:C?22:B?21:A?20:z?19:y?18:o?17:s?16:t?15:u?14:w?13:v?12:x}else{c[g>>2]=0;c[f>>2]=g;wu(k,65660,f)|0;do switch(h|0){case 0:{if(!(a[1893240]|0)){Av(1893240,0,1024)|0;qs(1893240,c[j>>2]|0)|0;H=0;break b}else{qs(2301988+(c[575496]<<10)|0,c[j>>2]|0)|0;c[575496]=(c[575496]|0)+1;H=0;break b}break}case 4:{c[473574]=c[g>>2];H=0;break b;break}case 6:{c[473628]=c[g>>2];H=0;break b;break}case 7:{c[473631]=c[g>>2];H=0;break b;break}case 8:{c[473624]=c[g>>2];H=0;break b;break}case 9:{c[473625]=c[g>>2];H=0;break b;break}case 10:{c[473632]=c[g>>2];H=0;break b;break}case 11:{c[573533]=c[g>>2];H=0;break b;break}case 12:{Qu(3230833,c[j>>2]|0,1024)|0;H=0;break b;break}case 13:{c[473637]=c[g>>2];H=0;break b;break}case 14:{zo(c[j>>2]|0,3218236)|0;H=0;break b;break}case 15:{zo(c[j>>2]|0,3220284)|0;H=0;break b;break}case 16:{c[473573]=c[g>>2];H=0;break b;break}case 17:{Qu(2294728,c[j>>2]|0,1023)|0;c[584975]=1;H=0;break b;break}case 18:{v=c[g>>2]|0;w=(v|0)<256?v:256;v=(w|0)>0?w:0;c[573680]=v;if(!(c[584939]|0)){H=0;break b}c[584939]=v;H=0;break b;break}case 19:{c[573941]=c[g>>2];H=0;break b;break}case 20:{c[573943]=c[g>>2];H=0;break b;break}case 21:{c[573944]=c[g>>2];H=0;break b;break}case 22:{c[473629]=c[g>>2];H=0;break b;break}case 23:{Qu(2338700,c[j>>2]|0,1023)|0;H=0;break b;break}default:{if(!((h|0)!=24|(c[574466]|0)!=0)){c[574466]=ju(c[j>>2]|0,65983)|0;H=0;break b}if(!((h|0)!=25|(c[574467]|0)!=0)){c[574467]=ju(c[j>>2]|0,74590)|0;H=0;break b}switch(h|0){case 26:{Qu(2297876,c[j>>2]|0,2047)|0;H=0;break b;break}case 27:{Qu(2299924,c[j>>2]|0,2047)|0;H=0;break b;break}default:{H=0;break b}}}}while(0)}while(0);i=i+1|0;if((i|0)>=(b|0)){m=47;break}else h=H}if((m|0)==47){Ia=e;return}}function jb(){var a=0;if(c[575493]|0){ka(5)|0;c[575493]=0}c[573939]=0;c[806962]=2;c[769375]=-15;Mg();Og();Gg(3300628);c[807089]=7;sn(c[769383]|0);sn(c[769392]|0);In(c[(c[18988]|0)+4>>2]|0,2,2,5,5,7);In(c[(c[18988]|0)+4>>2]|0,5,2,2,5,7);a=Fa(0)|0;ml((yr()|0)+a|0);Tq();Qq(0,0);c[584657]=0;c[573942]=0;c[473571]=0;if(!(Tn()|0))return;do Un()|0;while((Tn()|0)!=0);return}function kb(){Av(3298108,0,488)|0;c[824634]=2;c[824565]=0;c[824635]=5;c[824531]=1;c[824550]=8;c[824551]=0;c[804558]=0;c[473576]=0;c[573536]=1;return}function lb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=Ia;Ia=Ia+2912|0;f=e+2904|0;g=e+2896|0;h=e+2888|0;i=e+2880|0;j=e+2872|0;k=e+2864|0;l=e+2048|0;m=e+1024|0;n=e;Av(1893240,0,408740)|0;Hk();c[473626]=0;c[473628]=8;c[473624]=3;c[473632]=-1;c[473635]=1;c[573540]=1;c[573541]=1;c[473637]=0;c[473621]=1;c[473586]=1;c[473583]=5;c[473582]=20;c[473585]=0;c[473584]=0;c[473625]=2;ka(6)|0;dn(41228);ho(2);io(3);$p(3077500,0,222528);fn()|0;ib(b,d);yq(1);if((c[584933]|0)<32|(c[584934]|0)<32){c[584933]=580;c[584934]=540}if(!((a[3218236]|0)!=0?(d=fr(3218236,64328,l,-1)|0,hr(l)|0,!(d|0)):0))Gr(41235,3218236);if(!((a[3220284]|0)!=0?(d=fr(3220284,64328,l,-1)|0,hr(l)|0,!(d|0)):0))Gr(41242,3220284);Av(3298108,0,488)|0;c[824634]=2;c[824565]=0;c[824635]=5;c[824531]=1;c[824550]=8;c[824551]=0;c[804558]=0;c[473576]=0;c[573536]=1;c[808062]=Yr()|0;Hr(41249,m);Hr(41259,m);if(c[769398]|0){c[k>>2]=1893240;_u(41268,k)|0}k=so(m)|0;c[769399]=k;if(!k){c[j>>2]=m;_u(41281,j)|0;ya(0)}j=c[c[k>>2]>>2]|0;c[j+20>>2]=0;c[769400]=_r(j,0)|0;j=c[(c[c[769399]>>2]|0)+4>>2]|0;c[j+20>>2]=0;c[769401]=po(3300628,j)|0;j=c[(c[c[769399]>>2]|0)+8>>2]|0;c[j+20>>2]=0;k=po(3300628,j)|0;c[769402]=k;if(c[473623]|0){j=(c[(c[k>>2]|0)+152>>2]|0)+16|0;k=c[c[j>>2]>>2]|0;d=a[k>>0]|0;a[k>>0]=a[k+2>>0]|0;a[(c[c[j>>2]>>2]|0)+2>>0]=d;d=c[(c[j>>2]|0)+4>>2]|0;k=a[d>>0]|0;a[d>>0]=a[d+2>>0]|0;a[(c[(c[j>>2]|0)+4>>2]|0)+2>>0]=k;k=c[(c[j>>2]|0)+8>>2]|0;d=a[k>>0]|0;a[k>>0]=a[k+2>>0]|0;a[(c[(c[j>>2]|0)+8>>2]|0)+2>>0]=d;d=c[(c[j>>2]|0)+12>>2]|0;k=a[d>>0]|0;a[d>>0]=a[d+2>>0]|0;a[(c[(c[j>>2]|0)+12>>2]|0)+2>>0]=k;k=c[(c[j>>2]|0)+16>>2]|0;d=a[k>>0]|0;a[k>>0]=a[k+2>>0]|0;a[(c[(c[j>>2]|0)+16>>2]|0)+2>>0]=d}en(64429);en(c[(c[(c[c[769401]>>2]|0)+16>>2]|0)+12>>2]|0);do if(!(c[573941]|0)){d=c[573943]|0;j=c[573944]|0;if((d|0)>1|(j|0)>1){k=(d|0)<8?d:8;d=(j|0)<8?j:8;Xq((k|0)<1?128:k<<7,(d|0)<1?128:d<<7,8,256)|0;break}else{Xq(128,128,8,256)|0;break}}else Xq(144,136,8,256)|0;while(0);Yq(c[(c[c[769401]>>2]|0)+4>>2]|0);c[769383]=xn(128,128,8)|0;c[769384]=xn(128,128,8)|0;c[769385]=xn(128,128,8)|0;c[769386]=xn(128,128,8)|0;c[769387]=xn(128,128,8)|0;c[769383]=c[769384];c[769392]=xn(128,128,8)|0;c[573674]=xn(128,128,8)|0;c[792784]=tl(128,128)|0;c[792785]=tl(128,128)|0;d=0;do{c[3171144+(d<<2)>>2]=tl(8,32)|0;d=d+1|0}while((d|0)!=64);c[769403]=xn(1,1,8)|0;c[769404]=xn(8,8,8)|0;Av(75696,0,260)|0;c[18988]=Yr()|0;jb();d=cs(0,65538)|0;c[804540]=d;c[d+308>>2]=4;c[d+312>>2]=6;k=c[473621]|0;j=(k|0)<4?k:4;c[d+316>>2]=((j|0)>1?j:1)<<2;c[d+332>>2]=0;d=cs(0,65538)|0;c[804541]=d;c[d+308>>2]=4;c[d+312>>2]=6;j=c[473621]|0;k=(j|0)<4?j:4;c[d+316>>2]=((k|0)>1?k:1)<<2;c[d+332>>2]=0;d=cs(0,65538)|0;c[804542]=d;c[d+308>>2]=4;c[d+312>>2]=6;k=c[473621]|0;j=(k|0)<4?k:4;c[d+316>>2]=((j|0)>1?j:1)<<2;c[d+332>>2]=0;d=cs(0,65538)|0;c[804543]=d;c[d+308>>2]=4;c[d+312>>2]=6;j=c[473621]|0;k=(j|0)<4?j:4;c[d+316>>2]=((k|0)>1?k:1)<<2;c[d+332>>2]=0;d=cs(0,65538)|0;c[804544]=d;c[d+308>>2]=4;c[d+312>>2]=6;k=c[473621]|0;j=(k|0)<4?k:4;c[d+316>>2]=((j|0)>1?j:1)<<2;c[d+332>>2]=0;d=cs(0,65538)|0;c[804545]=d;c[d+308>>2]=4;c[d+312>>2]=6;j=c[473621]|0;k=(j|0)<4?j:4;c[d+316>>2]=((k|0)>1?k:1)<<2;c[d+332>>2]=0;d=cs(0,65538)|0;c[804546]=d;c[d+308>>2]=4;c[d+312>>2]=6;k=c[473621]|0;j=(k|0)<4?k:4;c[d+316>>2]=((j|0)>1?j:1)<<2;c[d+332>>2]=0;d=cs(0,65538)|0;c[804547]=d;c[d+308>>2]=4;c[d+312>>2]=6;j=c[473621]|0;k=(j|0)<4?j:4;c[d+316>>2]=((k|0)>1?k:1)<<2;c[d+332>>2]=0;d=cs(0,65538)|0;c[804548]=d;c[d+308>>2]=4;c[d+312>>2]=6;k=c[473621]|0;j=(k|0)<4?k:4;c[d+316>>2]=((j|0)>1?j:1)<<2;c[d+332>>2]=0;d=cs(0,65538)|0;c[804549]=d;c[d+308>>2]=4;c[d+312>>2]=6;j=c[473621]|0;k=(j|0)<4?j:4;c[d+316>>2]=((k|0)>1?k:1)<<2;c[d+332>>2]=0;d=cs(0,65538)|0;c[804550]=d;c[d+308>>2]=4;c[d+312>>2]=6;k=c[473621]|0;j=(k|0)<4?k:4;c[d+316>>2]=((j|0)>1?j:1)<<2;c[d+332>>2]=0;d=cs(0,65538)|0;c[804551]=d;c[d+308>>2]=4;c[d+312>>2]=6;j=c[473621]|0;k=(j|0)<4?j:4;c[d+316>>2]=((k|0)>1?k:1)<<2;c[d+332>>2]=0;d=cs(0,65538)|0;c[804552]=d;c[d+308>>2]=4;c[d+312>>2]=6;k=c[473621]|0;j=(k|0)<4?k:4;c[d+316>>2]=((j|0)>1?j:1)<<2;c[d+332>>2]=0;d=cs(0,65538)|0;c[804553]=d;c[d+308>>2]=4;c[d+312>>2]=6;j=c[473621]|0;k=(j|0)<4?j:4;c[d+316>>2]=((k|0)>1?k:1)<<2;c[d+332>>2]=0;d=cs(0,65538)|0;c[804554]=d;c[d+308>>2]=4;c[d+312>>2]=6;k=c[473621]|0;j=(k|0)<4?k:4;c[d+316>>2]=((j|0)>1?j:1)<<2;c[d+332>>2]=0;d=cs(0,65538)|0;c[804555]=d;c[d+308>>2]=4;c[d+312>>2]=6;j=c[473621]|0;k=(j|0)<4?j:4;c[d+316>>2]=((k|0)>1?k:1)<<2;c[d+332>>2]=0;c[804556]=c[804540];c[i>>2]=3218236;c[i+4>>2]=40734;Xs(3221316,74247,i)|0;i=0;do{if(!(ir(3221316)|0))break;i=i+1|0;c[h>>2]=i;Xs(l,40746,h)|0;c[g>>2]=3218236;c[g+4>>2]=l;Xs(3221316,74247,g)|0}while(i>>>0<1e3);Jb(c[18988]|0,3222340);wq(22050,1)|0;c[584959]=1;ka(7)|0;do if(!((c[769398]|0)==0&(a[2294728]|0)==0)){Eo(1893240,m);i=(ac(m)|0)==0;c[473566]=i&1;if(!i){c[f>>2]=1893240;_u(41299,f)|0;ya(1)}if(!(a[2294728]|0)){c[806962]=0;c[806967]=1;break}else{c[769398]=1;qs(n,3218236)|0;qs(3218236,41318)|0;qs(3219260,3300628)|0;qs(3218236,n)|0;ya(0)}}while(0);c[473638]=0;if(ka(8)|0)c[473638]=1;if(ka(9)|0)c[473638]=3;c[585494]=c[473573];if(!((a[2299924]|a[2297876])<<24>>24)){Ia=e;return}qc(2297876,2299924);c[575493]=1;Ia=e;return}function mb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=d&-65;d=e|2;if((d|0)==3){f=b+16|0;g=0;do{h=127;while(1){i=c[(c[f>>2]|0)+(g<<2)>>2]|0;a[i+h>>0]=a[i+(h>>>1)>>0]|0;if(!h)break;else h=h+-1|0}g=g+1|0}while((g|0)!=128)}g=e|1;if((g|0)==3){f=b+16|0;h=127;while(1){i=h>>>1;j=0;do{k=c[f>>2]|0;a[(c[k+(h<<2)>>2]|0)+j>>0]=a[(c[k+(i<<2)>>2]|0)+j>>0]|0;j=j+1|0}while((j|0)!=128);if(!h)break;else h=h+-1|0}}if((d|0)==7){h=b+16|0;f=0;do{j=0;do{i=c[(c[h>>2]|0)+(f<<2)>>2]|0;a[i+(127-j)>>0]=a[i+j>>0]|0;j=j+1|0}while((j|0)!=64);f=f+1|0}while((f|0)!=128)}if((g|0)==7){f=b+16|0;h=0;do{j=127-h|0;i=0;do{k=c[f>>2]|0;a[(c[k+(j<<2)>>2]|0)+i>>0]=a[(c[k+(h<<2)>>2]|0)+i>>0]|0;i=i+1|0}while((i|0)!=128);h=h+1|0}while((h|0)!=64)}h=(e|0)==134;if(h|(g|0)==131){g=b+16|0;f=0;do{i=127-f|0;j=0;do{k=c[g>>2]|0;l=(c[k+(f<<2)>>2]|0)+j|0;m=a[l>>0]|0;a[l>>0]=a[(c[k+(i<<2)>>2]|0)+j>>0]|0;a[(c[(c[g>>2]|0)+(i<<2)>>2]|0)+j>>0]=m;j=j+1|0}while((j|0)!=128);f=f+1|0}while((f|0)!=64)}if(h|(d|0)==131){d=b+16|0;h=0;do{f=0;do{g=c[(c[d>>2]|0)+(h<<2)>>2]|0;j=g+f|0;i=a[j>>0]|0;m=127-f|0;a[j>>0]=a[g+m>>0]|0;a[(c[(c[d>>2]|0)+(h<<2)>>2]|0)+m>>0]=i;f=f+1|0}while((f|0)!=64);h=h+1|0}while((h|0)!=128)}switch(e|0){case 133:{e=b+16|0;h=0;do{d=127-h|0;f=0;do{i=c[e>>2]|0;m=(c[i+(h<<2)>>2]|0)+f|0;g=a[m>>0]|0;j=127-f|0;a[m>>0]=a[(c[i+(j<<2)>>2]|0)+h>>0]|0;i=c[e>>2]|0;a[(c[i+(j<<2)>>2]|0)+h>>0]=a[(c[i+(d<<2)>>2]|0)+j>>0]|0;i=c[e>>2]|0;a[(c[i+(d<<2)>>2]|0)+j>>0]=a[(c[i+(f<<2)>>2]|0)+d>>0]|0;a[(c[(c[e>>2]|0)+(f<<2)>>2]|0)+d>>0]=g;f=f+1|0}while((f|0)!=64);h=h+1|0}while((h|0)!=64);return}case 135:{h=b+16|0;b=0;do{e=127-b|0;f=0;do{d=c[h>>2]|0;g=(c[d+(b<<2)>>2]|0)+f|0;i=a[g>>0]|0;a[g>>0]=a[(c[d+(f<<2)>>2]|0)+e>>0]|0;d=c[h>>2]|0;g=127-f|0;a[(c[d+(f<<2)>>2]|0)+e>>0]=a[(c[d+(e<<2)>>2]|0)+g>>0]|0;d=c[h>>2]|0;a[(c[d+(e<<2)>>2]|0)+g>>0]=a[(c[d+(g<<2)>>2]|0)+b>>0]|0;a[(c[(c[h>>2]|0)+(g<<2)>>2]|0)+b>>0]=i;f=f+1|0}while((f|0)!=64);b=b+1|0}while((b|0)!=64);return}default:return}}function nb(){if(c[573942]|0)return;c[573942]=(yr()|0)+150;return}function ob(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;switch(c[474480]|0){case 2:{Vl(a);return}case 3:{Yl(a);return}default:{b=(c[19201]|0)==7?22:0;d=((c[474481]<<3)+8|0)/2|0;e=b+d|0;wk(a,23,63-d+b|0,104,e+64|0,1);f=64-d+b|0;Bn(a,24,f,103,e+63|0,7);e=f+6|0;if((c[19201]|0)==7){wk(a,10,25,118,55,1);Bn(a,11,26,117,54,7);go(a,41499,c[769402]|0,22,34,1,7)|0;go(a,41521,c[769402]|0,20,42,1,7)|0;if((Zo((yr()|0)*50|0)|0)<-1999)g=0;else g=(Zo((yr()|0)*50|0)|0)/2e3|0;wn(c[(c[c[769401]>>2]|0)+((((g|0)/4|0|0)%10|0)+212<<2)>>2]|0,a,0,0,g+63|0,59,10,10);if((Zo(((yr()|0)*50|0)+32768|0)|0)<-1999)h=0;else h=(Zo(((yr()|0)*50|0)+32768|0)|0)/2e3|0;wn(c[(c[c[769401]>>2]|0)+((((h|0)/4|0|0)%10|0)+212<<2)>>2]|0,a,0,0,56-h|0,59,10,10)}if((c[474481]|0)<=0)return;h=0;g=e;while(1){go(a,76736+(h*72|0)|0,c[769402]|0,(h|0)==(c[474482]|0)?35:34,g,1,7)|0;if((h|0)==(c[474482]|0))wn(c[(c[c[769401]>>2]|0)+980>>2]|0,a,0,0,25,g+-1|0,7,7);do if((c[76736+(h*72|0)+68>>2]|0)==2){e=(im(3224776,3225800)|0)==0;f=c[(c[c[769401]>>2]|0)+752>>2]|0;b=g+-1|0;if(e){Jn(f,a,0,0,74,b,7,7,13,0);break}else{wn(f,a,0,0,74,b,7,7);break}}while(0);h=h+1|0;if((h|0)>=(c[474481]|0))break;else g=g+8|0}return}}}function pb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;e=c[584041]|0;if(!e){f=xn(128,128,8)|0;c[584041]=f;g=f}else g=e;e=b+4|0;jp(b,g,0,0,0,0,c[b>>2]|0,c[e>>2]|0);sn(b);jp(g,b,0,0,((c[b>>2]|0)+-128|0)/2|0,((c[e>>2]|0)+-128|0)/2|0,128,128);f=c[c[769401]>>2]|0;h=c[f+996>>2]|0;i=c[f+4>>2]|0;a[i+765>>0]=73;a[i+766>>0]=51;a[i+767>>0]=59;f=g+16|0;g=0;do{j=c[f>>2]|0;k=g<<1;l=c[j+(k<<2)>>2]|0;m=0;n=0;o=0;p=0;q=0;do{r=d[l+m>>0]|0;s=d[i+(r*3|0)>>0]|0;t=d[i+(r*3|0)+1>>0]|0;u=d[i+(r*3|0)+2>>0]|0;r=80-m+s+t+u|0;q=r+q|0;n=(B(r,s)|0)+n|0;o=(B(r,t)|0)+o|0;p=(B(r,u)|0)+p|0;m=m+1|0}while((m|0)!=64);m=c[j+((k|1)<<2)>>2]|0;l=0;u=n;r=o;t=p;s=q;do{v=d[m+l>>0]|0;w=d[i+(v*3|0)>>0]|0;x=d[i+(v*3|0)+1>>0]|0;y=d[i+(v*3|0)+2>>0]|0;v=80-l+w+x+y|0;s=v+s|0;u=(B(v,w)|0)+u|0;r=(B(v,x)|0)+r|0;t=(B(v,y)|0)+t|0;l=l+1|0}while((l|0)!=64);l=g+16|0;a[i+(l*3|0)>>0]=(u|0)/(s|0)|0;a[i+(l*3|0)+1>>0]=(r|0)/(s|0)|0;a[i+(l*3|0)+2>>0]=(t|0)/(s|0)|0;g=g+1|0}while((g|0)!=64);g=0;do{l=c[f>>2]|0;m=g<<1;q=c[l+(m<<2)>>2]|0;p=0;o=0;n=0;k=0;j=0;do{y=d[q+(127-p)>>0]|0;v=d[i+(y*3|0)>>0]|0;x=d[i+(y*3|0)+1>>0]|0;w=d[i+(y*3|0)+2>>0]|0;y=80-p+v+x+w|0;j=y+j|0;o=(B(y,v)|0)+o|0;n=(B(y,x)|0)+n|0;k=(B(y,w)|0)+k|0;p=p+1|0}while((p|0)!=64);p=c[l+((m|1)<<2)>>2]|0;q=0;s=o;t=n;r=k;u=j;do{w=d[p+(127-q)>>0]|0;y=d[i+(w*3|0)>>0]|0;x=d[i+(w*3|0)+1>>0]|0;v=d[i+(w*3|0)+2>>0]|0;w=80-q+y+x+v|0;u=w+u|0;s=(B(w,y)|0)+s|0;t=(B(w,x)|0)+t|0;r=(B(w,v)|0)+r|0;q=q+1|0}while((q|0)!=64);q=g+144|0;a[i+(q*3|0)>>0]=(s|0)/(u|0)|0;a[i+(q*3|0)+1>>0]=(t|0)/(u|0)|0;a[i+(q*3|0)+2>>0]=(r|0)/(u|0)|0;g=g+1|0}while((g|0)!=64);g=0;do{f=g<<7&128|16;q=0;do{p=q+f|0;j=q+-1|0;k=((j|0)>0?j:0)+f|0;q=q+1|0;j=(q>>>0<63?q:63)+f|0;n=i+(p*3|0)|0;a[n>>0]=(((d[n>>0]|0)*6|0)+(d[i+(k*3|0)>>0]|0)+(d[i+(j*3|0)>>0]|0)|0)>>>3;n=i+(p*3|0)+1|0;a[n>>0]=(((d[n>>0]|0)*6|0)+(d[i+(k*3|0)+1>>0]|0)+(d[i+(j*3|0)+1>>0]|0)|0)>>>3;n=i+(p*3|0)+2|0;a[n>>0]=(((d[n>>0]|0)*6|0)+(d[i+(k*3|0)+2>>0]|0)+(d[i+(j*3|0)+2>>0]|0)|0)>>>3}while((q|0)!=64);g=g+1|0}while((g|0)!=256);g=h+4|0;q=0;do{f=q+16|0;u=(Hn(h,1,(B(c[g>>2]|0,q)|0)/64|0)|0)>>>16;r=(Hn(h,1,(B(c[g>>2]|0,q)|0)/64|0)|0)>>>8;t=Hn(h,1,(B(c[g>>2]|0,q)|0)/64|0)|0;s=i+(f*3|0)|0;a[s>>0]=u+(((d[s>>0]|0)/5|0)&255);s=i+(f*3|0)+1|0;a[s>>0]=r+(((d[s>>0]|0)/5|0)&255);s=i+(f*3|0)+2|0;a[s>>0]=t+(((d[s>>0]|0)/5|0)&255);q=q+1|0}while((q|0)!=64);q=0;do{s=q+144|0;t=(Hn(h,(c[h>>2]|0)+-2|0,(B(c[g>>2]|0,q)|0)/64|0)|0)>>>16;f=(Hn(h,(c[h>>2]|0)+-2|0,(B(c[g>>2]|0,q)|0)/64|0)|0)>>>8;r=Hn(h,(c[h>>2]|0)+-2|0,(B(c[g>>2]|0,q)|0)/64|0)|0;u=i+(s*3|0)|0;a[u>>0]=t+(((d[u>>0]|0)/5|0)&255);u=i+(s*3|0)+1|0;a[u>>0]=f+(((d[u>>0]|0)/5|0)&255);u=i+(s*3|0)+2|0;a[u>>0]=r+(((d[u>>0]|0)/5|0)&255);q=q+1|0}while((q|0)!=64);Yq(i);i=c[e>>2]|0;if((i|0)<=0){zn(b,0,0,255);z=c[b>>2]|0;A=z+-1|0;zn(b,A,0,255);C=c[e>>2]|0;D=C+-1|0;zn(b,0,D,255);E=c[b>>2]|0;F=E+-1|0;G=c[e>>2]|0;H=G+-1|0;zn(b,F,H,255);return}q=0;g=i;do{i=(q<<6|0)/(g|0)|0;In(b,0,q,2,q,i+16|0);h=c[b>>2]|0;In(b,h+-3|0,q,h+-1|0,q,i+144|0);q=q+1|0;g=c[e>>2]|0}while((q|0)<(g|0));zn(b,0,0,255);z=c[b>>2]|0;A=z+-1|0;zn(b,A,0,255);C=c[e>>2]|0;D=C+-1|0;zn(b,0,D,255);E=c[b>>2]|0;F=E+-1|0;G=c[e>>2]|0;H=G+-1|0;zn(b,F,H,255);return}function qb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=b+16|0;b=(((yr()|0)/4e3|0)*101|0)+10201|0;f=0;g=0;while(1){h=a[(c[(c[e>>2]|0)+(f<<2)>>2]|0)+g>>0]|0;i=h&255;j=B(f+1001|0,b)|0;if(!(f&2)){k=0;while(1){l=c[(c[e>>2]|0)+(f<<2)>>2]|0;if((k|0)==127){m=i;n=128}else{o=k+1|0;m=d[l+o>>0]|0;n=o}o=(k&6|0)==0?((B(j,k+1103|0)|0)%19|0|0)!=0:0;a[l+k>>0]=o?((m&15|0)==0?1:m^128):m;if((n|0)==128)break;else k=n}}else{k=0;do{j=c[(c[e>>2]|0)+(f<<2)>>2]|0;i=k;k=k+1|0;a[j+i>>0]=a[j+k>>0]|0}while((k|0)!=127);a[(c[(c[e>>2]|0)+(f<<2)>>2]|0)+k>>0]=h}f=f+2|0;if(f>>>0>=128)break;else g=128}return}function rb(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=Ia;Ia=Ia+16|0;e=b;f=b+12|0;g=b+8|0;h=b+4|0;i=c[584042]|0;if((i|0)==5){yr()|0;j=c[584042]|0}else j=i;c[584042]=j+1;j=c[769384]|0;a[2294436]=0;c[573675]=yr()|0;if(c[806967]|0){Ia=b;return}sn(c[769366]|0);i=c[824858]|0;if((i|0)!=0&(c[806962]|0)==0){if((i|0)==1){Vl(j);k=c[824858]|0}else k=i}else if(c[806963]|0){un(j,0,0,128,128,5);if((c[806963]|0)==1){i=c[473631]|0;if(i>>>0<2){un(j,0,0,128,128,1);l=c[473631]|0}else l=i;if((l|0)==2){un(j,0,0,128,128,0);m=c[473631]|0}else m=l;if((m|0)==3)un(j,0,0,128,128,5)}un(j,0,0,128,7,8);un(j,0,121,128,127,8);ao(7,0);Fr(f,g,h);if(!(c[h>>2]|0))c[824648]=-1;if(((((c[824650]|0)==89?(m=bo(co()|0)|0,m|0):0)?(c[m+12>>2]|0)<20:0)?(c[m+16>>2]|0)<20:0)?c[m+20>>2]&1|0:0)c[824650]=(c[h>>2]|0)==0?93:94;m=c[f>>2]|0;if(((c[806963]|0)==1?(c[h>>2]|c[807109]|0)==0:0)&(m|0)==(c[584043]|0)?(h=c[g>>2]|0,(h|0)==(c[584044]|0)):0)n=h;else{c[574468]=0;n=c[g>>2]|0}c[584043]=m;c[584044]=n;n=yr()|0;m=c[824650]|0;if((n|0)>=(c[574468]|0)&(m|0)!=0?(n=c[(c[c[769401]>>2]|0)+(m<<2)>>2]|0,m=c[n>>2]|0,h=c[n+4>>2]|0,wn(n,j,0,0,(c[f>>2]|0)-((m|0)/2|0)|0,(c[g>>2]|0)-((h|0)/2|0)|0,m,h),(c[824648]|0)!=-1):0){h=c[f>>2]|0;m=c[g>>2]|0;un(j,h+6|0,m+4|0,h+14|0,m+10|0,7);c[e>>2]=c[824648];Xs(1676064,41544,e)|0;go(j,1676064,c[769402]|0,(c[f>>2]|0)+7|0,(c[g>>2]|0)+5|0,1,14)|0}}if(!((c[473642]|0)!=0&(c[806968]|0)==0&(c[806962]|0)==1)){if(!(c[474483]|c[806970]|c[769394]))db(0)}else jp(j,c[769392]|0,0,0,0,0,128,128);j=c[769366]|0;jp(c[769392]|0,j,0,0,0,0,128,128);if(c[474483]|c[474480]|0)ob(j);a:do if((c[806970]|0)>0|(c[806971]|0)>140?(c[806962]|0)==1&(c[806968]|0)!=0:0){do if(!((c[473642]|0)>0|(c[575495]|0)!=0)){if(c[573607]|0?(xt(2294168,64312)|0)==0:0)break;g=c[824860]|0;f=(g|0)/2|0;if((g|0)>-2)o=f;else o=12-((0-f|0)%12|0)|0;wn(c[(c[c[769401]>>2]|0)+(((o|0)%12|0)+212<<2)>>2]|0,j,0,0,3,3,12,12);break a}while(0);f=c[824860]|0;g=(f|0)/2|0;if((f|0)>-2)p=g;else p=16-((0-g|0)%16|0)|0;wn(c[(c[c[769401]>>2]|0)+(((p|0)%16|0)+229<<2)>>2]|0,j,0,0,3,3,12,12)}while(0);jp(c[769366]|0,c[573674]|0,0,0,0,0,128,128);j=yr()|0;do if((j|0)<(c[573607]|0)){p=yr()|0;o=c[573606]|0;g=p-o|0;f=(c[573607]|0)-p|0;p=(o|0)==0?0:(f|0)<200?(200-f|0)/20|0:(g|0)<200?(200-g|0)/20|0:0;if(!(xt(2294168,62311)|0)){Bn(c[769366]|0,0,p+119|0,101,p+127|0,0);un(c[769366]|0,1,p+120|0,100,p+126|0,6);go(c[769366]|0,2294168,c[769402]|0,16,p+121|0,1,1)|0;wn(c[(c[c[769401]>>2]|0)+904>>2]|0,c[769366]|0,0,0,2,(p<<1)+112|0,15,15);break}g=(xt(2294168,62287)|0)==0;f=c[769366]|0;if(g){Bn(f,0,p+119|0,101,p+127|0,0);un(c[769366]|0,1,p+120|0,127,p+126|0,6);go(c[769366]|0,2294168,c[769402]|0,16,p+121|0,1,1)|0;wn(c[(c[c[769401]>>2]|0)+908>>2]|0,c[769366]|0,0,0,109,(p<<1)+112|0,17,15);break}else{un(f,0,p+121|0,128,p+127|0,8);go(c[769366]|0,2294168,c[769402]|0,1,p+122|0,1,c[573608]|0)|0;break}}else if(a[2294436]|0){un(c[769366]|0,0,121,128,127,8);go(c[769366]|0,2294436,c[769402]|0,1,122,1,2)|0}while(0);j=yr()|0;c[573675]=j-(c[573675]|0);j=yr()|0;if((j|0)<(c[573942]|0)?(j=yr()|0,(j|0)>((c[573942]|0)+-150|0)):0){j=c[769366]|0;p=j+16|0;j=(((yr()|0)/4e3|0)*101|0)+10201|0;f=0;g=0;while(1){o=c[(c[p>>2]|0)+(f<<2)>>2]|0;e=a[o+g>>0]|0;m=e&255;h=B(f+1001|0,j)|0;b:do if(!(f&2)){n=0;l=o;while(1){i=n+1|0;if((n|0)==127){q=m;r=128}else{q=d[l+i>>0]|0;r=i}i=(n&6|0)==0?((B(h,n+1103|0)|0)%19|0|0)!=0:0;a[l+n>>0]=i?((q&15|0)==0?1:q^128):q;if((r|0)==128)break b;n=r;l=c[(c[p>>2]|0)+(f<<2)>>2]|0}}else{l=0;n=o;do{i=l;l=l+1|0;a[n+i>>0]=a[n+l>>0]|0;n=c[(c[p>>2]|0)+(f<<2)>>2]|0}while((l|0)!=127);a[n+127>>0]=e}while(0);f=f+2|0;if(f>>>0>=128)break;else g=128}}if(!(c[573941]|0))s=1;else{pb(c[769366]|0);s=(c[573941]|0)==0}g=(c[806968]|0)!=0;if(s&(g&(((a[3224776]|0)!=0&g|(c[473572]|0)!=0)^1))?(a[3256626]&1)!=0:0){g=c[769366]|0;s=c[g>>2]|0;f=(s|0)/128|0;if((s|0)>127?(c[g+4>>2]|0)>127:0){g=0;do{s=B(g,f)|0;p=g<<7;r=0;do{q=r+s|0;if((q+-1|0)>>>0<3){db(q);jp(c[769392]|0,c[769366]|0,0,0,r<<7,p,128,128)}r=r+1|0}while((r|0)!=(f|0));g=g+1|0}while((g|0)<((c[(c[769366]|0)+4>>2]|0)/128|0|0))}}else t=80;if((t|0)==80?(Bk(0),(Ck()|0)>1):0){t=1;do{sn(c[3077536+(t<<2)>>2]|0);t=t+1|0}while((t|0)<(Ck()|0))}if(c[574458]|0)Sg(c[769366]|0);if(!(c[474480]|0))Qg(c[769366]|0);t=c[473580]|0;if((t|0)<=127){Ia=b;return}mb(c[769366]|0,t);Ia=b;return}function sb(a){a=a|0;return (a|0)>15|0}function tb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Ia;Ia=Ia+1040|0;d=b+1032|0;e=b+1024|0;f=b;if(!(c[824857]|0)){Ia=b;return}c[e>>2]=3218236;c[e+4>>2]=3219260;Xs(f,74247,e)|0;switch(c[824856]|0){case 0:{c[d>>2]=3219260;Xs(1676064,60584,d)|0;Eg(1676064,12);d=fr(f,64328,3298608,16384)|0;c[824856]=1;g=d;h=6;break}case 2:{d=fr(f,64328,3298608,-16385)|0;c[824856]=3;i=d;h=11;break}default:{d=gr(3298608)|0;switch(c[824856]|0){case 1:{g=d;h=6;break}case 3:{i=d;h=11;break}default:{}}}}do if((h|0)==6){if(g|0){c[824856]=2;break}if(xt(3298864,74667)|0?xt(3298864,66713)|0:0){Eg(3298864,14);c[824857]=(c[824857]|0)+-1}}else if((h|0)==11){if(i|0){hr(3298608)|0;c[824856]=0;break}if(Hu(3298864,64330)|0){Gg(3298864);c[824857]=(c[824857]|0)+-1;break}if((c[824780]&16384|0)==0&(a[2293080]|0)==42){Eg(3298864,5);c[824857]=(c[824857]|0)+-1}}while(0);if(!((c[824857]|0)==0&(c[824856]|0)!=0)){Ia=b;return}Eg(41549,12);Ia=b;return}function ub(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Ia;Ia=Ia+16|0;d=b;c[474481]=0;e=c[474480]|0;if((e|0)<2){c[474481]=1;f=76736;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));Qu(76736,41558,16)|0;c[19201]=0;if(a[3231922]|0){h=c[474481]|0;c[474481]=h+1;i=76736+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));Qu(i,3231922,16)|0;c[76736+(h*72|0)+68>>2]=257}if(a[3231986]|0){h=c[474481]|0;c[474481]=h+1;i=76736+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));Qu(i,3231986,16)|0;c[76736+(h*72|0)+68>>2]=258}if(a[3232050]|0){h=c[474481]|0;c[474481]=h+1;i=76736+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));Qu(i,3232050,16)|0;c[76736+(h*72|0)+68>>2]=259}if(a[3232114]|0){h=c[474481]|0;c[474481]=h+1;i=76736+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));Qu(i,3232114,16)|0;c[76736+(h*72|0)+68>>2]=260}if(a[3232178]|0){h=c[474481]|0;c[474481]=h+1;i=76736+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));Qu(i,3232178,16)|0;c[76736+(h*72|0)+68>>2]=261}h=c[474481]|0;c[474481]=h+1;i=76736+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));Qu(i,63963,16)|0;c[76736+(h*72|0)+68>>2]=8;h=c[474481]|0;c[474481]=h+1;i=76736+(h*72|0)|0;f=i;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));Qu(i,41567,16)|0;c[76736+(h*72|0)+68>>2]=1;if(zg()|0){h=zg()|0;i=c[474481]|0;c[474481]=i+1;j=76736+(i*72|0)|0;f=j;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));Qu(j,h,16)|0;c[76736+(i*72|0)+68>>2]=5}if(c[473567]|0){i=c[474481]|0;c[474481]=i+1;h=76736+(i*72|0)|0;f=h;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));Qu(h,59592,16)|0;c[76736+(i*72|0)+68>>2]=6}k=c[474480]|0}else k=e;if((k|0)!=4){Ia=b;return}Xs(1676064,(c[584939]|0)==0?41587:41578,d)|0;d=c[474481]|0;c[474481]=d+1;k=76736+(d*72|0)|0;f=k;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));Qu(k,1676064,16)|0;c[76736+(d*72|0)+68>>2]=9;f=1676064;d=41597;g=f+17|0;do{a[f>>0]=a[d>>0]|0;f=f+1|0;d=d+1|0}while((f|0)<(g|0));d=c[573680]|0;k=(c[584939]|0)>0?16:18;a[1676072]=(d|0)>31?k:45;a[1676073]=(d|0)>63?k:45;a[1676074]=(d|0)>95?k:45;a[1676075]=(d|0)>127?k:45;a[1676076]=(d|0)>159?k:45;a[1676077]=(d|0)>191?k:45;a[1676078]=(d|0)>223?k:45;a[1676079]=(d|0)>255?k:45;k=c[474481]|0;c[474481]=k+1;d=76736+(k*72|0)|0;f=d;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));Qu(d,1676064,16)|0;c[76736+(k*72|0)+68>>2]=19;k=c[474481]|0;c[474481]=k+1;d=76736+(k*72|0)|0;f=d;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));Qu(d,60914,16)|0;c[76736+(k*72|0)+68>>2]=13;k=c[474481]|0;c[474481]=k+1;d=76736+(k*72|0)|0;f=d;g=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));Qu(d,64117,16)|0;c[76736+(k*72|0)+68>>2]=11;Ia=b;return}function vb(){var b=0,d=0,e=0,f=0,g=0;b=c[807118]|0;if(c[474484]|0){c[474484]=0;c[474480]=1;c[474481]=1;d=76736;e=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));Qu(76736,41614,16)|0;c[19201]=7;f=c[474481]|0;c[474481]=f+1;g=76736+(f*72|0)|0;d=g;e=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));Qu(g,41626,16)|0;c[76736+(f*72|0)+68>>2]=0;c[474482]=0;a[1680841]=1;$k()}if((b|0)==0|(c[806968]|0)==0|(c[474480]|0)!=0)return;if((Pk(3077500,c[808062]|0,24368)|0)==1)Ok(3077500,c[808062]|0,24368,0);else{c[474480]=1;ub();c[474482]=0}a[1680841]=1;$k();return}function wb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=(Wn(-5)|0)!=0;d=b&(c[584047]|0)==0&1;c[584047]=Wn(-5)|0;if(!(Tn()|0))e=d;else{b=d;while(1){d=Un()|0;a:do if(!(Wn(-5)|0)){f=c[824989]|0;if((c[474480]|0)==0&(f|0)<256?(g=(d+-65|0)>>>0<26?d+63|0:d,h=(g|0)==127?8:g,h>>>0<154):0){a[3299700+f>>0]=h;c[824989]=(c[824989]|0)+1;i=b}else i=b}else{do if((d+-111|0)>>>0<2){c[574458]=((c[574458]|0)+1|0)%2|0;$k()}else{if((d|0)==114&(c[769397]|0)==0){h=yr()|0;if((h|0)<=((c[573678]|0)+500|0))break;c[769397]=1;c[474480]=0;c[573678]=yr()|0;if(Tn()|0)do Un()|0;while((Tn()|0)!=0);$k()}if((d|0)!=118)if((d+-97|0)>>>0<26)break;else{i=b;break a}h=Ur()|0;if((h|0)!=0?(a[h>>0]|0)!=0:0){cq(c[474485]|0);f=aq((Ht(h)|0)<<2)|0;c[474485]=f;fs(h,f)|0;cq(h)}else cq(h);$k()}while(0);a[3299700+(c[824989]|0)>>0]=d+95;c[824989]=(c[824989]|0)+1;i=0}while(0);if(!(Tn()|0)){e=i;break}else b=i}}if(!e)return;a[3299700+(c[824989]|0)>>0]=-38;c[824989]=(c[824989]|0)+1;return}function xb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(cl(2,0)|0)c[474482]=(c[474482]|0)+-1;b=(cl(3,0)|0)==0;d=c[474482]|0;if(b)e=d;else{b=d+1|0;c[474482]=b;e=b}b=c[474481]|0;if((e|0)>-1)f=e;else f=b-((0-e|0)%(b|0)|0)|0;c[474482]=(f|0)%(b|0)|0;b=cl(0,0)|0;f=cl(1,0)|0;e=(b|0)!=0;d=(f|0)==0;do if(f|b|0){g=c[76736+((c[474482]|0)*72|0)+68>>2]|0;if((g|0)>255){h=(g|0)<261?g+-256|0:5;a[3232242+((h|0)>0?h:0)>>0]=e?1:2;c[474483]=1;if(c[474480]|0)c[824989]=0;c[474480]=0;h=3228448;c[h>>2]=0;c[h+4>>2]=0;c[807240]=1;c[807241]=1;break}if((g|0)==19){if(e)c[573680]=(c[573680]|0)+-32;g=c[573680]|0;if(d)i=g;else{h=g+32|0;c[573680]=h;i=h}h=(i|0)<256?i:256;g=(h|0)>8?h:8;c[573680]=g;c[584939]=g;g=3228448;c[g>>2]=0;c[g+4>>2]=0;c[807240]=1;c[807241]=1;ub()}}while(0);if(!(((cl(4,0)|0)==0?(cl(5,0)|0)==0:0)?!(cl(6,0)|0):0))j=21;a:do if((j|0)==21){c[807116]=0;c[807117]=0;c[807118]=0;c[807244]=1;c[807245]=1;c[807246]=1;i=c[76736+((c[474482]|0)*72|0)+68>>2]|0;if((i|0)>255){a[3232242+((i|0)<261?i+-256|0:5)>>0]=112;c[474483]=1;if(c[474480]|0)c[824989]=0;c[474480]=0}do switch(i|0){case 0:{if(c[474480]|0)c[824989]=0;c[474480]=0;break a;break}case 1:{if(c[474480]|0)c[824989]=0;c[474480]=0;c[769397]=1;break a;break}case 13:{c[474480]=3;break a;break}case 3:{if(c[474480]|0)c[824989]=0;c[474480]=0;c[806967]=2;c[474479]=2;break a;break}case 4:{if(c[474480]|0)c[824989]=0;c[474480]=0;Wg();c[824858]=0;c[806962]=0;c[807089]=6;break a;break}case 5:{Dg();break a;break}case 6:{c[584504]=1;break a;break}case 8:{c[474480]=4;ub();c[474482]=0;break a;break}case 9:{if(!(c[584939]|0)){d=c[573680]|0;k=(d|0)==0?256:d}else k=0;c[584939]=k;ub();break a;break}case 10:{ar();ub();break a;break}case 11:{c[474480]=1;ub();c[474482]=0;break a;break}case 12:{Sl();c[474480]=2;$k();break a;break}default:break a}while(0)}while(0);if(c[474480]|c[584655]|0)return;$k();return}function yb(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;if(c[824858]|0){if(!(Tn()|0))return;do{a=Un()|0;b=c[824858]|0;if((b|0)==2)d=c[824858]|0;else d=b;if((d|0)==1){Ul(a);e=c[824858]|0}else e=d;if((e|0)==2){Dm(a);f=c[824858]|0}else f=e;if((f|0)==0?Tn()|0:0)do Un()|0;while((Tn()|0)!=0)}while((Tn()|0)!=0);return}if(!(c[824856]|0)){if(!(c[824859]|0))return;if(!(Tn()|0))return;f=Un()|0;switch(f|0){case 13:case 121:{g=26;break}case 27:case 110:break;default:return}a:do if((g|0)==26){e=1|0;d=(e|0)<0?e:0;Ug(77888+(((d|0)>0?d:0)<<8)|0,1);switch(f|0){case 27:case 110:{break a;break}default:{}}return}while(0);c[824859]=0;Gg(64400);return}else{if(c[824857]|0)return;if(!(Tn()|0))return;do{f=Un()|0;if((f|0)!=0?(g=c[807091]|0,d=g+-6|0,c[807091]=d,un(c[769383]|0,0,d,128,g+-1|0,0),(f|0)==27):0){c[824856]=0;hr(3298608)|0;h=0}else h=17;c[824857]=h}while((Tn()|0)!=0);return}}function zb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Ia;Ia=Ia+272|0;g=f+256|0;h=f;c[g>>2]=d;c[g+4>>2]=e;Xs(h,a,g)|0;qs(2294168,h)|0;c[573606]=yr()|0;c[573607]=b+400+(yr()|0);c[573608]=15;Ia=f;return}function Ab(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a=Ia;Ia=Ia+288|0;b=a+272|0;d=a+264|0;e=a+256|0;f=a;Zr(c[808062]|0);Zr(c[18988]|0);es(c[804540]|0);es(c[804541]|0);es(c[804542]|0);es(c[804543]|0);es(c[804544]|0);es(c[804545]|0);es(c[804546]|0);es(c[804547]|0);es(c[804548]|0);es(c[804549]|0);es(c[804550]|0);es(c[804551]|0);es(c[804552]|0);es(c[804553]|0);es(c[804554]|0);es(c[804555]|0);c[804556]=0;$p(3221312,0,77292);Av(3298108,0,488)|0;c[824634]=2;c[824565]=0;c[824635]=5;c[824531]=1;c[824550]=8;c[824551]=0;c[804558]=0;c[473576]=0;c[573536]=1;qs(3219260,3300628)|0;c[808062]=Yr()|0;c[18988]=Yr()|0;g=cs(0,65538)|0;c[804540]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[473621]|0;i=(h|0)<4?h:4;c[g+316>>2]=((i|0)>1?i:1)<<2;c[g+332>>2]=0;g=cs(0,65538)|0;c[804541]=g;c[g+308>>2]=4;c[g+312>>2]=6;i=c[473621]|0;h=(i|0)<4?i:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=cs(0,65538)|0;c[804542]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[473621]|0;i=(h|0)<4?h:4;c[g+316>>2]=((i|0)>1?i:1)<<2;c[g+332>>2]=0;g=cs(0,65538)|0;c[804543]=g;c[g+308>>2]=4;c[g+312>>2]=6;i=c[473621]|0;h=(i|0)<4?i:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=cs(0,65538)|0;c[804544]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[473621]|0;i=(h|0)<4?h:4;c[g+316>>2]=((i|0)>1?i:1)<<2;c[g+332>>2]=0;g=cs(0,65538)|0;c[804545]=g;c[g+308>>2]=4;c[g+312>>2]=6;i=c[473621]|0;h=(i|0)<4?i:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=cs(0,65538)|0;c[804546]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[473621]|0;i=(h|0)<4?h:4;c[g+316>>2]=((i|0)>1?i:1)<<2;c[g+332>>2]=0;g=cs(0,65538)|0;c[804547]=g;c[g+308>>2]=4;c[g+312>>2]=6;i=c[473621]|0;h=(i|0)<4?i:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=cs(0,65538)|0;c[804548]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[473621]|0;i=(h|0)<4?h:4;c[g+316>>2]=((i|0)>1?i:1)<<2;c[g+332>>2]=0;g=cs(0,65538)|0;c[804549]=g;c[g+308>>2]=4;c[g+312>>2]=6;i=c[473621]|0;h=(i|0)<4?i:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=cs(0,65538)|0;c[804550]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[473621]|0;i=(h|0)<4?h:4;c[g+316>>2]=((i|0)>1?i:1)<<2;c[g+332>>2]=0;g=cs(0,65538)|0;c[804551]=g;c[g+308>>2]=4;c[g+312>>2]=6;i=c[473621]|0;h=(i|0)<4?i:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=cs(0,65538)|0;c[804552]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[473621]|0;i=(h|0)<4?h:4;c[g+316>>2]=((i|0)>1?i:1)<<2;c[g+332>>2]=0;g=cs(0,65538)|0;c[804553]=g;c[g+308>>2]=4;c[g+312>>2]=6;i=c[473621]|0;h=(i|0)<4?i:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;g=cs(0,65538)|0;c[804554]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[473621]|0;i=(h|0)<4?h:4;c[g+316>>2]=((i|0)>1?i:1)<<2;c[g+332>>2]=0;g=cs(0,65538)|0;c[804555]=g;c[g+308>>2]=4;c[g+312>>2]=6;i=c[473621]|0;h=(i|0)<4?i:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=0;c[804556]=c[804540];jb();c[573938]=0;c[e>>2]=3218236;c[e+4>>2]=40734;Xs(3221316,74247,e)|0;e=0;while(1){if(!(ir(3221316)|0)){j=4;break}e=e+1|0;c[d>>2]=e;Xs(f,40746,d)|0;c[b>>2]=3218236;c[b+4>>2]=f;Xs(3221316,74247,b)|0;if(e>>>0>=1e3){j=4;break}}if((j|0)==4){Jb(c[18988]|0,3222340);Ia=a;return}}function Bb(a){a=a|0;if((c[769397]|0)>0)return 0;else{Ld(c[584068]|0,a)|0;mf(c[584068]|0)|0}return 0}function Cb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=c[769397]|0;if(!b)return;d=(b|0)<(((c[824513]|0)==60?12:6)|0)?b+1|0:0;c[769397]=d;if((d|0)==2){b=Pk(3077500,c[808062]|0,24366)|0;if(!(Yo(8)|0))c[807100]=Yo(4)|0;e=c[808062]|0;Ok(3077500,e,24384,Yo(256)|0);e=c[808062]|0;Ok(3077500,e,24384,Yo(256)|0);e=c[808062]|0;Ok(3077500,e,24384,Yo(256)|0);e=c[808062]|0;Ok(3077500,e,24384,Yo(256)|0);if(!(Yo(4)|0)){e=c[808062]|0;Ok(3077500,e,24414,Yo(16)|0|240)}Yo(3)|0;Yo(10)|0;e=(c[573533]|0)==0?4:c[573534]<<1;f=e*10|0;if((e|0)>0){g=0;do{h=c[808062]|0;i=Yo(12288)|0;Ok(3077500,h,i,Yo(256)|0);g=g+1|0}while((g|0)<(f|0))}f=c[808062]|0;g=(Yo(32)|0)+24320|0;Ok(3077500,f,g,Yo(140)|0);g=c[808062]|0;f=(Yo(32)|0)+24320|0;Ok(3077500,g,f,Yo(140)|0);if(!(Yo(4)|0)){f=c[808062]|0;Ok(3077500,f,24369,Yo(256)|0);f=c[808062]|0;Ok(3077500,f,24370,Yo(256)|0);f=c[808062]|0;Ok(3077500,f,24371,Yo(256)|0)}if(!(Yo(4)|0)){f=c[808062]|0;Ok(3077500,f,24408,Yo(256)|0);f=c[808062]|0;Ok(3077500,f,24409,Yo(256)|0);f=c[808062]|0;Ok(3077500,f,24410,Yo(256)|0);f=c[808062]|0;Ok(3077500,f,24411,Yo(256)|0)}f=(e|0)/2|0;g=(e|0)>1;if(g){e=0;do{i=(Yo(10240)|0)+1024|0;h=c[808062]|0;j=(Yo(2048)|0)+i|0;k=j-(Yo(2048)|0)|0;Rk(3077500,h,i,k,Yo(1024)|0);k=c[808062]|0;i=Yo(11264)|0;h=Yo(11264)|0;Rk(3077500,k,i,h,Yo(1024)|0);e=e+1|0}while((e|0)!=(f|0));if(g){g=0;do{e=Yo(11776)|0;h=c[808062]|0;i=Yo(256)|0;Sk(3077500,h,e,i,Yo(512)|0);g=g+1|0}while((g|0)!=(f|0))}}Ok(3077500,c[808062]|0,24366,b);l=c[769397]|0}else l=d;if(l|0)return;c[806967]=1;if(a[3230833]|0)return;qs(3230833,3229808)|0;return}function Db(){var a=0,b=0,d=0,e=0,f=0,g=0;a=c[806967]|0;if(!a)return;c[769397]=0;if((a|0)==1){$g();if((c[806962]|0)==2)c[806962]=0;b=c[806967]|0}else b=a;if((b|0)==2){Wg();d=c[806967]|0}else d=b;if((d|0)==3){Ab();e=c[806967]|0}else e=d;if((e|0)==4){Wg();Mg();Gg(3300628);Gg(143936);f=c[806967]|0}else f=e;if((f|0)==5){Ab();g=c[806967]|0}else g=f;if((g|0)==6)Mg();c[806967]=0;return}function Eb(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=Ia;Ia=Ia+1040|0;b=a+1032|0;d=a+1024|0;e=a;switch(c[473642]|0){case 1:{f=2;break}case 0:{Ia=a;return}default:{}}if((f|0)==2){g=yr()|0;if((g|0)>(((c[584974]|0)*1e3|0)+(c[473643]|0)|0)?(wm(0),Bg(),(c[806968]|0)==0):0){c[807091]=(c[807091]|0)+-6;Hg(41668,0,0)}if(!(c[473642]|0)){Ia=a;return}}if((Wn(41)|0)==0?!((c[806968]|0)!=0&(c[807118]|0)!=0):0){g=c[473642]|0;if((g|0)==2){c[473642]=0;h=(Hu(1895868,41711)|0)!=0;i=c[473644]|0;do if(!(h&(i|0)==0)){if(h&(i|0)==1){ym(1895868)|0;break}j=Sb(1895868)|0;if(j|0){Yb(j,1895868);c[473645]=6;if((c[806968]|0)==0|(c[769398]|0)!=0){c[807091]=(c[807091]|0)+-6;Hg(41743,0,0);Eg(1963850,14);k=Zg(1895868)|0;l=Ht(c[j>>2]|0)|0;c[b>>2]=k;c[b+4>>2]=l;Xs(1676064,41760,b)|0;Hg(1676064,0,0);break}else{Cg();c[806967]=1;c[806970]=20;break}}l=c[473578]|0;c[473645]=-10-l;if((l|0)==1){qs(2294168,41782)|0;c[573606]=yr()|0;c[573607]=(yr()|0)+1900;c[573608]=15;m=c[473578]|0}else m=l;if((m|0)==2){qs(2294168,61228)|0;c[573606]=yr()|0;c[573607]=(yr()|0)+1900;c[573608]=15;n=c[473578]|0}else n=m;if((n|0)==3){qs(2294168,41807)|0;c[573606]=yr()|0;c[573607]=(yr()|0)+1900;c[573608]=15;o=c[473578]|0}else o=n;if((o|0)==4){qs(2294168,44540)|0;c[573606]=yr()|0;c[573607]=(yr()|0)+1900;c[573608]=15}}else{l=pp(1895868)|0;qs(e,1895868)|0;k=Hu(1895868,41716)|0;if(k|0)qs(e+(k-1895868)+1|0,k+6|0)|0;do if(l)if((Ht(op(l,64334,0)|0)|0)>>>0<=1)if(!(xt(op(l,64355,0)|0,67277)|0)){p=l;break}else{f=19;break}else{Jo(1895868,e)|0;p=l;break}else f=19;while(0);if((f|0)==19){l=pp(e)|0;if(!l){if(!(c[806968]|0))Hg(41782,0,0);Bg();c[473645]=-3;break}else p=l}l=op(p,64334,0)|0;if((Ht(l)|0)>>>0<2){k=(xt(op(p,64355,0)|0,67277)|0)==0;j=(c[806968]|0)!=0;do if(k)if(j)q=-1;else{Hg(41723,0,0);q=-1}else if(j){qs(2294168,39725)|0;c[573606]=yr()|0;c[573607]=(yr()|0)+1900;c[573608]=15;q=-2;break}else{Hg(39725,0,0);q=-2;break}while(0);c[473645]=q;Bg();c[806970]=0}else{j=ac(fm(l)|0)|0;Gm(p);do if(!j){c[473645]=5;if((c[806968]|0)==0|(c[769398]|0)!=0){c[807091]=(c[807091]|0)+-6;Hg(41743,0,0);qs(1676064,op(p,64338,0)|0)|0;Zl(1676064);Eg(1676064,14);k=Ht(c[c[18988]>>2]|0)|0;c[d>>2]=l;c[d+4>>2]=k;Xs(1676064,41760,d)|0;Hg(1676064,0,0);break}else{Cg();c[806967]=1;c[806970]=20;break}}else{sm(l);qs(1963850,op(p,64338,0)|0)|0;Zl(1963850)}while(0);np(p)}c[824860]=0}while(0);r=c[473642]|0}else r=g;if((r|0)!=3){Ia=a;return}c[473642]=0;c[473645]=-3;Bg();if(!(c[806968]|0)){Hg(64312,0,0);Ia=a;return}else{qs(2294168,64312)|0;c[573606]=yr()|0;c[573607]=(yr()|0)+1900;c[573608]=15;Ia=a;return}}wm(0);Bg();if(!(c[806968]|0)){c[807091]=(c[807091]|0)+-6;Hg(41687,0,0)}c[807118]=0;c[807246]=1;Ia=a;return}function Fb(){var a=0,b=0,d=0;a=Wq(0,yr()|0)|0;c[474486]=c[a>>2];c[474487]=c[a+4>>2];c[474488]=c[a+8>>2];c[474489]=c[a+12>>2];c[474490]=c[a+16>>2];if(!(c[474487]|0)){a=Wq(4,yr()|0)|0;c[474486]=c[a>>2];c[474487]=c[a+4>>2];c[474488]=c[a+8>>2];c[474489]=c[a+12>>2];c[474490]=c[a+16>>2]}a=Wq(1,yr()|0)|0;c[474491]=c[a>>2];c[474492]=c[a+4>>2];c[474493]=c[a+8>>2];c[474494]=c[a+12>>2];c[474495]=c[a+16>>2];if(!(c[474492]|0)){a=Wq(5,yr()|0)|0;c[474491]=c[a>>2];c[474492]=c[a+4>>2];c[474493]=c[a+8>>2];c[474494]=c[a+12>>2];c[474495]=c[a+16>>2]}a=Wq(2,yr()|0)|0;c[474496]=c[a>>2];c[474497]=c[a+4>>2];c[474498]=c[a+8>>2];c[474499]=c[a+12>>2];c[474500]=c[a+16>>2];if(!(c[474497]|0)){a=Wq(6,yr()|0)|0;c[474496]=c[a>>2];c[474497]=c[a+4>>2];c[474498]=c[a+8>>2];c[474499]=c[a+12>>2];c[474500]=c[a+16>>2]}a=Wq(3,yr()|0)|0;c[474501]=c[a>>2];c[474502]=c[a+4>>2];c[474503]=c[a+8>>2];c[474504]=c[a+12>>2];c[474505]=c[a+16>>2];if(c[474502]|0){b=yr()|0;d=Wq(-1,b)|0;c[474506]=c[d>>2];c[474507]=c[d+4>>2];c[474508]=c[d+8>>2];c[474509]=c[d+12>>2];c[474510]=c[d+16>>2];return}a=Wq(7,yr()|0)|0;c[474501]=c[a>>2];c[474502]=c[a+4>>2];c[474503]=c[a+8>>2];c[474504]=c[a+12>>2];c[474505]=c[a+16>>2];b=yr()|0;d=Wq(-1,b)|0;c[474506]=c[d>>2];c[474507]=c[d+4>>2];c[474508]=c[d+8>>2];c[474509]=c[d+12>>2];c[474510]=c[d+16>>2];return}function Gb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;b=Ia;Ia=Ia+304|0;d=b+272|0;e=b+264|0;f=b+256|0;g=b;h=b+292|0;i=b+288|0;j=b+284|0;k=b+280|0;l=b+276|0;if(c[584504]|0){sn(c[769383]|0);Tq();Qq(0,0);Ia=b;return}m=c[806962]|0;n=c[9011]|0;do if((m|0)!=2&(n|0)!=-1){if((c[573680]|0)==(n|0)?(c[584939]|0)==(c[9012]|0):0){o=m;break}Ao();o=c[806962]|0}else o=m;while(0);c[9011]=c[573680];c[9012]=c[584939];do if((c[474480]|0)==0&(o|0)==1&(c[806968]|0)!=0){if((_k(6,0)|0)==0?(Yk(6,0)|0)<=128:0){c[584045]=yr()|0;c[584046]=0;break}m=c[584046]|0;c[584046]=m+1;if((m|0)>4?(m=yr()|0,(m|0)>((c[584045]|0)+500|0)):0){c[474480]=1;c[474482]=0;ub();$k();a[1680841]=1}}else c[584045]=yr()|0;while(0);nc();Nk();o=c[584939]|0;if(o|0)c[573680]=o;c[584940]=256;o=((Pk(3077500,c[808062]|0,24365)|0)&5|0)==5;Lr((c[474480]|0)==0&((c[806962]|0)==1&o)&1);o=c[573533]|0;m=c[806962]|0;do if((o|0)!=0&(m|0)==1){n=o+1|0;c[573533]=n;if((n|0)==12)c[769397]=1;if((c[806967]|0)==1){fc(c[769392]|0,0,0)|0;c[573533]=1;n=(c[573534]|0)+1|0;c[573534]=n;if((n|0)==48)ya(0);else{p=c[806962]|0;break}}else p=1}else p=m;while(0);if(!((c[806963]|0)>>>0>1&((c[473626]|0)!=0&(p|0)==0))){c[584659]=0;c[584658]=0}if(Wn(-5)|0?(Wn(16)|0)==3:0){if(!(c[584939]|0)){p=c[573680]|0;c[584939]=(p|0)==0?256:p;qs(2294168,41650)|0}else{c[584939]=0;qs(2294168,41631)|0}c[573606]=yr()|0;c[573607]=(yr()|0)+1400;c[573608]=15;c[584940]=256;ub()}if(Wn(-5)|0?(Wn(45)|0)==3:0){p=(c[573680]|0)+-32|0;m=(p|0)<256?p:256;p=(m|0)>0?m:0;c[573680]=p;c[584939]=p;q=1676064;r=41838;s=q+32|0;do{a[q>>0]=a[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(s|0));a[1676075]=(p|0)>31?16:45;a[1676076]=(p|0)>63?16:45;a[1676077]=(p|0)>95?16:45;a[1676078]=(p|0)>127?16:45;a[1676079]=(p|0)>159?16:45;a[1676080]=(p|0)>191?16:45;a[1676081]=(p|0)>223?16:45;a[1676082]=(p|0)>255?16:45;qs(2294168,1676064)|0;c[573606]=yr()|0;c[573607]=(yr()|0)+1900;c[573608]=15;c[573606]=(c[573606]|0)+-1e3;ub();if(Tn()|0)do Un()|0;while((Tn()|0)!=0)}if(Wn(-5)|0?(Wn(46)|0)==3:0){p=(c[573680]|0)+32|0;m=(p|0)<256?p:256;p=(m|0)>0?m:0;c[573680]=p;c[584939]=p;q=1676064;r=41838;s=q+32|0;do{a[q>>0]=a[r>>0]|0;q=q+1|0;r=r+1|0}while((q|0)<(s|0));a[1676075]=(p|0)>31?16:45;a[1676076]=(p|0)>63?16:45;a[1676077]=(p|0)>95?16:45;a[1676078]=(p|0)>127?16:45;a[1676079]=(p|0)>159?16:45;a[1676080]=(p|0)>191?16:45;a[1676081]=(p|0)>223?16:45;a[1676082]=(p|0)>255?16:45;qs(2294168,1676064)|0;c[573606]=yr()|0;c[573607]=(yr()|0)+1900;c[573608]=15;c[573606]=(c[573606]|0)+-1e3;ub();if(Tn()|0)do Un()|0;while((Tn()|0)!=0)};c[807372]=-1;c[807373]=-1;c[807374]=-1;c[807375]=-1;c[807376]=-1;c[807377]=-1;c[807378]=-1;c[807379]=-1;p=c[474480]|0;r=c[584939]|0;q=c[769376]|0;s=Qr()|0;m=((Pk(3077500,c[808062]|0,24365)|0)&5|0)==5;pa(10,p|0,r|0,q|0,s|0,1,(c[474480]|0)==0&((c[806962]|0)==1&m)&1|0,c[473571]|0,c[584504]|0)|0;c[584048]=(c[584048]|0)+1;m=ka(11)|0;a:do if((m|0)>0){s=ka(12)|0;do switch(m|0){case 1:{c[806967]=1;break a;break}case 2:{q=(s|0)<256?s:256;c[584939]=(q|0)>0?q:0;c[584940]=256;break a;break}case 3:{if(!(c[584939]|0)){q=c[573680]|0;c[584939]=(q|0)==0?256:q;qs(2294168,41650)|0}else{c[584939]=0;qs(2294168,41631)|0}c[573606]=yr()|0;c[573607]=(yr()|0)+1400;c[573608]=15;c[584940]=256;break a;break}case 4:{if(!(c[474480]|0)){c[474480]=1;ub();c[474482]=0;break a}else{c[824989]=0;c[474480]=0;break a}break}case 5:{q=(s|0)==0;r=(c[474480]|0)!=0;if(!(q|r)){c[474480]=1;ub();c[474482]=0;break a}if(!(q&r))break a;c[824989]=0;c[474480]=0;break a;break}case 6:{Av(1893240,0,1024)|0;la(3,0)|0;a[74672]=0;r=0;do{q=ka(4)|0;a[74672+r>>0]=q;r=r+1|0;a[74672+r>>0]=0}while((q|0)!=0&r>>>0<1023);qs(1893240,hm(3300628,74672)|0)|0;Ab();sn(c[769366]|0);sn(c[769392]|0);sn(c[769383]|0);break a;break}case 7:{r=c[474480]|0;if((r|1|0)!=3){c[474480]=3;Sl();break a}if(r|0)c[824989]=0;c[474480]=0;break a;break}case 9:{c[574465]=0;oc();break a;break}case 10:{c[574465]=1;break a;break}case 11:{c[574465]=0;break a;break}default:break a}while(0)}while(0);ka(13)|0;c[807372]=ka(14)|0;c[807373]=ka(14)|0;c[807374]=ka(14)|0;c[807375]=ka(14)|0;c[807376]=ka(14)|0;c[807377]=ka(14)|0;c[807378]=ka(14)|0;c[807379]=ka(14)|0;c[573681]=ka(15)|0;c[824650]=89;Db();if((c[806962]|0)!=1){c[584655]=0;if(c[474480]|0)c[824989]=0;c[474480]=0;c[824513]=30}m=(yr()|0)+72e6|0;s=(c[474480]|c[584655]|0)==0;r=c[824513]|0;q=m-(c[584049]|0)|0;p=B((((q|0)<32e3?q:32e3)<<16|0)/1e3|0,s?r:30)|0;q=p+(c[573676]|0)|0;p=(q|0)>0?q:0;c[573676]=p;c[584049]=m;if(!(c[573533]|0))t=p;else{c[573676]=65536;t=65536}p=(r|0)==60?131072:131071;r=t>>>0

>>0?t:p;p=(r|0)>0?r:0;c[573676]=p;if(s){Fr(j,k,l);l=c[j>>2]|0;j=c[k>>2]|0;k=(j|0)!=(c[584051]|0)|(l|0)!=(c[584050]|0);c[584050]=l;c[584051]=j;j=(Wn(225)|0)==0;l=(c[806962]|0)!=1;s=c[573676]|0;if((s|0)<65536&(l&(k&j)^1)|l&(s|0)<32768){l=2295780+(c[574457]<<5)+16|0;c[l>>2]=(c[l>>2]|0)+1;l=(Qr()|0)==0;j=l?c[584942]|0:c[584941]|0;if((j|0)>0)u=100/(((j|0)<50?j:50)>>>0)|0;else u=1e4;j=c[584052]|0;if((j|0)<(u|0)){nn();v=c[584052]|0}else v=j;w=c[573676]|0;x=v+1|0}else{w=s;x=0}c[584052]=x;if((w|0)>65535)do{do if((c[806962]|0)==1){if((c[473642]|0)>0|(c[575495]|0)!=0){bl();if((c[473642]|0)>0)Eb();w=c[806970]|0;if((w|0)<=10)break;c[806970]=w+-1;break}w=c[806970]|0;if((w|0)>0){c[806970]=w+-1;break}Fb();w=(c[806971]|0)+-1|0;x=(w|0)<150?w:150;c[806971]=(x|0)>0?x:0;wb();c[g>>2]=0;c[h>>2]=0;c[i>>2]=0;Fr(g,h,i);x=c[9008]|0;w=c[g>>2]|0;do if((x|0)==-1){y=c[h>>2]|0;z=c[i>>2]|0}else{if((x|0)!=(w|0))c[807109]=c[807109]|1;s=c[h>>2]|0;if((c[9009]|0)!=(s|0))c[807109]=c[807109]|2;v=c[9010]|0;j=c[i>>2]|0;if((v|0)==(j|0)){y=s;z=v;break}c[807109]=c[807109]|4;y=s;z=j}while(0);c[9008]=w;c[9009]=y;c[9010]=z;if((c[806968]|0)==0|(c[807444]|0)<2){bl();if(c[806968]|0)c[769376]=((c[824513]|0)==30?2:1)+(c[769376]|0);vb();Tg()}if((c[769397]|0)>2)break;c[574462]=1;ch();c[574462]=0;if(!(c[769394]|0))break;c[573677]=1;if(!((c[806968]|0)!=0&(c[807444]|0)==2))break;if((Lg(0)|0)<=2097152)break;al();vb();Tg()}else{bl();x=c[824858]|0;if((x|0)==1){Wl();A=c[824858]|0}else A=x;c[806970]=0}while(0);x=c[806962]|0;if((x|0)==2){cn();C=c[806962]|0}else C=x;do if((C|0)==3){x=Vn()|0;if(!(c[807112]|x|c[807113]|c[807114]|c[807115]|c[807116]|c[807117]|c[807118]))break;jb()}while(0);Cb();c[573676]=(c[573676]|0)+-65536;c[769375]=(c[769375]|0)+1;c[824860]=(c[824860]|0)+1;x=c[584053]&1^1;c[584053]=x;do if(!(c[473630]|0)){j=c[584655]|0;s=c[474480]|0;v=c[824513]|0;if((v|0)==60&(j|x|s|0)==0){Gh(c[573674]|0);D=c[584655]|0;E=c[474480]|0;F=c[824513]|0}else{D=j;E=s;F=v}if((F|0)==30|(E|D|0)!=0){Gh(c[573674]|0);G=c[584655]|0;H=c[474480]|0;I=c[824513]|0}else{G=D;H=E;I=F}if(!((H|G|0)==0&(I|0)==15))break;Gh(c[573674]|0);Gh(c[573674]|0)}while(0)}while((c[573676]|0)>65535)}else if((p|0)>65535){bl();Fb();switch(c[474480]|0){case 2:{Wl();break}case 3:{if(cl(6,0)|0){if(c[474480]|0)c[824989]=0;c[474480]=0;$k()}break}default:{wb();xb()}}c[573676]=(c[573676]|0)+-65536;if(!(c[473630]|0))Gh(c[573674]|0)}if(!(c[806963]|c[806962])){yb();p=c[824856]|0;I=c[824857]|0;if((p|0)!=0&(I|0)>0){tb();J=c[824856]|0;K=c[824857]|0}else{J=p;K=I}if((J|0)!=0&(K|0)>0)tb()}if((c[806962]|0)==1&(c[806963]|0)==0&(c[474480]|0)==2?(Wn(41)|0)==3:0)Tl();if(c[806969]|0)c[806969]=0;do if(!(c[473584]|0))L=0;else{if((Wn(63)|0)!=3?(Wn(58)|0)!=3:0)M=0;else M=1;if((Wn(64)|0)!=3?(Wn(59)|0)!=3:0)N=M;else N=2;if((Wn(65)|0)!=3?(Wn(60)|0)!=3:0)O=N;else O=3;if((Wn(66)|0)!=3?(Wn(61)|0)!=3:0)P=O;else P=4;if((Wn(67)|0)!=3?(Wn(62)|0)!=3:0){L=P;break}L=5}while(0);if(!(Wn(-5)|0))Q=L;else{P=(Wn(35)|0)==3;Q=P?1:L}if(!(Wn(-5)|0))R=Q;else{L=(Wn(36)|0)==3;R=L?2:Q}if(!(Wn(-5)|0))S=R;else{Q=(Wn(37)|0)==3;S=Q?3:R}if(!(Wn(-5)|0))T=S;else{R=(Wn(38)|0)==3;T=R?4:S}if(!(Wn(-5)|0))U=T;else{S=(Wn(39)|0)==3;U=S?5:T}b:do if(!(Wn(-4)|0))switch(U|0){case 1:{if(!(fc(c[769392]|0,0,0)|0)){qs(2294168,60706)|0;c[573606]=yr()|0;c[573607]=(yr()|0)+1400;c[573608]=15;break b}else{qs(2294168,42639)|0;c[573606]=yr()|0;c[573607]=(yr()|0)+1900;c[573608]=15;break b}break}case 3:{Hh();qs(2294168,42668)|0;c[573606]=yr()|0;c[573607]=(yr()|0)+1400;c[573608]=15;break b;break}case 4:{T=Fh(0,0)|0;do if((T|0)!=9)if((T|0)>0){qs(2294168,42725)|0;c[573606]=yr()|0;c[573607]=(yr()|0)+1900;c[573608]=15;break}else{c[f>>2]=Lh()|0;c[f+4>>2]=0;Xs(g,60864,f)|0;qs(2294168,g)|0;c[573606]=yr()|0;c[573607]=(yr()|0)+1900;c[573608]=15;break}else{qs(2294168,42693)|0;c[573606]=yr()|0;c[573607]=(yr()|0)+1900;c[573608]=15}while(0);if((c[473629]|0)!=1)break b;Hh();break b;break}default:break b}while(0);if(c[491347]|0){zv(1680288,1964874,512)|0;c[491347]=0}if(!(c[473642]|c[806970]|c[806971]))c[824860]=0;g=c[806962]|0;if((g|0)==1&(c[806968]|0)!=0){f=Pk(3077500,c[808062]|0,24367)|0;U=(f|0)==1|((f|0)!=2?(c[474483]|c[474480]|0)!=0:0);f=c[584657]|0;c[584657]=(f+-1|0)>>>0<4&(U^1)?f+1|0:U&1;V=c[806962]|0}else V=g;do if((V|1|0)==3){c[584673]=0;W=199}else{g=c[584673]|0;if(g|0){c[e>>2]=g&255;Xs(1676064,42749,e)|0;qs(2294168,1676064)|0;c[573606]=yr()|0;c[573607]=(yr()|0)+1400;c[573608]=15;c[584673]=0}g=c[584674]|0;if(!g)break;c[d>>2]=g&255;Xs(1676064,42771,d)|0;qs(2294168,1676064)|0;c[573606]=yr()|0;c[573607]=(yr()|0)+1400;c[573608]=15;W=199}while(0);if((W|0)==199)c[584674]=0;W=c[574467]|0;if(W|0)ru(W)|0;ru(c[9036]|0)|0;Ia=b;return}function Hb(){var a=0;Ol()|0;if(c[824856]|0)hr(3298608)|0;a=c[574466]|0;if(a|0)pu(a)|0;a=c[574467]|0;if(!a){jn()|0;return}pu(a)|0;jn()|0;return}function Ib(a,b){a=a|0;b=b|0;ka(16)|0;return on(a,b)|0}function Jb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Ia;Ia=Ia+1024|0;f=e;g=d;h=g+40|0;do{a[g>>0]=48;g=g+1|0}while((g|0)<(h|0));i=d+40|0;a[i>>0]=0;if(!b){Ia=e;return}j=_p(32768)|0;g=f;h=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=c[b>>2]|0;jq(g,Ht(g)|0,f)|0;a[f+40>>0]=0;g=c[b>>2]|0;c[b>>2]=f;h=Kb(b,j,0)|0;c[b>>2]=g;if(!h)jq(j,32768,d)|0;else qs(d,f)|0;a[i>>0]=0;cq(j);Ia=e;return}function Kb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;$p(d,0,32768);uq();f=0;do{a[d+f>>0]=Pk(0,b,f)|0;f=f+1|0}while((f|0)!=17152);vq();f=_p(262144)|0;g=c[b>>2]|0;do if(!e){h=0;i=zl(g,f,Ht(g)|0)|0;j=f}else{if(!(Pm(g,f)|0)){b=_p(262144)|0;h=f;i=zl(f,b,Ht(f)|0)|0;j=b;break}cq(f);k=2;return k|0}while(0);c[584054]=i;if((i|0)>15616){cq(j);cq(h);k=1;return k|0}else{zv(d+17152|0,j|0,i|0)|0;cq(j);cq(h);k=0;return k|0}return 0}function Lb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Ia;Ia=Ia+1056|0;d=b+1040|0;e=b+1024|0;f=b+768|0;g=b+512|0;h=b;i=yo(a)|0;Do(a,0,f,g);c[e>>2]=f;c[e+4>>2]=g;Xs(h,74247,e)|0;if(!i){c[d>>2]=a;_u(42881,d)|0;Ia=b;return}c[473571]=0;if(!(Hu(a,58555)|0)){j=i+16|0;k=i+12|0}else{a=_p(131072)|0;Mh(e);d=i+12|0;g=i+16|0;Oh(c[d>>2]|0,c[g>>2]|0,a,e)|0;Ph(a+(Ht(a)|0)|0,e)|0;c[i+20>>2]=0;c[g>>2]=0;lo(a,Ht(a)|0,1,i)|0;cq(a);j=g;k=d}d=Ht(h)|0;na(17,h|0,d|0,c[k>>2]|0,c[j>>2]|0)|0;fq(i);Ia=b;return}function Mb(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=Ia;Ia=Ia+16|0;g=f;h=f+4|0;i=yo(a)|0;j=i+16|0;k=_p(((c[j>>2]<<3|0)/6|0)+256|0)|0;$p(h,0,12);c[g>>2]=b;Xs(k,42994,g)|0;g=k+(Ht(k)|0)|0;if(i|0){Mh(h);Oh(c[i+12>>2]|0,c[j>>2]|0,g,h)|0;Ph(g+(Ht(g)|0)|0,h)|0}h=Ht(k)|0;oa(18,k|0,h|0,d|0,e|0,a|0,Ht(a)|0)|0;cq(k);uo(i);Ia=f;return}function Nb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=aq(32768)|0;$p(e,0,32768);if(Kb(a,e,1)|0){Eg(44418,8);cq(e);f=1;return f|0}a=to(b,74590)|0;if(!a){cq(e);f=1;return f|0}if(!d){lo(e,1,32768,a)|0;Hg(44472,32768,0)}else{lo(e+17152|0,1,c[584054]|0,a)|0;Hg(44443,c[584054]|0,0)}uo(a);cq(e);f=0;return f|0}function Ob(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;g=Ia;Ia=Ia+256|0;h=g+64|0;i=g+240|0;j=g+232|0;k=g+224|0;l=g+216|0;m=g+208|0;n=g+200|0;o=g+192|0;p=g+184|0;q=g+176|0;r=g+168|0;s=g+160|0;t=g+152|0;u=g+144|0;v=g+136|0;w=g+128|0;x=g+120|0;y=g+112|0;z=g+104|0;A=g+96|0;B=g;C=g+244|0;D=B;E=D+64|0;do{c[D>>2]=0;D=D+4|0}while((D|0)<(E|0));D=aq(32800)|0;$p(D,0,32800);if(Kb(b,D,f)|0){cq(D);Eg(44418,8);F=2;Ia=g;return F|0}a[D+32768>>0]=36;a[D+32769>>0]=0;a[D+32770>>0]=2;a[D+32771>>0]=4;a[D+32772>>0]=xm()|0;a[D+32773>>0]=2;jq(D,32768,B)|0;c[C>>2]=0;c[A>>2]=C;wu(B,44489,A)|0;a[D+32774>>0]=c[C>>2];c[C>>2]=0;c[z>>2]=C;wu(B+2|0,44489,z)|0;a[D+32775>>0]=c[C>>2];c[C>>2]=0;c[y>>2]=C;wu(B+4|0,44489,y)|0;a[D+32776>>0]=c[C>>2];c[C>>2]=0;c[x>>2]=C;wu(B+6|0,44489,x)|0;a[D+32777>>0]=c[C>>2];c[C>>2]=0;c[w>>2]=C;wu(B+8|0,44489,w)|0;a[D+32778>>0]=c[C>>2];c[C>>2]=0;c[v>>2]=C;wu(B+10|0,44489,v)|0;a[D+32779>>0]=c[C>>2];c[C>>2]=0;c[u>>2]=C;wu(B+12|0,44489,u)|0;a[D+32780>>0]=c[C>>2];c[C>>2]=0;c[t>>2]=C;wu(B+14|0,44489,t)|0;a[D+32781>>0]=c[C>>2];c[C>>2]=0;c[s>>2]=C;wu(B+16|0,44489,s)|0;a[D+32782>>0]=c[C>>2];c[C>>2]=0;c[r>>2]=C;wu(B+18|0,44489,r)|0;a[D+32783>>0]=c[C>>2];c[C>>2]=0;c[q>>2]=C;wu(B+20|0,44489,q)|0;a[D+32784>>0]=c[C>>2];c[C>>2]=0;c[p>>2]=C;wu(B+22|0,44489,p)|0;a[D+32785>>0]=c[C>>2];c[C>>2]=0;c[o>>2]=C;wu(B+24|0,44489,o)|0;a[D+32786>>0]=c[C>>2];c[C>>2]=0;c[n>>2]=C;wu(B+26|0,44489,n)|0;a[D+32787>>0]=c[C>>2];c[C>>2]=0;c[m>>2]=C;wu(B+28|0,44489,m)|0;a[D+32788>>0]=c[C>>2];c[C>>2]=0;c[l>>2]=C;wu(B+30|0,44489,l)|0;a[D+32789>>0]=c[C>>2];c[C>>2]=0;c[k>>2]=C;wu(B+32|0,44489,k)|0;a[D+32790>>0]=c[C>>2];c[C>>2]=0;c[j>>2]=C;wu(B+34|0,44489,j)|0;a[D+32791>>0]=c[C>>2];c[C>>2]=0;c[i>>2]=C;wu(B+36|0,44489,i)|0;a[D+32792>>0]=c[C>>2];c[C>>2]=0;c[h>>2]=C;wu(B+38|0,44489,h)|0;a[D+32793>>0]=c[C>>2];C=xn(160,205,32)|0;jp(c[(c[c[769401]>>2]|0)+580>>2]|0,C,0,0,0,0,160,205);B=c[b+44576>>2]|0;if(B|0)jp(B,C,0,0,16,24,128,128);B=c[b>>2]|0;b=B;while(1){i=a[b>>0]|0;G=i<<24>>24==10;H=b+1|0;if(G^i<<24>>24!=0)b=H;else break}i=G?H:b;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;if((a[B>>0]|0)==45?(a[B+1>>0]|0)==45:0){b=B+2|0;H=0;G=(a[b>>0]|0)==32?B+3|0:b;a:while(1){b=a[G>>0]|0;switch(b<<24>>24){case 10:case 0:{break a;break}default:{}}if(H>>>0>=31)break;a[h+H>>0]=b;H=H+1|0;G=G+1|0}go(C,h,c[769402]|0,18,167,1,-1808)|0};c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[h+24>>2]=0;c[h+28>>2]=0;if((a[i>>0]|0)==45?(a[i+1>>0]|0)==45:0){G=i+2|0;H=0;b=(a[G>>0]|0)==32?i+3|0:G;b:while(1){G=a[b>>0]|0;switch(G<<24>>24){case 10:case 0:{break b;break}default:{}}if(H>>>0>=31)break;a[h+H>>0]=G;H=H+1|0;b=b+1|0}go(C,h,c[769402]|0,18,175,1,-1808)|0}go(C,74252,c[769402]|0,18,187,1,-6250336)|0;h=c[C+12>>2]|0;b=0;while(1){H=a[h>>0]&-4;a[h>>0]=H;a[h>>0]=(d[D+(b>>>2)>>0]|0)>>>(b<<1&6)&3|H&255;b=b+1|0;if((b|0)==131200)break;else h=h+1|0}Ho(e,C)|0;yn(C)|0;cq(D);F=0;Ia=g;return F|0}function Pb(a,b){a=a|0;b=b|0;return Ob(a,b,0)|0}function Qb(a,b){a=a|0;b=b|0;var e=0,f=0;e=0;do{Ok(0,a,e,d[b+e>>0]|0);e=e+1|0}while((e|0)!=17152);if(!(c[a>>2]|0)){e=aq(65538)|0;c[a>>2]=e;$p(e,0,65538)}e=b+17152|0;b=(yl(e)|0)==0;f=c[a>>2]|0;if(b){zv(f|0,e|0,15616)|0;return}else{$p(f,0,65538);Al(e,c[a>>2]|0,65537)|0;return}}function Rb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=Ia;Ia=Ia+80|0;f=e+72|0;g=e+64|0;h=e;i=e+76|0;c[473578]=0;if(!b){c[473578]=2;j=0;Ia=e;return j|0}k=Fo(b)|0;if(!k){c[473578]=1;j=0;Ia=e;return j|0}if((c[k>>2]|0)==160?(c[k+4>>2]|0)==205:0){b=Yr()|0;l=c[k+12>>2]|0;m=0;do{n=m<<2;a[l+m>>0]=a[l+(n|1)>>0]<<2&12|a[l+n>>0]&3|a[l+(n|2)>>0]<<4&48|a[l+(n|3)>>0]<<6&255;m=m+1|0}while((m|0)!=32800);m=l+32768|0;c[b+44580>>2]=d[m>>0];n=a[m>>0]|0;m=n&255;do if((n&255)>36){if(c[473573]|0){fb(44493,1500);break}c[g>>2]=m;Xs(1676064,44521,g)|0;Gg(1676064);c[473578]=3;yn(k)|0;j=0;Ia=e;return j|0}while(0);Qb(b,l);jq(l,32768,h)|0;g=0;m=0;n=0;do{c[i>>2]=0;c[f>>2]=i;wu(h+(n<<1)|0,44489,f)|0;o=a[l+(n+32774)>>0]|0;g=o<<24>>24==0?g:1;m=(c[i>>2]|0)==(o&255|0)?m:1;n=n+1|0}while((n|0)!=20);yn(k)|0;if((g|0)!=0&(m|0)!=0){Gg(44540);p=0;q=4}else{p=b;q=0}c[473578]=q;j=p;Ia=e;return j|0}yn(k)|0;c[473578]=5;j=0;Ia=e;return j|0}function Sb(a){a=a|0;var b=0,d=0;b=to(a,65983)|0;d=Rb(b)|0;uo(b);if(!d)return d|0;c[d+44576>>2]=jm(a)|0;return d|0}function Tb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;d=Ia;Ia=Ia+16|0;e=d;f=to(b,65983)|0;if(!f){g=0;Ia=d;return g|0}b=Yr()|0;h=_p(262144)|0;i=_p(65536)|0;j=jo(h,1,131071,f)|0;a:do switch(a[h>>0]|0){case -17:{if((a[h+1>>0]|0)==-69?(a[h+2>>0]|0)==-65:0){k=0;l=1;m=h+3|0}else n=17;break}case 0:{if(((a[h+1>>0]|0)==0?(a[h+2>>0]|0)==-2:0)?(a[h+3>>0]|0)==-1:0){k=3;l=4;m=h+4|0}else n=17;break}case -1:{if((a[h+1>>0]|0)==-2){if((a[h+2>>0]|0)==0?(a[h+3>>0]|0)==0:0){k=0;l=4;m=h+4|0;break a}o=h+2|0;if((a[o>>0]|0)==0?(a[h+3>>0]|0)==0:0){k=0;l=1;m=h;break a}k=0;l=2;m=o}else{k=0;l=1;m=h}break}case -2:{if((a[h+1>>0]|0)==-1){o=h+2|0;if((a[o>>0]|0)==0?(a[h+3>>0]|0)==0:0)n=17;else{k=1;l=2;m=o}}else n=17;break}default:n=17}while(0);if((n|0)==17){k=0;l=1;m=h}n=(j+h-m|0)/(l|0)|0;if((n|0)>0){j=0;o=0;while(1){p=B(o,l)|0;q=a[m+(p+k)>>0]|0;r=0;s=0;while(1){if((r|0)==(k|0))t=s;else t=(a[m+(r+p)>>0]|0)==0?s:1;r=r+1|0;if(r>>>0>=l>>>0)break;else s=t}if(!t)if(q<<24>>24==13)u=j;else{a[m+j>>0]=q;u=j+1|0}else{a[m+j>>0]=95;a[m+(j+1)>>0]=120;s=j+2|0;r=0;while(1){c[e>>2]=a[m+(r+p)>>0];Xs(m+s|0,74510,e)|0;r=r+1|0;v=s+2|0;if(r>>>0>=l>>>0){u=v;break}else s=v}}o=o+1|0;if((o|0)==(n|0)){w=u;break}else j=u}}else w=0;a[m+w>>0]=10;a[m+(w+1)>>0]=0;w=_p(131072)|0;fs(m,w)|0;a[w+65534>>0]=0;uo(f);cq(h);cq(i);i=w+(Ht(w)|0)|0;a[i>>0]=10;a[i+1>>0]=0;qs(c[b>>2]|0,w)|0;cq(w);g=b;Ia=d;return g|0}function Ub(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Ia;Ia=Ia+3120|0;e=d+3104|0;f=d+3088|0;g=d+3072|0;h=d+2048|0;i=d+1024|0;j=d;qs(b,a)|0;if(rs(b,64330)|0){Ia=d;return}Do(a,h,i,j);if(rs(j,63732)|0){c[g>>2]=h;c[g+4>>2]=i;c[g+8>>2]=j;Xs(b,44568,g)|0;Ia=d;return}if(!(rs(j,44578)|0)){c[e>>2]=h;c[e+4>>2]=i;c[e+8>>2]=j;Xs(b,44583,e)|0;Ia=d;return}else{c[f>>2]=h;c[f+4>>2]=i;c[f+8>>2]=j;Xs(b,44568,f)|0;Ia=d;return}}function Vb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Ia;Ia=Ia+4160|0;g=f+4096|0;h=f+2048|0;i=f+1024|0;j=f;k=f+4120|0;if(!(a[b>>0]|0)){qs(h,44593)|0;qs(i,64330)|0}else Do(b,f+3072|0,h,i);Gr(44602,j);if(e|0){jr(k,0);e=c[k+8>>2]|0;l=c[k+12>>2]|0;m=c[k+16>>2]|0;n=c[k+20>>2]|0;o=c[k+24>>2]|0;c[g>>2]=c[k+4>>2];c[g+4>>2]=e;c[g+8>>2]=l;c[g+12>>2]=m;c[g+16>>2]=n;c[g+20>>2]=o;Xs(1676064,44610,g)|0;Rt(j,1676064)|0}Rt(j,h)|0;Rt(j,i)|0;if(d|0){d=aq(1048576)|0;i=to(b,65983)|0;h=jo(d,1,1048576,i)|0;uo(i);i=to(j,74590)|0;lo(d,1,h,i)|0;uo(i);cq(d);Ia=f;return 0}Xg();if(rs(b,63732)|0){Ob(c[18988]|0,j,0)|0;Ia=f;return 0}d=(rs(b,44578)|0)==0;b=c[18988]|0;if(d){bs(b,j)|0;Ia=f;return 0}else{Nb(b,j,0)|0;Ia=f;return 0}return 0}function Wb(a,b){a=a|0;b=b|0;Vb(a,b,1)|0;return 0}function Xb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=Ia;Ia=Ia+1024|0;e=d;Xg();f=_p(262144)|0;do if(Pm(c[c[18988]>>2]|0,f)|0){if((rs(b,63732)|0)==0?(rs(b,44578)|0)==0:0){qs(f,c[c[18988]>>2]|0)|0;break}cq(f);g=1;Ia=d;return g|0}while(0);h=Ht(f)|0;i=Ht(c[c[18988]>>2]|0)|0;j=(h|0)==(i|0);if(i>>>0>65536){Gg(44636);cq(f);g=1;Ia=d;return g|0}i=_p(262144)|0;$p(i,0,262144);h=zl(f,i,Ht(f)|0)|0;cq(i);if((rs(b,63732)|0)==0?(rs(b,44578)|0)==0:0){if((h|0)>15616){Eg(44707,9);Eg(44740,9);Hg(44693,h,15616);Gg(44771)}}else k=10;do if((k|0)==10){if((h|0)>15616){Eg(44661,8);Hg(44693,h,15616);cq(f);g=1;Ia=d;return g|0}if(rs(b,63732)|0){i=c[(c[18988]|0)+44576>>2]|0;if(i|0){l=c[i+12>>2]|0;i=a[l>>0]|0;m=1;n=0;do{n=(a[l+m>>0]|0)==i<<24>>24?n:1;m=m+1|0}while((m|0)!=16384);if(n|0)break}Eg(60285,9);Eg(60309,10)}}while(0);Ub(b,e);if(xt(e,3221316)|0?ir(e)|0:0)Vb(e,1,1)|0;do if(!(rs(e,63732)|0)){b=(rs(e,44578)|0)==0;h=c[18988]|0;if(b){o=bs(h,e)|0;break}else{qs(c[h>>2]|0,f)|0;Yg();o=Nb(c[18988]|0,e,0)|0;break}}else{qs(c[c[18988]>>2]|0,f)|0;Yg();o=Ob(c[18988]|0,e,0)|0}while(0);if(!o){qs(3221316,e)|0;Jb(c[18988]|0,3222340);if(!j)Eg(44791,9)}else if(c[806963]|0)fb(44811,1500);cq(f);g=o;Ia=d;return g|0}function Yb(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Ia;Ia=Ia+1040|0;g=f+1032|0;h=f+1024|0;i=f;if(!b){Ia=f;return}Zr(c[18988]|0);c[18988]=b;Zb(b);j=c[(c[b+12>>2]|0)+16>>2]|0;k=0;l=32;while(1){m=c[j+(l<<2)>>2]|0;n=0;o=k;do{o=(a[m+n>>0]|0)==0?o:1;n=n+1|0}while((n|0)!=128);l=l+1|0;if((l|0)==64)break;else k=o}if(!o)Ah(b);else Bh(b);c[473571]=0;Jb(c[18988]|0,3222422);Yg();Xg();Jb(c[18988]|0,3222340);a[163456]=0;c[h>>2]=44855;c[h+4>>2]=3222340;Xs(163456,44832,h)|0;h=163456+(Ht(163456)|0)|0;a[h>>0]=46;a[h+1>>0]=112;a[h+2>>0]=56;a[h+3>>0]=0;qs(i,163456)|0;if(!e)qs(3221316,i)|0;else qs(3221316,e)|0;do if(_g(e)|0){c[g>>2]=i;Xs(1671456,44858,g)|0;hn(1671456);h=$r(i)|0;if(!h){hn(44926);break}hn(44917);o=0;do{if(1<<(o&7)&d[(o>>>3)+(h+44604)>>0]|0)Ok(0,b,o,Pk(0,h,o)|0);o=o+1|0}while((o|0)!=17152)}while(0);kb();ns(c[(c[804540]|0)+364>>2]|0);i=c[804540]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;ns(c[(c[804541]|0)+364>>2]|0);i=c[804541]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;ns(c[(c[804542]|0)+364>>2]|0);i=c[804542]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;ns(c[(c[804543]|0)+364>>2]|0);i=c[804543]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;ns(c[(c[804544]|0)+364>>2]|0);i=c[804544]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;ns(c[(c[804545]|0)+364>>2]|0);i=c[804545]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;ns(c[(c[804546]|0)+364>>2]|0);i=c[804546]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;ns(c[(c[804547]|0)+364>>2]|0);i=c[804547]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;ns(c[(c[804548]|0)+364>>2]|0);i=c[804548]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;ns(c[(c[804549]|0)+364>>2]|0);i=c[804549]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;ns(c[(c[804550]|0)+364>>2]|0);i=c[804550]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;ns(c[(c[804551]|0)+364>>2]|0);i=c[804551]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;ns(c[(c[804552]|0)+364>>2]|0);i=c[804552]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;ns(c[(c[804553]|0)+364>>2]|0);i=c[804553]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;ns(c[(c[804554]|0)+364>>2]|0);i=c[804554]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;ns(c[(c[804555]|0)+364>>2]|0);i=c[804555]|0;c[i+336>>2]=0;c[i+344>>2]=-1;c[i+348>>2]=-1;c[573938]=0;c[473640]=0;i=0;do{if(c[b+16+(i*660|0)>>2]&294|0)c[473640]=1;i=i+1|0}while((i|0)!=64);if(c[806968]|0){Ia=f;return}a[3229808]=0;Ia=f;return}function Zb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=Ia;Ia=Ia+16|0;d=b;e=a+44584|0;if(c[e>>2]|0){Ia=b;return}c[e>>2]=1;e=a+44580|0;f=c[e>>2]|0;do if((f+-19|0)>>>0<5)if(!(Hu(c[a>>2]|0,48721)|0)){Ia=b;return}else{fb(44939,3e3);g=c[e>>2]|0;break}else g=f;while(0);if((g|0)<5){f=0;do{h=a+42256+(f<<4)|0;i=c[h>>2]|0;j=i>>>0<64;if(j){k=c[a+16+(i*660|0)+8>>2]|0;l=((k|0)>1?k:1)<<5;k=(c[a+16+(i*660|0)+16>>2]|0)>(c[a+16+(i*660|0)+12>>2]|0);m=k<<31>>31;n=k?0:l;o=l}else{m=-1;n=0;o=0}l=c[a+42256+(f<<4)+4>>2]|0;k=l>>>0<64;if(k){p=c[a+16+(l*660|0)+8>>2]|0;q=((p|0)>1?p:1)<<5;p=(o|0)>(q|0)?o:q;if((m|0)==-1){r=(c[a+16+(l*660|0)+16>>2]|0)>(c[a+16+(l*660|0)+12>>2]|0);s=r?-1:1;t=r?n:q;u=p}else{s=0;t=n;u=p}}else{s=m;t=n;u=o}p=c[a+42256+(f<<4)+8>>2]|0;q=p>>>0<64;if(q){r=c[a+16+(p*660|0)+8>>2]|0;v=((r|0)>1?r:1)<<5;r=(u|0)>(v|0)?u:v;if((s|0)==-1){w=(c[a+16+(p*660|0)+16>>2]|0)>(c[a+16+(p*660|0)+12>>2]|0);x=w?-1:2;y=w?t:v;z=r}else{x=s;y=t;z=r}}else{x=s;y=t;z=u}r=c[a+42256+(f<<4)+12>>2]|0;v=r>>>0<64;if(v){w=c[a+16+(r*660|0)+8>>2]|0;A=((w|0)>1?w:1)<<5;w=(z|0)>(A|0)?z:A;if((x|0)==-1){B=(c[a+16+(r*660|0)+16>>2]|0)>(c[a+16+(r*660|0)+12>>2]|0);C=B?-1:3;D=B?y:A;E=w}else{C=x;D=y;E=w}}else{C=x;D=y;E=z}a:do if((E|0)!=(D|0)&(C|0)!=-1){if((j?(c[a+16+(i*660|0)+16>>2]|0)<=(c[a+16+(i*660|0)+12>>2]|0):0)?(w=c[a+16+(i*660|0)+8>>2]|0,(((w|0)>1?w:1)<<5|0)==(E|0)):0)break;if((k?(c[a+16+(l*660|0)+16>>2]|0)<=(c[a+16+(l*660|0)+12>>2]|0):0)?(w=c[a+16+(l*660|0)+8>>2]|0,(((w|0)>1?w:1)<<5|0)==(E|0)):0)F=1;else G=49;do if((G|0)==49){G=0;if((q?(c[a+16+(p*660|0)+16>>2]|0)<=(c[a+16+(p*660|0)+12>>2]|0):0)?(w=c[a+16+(p*660|0)+8>>2]|0,(((w|0)>1?w:1)<<5|0)==(E|0)):0){F=2;break}if(!v)break a;if((c[a+16+(r*660|0)+16>>2]|0)>(c[a+16+(r*660|0)+12>>2]|0))break a;w=c[a+16+(r*660|0)+8>>2]|0;if((((w|0)>1?w:1)<<5|0)==(E|0))F=3;else break a}while(0);c[d>>2]=f;c[d+4>>2]=0;c[d+8>>2]=F;Xs(1676064,44971,d)|0;Gg(1676064);w=c[h>>2]|0;A=a+42256+(f<<4)+(F<<2)|0;c[h>>2]=c[A>>2];c[A>>2]=w}while(0);f=f+1|0}while((f|0)!=64);f=c[e>>2]|0;if((f|0)<5){F=0;do{d=0;do{if((c[a+16+(F*660|0)+20+(d*20|0)+4>>2]|0)==6?(E=a+16+(F*660|0)+20+(d*20|0)+8|0,(c[E>>2]|0)>5):0)c[E>>2]=5;d=d+1|0}while((d|0)!=32);F=F+1|0}while((F|0)!=64);if(Hu(c[a>>2]|0,45003)|0){F=_p(65538)|0;qs(F,c[a>>2]|0)|0;qs(c[a>>2]|0,45028)|0;Rt(c[a>>2]|0,F)|0;Gg(46299);cq(F);H=c[e>>2]|0}else H=f}else H=f}else H=g;if((H|0)>=11){Ia=b;return}H=0;g=0;do{H=H+((c[a+16+(g*660|0)+4>>2]|0)>1&1)+((c[a+16+(g*660|0)+12>>2]|0)>63&1)+((c[a+16+(g*660|0)+16>>2]|0)>63&1)+((c[a+16+(g*660|0)+36>>2]|0)!=0&1)+((c[a+16+(g*660|0)+56>>2]|0)!=0&1)+((c[a+16+(g*660|0)+76>>2]|0)!=0&1)+((c[a+16+(g*660|0)+96>>2]|0)!=0&1)+((c[a+16+(g*660|0)+116>>2]|0)!=0&1)+((c[a+16+(g*660|0)+136>>2]|0)!=0&1)+((c[a+16+(g*660|0)+156>>2]|0)!=0&1)+((c[a+16+(g*660|0)+176>>2]|0)!=0&1)+((c[a+16+(g*660|0)+196>>2]|0)!=0&1)+((c[a+16+(g*660|0)+216>>2]|0)!=0&1)+((c[a+16+(g*660|0)+236>>2]|0)!=0&1)+((c[a+16+(g*660|0)+256>>2]|0)!=0&1)+((c[a+16+(g*660|0)+276>>2]|0)!=0&1)+((c[a+16+(g*660|0)+296>>2]|0)!=0&1)+((c[a+16+(g*660|0)+316>>2]|0)!=0&1)+((c[a+16+(g*660|0)+336>>2]|0)!=0&1)+((c[a+16+(g*660|0)+356>>2]|0)!=0&1)+((c[a+16+(g*660|0)+376>>2]|0)!=0&1)+((c[a+16+(g*660|0)+396>>2]|0)!=0&1)+((c[a+16+(g*660|0)+416>>2]|0)!=0&1)+((c[a+16+(g*660|0)+436>>2]|0)!=0&1)+((c[a+16+(g*660|0)+456>>2]|0)!=0&1)+((c[a+16+(g*660|0)+476>>2]|0)!=0&1)+((c[a+16+(g*660|0)+496>>2]|0)!=0&1)+((c[a+16+(g*660|0)+516>>2]|0)!=0&1)+((c[a+16+(g*660|0)+536>>2]|0)!=0&1)+((c[a+16+(g*660|0)+556>>2]|0)!=0&1)+((c[a+16+(g*660|0)+576>>2]|0)!=0&1)+((c[a+16+(g*660|0)+596>>2]|0)!=0&1)+((c[a+16+(g*660|0)+616>>2]|0)!=0&1)+((c[a+16+(g*660|0)+636>>2]|0)!=0&1)+((c[a+16+(g*660|0)+656>>2]|0)!=0&1)|0;g=g+1|0}while((g|0)!=64);if(H|0){Ia=b;return}H=0;do{g=0;do{f=a+16+(H*660|0)+20+(g*20|0)+12|0;if((c[f>>2]|0)==1?(c[a+16+(H*660|0)+20+(g*20|0)+8>>2]|0)==0:0)c[f>>2]=0;g=g+1|0}while((g|0)!=32);H=H+1|0}while((H|0)!=64);Ia=b;return}function _b(b){b=b|0;var d=0,e=0;d=Ia;Ia=Ia+16|0;e=d;a[163456]=0;c[e>>2]=44855;c[e+4>>2]=b;Xs(163456,44832,e)|0;e=163456+(Ht(163456)|0)|0;a[e>>0]=46;a[e+1>>0]=112;a[e+2>>0]=56;a[e+3>>0]=0;Ia=d;return 163456}function $b(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=to(b,65983)|0;e=Rb(d)|0;uo(d);if(e|0){c[e+44576>>2]=jm(b)|0;f=e;return f|0}e=$r(b)|0;if(e|0){f=e;return f|0}if(rs(b,44578)|0?(e=yo(b)|0,e|0):0){d=e+16|0;g=c[d>>2]|0;if((g|0)<32768){do no(0,e);while((c[d>>2]|0)<32768);if((g|0)<15617){g=e+12|0;d=0;do{h=c[g>>2]|0;a[h+(d+17152)>>0]=a[h+d>>0]|0;a[(c[g>>2]|0)+d>>0]=0;d=d+1|0}while((d|0)!=15616);i=g}else j=10}else j=10;if((j|0)==10)i=e+12|0;j=Yr()|0;Qb(j,c[i>>2]|0);c[j+44580>>2]=36;uo(e);if(j|0){f=j;return f|0}}if(!(rs(b,46326)|0)){f=0;return f|0}f=Tb(b)|0;return f|0}function ac(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Ia;Ia=Ia+1024|0;e=d;qs(e,b)|0;f=$b(b)|0;g=c[805616]|0;h=c[473578]|0;if((f|0)==0&(g|0)!=1&(h|0)!=3){Ub(b,e);i=$b(e)|0;j=i;k=c[805616]|0;l=c[473578]|0}else{j=f;k=g;l=h}if((j|0)==0&(k|0)!=1&(l|0)!=3){h=e+(Ht(e)|0)|0;a[h>>0]=a[63732]|0;a[h+1>>0]=a[63733]|0;a[h+2>>0]=a[63734]|0;a[h+3>>0]=a[63735]|0;a[h+4>>0]=a[63736]|0;h=$b(e)|0;m=h;n=c[805616]|0;o=c[473578]|0}else{m=j;n=k;o=l}if((m|0)==0&(n|0)!=1&(o|0)!=3){qs(e,b)|0;b=e+(Ht(e)|0)|0;a[b>>0]=a[63732]|0;a[b+1>>0]=a[63733]|0;a[b+2>>0]=a[63734]|0;a[b+3>>0]=a[63735]|0;a[b+4>>0]=a[63736]|0;p=$b(e)|0}else p=m;if(!p){q=1;Ia=d;return q|0}Yb(p,e);q=0;Ia=d;return q|0}function bc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(xt(a,3226824)|0){qs(3226824,a)|0;f=30-(c[806971]|0)|0;g=(f|0)<30?f:30;c[806970]=(g|0)>2?g:2;c[806971]=150}g=$b(a)|0;if(!g){h=1;return h|0}if((e|0)>0){a=0;do{f=c[808062]|0;Ok(3077500,f,a+b|0,Pk(0,g,a+d|0)|0);a=a+1|0}while((a|0)!=(e|0))}Zr(g);h=0;return h|0}function cc(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=Ia;Ia=Ia+1040|0;k=j+1024|0;l=j;c[k>>2]=b;Xs(l,61355,k)|0;do if(!(Hu(1965392,l)|0)){k=0;m=0;a:while(1){switch(a[1965392+m>>0]|0){case 0:{break a;break}case 124:{n=k+1|0;break}default:n=k}k=n;m=m+1|0}if((k|0)>255){o=3;Ia=j;return o|0}else{Rt(1965392,l)|0;break}}while(0);qs(3226824,b)|0;c[806970]=30;l=$b(b)|0;if(!l){n=Yr()|0;if(!i)p=n;else{Av(n+44604|0,0,2144)|0;p=n}}else p=l;l=(g|0)>0;if(l)if(!h){h=0;do{Ok(0,p,h+e|0,Pk(3077500,c[808062]|0,h+f|0)|0);h=h+1|0}while((h|0)!=(g|0))}else{h=0;do{n=h+e|0;m=h+f|0;Ok(0,p,n,Pk(3077500,c[808062]|0,m)|0);q=c[18988]|0;Ok(0,q,n,Pk(3077500,c[808062]|0,m)|0);h=h+1|0}while((h|0)!=(g|0))}if(i|0?(i=g+e|0,l):0){l=e;do{e=((l|0)/8|0)+(p+44604)|0;a[e>>0]=1<<(l&7)|d[e>>0];l=l+1|0}while((l|0)<(i|0))}i=bs(p,b)|0;Zr(p);o=(i|0)==0?0:2;Ia=j;return o|0}function dc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=Ia;Ia=Ia+3104|0;e=d+3080|0;f=d+3072|0;g=d+2048|0;h=d+1024|0;i=d;if(!(a[3221316]|0))if(!b){fb(46357,1500);Ia=d;return}else{Gg(46331);Ia=d;return}Gr(63812,g);if(Hu(3221316,g)|0)if(!b){fb(46416,1500);Ia=d;return}else{Gg(46389);Ia=d;return}if(Xb(3221316)|0)if(!b){fb(46460,1500);Ia=d;return}else{Gg(46448);Ia=d;return}Do(3221316,g,h,i);c[f>>2]=h;c[f+4>>2]=i;Xs(1676064,46482,f)|0;if(!b){fb(1676064,1500);Ia=d;return}b=Ht(3218236)|0;f=(Vs(g,3218236,b)|0)==0;j=f?g+(b+-1)|0:g;if((a[j>>0]|0)==47){g=Ht(3219260)|0;b=(Vs(j+1|0,3219260,g)|0)==0;k=b?j+(g+1)|0:j}else k=j;c[e>>2]=k;c[e+4>>2]=h;c[e+8>>2]=i;Xs(1676064,46507,e)|0;Gg(1676064);Ia=d;return}function ec(){return}function fc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=Ia;Ia=Ia+2176|0;g=f+2160|0;h=f+2152|0;i=f+2144|0;j=f+2136|0;k=f+2128|0;l=f+2120|0;m=f+2112|0;n=f+1088|0;o=f+64|0;p=f;q=c[473624]|0;r=(q|0)<32?q:32;q=(d|0)<32?d:32;s=(d|0)>0?((q|0)>1?q:1):(r|0)>1?r:1;c[m>>2]=Hm()|0;Xs(p,46534,m)|0;if(a[3299964]|0){c[l>>2]=3299964;Xs(p,46545,l)|0}l=(e|0)==0;do if(!(Tt(p,37)|0))if(l){Ir(p,o);break}else{Gr(3300628,o);e=o+(Ht(o)|0)|0;m=e;a[m>>0]=97;a[m+1>>0]=112;a[m+2>>0]=112;a[m+3>>0]=100;m=e+4|0;a[m>>0]=97;a[m+1>>0]=116;a[m+2>>0]=97;a[m+3>>0]=0;Kr(o)|0;m=o+(Ht(o)|0)|0;a[m>>0]=47;a[m+1>>0]=0;Rt(o,Za()|0)|0;Kr(o)|0;m=o+(Ht(o)|0)|0;a[m>>0]=47;a[m+1>>0]=0;Rt(o,p)|0;c[h>>2]=o;Xs(1671456,46552,h)|0;hn(1671456);break}else if(l){m=0;while(1){c[k>>2]=m;Xs(n,p,k)|0;Ir(n,o);if(!(ir(o)|0))break;else m=m+1|0}}else{m=0;while(1){c[j>>2]=m;Xs(n,p,j)|0;Gr(3300628,o);e=o+(Ht(o)|0)|0;r=e;a[r>>0]=97;a[r+1>>0]=112;a[r+2>>0]=112;a[r+3>>0]=100;r=e+4|0;a[r>>0]=97;a[r+1>>0]=116;a[r+2>>0]=97;a[r+3>>0]=0;Kr(o)|0;r=o+(Ht(o)|0)|0;a[r>>0]=47;a[r+1>>0]=0;Rt(o,Za()|0)|0;Kr(o)|0;r=o+(Ht(o)|0)|0;a[r>>0]=47;a[r+1>>0]=0;Rt(o,n)|0;c[i>>2]=o;Xs(1671456,46552,i)|0;hn(1671456);if(!(ir(o)|0))break;else m=m+1|0}}while(0);i=B(c[b>>2]|0,s)|0;n=xn(i,B(c[b+4>>2]|0,s)|0,8)|0;s=n+4|0;Fn(b,n,0,0,c[n>>2]|0,c[s>>2]|0,0);if((c[s>>2]|0)<=0){c[g>>2]=o;Xs(1671456,46574,g)|0;hn(1671456);Ho(o,n)|0;Mb(o,46600,128,128);yn(n)|0;t=ir(o)|0;u=(t|0)==0;v=u&1;Ia=f;return v|0}b=n+16|0;i=0;j=c[n>>2]|0;while(1){if((j|0)>0){p=0;k=j;while(1){l=(c[(c[b>>2]|0)+(i<<2)>>2]|0)+p|0;if(!(a[l>>0]|0)){a[l>>0]=16;w=c[n>>2]|0}else w=k;p=p+1|0;if((p|0)>=(w|0)){x=w;break}else k=w}}else x=j;i=i+1|0;if((i|0)>=(c[s>>2]|0))break;else j=x}c[g>>2]=o;Xs(1671456,46574,g)|0;hn(1671456);Ho(o,n)|0;Mb(o,46600,128,128);yn(n)|0;t=ir(o)|0;u=(t|0)==0;v=u&1;Ia=f;return v|0}function gc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Ia;Ia=Ia+16|0;f=e;Gr(3300628,d);g=d+(Ht(d)|0)|0;h=g;a[h>>0]=97;a[h+1>>0]=112;a[h+2>>0]=112;a[h+3>>0]=100;h=g+4|0;a[h>>0]=97;a[h+1>>0]=116;a[h+2>>0]=97;a[h+3>>0]=0;Kr(d)|0;h=d+(Ht(d)|0)|0;a[h>>0]=47;a[h+1>>0]=0;Rt(d,Za()|0)|0;Kr(d)|0;h=d+(Ht(d)|0)|0;a[h>>0]=47;a[h+1>>0]=0;Rt(d,b)|0;c[f>>2]=d;Xs(1671456,46552,f)|0;hn(1671456);Ia=e;return}function hc(){c[584055]=0;return}function ic(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Ia;Ia=Ia+16|0;e=d;f=c[584055]|0;if((f|0)==64){Ia=d;return}c[584055]=f+1;qs(144448+(f*297|0)+41|0,b)|0;g=144448+(f*297|0)|0;Jb(a,g);f=Ht(c[a>>2]|0)|0;c[e>>2]=b;c[e+4>>2]=f;c[e+8>>2]=g;Xs(1671456,46604,e)|0;hn(1671456);e=Wr(b,66613)|0;if(!e){hn(46643);Ia=d;return}else{as(a,e,0)|0;uo(e);Ia=d;return}}function jc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ia;Ia=Ia+1024|0;f=e;g=c[584055]|0;if((g|0)<=0){h=0;Ia=e;return h|0}a:do if(d){i=0;while(1){j=144448+(i*297|0)+41|0;if(!(xt(b,j)|0)){k=i;break a}Ub(b,f);if(!(xt(f,j)|0)){l=10;break}m=f+(Ht(f)|0)|0;a[m>>0]=a[63732]|0;a[m+1>>0]=a[63733]|0;a[m+2>>0]=a[63734]|0;a[m+3>>0]=a[63735]|0;a[m+4>>0]=a[63736]|0;if(!(xt(f,j)|0)){l=12;break}j=i+1|0;if((j|0)<(c[584055]|0))i=j;else{h=0;l=14;break}}if((l|0)==10){h=144448+(i*297|0)|0;Ia=e;return h|0}else if((l|0)==12){h=144448+(i*297|0)|0;Ia=e;return h|0}else if((l|0)==14){Ia=e;return h|0}}else{j=0;while(1){if(!(xt(b,144448+(j*297|0)+41|0)|0)){k=j;break a}j=j+1|0;if((j|0)>=(g|0)){h=0;break}}Ia=e;return h|0}while(0);h=144448+(k*297|0)|0;Ia=e;return h|0}function kc(){return 0}function lc(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=Ia;Ia=Ia+128|0;d=b+64|0;e=b;if(!(a[3221316]|0)){f=0;Ia=b;return f|0}g=$b(3221316)|0;if(!g){f=0;Ia=b;return f|0}Zb(g);h=c[(c[g+12>>2]|0)+16>>2]|0;i=0;j=32;while(1){k=c[h+(j<<2)>>2]|0;l=0;m=i;do{m=(a[k+l>>0]|0)==0?m:1;l=l+1|0}while((l|0)!=128);j=j+1|0;if((j|0)==64)break;else i=m}if(!m)Ah(g);else Bh(g);Jb(g,d);Jb(c[18988]|0,e);Zr(g);if(!(xt(d,e)|0)){f=0;Ia=b;return f|0}if(!(xt(d,3222340)|0)){f=0;Ia=b;return f|0}f=(xt(d,3222422)|0)!=0&1;Ia=b;return f|0}function mc(a){a=a|0;return 0}function nc(){var b=0,d=0,e=0,f=0,g=0;if(!(a[2338700]|0)){a[2338700]=0;return}b=$b(2338700)|0;d=(b|0)!=0;if((c[806963]|c[806962]|0)==0&((d|(c[806968]|0)!=0)^1)){Gg(46683);a[2338700]=0;return}if(d){Zr(b);fb(46708,2e3);a[2338700]=0;return}if(rs(2338700,46721)|0){fb(46729,2e3);a[2338700]=0;return}if(!(rs(2338700,63732)|0)){if(!(a[2338700]|0)){a[2338700]=0;return}b=yo(2338700)|0;if((c[b+16>>2]|0)>262144)fb(46780,2e3);else Zm(b);fq(b);a[2338700]=0;return}b=Go(2338700)|0;if(!b){a[2338700]=0;return}rh();d=b+4|0;e=xn(c[b>>2]|0,c[d>>2]|0,8)|0;Dk(b,e,c[769362]|0);do if((c[806962]|0)!=1&(c[806963]|0)==2){f=c[824531]|0;g=(f|0)/16|0;jp(e,c[(c[18988]|0)+4>>2]|0,0,0,f-(g<<4)<<3,g<<3,c[b>>2]|0,c[d>>2]|0)}else{if((c[e>>2]|0)<=128?(c[e+4>>2]|0)<=128:0){_m(e);break}fb(46751,2e3)}while(0);yn(b)|0;yn(e)|0;a[2338700]=0;return}function oc(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=Ia;Ia=Ia+48|0;d=b+24|0;e=b+16|0;f=b+8|0;g=b;h=b+32|0;i=dq(139392)|0;j=ka(19)|0;k=j;ka(20)|0;do if(j){c[g>>2]=k;_u(47275,g)|0;l=Hu(k,47296)|0;if(l|0){m=l+7|0;Rh(h);l=Ht(m)|0;n=i+16|0;c[n>>2]=Sh(m,l,c[i+12>>2]|0,h)|0;l=i+20|0;c[l>>2]=0;m=Rb(i)|0;if(!m)o=_r(i,0)|0;else o=m;m=(o|0)!=0;if((c[806962]|0)==0&((m|(c[806968]|0)!=0)^1)){Gg(46683);a[2338700]=0;Ia=b;return}if(m){Zr(o);fb(46708,2e3);break}c[l>>2]=0;l=Fo(i)|0;m=(l|0)!=0;c[f>>2]=m&1;_u(47304,f)|0;if(!m){c[d>>2]=c[n>>2];_u(47371,d)|0;if((c[n>>2]|0)>262144){fb(46780,2e3);break}else{Zm(i);break}}rh();n=l+4|0;m=xn(c[l>>2]|0,c[n>>2]|0,8)|0;Dk(l,m,c[769362]|0);do if((c[806962]|0)!=1&(c[806963]|0)==2){p=c[824531]|0;q=(p|0)/16|0;jp(m,c[(c[18988]|0)+4>>2]|0,0,0,p-(q<<4)<<3,q<<3,c[l>>2]|0,c[n>>2]|0)}else{q=c[m>>2]|0;if((q|0)<=128?(p=c[m+4>>2]|0,(p|0)<=128):0){c[e>>2]=q;c[e+4>>2]=p;_u(47335,e)|0;_m(m);break}fb(46751,2e3)}while(0);yn(l)|0;yn(m)|0}}else Gg(47411);while(0);uo(i);Ia=b;return}function pc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=Ia;Ia=Ia+16|0;e=d;f=d+4|0;g=aq(32768)|0;$p(g,0,32768);if(Kb(b,g,1)|0){Eg(44418,8);cq(g);Ia=d;return}h=_p(62464)|0;i=h;j=47439;k=i+27|0;do{a[i>>0]=a[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));c[575494]=1;$p(f,0,12);Mh(f);j=c[584054]|0;Oh(g+17152|0,j,h+(Ht(h)|0)|0,f)|0;Ph(h+(Ht(h)|0)|0,f)|0;f=b+4|0;b=c[(c[f>>2]|0)+12>>2]|0;j=0;g=0;do{i=j;j=j+1|0;g=(a[b+i>>0]&15)==0?g:j}while((j|0)!=16384);j=(g|0)==0?1:g;if((j|0)>0){g=h+(Ht(h)|0)|0;a[g>>0]=38;a[g+1>>0]=103;a[g+2>>0]=61;a[g+3>>0]=0;g=h+(Ht(h)|0)|0;b=0;while(1){i=c[(c[f>>2]|0)+12>>2]|0;k=a[i+b>>0]|0;l=k&15;m=l&255;if((b|0)<(j|0)){a:do if((k&15)==l<<24>>24){n=0;o=b;while(1){p=o+1|0;q=n+1|0;if((p|0)>=(j|0)){r=q;s=p;break a}if(q>>>0<67?(a[i+p>>0]&15)==l<<24>>24:0){n=q;o=p}else{r=q;s=p;break}}}else{r=0;s=b}while(0);if(r>>>0<4){t=r;u=s;v=13}else{a[g>>0]=Nh((m|48)&255)|0;w=s;x=2;y=g+1|0;z=r+252|0}}else{t=0;u=b;v=13}if((v|0)==13){v=0;w=u;x=1;y=g;z=(t<<4)+240|m}a[y>>0]=Nh(z&255)|0;g=g+x|0;a[g>>0]=0;if((w|0)>=(j|0))break;else b=w}}c[575494]=0;if((Ht(h)|0)>>>0<2e3){w=_p(65536)|0;c[e>>2]=h+23;Xs(w,47466,e)|0;va(w|0);cq(w)}else Eg(47562,9);Hg(47589,Ht(h)|0,0);cq(h);Ia=d;return}function qc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ia;Ia=Ia+16|0;f=e;c[575494]=1;if(b|0?a[b>>0]|0:0){g=_p(16384)|0;Rh(f);Sh(b,Ht(b)|0,g,f)|0;$p(c[c[18988]>>2]|0,0,65538);Al(g,c[c[18988]>>2]|0,65537)|0;cq(g);Yg()}if(!d){c[575494]=0;Ia=e;return}g=a[d>>0]|0;if(!(g<<24>>24)){c[575494]=0;Ia=e;return}f=d;d=0;b=g;while(1){g=Qh(b)|0;h=f+1|0;i=g&15;j=(g>>>4&3)+1|0;if((j|0)==4){g=a[h>>0]|0;if(!(g<<24>>24)){k=4;l=h}else{k=(Qh(g)|0)+4|0;l=f+2|0}}else{k=j;l=h}if((k|0)>0&(d|0)<16384){h=i&255;i=k;j=d;while(1){a[(c[(c[(c[18988]|0)+4>>2]|0)+12>>2]|0)+j>>0]=h;g=j+1|0;if((i|0)>1&(j|0)<16383){i=i+-1|0;j=g}else{m=g;break}}}else m=d;b=a[l>>0]|0;if(!(b<<24>>24))break;else{f=l;d=m}}Ah(c[18988]|0);c[575494]=0;Ia=e;return}function rc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=Ia;Ia=Ia+16|0;e=d;c[e>>2]=b;f=c[a+16>>2]|0;g=a+8|0;h=c[g>>2]|0;do if(((c[a+24>>2]|0)-h>>3|0)<=(b|0)){if(((h-(c[a+28>>2]|0)>>3)+5|0)>(1e6-b|0)){i=0;Ia=d;return i|0}if(!(tc(a,2,e)|0)){j=c[g>>2]|0;k=c[e>>2]|0;break}else{i=0;Ia=d;return i|0}}else{j=h;k=b}while(0);b=f+4|0;f=j+(k<<3)|0;if((c[b>>2]|0)>>>0>=f>>>0){i=1;Ia=d;return i|0}c[b>>2]=f;i=1;Ia=d;return i|0}function sc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Ia;Ia=Ia+16|0;e=c[a+32>>2]|0;if((e|0)>1e6)uc(a,6);f=(c[b>>2]|0)+5+((c[a+8>>2]|0)-(c[a+28>>2]|0)>>3)|0;b=e<<1;e=(b|0)<1e6?b:1e6;b=(e|0)<(f|0)?f:e;if((b|0)>1e6){vc(a,1000200);wc(a,47670,d)}else{vc(a,b);Ia=d;return}}function tc(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=Ia;Ia=Ia+176|0;g=4;h=ws(40)|0;c[h>>2]=0;i=f;l=a+38|0;m=b[l>>1]|0;n=i+160|0;c[n>>2]=0;o=a+64|0;c[i>>2]=c[o>>2];c[o>>2]=i;h=wv(i+4|0,1,h|0,g|0)|0;g=G()|0;j=0;p=j;j=0;if((p|0)!=0&(k|0)!=0){q=xv(c[p>>2]|0,h|0,g|0)|0;if(!q)Da(p|0,k|0);F(k|0)}else q=-1;p=G()|0;if((q|0)==1)r=p;else r=0;do{if(r|0){s=6;break}j=0;H(d|0,a|0,e|0);p=j;j=0;if((p|0)!=0&(k|0)!=0){t=xv(c[p>>2]|0,h|0,g|0)|0;if(!t)Da(p|0,k|0);F(k|0)}else t=-1;r=G()|0}while((t|0)==1);if((s|0)==6){u=c[i>>2]|0;c[o>>2]=u;b[l>>1]=m;v=c[n>>2]|0;xs(h|0);Ia=f;return v|0}u=c[i>>2]|0;c[o>>2]=u;b[l>>1]=m;v=c[n>>2]|0;xs(h|0);Ia=f;return v|0}function uc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=c[b+64>>2]|0;if(e|0){c[e+160>>2]=d;Da(e+4|0,1)}a[b+6>>0]=d;e=b+12|0;f=c[e>>2]|0;g=c[f+144>>2]|0;if(c[g+64>>2]|0){h=c[b+8>>2]|0;i=g+8|0;g=c[i>>2]|0;c[i>>2]=g+8;c[g>>2]=c[h+-8>>2];c[g+4>>2]=c[h+-4>>2];uc(c[(c[e>>2]|0)+144>>2]|0,d)}d=c[f+140>>2]|0;if(!d)ja();Ma[d&255](b)|0;ja()}function vc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=b+28|0;f=c[e>>2]|0;g=b+32|0;h=c[g>>2]|0;if((d+1|0)>>>0>536870911)Hc(b);i=h<<3;j=d<<3;k=c[b+12>>2]|0;l=(f|0)==0;m=k+4|0;n=Pa[c[k>>2]&1](c[m>>2]|0,f,i,j)|0;if((j|0)!=0&(n|0)==0){if(!(a[k+51>>0]|0))uc(b,4);Gc(b,1);o=Pa[c[k>>2]&1](c[m>>2]|0,f,i,j)|0;if(!o)uc(b,4);else p=o}else p=n;n=k+12|0;c[n>>2]=(l?0:0-i|0)+j+(c[n>>2]|0);c[e>>2]=p;if((h|0)<(d|0)){n=h;do{c[p+(n<<3)+4>>2]=0;n=n+1|0}while((n|0)!=(d|0))}c[g>>2]=d;c[b+24>>2]=p+(d<<3)+-40;d=b+8|0;g=f;c[d>>2]=p+((c[d>>2]|0)-g>>3<<3);d=c[b+56>>2]|0;if(d|0?(f=d+8|0,c[f>>2]=p+((c[f>>2]|0)-g>>3<<3),f=c[d>>2]|0,f|0):0){d=f;do{f=d+8|0;c[f>>2]=(c[e>>2]|0)+((c[f>>2]|0)-g>>3<<3);d=c[d>>2]|0}while((d|0)!=0)}d=c[b+16>>2]|0;if(!d)return;b=d;do{d=b+4|0;f=c[e>>2]|0;c[d>>2]=f+((c[d>>2]|0)-g>>3<<3);c[b>>2]=f+((c[b>>2]|0)-g>>3<<3);if(a[b+18>>0]&1){d=b+24|0;c[d>>2]=f+((c[d>>2]|0)-g>>3<<3)}b=c[b+8>>2]|0}while((b|0)!=0);return}function wc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=d;yc(a,xc(a,b,f)|0);zc(a)}function xc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;f=Ia;Ia=Ia+80|0;g=f+64|0;h=f+56|0;i=f+48|0;j=f+40|0;k=f;l=Tt(d,37)|0;m=b+24|0;n=b+8|0;o=c[n>>2]|0;p=(c[m>>2]|0)-o|0;q=o;do if(l){r=b+32|0;s=b+28|0;t=0;u=d;v=p;w=q;x=o;y=l;a:while(1){if((v|0)<24){z=c[r>>2]|0;if((z|0)>1e6){A=5;break}B=(x-(c[s>>2]|0)>>3)+7|0;C=z<<1;z=(C|0)<1e6?C:1e6;C=(z|0)<(B|0)?B:z;if((C|0)>1e6){A=7;break}vc(b,C);D=c[n>>2]|0}else D=w;c[n>>2]=D+8;C=td(b,u,y-u|0)|0;c[D>>2]=C;c[D+4>>2]=(a[C+4>>0]|64)&255;E=a[y+1>>0]|0;switch(E<<24>>24|0){case 115:{C=(c[e>>2]|0)+(4-1)&~(4-1);z=c[C>>2]|0;c[e>>2]=C+4;C=(z|0)==0?74603:z;z=Ht(C)|0;B=c[n>>2]|0;c[n>>2]=B+8;F=td(b,C,z)|0;c[B>>2]=F;c[B+4>>2]=(a[F+4>>0]|64)&255;break}case 99:{F=(c[e>>2]|0)+(4-1)&~(4-1);B=c[F>>2]|0;c[e>>2]=F+4;a[k>>0]=B;B=c[n>>2]|0;c[n>>2]=B+8;F=Zc(b,k,1)|0;c[B>>2]=F;c[B+4>>2]=(a[F+4>>0]|64)&255;break}case 100:{F=c[n>>2]|0;c[n>>2]=F+8;B=(c[e>>2]|0)+(4-1)&~(4-1);z=c[B>>2]|0;c[e>>2]=B+4;c[F>>2]=z;c[F+4>>2]=3;break}case 102:{F=c[n>>2]|0;c[n>>2]=F+8;z=(c[e>>2]|0)+(4-1)&~(4-1);B=c[z>>2]|0;c[e>>2]=z+4;c[F>>2]=B;c[F+4>>2]=3;break}case 112:{F=(c[e>>2]|0)+(4-1)&~(4-1);B=c[F>>2]|0;c[e>>2]=F+4;c[i>>2]=B;B=Xs(k,48295,i)|0;F=c[n>>2]|0;c[n>>2]=F+8;z=td(b,k,B)|0;c[F>>2]=z;c[F+4>>2]=(a[z+4>>0]|64)&255;break}case 37:{z=c[n>>2]|0;c[n>>2]=z+8;F=Zc(b,48300,1)|0;c[z>>2]=F;c[z+4>>2]=(a[F+4>>0]|64)&255;break}default:{A=16;break a}}G=t+2|0;H=y+2|0;F=Tt(H,37)|0;I=c[n>>2]|0;J=(c[m>>2]|0)-I|0;if(!F){A=18;break}else{t=G;u=H;v=J;w=I;x=I;y=F}}if((A|0)==5)uc(b,6);else if((A|0)==7){vc(b,1000200);wc(b,47670,j)}else if((A|0)==16){c[h>>2]=E<<24>>24;wc(b,48302,h)}else if((A|0)==18){K=H;L=G;M=J;N=I;O=I;break}}else{K=d;L=0;M=p;N=o;O=q}while(0);do if((M|0)<16){q=c[b+32>>2]|0;if((q|0)>1e6)uc(b,6);o=(N-(c[b+28>>2]|0)>>3)+6|0;p=q<<1;q=(p|0)<1e6?p:1e6;p=(q|0)<(o|0)?o:q;if((p|0)>1e6){vc(b,1000200);wc(b,47670,g)}else{vc(b,p);P=c[n>>2]|0;break}}else P=O;while(0);O=Ht(K)|0;c[n>>2]=P+8;g=td(b,K,O)|0;c[P>>2]=g;c[P+4>>2]=(a[g+4>>0]|64)&255;if(!L){Q=c[n>>2]|0;R=Q+-8|0;S=c[R>>2]|0;T=S+16|0;Ia=f;return T|0}Nc(b,L|1);Q=c[n>>2]|0;R=Q+-8|0;S=c[R>>2]|0;T=S+16|0;Ia=f;return T|0}function yc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=Ia;Ia=Ia+80|0;f=e+64|0;g=e;h=c[b+16>>2]|0;if(!(a[h+18>>0]&1)){Ia=e;return}i=c[(c[c[h>>2]>>2]|0)+12>>2]|0;j=c[i+20>>2]|0;if(!j)k=0;else k=c[j+(((c[h+28>>2]|0)-(c[i+12>>2]|0)>>2)+-1<<2)>>2]|0;h=c[i+36>>2]|0;a:do if(!h){a[g>>0]=63;a[g+1>>0]=0}else{i=h+16|0;j=Ht(i)|0;switch(a[i>>0]|0){case 61:{l=i+1|0;if(j>>>0>60){m=g;n=l;o=m+59|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));a[g+59>>0]=0;break a}else{zv(g|0,l|0,j|0)|0;break a}break}case 64:{if(j>>>0>60){a[g>>0]=a[48275]|0;a[g+1>>0]=a[48276]|0;a[g+2>>0]=a[48277]|0;m=g+3|0;n=i+1+j+-57|0;o=m+57|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));break a}else{zv(g|0,i+1|0,j|0)|0;break a}break}default:{l=Tt(i,10)|0;m=g;n=48279;o=m+9|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));p=g+9|0;q=(l|0)==0;if(j>>>0<45&q){zv(p|0,i|0,j|0)|0;r=p+j|0}else{s=q?j:l-i|0;q=s>>>0<45?s:45;zv(p|0,i|0,q|0)|0;s=p+q|0;a[s>>0]=a[48275]|0;a[s+1>>0]=a[48276]|0;a[s+2>>0]=a[48277]|0;r=s+3|0};a[r>>0]=a[48289]|0;a[r+1>>0]=a[48290]|0;a[r+2>>0]=a[48291]|0;break a}}}while(0);c[f>>2]=d;sd(b,48292,f)|0;c[584058]=k;Ia=e;return}function zc(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;d=Ia;Ia=Ia+16|0;e=d;d=c[a+68>>2]|0;if(!d)uc(a,2);f=(c[a+28>>2]|0)+d|0;d=f+4|0;if((c[d>>2]&15|0)!=6)uc(a,6);g=a+8|0;h=c[g>>2]|0;c[h>>2]=c[h+-8>>2];c[h+4>>2]=c[h+-4>>2];h=c[g>>2]|0;c[h+-8>>2]=c[f>>2];c[h+-4>>2]=c[d>>2];d=c[g>>2]|0;c[g>>2]=d+8;g=d+-8|0;d=a+38|0;h=(b[d>>1]|0)+1<<16>>16;b[d>>1]=h;if((h&65535)>199){if(h<<16>>16==200)wc(a,47685,e);if((h&65535)>224)uc(a,6)}h=a+36|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16;if(!(Ac(a,g,1)|0))Bc(a);b[h>>1]=(b[h>>1]|0)+-1<<16>>16;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;uc(a,2)}function Ac(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;h=Ia;Ia=Ia+32|0;i=h+24|0;j=h+16|0;k=h+8|0;l=h;m=e+28|0;n=e+12|0;o=e+8|0;p=e+24|0;q=e+32|0;r=f;a:while(1){s=c[m>>2]|0;t=r-s|0;f=c[r+4>>2]|0;u=(f&63)+-6|0;switch(u>>>4|u<<28|0){case 3:{v=3;break a;break}case 1:{v=6;break a;break}case 2:{v=7;break a;break}case 0:{v=33;break a;break}default:{}}switch(f&15){case 5:{w=(c[r>>2]|0)+8|0;break}case 7:{w=(c[r>>2]|0)+8|0;break}default:w=(c[n>>2]|0)+276+((f&15)<<2)|0}f=c[w>>2]|0;b:do if(!f)x=2336224;else{u=c[(c[n>>2]|0)+272>>2]|0;y=(c[f+16>>2]|0)+(((1<>0])+-1&c[u+8>>2])*20|0)|0;while(1){if((c[y+12>>2]|0)==68?(c[y+8>>2]|0)==(u|0):0)break;z=c[y+16>>2]|0;if(!z){x=2336224;break b}else y=z}x=y}while(0);f=x+4|0;if((c[f>>2]&15|0)!=6){v=77;break}u=c[o>>2]|0;if(u>>>0>r>>>0){z=u;do{A=z;z=z+-8|0;c[A>>2]=c[z>>2];c[A+4>>2]=c[A+-4>>2]}while(z>>>0>r>>>0);B=c[o>>2]|0}else B=u;z=B+8|0;c[o>>2]=z;A=z;if(((c[p>>2]|0)-A|0)<8){z=c[q>>2]|0;if((z|0)>1e6){v=84;break}C=(A-(c[m>>2]|0)>>3)+5|0;A=z<<1;z=(A|0)<1e6?A:1e6;A=(z|0)<(C|0)?C:z;if((A|0)>1e6){v=86;break}vc(e,A)}A=(c[m>>2]|0)+t|0;c[A>>2]=c[x>>2];c[A+4>>2]=c[f>>2];r=A}if((v|0)==3){c[e+112>>2]=((c[o>>2]|0)-r>>3)+-1;c[r>>2]=Ma[c[r>>2]&255](e)|0;c[r+4>>2]=3;c[o>>2]=r+8;if((g|0)<=1){D=1;Ia=h;return D|0}x=r;B=g;while(1){c[x+12>>2]=0;if((B|0)>2){x=x+8|0;B=B+-1|0}else{D=1;break}}Ia=h;return D|0}else if((v|0)==6)E=r;else if((v|0)==7)E=(c[r>>2]|0)+12|0;else if((v|0)==33){B=c[(c[r>>2]|0)+12>>2]|0;x=c[o>>2]|0;w=x-r>>3;A=w+-1|0;z=B+78|0;C=d[z>>0]|0;do if(((c[p>>2]|0)-x>>3|0)<=(C|0)){F=c[q>>2]|0;if((F|0)>1e6)uc(e,6);G=(x-s>>3)+5+C|0;H=F<<1;F=(H|0)<1e6?H:1e6;H=(F|0)<(G|0)?G:F;if((H|0)>1e6){vc(e,1000200);wc(e,47670,k)}else{vc(e,H);break}}while(0);k=a[B+76>>0]|0;C=k&255;if((w|0)>(C|0))I=A;else{w=A;A=c[o>>2]|0;do{x=A;A=A+8|0;c[x+4>>2]=0;w=w+1|0}while((w|0)<(C|0));c[o>>2]=A;I=w}if(!(a[B+77>>0]|0)){w=(c[m>>2]|0)+t|0;J=w+8|0;K=w}else{w=c[o>>2]|0;A=d[z>>0]|0;do if(((c[p>>2]|0)-w>>3|0)<=(A|0)){x=c[q>>2]|0;if((x|0)>1e6)uc(e,6);H=A+5+(w-(c[m>>2]|0)>>3)|0;F=x<<1;x=(F|0)<1e6?F:1e6;F=(x|0)<(H|0)?H:x;if((F|0)>1e6){vc(e,1000200);wc(e,47670,j)}else{vc(e,F);L=c[o>>2]|0;break}}else L=w;while(0);w=0-I|0;I=L+(w<<3)|0;if(k<<24>>24?(c[o>>2]=L+8,c[L>>2]=c[I>>2],j=L+(w<<3)+4|0,c[L+4>>2]=c[j>>2],c[j>>2]=0,k<<24>>24!=1):0){k=1;do{j=c[o>>2]|0;w=I+(k<<3)|0;c[o>>2]=j+8;c[j>>2]=c[w>>2];A=w+4|0;c[j+4>>2]=c[A>>2];c[A>>2]=0;k=k+1|0}while((k|0)!=(C|0))}J=L;K=(c[m>>2]|0)+t|0}L=e+16|0;C=c[(c[L>>2]|0)+12>>2]|0;if(!C){k=c[n>>2]|0;I=k+4|0;A=Pa[c[k>>2]&1](c[I>>2]|0,0,0,40)|0;if(!A){if(!(a[k+51>>0]|0))uc(e,4);Gc(e,1);j=Pa[c[k>>2]&1](c[I>>2]|0,0,0,40)|0;if(!j)uc(e,4);else M=j}else M=A;A=k+12|0;c[A>>2]=(c[A>>2]|0)+40;A=c[L>>2]|0;c[A+12>>2]=M;c[M+8>>2]=A;c[M+12>>2]=0;N=M}else N=C;c[L>>2]=N;b[N+16>>1]=g;c[N>>2]=K;c[N+24>>2]=J;K=J+(d[z>>0]<<3)|0;c[N+4>>2]=K;c[N+28>>2]=c[B+12>>2];a[N+18>>0]=1;c[o>>2]=K;K=c[n>>2]|0;N=K+12|0;B=c[N>>2]|0;if((B|0)<=0){D=0;Ia=h;return D|0}if(!(a[K+51>>0]|0)){z=K+8|0;c[z>>2]=B+1600+(c[z>>2]|0);c[N>>2]=-1600;D=0;Ia=h;return D|0}else{Kc(e);D=0;Ia=h;return D|0}}else if((v|0)==77)$c(e,r,48270);else if((v|0)==84)uc(e,6);else if((v|0)==86){vc(e,1000200);wc(e,47670,i)}i=c[E>>2]|0;E=c[o>>2]|0;c[e+112>>2]=(E-r>>3)+-1;do if(((c[p>>2]|0)-E|0)<168){r=c[q>>2]|0;if((r|0)>1e6)uc(e,6);v=(E-s>>3)+25|0;N=r<<1;r=(N|0)<1e6?N:1e6;N=(r|0)<(v|0)?v:r;if((N|0)>1e6){vc(e,1000200);wc(e,47670,l)}else{vc(e,N);break}}while(0);l=e+16|0;s=c[(c[l>>2]|0)+12>>2]|0;if(!s){E=c[n>>2]|0;q=E+4|0;p=Pa[c[E>>2]&1](c[q>>2]|0,0,0,40)|0;if(!p){if(!(a[E+51>>0]|0))uc(e,4);Gc(e,1);N=Pa[c[E>>2]&1](c[q>>2]|0,0,0,40)|0;if(!N)uc(e,4);else O=N}else O=p;p=E+12|0;c[p>>2]=(c[p>>2]|0)+40;p=c[l>>2]|0;c[p+12>>2]=O;c[O+8>>2]=p;c[O+12>>2]=0;P=O}else P=s;c[l>>2]=P;b[P+16>>1]=g;c[P>>2]=(c[m>>2]|0)+t;c[P+4>>2]=(c[o>>2]|0)+160;a[P+18>>0]=0;P=c[n>>2]|0;n=P+12|0;t=c[n>>2]|0;do if((t|0)>0)if(!(a[P+51>>0]|0)){m=P+8|0;c[m>>2]=t+1600+(c[m>>2]|0);c[n>>2]=-1600;break}else{Kc(e);break}while(0);n=Ma[i&255](e)|0;e=c[o>>2]|0;i=c[l>>2]|0;t=c[i>>2]|0;P=b[i+16>>1]|0;c[l>>2]=c[i+8>>2];c:do if(P<<16>>16){i=P<<16>>16;l=0-n|0;if((l|0)<0){m=t;g=i;s=e+(l<<3)|0;while(1){l=m+8|0;c[m>>2]=c[s>>2];c[m+4>>2]=c[s+4>>2];O=g+-1|0;if(!O){Q=l;break c}s=s+8|0;if(s>>>0>=(c[o>>2]|0)>>>0){R=l;S=O;break}else{m=l;g=O}}}else{R=t;S=i}if((S|0)>0){g=S;m=R;while(1){s=m+8|0;c[m+4>>2]=0;if((g|0)>1){g=g+-1|0;m=s}else{Q=s;break}}}else Q=R}else Q=t;while(0);c[o>>2]=Q;D=1;Ia=h;return D|0}function Bc(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0;f=Ia;Ia=Ia+64|0;g=f+40|0;h=f+32|0;i=f+24|0;j=f+16|0;k=f+8|0;l=f;m=f+48|0;n=e+16|0;o=e+12|0;p=e+8|0;q=e+38|0;r=e+24|0;s=e+32|0;t=e+28|0;u=m+4|0;v=c[n>>2]|0;a:while(1){w=c[c[v>>2]>>2]|0;x=w+12|0;y=c[(c[x>>2]|0)+8>>2]|0;z=v+24|0;A=v+28|0;B=v+4|0;C=v+4|0;D=v+4|0;E=v+4|0;F=v+4|0;G=v+4|0;H=v+4|0;I=c[v+24>>2]|0;b:while(1){J=c[A>>2]|0;c[A>>2]=J+4;K=c[J>>2]|0;J=c[584060]|0;if((J|c[584061]|0)>(c[9014]|0)){c[584062]=1;L=c[n>>2]|0;M=L+18|0;N=d[M>>0]|0;if(!(N&128)){O=5;break a}a[M>>0]=N&127;P=c[z>>2]|0}else P=I;c[584060]=J+2;N=K>>>6&255;Q=P+(N<<3)|0;c:do switch(K&63){case 44:{O=229;break b;break}case 0:{c[584060]=J+1;R=K>>>23;c[Q>>2]=c[P+(R<<3)>>2];c[P+(N<<3)+4>>2]=c[P+(R<<3)+4>>2];S=P;break}case 1:{c[584060]=J+1;R=K>>>14;c[Q>>2]=c[y+(R<<3)>>2];c[P+(N<<3)+4>>2]=c[y+(R<<3)+4>>2];S=P;break}case 2:{R=c[A>>2]|0;c[A>>2]=R+4;T=(c[R>>2]|0)>>>6;c[Q>>2]=c[y+(T<<3)>>2];c[P+(N<<3)+4>>2]=c[y+(T<<3)+4>>2];S=P;break}case 3:{c[Q>>2]=K>>>23;c[P+(N<<3)+4>>2]=1;if(!(K&8372224))S=P;else{c[A>>2]=(c[A>>2]|0)+4;S=P}break}case 4:{T=Q;R=K>>>23;while(1){c[T+4>>2]=0;if(!R){S=P;break}else{T=T+8|0;R=R+-1|0}}break}case 5:{R=c[(c[w+16+(K>>>23<<2)>>2]|0)+8>>2]|0;c[Q>>2]=c[R>>2];c[P+(N<<3)+4>>2]=c[R+4>>2];S=P;break}case 6:{R=K>>>14;Dc(e,c[(c[w+16+(K>>>23<<2)>>2]|0)+8>>2]|0,(K&4194304|0)==0?P+((R&511)<<3)|0:y+((R&255)<<3)|0,Q);S=c[z>>2]|0;break}case 7:{R=K>>>14;Dc(e,P+(K>>>23<<3)|0,(K&4194304|0)==0?P+((R&511)<<3)|0:y+((R&255)<<3)|0,Q);S=c[z>>2]|0;break}case 8:{R=K>>>23;T=K>>>14;Ec(e,c[(c[w+16+(N<<2)>>2]|0)+8>>2]|0,(K|0)<0?y+((R&255)<<3)|0:P+(R<<3)|0,(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0);S=c[z>>2]|0;break}case 9:{T=c[w+16+(K>>>23<<2)>>2]|0;R=c[T+8>>2]|0;c[R>>2]=c[Q>>2];U=P+(N<<3)+4|0;c[R+4>>2]=c[U>>2];if(((c[U>>2]&64|0)!=0?(U=c[Q>>2]|0,(a[U+5>>0]&3)!=0):0)?(R=T+5|0,T=a[R>>0]|0,(T&4)!=0):0){V=c[o>>2]|0;if((d[V+49>>0]|0)<2){Fc(V,U);S=P;break c}else{a[R>>0]=a[V+48>>0]&3|T&-72;S=P;break c}}else S=P;break}case 10:{T=K>>>23;V=K>>>14;Ec(e,Q,(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0,(K&4194304|0)==0?P+((V&511)<<3)|0:y+((V&255)<<3)|0);S=c[z>>2]|0;break}case 11:{V=K>>>23;T=K>>>14;R=T&511;U=c[o>>2]|0;W=U+4|0;X=Pa[c[U>>2]&1](c[W>>2]|0,0,5,32)|0;if(!X){if(!(a[U+51>>0]|0)){O=29;break a}Gc(e,1);Y=Pa[c[U>>2]&1](c[W>>2]|0,0,5,32)|0;if(!Y){O=29;break a}else Z=Y}else Z=X;X=U+12|0;c[X>>2]=(c[X>>2]|0)+32;X=U+56|0;a[Z+5>>0]=a[U+48>>0]&3;a[Z+4>>0]=5;c[Z>>2]=c[X>>2];c[X>>2]=Z;c[Z+8>>2]=0;a[Z+6>>0]=-1;X=Z+12|0;c[X>>2]=0;U=Z+28|0;c[U>>2]=0;Y=Z+16|0;c[Y>>2]=2336252;W=Z+7|0;a[W>>0]=0;_=Z+20|0;c[_>>2]=2336252;c[Q>>2]=Z;c[P+(N<<3)+4>>2]=69;if(R|V|0){$=K>>>26&31;aa=($|0)==0?V:(V&7|8)<<$+-1;$=K>>>17&31;V=($|0)==0?R:(T&7|8)<<$+-1;$=c[U>>2]|0;T=a[W>>0]|0;R=T&255;ba=c[Y>>2]|0;if(($|0)<(aa|0)){if((aa+1|0)>>>0>536870911){O=33;break a}ca=c[X>>2]|0;da=$<<3;$=aa<<3;ea=c[o>>2]|0;fa=(ca|0)==0;ga=ea+4|0;ha=Pa[c[ea>>2]&1](c[ga>>2]|0,ca,da,$)|0;if(($|0)!=0&(ha|0)==0){if(!(a[ea+51>>0]|0)){O=37;break a}Gc(e,1);ia=Pa[c[ea>>2]&1](c[ga>>2]|0,ca,da,$)|0;if(!ia){O=37;break a}else ja=ia}else ja=ha;ha=ea+12|0;c[ha>>2]=(fa?0:0-da|0)+$+(c[ha>>2]|0);c[X>>2]=ja;X=c[U>>2]|0;if((X|0)<(aa|0)){ha=X;do{c[ja+(ha<<3)+4>>2]=0;ha=ha+1|0}while((ha|0)!=(aa|0))}c[U>>2]=aa}if(!V){c[Y>>2]=2336252;ka=0;la=0;ma=2336252}else{ha=V+-1|0;if(ha>>>0>255){X=ha;$=0;while(1){da=$+8|0;fa=X>>>8;if(X>>>0>65535){X=fa;$=da}else{na=da;oa=fa;break}}}else{na=0;oa=ha}$=na+(d[400+oa>>0]|0)|0;if(($|0)>30){O=48;break a}X=1<<$;if((X+1|0)>>>0>214748364){O=50;break a}V=20<<$;aa=c[o>>2]|0;U=aa+4|0;fa=Pa[c[aa>>2]&1](c[U>>2]|0,0,0,V)|0;if($>>>0<30&(fa|0)==0){if(!(a[aa+51>>0]|0)){O=54;break a}Gc(e,1);da=Pa[c[aa>>2]&1](c[U>>2]|0,0,0,V)|0;if(!da){O=54;break a}else pa=da}else pa=fa;fa=aa+12|0;c[fa>>2]=(c[fa>>2]|0)+V;c[Y>>2]=pa;V=0;fa=pa;do{c[fa+(V*20|0)+16>>2]=0;c[fa+(V*20|0)+12>>2]=0;c[fa+(V*20|0)+4>>2]=0;V=V+1|0;fa=c[Y>>2]|0}while((V|0)<(X|0));ka=X;la=$&255;ma=fa}a[W>>0]=la;c[_>>2]=ma+(ka*20|0);if(T<<24>>24!=31){V=1<>2]|0){aa=ba+(V*20|0)+8|0;da=Ic(Z,aa)|0;if((da|0)==2336224)qa=Jc(e,Z,aa)|0;else qa=da;c[qa>>2]=c[ba+(V*20|0)>>2];c[qa+4>>2]=c[ha>>2]}}while((Y|0)>1)}if((ba|0)!=2336252){V=20<>2]|0;Pa[c[T>>2]&1](c[T+4>>2]|0,ba,V,0)|0;_=T+12|0;c[_>>2]=(c[_>>2]|0)-((ba|0)==0?0:V)}}V=c[o>>2]|0;_=V+12|0;T=c[_>>2]|0;if((T|0)>0){c[p>>2]=Q+8;if(!(a[V+51>>0]|0)){W=V+8|0;c[W>>2]=T+1600+(c[W>>2]|0);c[_>>2]=-1600}else Kc(e);c[p>>2]=c[G>>2]}S=c[z>>2]|0;break}case 12:{_=K>>>23;W=P+(_<<3)|0;T=Q+8|0;c[T>>2]=c[W>>2];c[T+4>>2]=c[P+(_<<3)+4>>2];_=K>>>14;Dc(e,W,(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0,Q);S=c[z>>2]|0;break}case 13:{c[584060]=J+1;_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=(c[T>>2]|0)+(c[W>>2]|0);c[P+(N<<3)+4>>2]=3;S=P;break c}Lc(e,Q,W,T,6);S=c[z>>2]|0;break}case 14:{c[584060]=J+1;T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=(c[W>>2]|0)-(c[_>>2]|0);c[P+(N<<3)+4>>2]=3;S=P;break c}Lc(e,Q,W,_,7);S=c[z>>2]|0;break}case 15:{_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=el(c[W>>2]|0,c[T>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Lc(e,Q,W,T,8);S=c[z>>2]|0;break}case 16:{T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=fl(c[W>>2]|0,c[_>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Lc(e,Q,W,_,9);S=c[z>>2]|0;break}case 17:{_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=gl(c[W>>2]|0,c[T>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Lc(e,Q,W,T,10);S=c[z>>2]|0;break}case 18:{T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=hl(c[W>>2]|0,c[_>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Lc(e,Q,W,_,11);S=c[z>>2]|0;break}case 19:{c[584060]=J+1;_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=c[T>>2]&c[W>>2];c[P+(N<<3)+4>>2]=3;S=P;break c}Lc(e,Q,W,T,12);S=c[z>>2]|0;break}case 20:{c[584060]=J+1;T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=c[_>>2]|c[W>>2];c[P+(N<<3)+4>>2]=3;S=P;break c}Lc(e,Q,W,_,13);S=c[z>>2]|0;break}case 21:{c[584060]=J+1;_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=c[T>>2]^c[W>>2];c[P+(N<<3)+4>>2]=3;S=P;break c}Lc(e,Q,W,T,14);S=c[z>>2]|0;break}case 22:{c[584060]=J+1;T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=rl(c[W>>2]|0,c[_>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Lc(e,Q,W,_,15);S=c[z>>2]|0;break}case 23:{c[584060]=J+1;_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=sl(c[W>>2]|0,c[T>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Lc(e,Q,W,T,16);S=c[z>>2]|0;break}case 24:{c[584060]=J+1;T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=ql(c[W>>2]|0,c[_>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Lc(e,Q,W,_,17);S=c[z>>2]|0;break}case 25:{c[584060]=J+1;_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=ol(c[W>>2]|0,c[T>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Lc(e,Q,W,T,18);S=c[z>>2]|0;break}case 26:{c[584060]=J+1;T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=pl(c[W>>2]|0,c[_>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Lc(e,Q,W,_,19);S=c[z>>2]|0;break}case 27:{c[584060]=J+1;_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=~c[W>>2];c[P+(N<<3)+4>>2]=3;S=P;break c}Lc(e,Q,W,T,20);S=c[z>>2]|0;break}case 28:{T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=(fl(c[W>>2]|0,c[_>>2]|0)|0)&-65536;c[P+(N<<3)+4>>2]=3;S=P;break c}Lc(e,Q,W,_,21);S=c[z>>2]|0;break}case 29:{c[584060]=J+1;_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=Wk(c[W>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Lc(e,Q,W,T,22);S=c[z>>2]|0;break}case 30:{c[584060]=J+1;T=K>>>23;W=(K|0)<0?y+((T&255)<<3)|0:P+(T<<3)|0;T=K>>>14;_=(K&4194304|0)==0?P+((T&511)<<3)|0:y+((T&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[_+4>>2]|0)==3:0){c[Q>>2]=Vk(c[W>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Lc(e,Q,W,_,23);S=c[z>>2]|0;break}case 31:{c[584060]=J+1;_=K>>>23;W=(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0;_=K>>>14;T=(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0;if((c[W+4>>2]|0)==3?(c[T+4>>2]|0)==3:0){c[Q>>2]=Uk(c[W>>2]|0)|0;c[P+(N<<3)+4>>2]=3;S=P;break c}Lc(e,Q,W,T,24);S=c[z>>2]|0;break}case 32:{T=K>>>23;W=P+(T<<3)|0;c[584060]=J+1;if((c[P+(T<<3)+4>>2]|0)==3){c[Q>>2]=0-(c[W>>2]|0);c[P+(N<<3)+4>>2]=3;S=P;break c}else{Lc(e,Q,W,W,25);S=c[z>>2]|0;break c}break}case 33:{W=K>>>23;switch(c[P+(W<<3)+4>>2]|0){case 0:{ra=1;break}case 1:{ra=(c[P+(W<<3)>>2]|0)==0;break}default:ra=0}c[Q>>2]=ra&1;c[P+(N<<3)+4>>2]=1;S=P;break}case 34:{Mc(e,Q,P+(K>>>23<<3)|0);S=c[z>>2]|0;break}case 35:{W=K>>>23;T=K>>>14&511;c[p>>2]=P+(T<<3)+8;Nc(e,1-W+T|0);T=c[z>>2]|0;_=T+(N<<3)|0;V=T+(W<<3)|0;c[_>>2]=c[V>>2];c[T+(N<<3)+4>>2]=c[T+(W<<3)+4>>2];T=c[o>>2]|0;fa=T+12|0;$=c[fa>>2]|0;if(($|0)>0){c[p>>2]=N>>>0>>0?V:_+8|0;if(!(a[T+51>>0]|0)){_=T+8|0;c[_>>2]=$+1600+(c[_>>2]|0);c[fa>>2]=-1600}else Kc(e);fa=c[C>>2]|0;c[p>>2]=fa;sa=fa}else sa=c[B>>2]|0;fa=c[z>>2]|0;c[p>>2]=sa;S=fa;break}case 36:{if(N|0)Oc(e,(c[z>>2]|0)+(N<<3)+-8|0);c[A>>2]=(c[A>>2]|0)+((K>>>14)+-131071<<2);S=P;break}case 37:{fa=K>>>23;_=(K|0)<0?y+((fa&255)<<3)|0:P+(fa<<3)|0;fa=K>>>14;$=(K&4194304|0)==0?P+((fa&511)<<3)|0:y+((fa&255)<<3)|0;if((c[_+4>>2]|0)==(c[$+4>>2]|0))ta=(Pc(e,_,$)|0)!=0;else ta=0;$=c[A>>2]|0;if((N|0)==(ta&1|0)){_=c[$>>2]|0;fa=_>>>6&255;if(!fa)ua=$;else{Oc(e,(c[z>>2]|0)+(fa<<3)+-8|0);ua=c[A>>2]|0}va=ua+((_>>>14)+-131070<<2)|0}else va=$+4|0;c[A>>2]=va;S=c[z>>2]|0;break}case 38:{$=K>>>23;_=K>>>14;fa=(Qc(e,(K|0)<0?y+(($&255)<<3)|0:P+($<<3)|0,(K&4194304|0)==0?P+((_&511)<<3)|0:y+((_&255)<<3)|0)|0)==(N|0);_=c[A>>2]|0;if(fa){fa=c[_>>2]|0;$=fa>>>6&255;if(!$)wa=_;else{Oc(e,(c[z>>2]|0)+($<<3)+-8|0);wa=c[A>>2]|0}xa=wa+((fa>>>14)+-131070<<2)|0}else xa=_+4|0;c[A>>2]=xa;S=c[z>>2]|0;break}case 39:{_=K>>>23;fa=K>>>14;$=(Rc(e,(K|0)<0?y+((_&255)<<3)|0:P+(_<<3)|0,(K&4194304|0)==0?P+((fa&511)<<3)|0:y+((fa&255)<<3)|0)|0)==(N|0);fa=c[A>>2]|0;if($){$=c[fa>>2]|0;_=$>>>6&255;if(!_)ya=fa;else{Oc(e,(c[z>>2]|0)+(_<<3)+-8|0);ya=c[A>>2]|0}za=ya+(($>>>14)+-131070<<2)|0}else za=fa+4|0;c[A>>2]=za;S=c[z>>2]|0;break}case 40:{fa=c[P+(N<<3)+4>>2]|0;$=(fa|0)==0;if(!(K&8372224)){if(!$)if(!((fa|0)==1?!(c[Q>>2]|0):0))O=195}else if(!$){if((fa|0)==1?(c[Q>>2]|0)==0:0)O=195}else O=195;if((O|0)==195){O=0;c[A>>2]=(c[A>>2]|0)+4;S=P;break c}fa=c[A>>2]|0;$=c[fa>>2]|0;_=$>>>6&255;if(!_)Aa=fa;else{Oc(e,(c[z>>2]|0)+(_<<3)+-8|0);Aa=c[A>>2]|0}c[A>>2]=Aa+(($>>>14)+-131070<<2);S=P;break}case 41:{$=K>>>23;_=P+($<<3)|0;fa=c[P+($<<3)+4>>2]|0;$=(fa|0)==0;if(!(K&8372224))if(!$)if((fa|0)==1?(c[_>>2]|0)==0:0)O=207;else O=206;else O=207;else if(!$)if((fa|0)==1?(c[_>>2]|0)==0:0)O=206;else O=207;else O=206;if((O|0)==206){O=0;Ba=(c[A>>2]|0)+4|0}else if((O|0)==207){O=0;c[Q>>2]=c[_>>2];c[P+(N<<3)+4>>2]=fa;fa=c[A>>2]|0;_=c[fa>>2]|0;$=_>>>6&255;if(!$)Ca=fa;else{Oc(e,(c[z>>2]|0)+($<<3)+-8|0);Ca=c[A>>2]|0}Ba=Ca+((_>>>14)+-131070<<2)|0}c[A>>2]=Ba;S=P;break}case 42:{_=K>>>23;$=K>>>14&511;if(_|0)c[p>>2]=Q+(_<<3);if(!(Ac(e,Q,$+-1|0)|0)){O=217;break b}if($|0)c[p>>2]=c[E>>2];S=c[z>>2]|0;break}case 43:{$=K>>>23;if($|0)c[p>>2]=Q+($<<3);if(!(Ac(e,Q,-1)|0)){O=222;break b}S=c[z>>2]|0;break}case 45:{$=Q+16|0;_=c[$>>2]|0;fa=(c[Q>>2]|0)+_|0;T=c[Q+8>>2]|0;if(!((_|0)<1|(fa|0)>(T|0))){c[A>>2]=(c[A>>2]|0)+((K>>>14)+-131071<<2);c[Q>>2]=fa;c[P+(N<<3)+4>>2]=3;V=Q+24|0;c[V>>2]=fa;c[V+4>>2]=3;if((fa|0)<0|(_|0)<(2147483647-fa|0)){S=P;break c}c[$>>2]=0;c[$+4>>2]=3;S=P;break c}if(!((_|0)>-1|(fa|0)<(T|0))?(c[A>>2]=(c[A>>2]|0)+((K>>>14)+-131071<<2),c[Q>>2]=fa,c[P+(N<<3)+4>>2]=3,T=Q+24|0,c[T>>2]=fa,c[T+4>>2]=3,(fa|0)<0&(_|0)<(-2147483648-fa|0)):0){c[$>>2]=0;c[$+4>>2]=3;S=P}else S=P;break}case 46:{$=Q+8|0;fa=Q+16|0;_=P+(N<<3)+4|0;T=c[_>>2]|0;if((T|0)!=3){if((T&15|0)!=4){O=253;break a}T=c[Q>>2]|0;if(!(Sc(T+16|0,c[T+12>>2]|0,m)|0)){O=253;break a}c[Q>>2]=c[m>>2];c[_>>2]=3}T=$+4|0;V=c[T>>2]|0;if((V|0)!=3){if((V&15|0)!=4){O=258;break a}V=c[$>>2]|0;if(!(Sc(V+16|0,c[V+12>>2]|0,m)|0)){O=258;break a}c[$>>2]=c[m>>2];c[T>>2]=3}T=fa+4|0;$=c[T>>2]|0;if(($|0)==3)Da=fa;else{if(($&15|0)!=4){O=264;break a}$=c[fa>>2]|0;if(!(Sc($+16|0,c[$+12>>2]|0,m)|0)){O=264;break a}c[fa>>2]=c[m>>2];c[T>>2]=3;Da=fa}c[Q>>2]=(c[Q>>2]|0)-(c[Da>>2]|0);c[_>>2]=3;c[A>>2]=(c[A>>2]|0)+((K>>>14)+-131071<<2);S=P;break}case 47:{_=Q+24|0;fa=Q+16|0;T=_+16|0;c[T>>2]=c[fa>>2];c[T+4>>2]=c[fa+4>>2];fa=Q+8|0;T=_+8|0;c[T>>2]=c[fa>>2];c[T+4>>2]=c[fa+4>>2];c[_>>2]=c[Q>>2];c[_+4>>2]=c[P+(N<<3)+4>>2];c[p>>2]=_+24;fa=K>>>14&511;T=(b[q>>1]|0)+1<<16>>16;b[q>>1]=T;if((T&65535)>199){if(T<<16>>16==200){O=268;break a}if((T&65535)>224){O=270;break a}}if(!(Ac(e,_,fa)|0))Bc(e);b[q>>1]=(b[q>>1]|0)+-1<<16>>16;fa=c[z>>2]|0;c[p>>2]=c[D>>2];_=c[A>>2]|0;c[A>>2]=_+4;T=c[_>>2]|0;Ea=T;Fa=fa+((T>>>6&255)<<3)|0;Ga=fa;O=274;break}case 48:{Ea=K;Fa=Q;Ga=P;O=274;break}case 49:{fa=K>>>23;T=K>>>14&511;if(!fa)Ha=((c[p>>2]|0)-Q>>3)+-1|0;else Ha=fa;if(!T){fa=c[A>>2]|0;c[A>>2]=fa+4;Ja=(c[fa>>2]|0)>>>6}else Ja=T;T=c[Q>>2]|0;fa=Ha+-50+(Ja*50|0)|0;_=T+28|0;if((fa|0)>(c[_>>2]|0)){if((c[T+16>>2]|0)==2336252)Ka=0;else Ka=1<>0];Tc(e,T,fa,Ka)}if((Ha|0)>0){$=T+12|0;V=T+16|0;W=T+7|0;X=T+5|0;Y=T+24|0;ha=fa;fa=Ha;while(1){da=Q+(fa<<3)|0;aa=ha;ha=ha+-1|0;d:do if(ha>>>0<(c[_>>2]|0)>>>0){La=(c[$>>2]|0)+(ha<<3)|0;O=293}else{U=aa<<16;ea=0-U|0;ia=(c[V>>2]|0)+(((((U|0)<0?((U|0)==(ea|0)?0:ea):U)|0)%((1<>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[ia+12>>2]|0)==3?(c[ia+8>>2]|0)==(U|0):0)break;ea=c[ia+16>>2]|0;if(!ea){Ma=U;O=295;break d}else ia=ea}La=ia;O=293}while(0);if((O|0)==293){O=0;if((La|0)==2336224){Ma=aa<<16;O=295}else Na=La}if((O|0)==295){O=0;c[m>>2]=Ma;c[u>>2]=3;Na=Jc(e,T,m)|0}c[Na>>2]=c[da>>2];U=da+4|0;c[Na+4>>2]=c[U>>2];if((c[U>>2]&64|0?a[(c[da>>2]|0)+5>>0]&3:0)?(U=a[X>>0]|0,U&4):0){ea=c[o>>2]|0;a[X>>0]=U&-5;U=ea+76|0;c[Y>>2]=c[U>>2];c[U>>2]=T}if((fa|0)<=1)break;else fa=fa+-1|0}}c[p>>2]=c[H>>2];S=P;break}case 50:{fa=c[(c[(c[x>>2]|0)+16>>2]|0)+(K>>>14<<2)>>2]|0;T=fa+32|0;Y=c[T>>2]|0;X=c[fa+40>>2]|0;W=c[fa+28>>2]|0;e:do if(!Y)O=310;else{if((X|0)>0){V=Y+16|0;ha=0;do{$=d[W+(ha<<3)+5>>0]|0;if(!(a[W+(ha<<3)+4>>0]|0))Oa=c[(c[w+16+($<<2)>>2]|0)+8>>2]|0;else Oa=P+($<<3)|0;if((c[(c[V+(ha<<2)>>2]|0)+8>>2]|0)!=(Oa|0)){O=310;break e}ha=ha+1|0}while((ha|0)<(X|0))}c[Q>>2]=Y;c[P+(N<<3)+4>>2]=70}while(0);if((O|0)==310){O=0;Y=Uc(e,X)|0;c[Y+12>>2]=fa;c[Q>>2]=Y;c[P+(N<<3)+4>>2]=70;if((X|0)>0){ha=Y+16|0;V=0;do{da=d[W+(V<<3)+5>>0]|0;if(!(a[W+(V<<3)+4>>0]|0))c[ha+(V<<2)>>2]=c[w+16+(da<<2)>>2];else c[ha+(V<<2)>>2]=Vc(e,P+(da<<3)|0)|0;V=V+1|0}while((V|0)!=(X|0))}X=fa+5|0;V=a[X>>0]|0;do if(V&4){if(c[T>>2]|0){ha=c[o>>2]|0;a[X>>0]=V&-5;W=ha+76|0;c[fa+72>>2]=c[W>>2];c[W>>2]=fa;break}if(a[Y+5>>0]&3){W=c[o>>2]|0;if((d[W+49>>0]|0)<2){Fc(W,Y);break}else{a[X>>0]=a[W+48>>0]&3|V&-72;break}}}while(0);c[T>>2]=Y}V=c[o>>2]|0;X=V+12|0;fa=c[X>>2]|0;if((fa|0)>0){c[p>>2]=Q+8;if(!(a[V+51>>0]|0)){W=V+8|0;c[W>>2]=fa+1600+(c[W>>2]|0);c[X>>2]=-1600}else Kc(e);c[p>>2]=c[F>>2]}S=c[z>>2]|0;break}case 51:{X=K>>>23;W=X+-1|0;fa=(P-(c[v>>2]|0)>>3)-(d[(c[x>>2]|0)+76>>0]|0)|0;V=fa+-1|0;if(!X){X=c[p>>2]|0;if(((c[r>>2]|0)-X>>3|0)<(fa|0)){ha=c[s>>2]|0;if((ha|0)>1e6){O=334;break a}da=fa+4+(X-(c[t>>2]|0)>>3)|0;X=ha<<1;ha=(X|0)<1e6?X:1e6;X=(ha|0)<(da|0)?da:ha;if((X|0)>1e6){O=336;break a}vc(e,X)}X=c[z>>2]|0;ha=X+(N<<3)|0;c[p>>2]=ha+(V<<3);Qa=V;Ra=ha;Sa=X}else{Qa=W;Ra=Q;Sa=P}if((Qa|0)>0){W=Sa+(1-fa<<3)|0;fa=0;do{if((fa|0)<(V|0)){X=W+(fa<<3)|0;c[Ra+(fa<<3)>>2]=c[X>>2];Ta=c[X+4>>2]|0}else Ta=0;c[Ra+(fa<<3)+4>>2]=Ta;fa=fa+1|0}while((fa|0)!=(Qa|0));S=Sa}else S=Sa;break}default:S=P}while(0);if((O|0)==274){O=0;N=c[Fa+12>>2]|0;if(!N)S=Ga;else{c[Fa>>2]=c[Fa+8>>2];c[Fa+4>>2]=N;c[A>>2]=(c[A>>2]|0)+((Ea>>>14)+-131071<<2);S=Ga}}I=S}if((O|0)==217){O=0;I=c[n>>2]|0;A=I+18|0;a[A>>0]=a[A>>0]|4;Ua=I}else if((O|0)==222){O=0;I=c[n>>2]|0;A=c[I+8>>2]|0;z=c[I>>2]|0;F=c[A>>2]|0;w=I+24|0;H=(c[w>>2]|0)+(d[(c[(c[z>>2]|0)+12>>2]|0)+76>>0]<<3)|0;if((c[(c[x>>2]|0)+56>>2]|0)>0)Oc(e,c[A+24>>2]|0);if(z>>>0>>0){D=0;E=z;do{c[F+(D<<3)>>2]=c[E>>2];c[F+(D<<3)+4>>2]=c[z+(D<<3)+4>>2];D=D+1|0;E=z+(D<<3)|0}while(E>>>0>>0)}H=z;c[A+24>>2]=F+((c[w>>2]|0)-H>>3<<3);E=F+((c[p>>2]|0)-H>>3<<3)|0;c[p>>2]=E;c[A+4>>2]=E;c[A+28>>2]=c[I+28>>2];E=A+18|0;a[E>>0]=a[E>>0]|64;c[n>>2]=A;Ua=A}else if((O|0)==229){O=0;E=K>>>23;if(E|0)c[p>>2]=Q+(E<<3)+-8;if((c[(c[x>>2]|0)+56>>2]|0)>0)Oc(e,P);E=c[n>>2]|0;H=c[E>>2]|0;D=b[E+16>>1]|0;c[n>>2]=c[E+8>>2];f:do if(D<<16>>16){E=H;y=D<<16>>16;B=Q;while(1){if(B>>>0>=(c[p>>2]|0)>>>0)break;C=E+8|0;c[E>>2]=c[B>>2];c[E+4>>2]=c[B+4>>2];G=y+-1|0;if(!G){Va=C;break f}else{E=C;y=G;B=B+8|0}}if((y|0)>0){B=y;G=E;while(1){C=G+8|0;c[G+4>>2]=0;if((B|0)>1){B=B+-1|0;G=C}else{Va=C;break}}}else Va=E}else Va=H;while(0);c[p>>2]=Va;if(!(a[v+18>>0]&4)){O=345;break}H=c[n>>2]|0;if(D<<16>>16==-1)Ua=H;else{c[p>>2]=c[H+4>>2];Ua=H}}v=Ua}switch(O|0){case 5:{Cc(e,0,0,0)|0;O=L+28|0;c[e+20>>2]=c[O>>2];c[O>>2]=(c[O>>2]|0)+-4;a[M>>0]=a[M>>0]|-128;c[L>>2]=(c[p>>2]|0)+-8;uc(e,1);break}case 29:{uc(e,4);break}case 33:{Hc(e);break}case 37:{uc(e,4);break}case 48:{wc(e,47702,l);break}case 50:{Hc(e);break}case 54:{uc(e,4);break}case 253:{wc(e,47717,k);break}case 258:{wc(e,47754,j);break}case 264:{wc(e,47783,i);break}case 268:{wc(e,47685,h);break}case 270:{uc(e,6);break}case 334:{uc(e,6);break}case 336:{vc(e,1000200);wc(e,47670,g);break}case 345:{Ia=f;return}}}function Cc(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=Ia;Ia=Ia+16|0;i=h+8|0;j=h;k=c[d+16>>2]|0;if(b[d+36>>1]|0)if((c[(c[d+12>>2]|0)+144>>2]|0)==(d|0))wc(d,48228,i);else wc(d,48186,j);a[d+6>>0]=1;c[k+20>>2]=(c[k>>2]|0)-(c[d+28>>2]|0);if(a[k+18>>0]&1){Ia=h;return 0}c[k+28>>2]=g;if(!g){l=d+8|0;m=c[l>>2]|0;n=0-e|0;o=m+(n<<3)|0;p=o+-8|0;c[k>>2]=p;uc(d,1)}c[k+24>>2]=f;l=d+8|0;m=c[l>>2]|0;n=0-e|0;o=m+(n<<3)|0;p=o+-8|0;c[k>>2]=p;uc(d,1);return 0}function Dc(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;i=Ia;Ia=Ia+16|0;j=i+8|0;k=i;l=e+12|0;m=f;n=0;o=c[f+4>>2]|0;while(1){if((o|0)==69){f=c[m>>2]|0;p=Ic(f,g)|0;if(c[p+4>>2]|0)break;q=c[f+8>>2]|0;if(!q)break;r=a[q+6>>0]|0;if(r&1)break;f=c[(c[l>>2]|0)+156>>2]|0;s=(c[q+16>>2]|0)+(((1<<(d[q+7>>0]|0))+-1&c[f+8>>2])*20|0)|0;while(1){if((c[s+12>>2]|0)==68?(c[s+8>>2]|0)==(f|0):0){t=10;break}u=c[s+16>>2]|0;if(!u){v=2336224;break}else s=u}if((t|0)==10){t=0;v=s}f=v+4|0;u=c[f>>2]|0;if(!u){t=13;break}if(!v)break;else{w=v;x=f;y=u}}else{switch(o&15){case 5:{z=(c[m>>2]|0)+8|0;break}case 7:{z=(c[m>>2]|0)+8|0;break}default:z=(c[l>>2]|0)+276+((o&15)<<2)|0}u=c[z>>2]|0;a:do if(!u)A=2336224;else{f=c[(c[l>>2]|0)+156>>2]|0;B=(c[u+16>>2]|0)+(((1<<(d[u+7>>0]|0))+-1&c[f+8>>2])*20|0)|0;while(1){if((c[B+12>>2]|0)==68?(c[B+8>>2]|0)==(f|0):0)break;C=c[B+16>>2]|0;if(!C){A=2336224;break a}else B=C}A=B}while(0);u=A+4|0;s=c[u>>2]|0;if(!s){t=27;break}else{w=A;x=u;y=s}}n=n+1|0;if((y&15|0)==6){t=29;break}if(n>>>0>=100){t=41;break}else{m=w;o=y}}if((t|0)==13)a[q+6>>0]=r|1;else if((t|0)==27)$c(e,m,48146);else if((t|0)==29){r=e+28|0;q=h-(c[r>>2]|0)|0;y=e+8|0;o=c[y>>2]|0;c[y>>2]=o+8;c[o>>2]=c[w>>2];c[o+4>>2]=c[x>>2];x=c[y>>2]|0;c[y>>2]=x+8;c[x>>2]=c[m>>2];c[x+4>>2]=c[m+4>>2];m=c[y>>2]|0;c[y>>2]=m+8;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];g=(c[y>>2]|0)+-24|0;m=a[(c[e+16>>2]|0)+18>>0]&1;x=e+38|0;o=(b[x>>1]|0)+1<<16>>16;b[x>>1]=o;if((o&65535)>199){if(o<<16>>16==200)wc(e,47685,k);if((o&65535)>224)uc(e,6)}o=m<<24>>24!=0;if(!o){m=e+36|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16}if(!(Ac(e,g,1)|0))Bc(e);if(!o){o=e+36|0;b[o>>1]=(b[o>>1]|0)+-1<<16>>16}b[x>>1]=(b[x>>1]|0)+-1<<16>>16;x=(c[r>>2]|0)+q|0;q=c[y>>2]|0;r=q+-8|0;c[y>>2]=r;c[x>>2]=c[r>>2];c[x+4>>2]=c[q+-4>>2];Ia=i;return}else if((t|0)==41)wc(e,48169,j);c[h>>2]=c[p>>2];c[h+4>>2]=c[p+4>>2];Ia=i;return}function Ec(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;i=Ia;Ia=Ia+16|0;j=i+8|0;k=i;l=e+12|0;m=f;n=0;o=c[f+4>>2]|0;while(1){if((o|0)==69){p=c[m>>2]|0;q=Ic(p,g)|0;if(c[q+4>>2]|0){r=17;break}s=c[p+8>>2]|0;if(!s){r=15;break}t=a[s+6>>0]|0;if(t&2){r=15;break}f=c[(c[l>>2]|0)+160>>2]|0;u=(c[s+16>>2]|0)+(((1<<(d[s+7>>0]|0))+-1&c[f+8>>2])*20|0)|0;while(1){if((c[u+12>>2]|0)==68?(c[u+8>>2]|0)==(f|0):0){r=10;break}v=c[u+16>>2]|0;if(!v){w=2336224;break}else u=v}if((r|0)==10){r=0;w=u}f=w+4|0;v=c[f>>2]|0;if(!v){r=13;break}if(!w){r=15;break}else{x=w;y=f;z=v}}else{switch(o&15){case 5:{A=(c[m>>2]|0)+8|0;break}case 7:{A=(c[m>>2]|0)+8|0;break}default:A=(c[l>>2]|0)+276+((o&15)<<2)|0}v=c[A>>2]|0;a:do if(!v)B=2336224;else{f=c[(c[l>>2]|0)+160>>2]|0;C=(c[v+16>>2]|0)+(((1<<(d[v+7>>0]|0))+-1&c[f+8>>2])*20|0)|0;while(1){if((c[C+12>>2]|0)==68?(c[C+8>>2]|0)==(f|0):0)break;D=c[C+16>>2]|0;if(!D){B=2336224;break a}else C=D}B=C}while(0);v=B+4|0;u=c[v>>2]|0;if(!u){r=33;break}else{x=B;y=v;z=u}}n=n+1|0;if((z&15|0)==6){r=35;break}if(n>>>0>=100){r=47;break}else{m=x;o=z}}if((r|0)==13){a[s+6>>0]=t|2;r=15}else if((r|0)==17){E=q;F=p}else if((r|0)==33)$c(e,m,48146);else if((r|0)==35){t=e+8|0;s=c[t>>2]|0;c[t>>2]=s+8;c[s>>2]=c[x>>2];c[s+4>>2]=c[y>>2];y=c[t>>2]|0;c[t>>2]=y+8;c[y>>2]=c[m>>2];c[y+4>>2]=c[m+4>>2];m=c[t>>2]|0;c[t>>2]=m+8;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];m=c[t>>2]|0;c[t>>2]=m+8;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];m=(c[t>>2]|0)+-32|0;t=a[(c[e+16>>2]|0)+18>>0]&1;y=e+38|0;s=(b[y>>1]|0)+1<<16>>16;b[y>>1]=s;if((s&65535)>199){if(s<<16>>16==200)wc(e,47685,k);if((s&65535)>224)uc(e,6)}s=t<<24>>24!=0;if(!s){t=e+36|0;b[t>>1]=(b[t>>1]|0)+1<<16>>16}if(!(Ac(e,m,0)|0))Bc(e);if(!s){s=e+36|0;b[s>>1]=(b[s>>1]|0)+-1<<16>>16}b[y>>1]=(b[y>>1]|0)+-1<<16>>16;Ia=i;return}else if((r|0)==47)wc(e,48152,j);if((r|0)==15)if((q|0)==2336224){E=Jc(e,p,g)|0;F=p}else{E=q;F=p}c[E>>2]=c[h>>2];q=h+4|0;c[E+4>>2]=c[q>>2];a[F+6>>0]=0;if(!(c[q>>2]&64)){Ia=i;return}if(!(a[(c[h>>2]|0)+5>>0]&3)){Ia=i;return}h=p+5|0;q=a[h>>0]|0;if(!(q&4)){Ia=i;return}F=c[l>>2]|0;a[h>>0]=q&-5;q=F+76|0;c[p+24>>2]=c[q>>2];c[q>>2]=p;Ia=i;return}function Fc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=d+5|0;a[e>>0]=a[e>>0]&-4;switch(a[d+4>>0]|0){case 20:case 4:{f=(c[d+12>>2]|0)+17|0;break}case 7:{g=c[d+8>>2]|0;if(g|0?a[g+5>>0]&3:0)Fc(b,g);g=c[d+12>>2]|0;if(g|0?a[g+5>>0]&3:0)Fc(b,g);f=(c[d+16>>2]|0)+24|0;break}case 10:{g=d+8|0;h=c[g>>2]|0;if((c[h+4>>2]&64|0)!=0?(i=c[h>>2]|0,(a[i+5>>0]&3)!=0):0){Fc(b,i);j=c[g>>2]|0}else j=h;if((j|0)==(d+12|0))f=20;else return;break}case 6:{j=b+72|0;c[d+8>>2]=c[j>>2];c[j>>2]=d;return}case 38:{j=b+72|0;c[d+8>>2]=c[j>>2];c[j>>2]=d;return}case 5:{j=b+72|0;c[d+24>>2]=c[j>>2];c[j>>2]=d;return}case 8:{j=b+72|0;c[d+60>>2]=c[j>>2];c[j>>2]=d;return}case 9:{j=b+72|0;c[d+72>>2]=c[j>>2];c[j>>2]=d;return}default:return}a[e>>0]=a[e>>0]|4;e=b+16|0;c[e>>2]=(c[e>>2]|0)+f;return}function Gc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;f=b+12|0;g=c[f>>2]|0;h=g+50|0;i=a[h>>0]|0;j=(e|0)!=0;if(!j){a[h>>0]=0;e=g+92|0;k=c[e>>2]|0;if(k){l=k;do{k=l+5|0;a[k>>0]=a[k>>0]&-65;k=c[f>>2]|0;m=k+92|0;n=c[m>>2]|0;c[m>>2]=c[n>>2];m=k+56|0;c[n>>2]=c[m>>2];c[m>>2]=n;m=n+5|0;n=a[m>>0]|0;a[m>>0]=n&-17;if((d[k+49>>0]|0)>=2)a[m>>0]=a[k+48>>0]&3|n&-88;l=c[e>>2]|0}while((l|0)!=0);if((a[h>>0]|0)==2)o=10;else o=9}else o=9}else{a[h>>0]=1;o=9}if((o|0)==9?(d[g+49>>0]|0)<2:0)o=10;if((o|0)==10){o=c[f>>2]|0;a[o+49>>0]=2;c[o+52>>2]=0;l=o+60|0;e=d[o+48>>0]|0;n=(a[o+50>>0]|0)==2;k=c[l>>2]|0;a:do if(!k)p=0;else{m=n?64:0;q=n?64:e&3;r=n?255:184;s=e;t=k;while(1){u=s^3;v=l;w=1;x=t;while(1){if(!w)break;w=w+-1|0;y=x+5|0;z=d[y>>0]|0;if(!((z^3)&u)){c[v>>2]=c[x>>2];id(b,x);A=v}else{if(m&z|0){p=0;break a}if((a[x+4>>0]|0)==8)jd(b,x);a[y>>0]=r&z|q;A=x}x=c[A>>2]|0;if(!x){p=0;break a}else v=A}if((v|0)!=(l|0)){p=v;break a}x=c[f>>2]|0;u=d[x+48>>0]|0;w=(a[x+50>>0]|0)==2;t=c[l>>2]|0;if(!t){p=0;break}else{m=w?64:0;q=w?64:u&3;r=w?255:184;s=u}}}while(0);c[o+68>>2]=p;p=o+56|0;b:while(1){l=c[f>>2]|0;A=d[l+48>>0]|0;k=A^3;e=(a[l+50>>0]|0)==2;l=e?255:184;n=e?64:A&3;A=e?64:0;e=c[p>>2]|0;if(!e){C=0;break}s=p;r=1;q=e;while(1){if(!r)break;r=r+-1|0;e=q+5|0;m=d[e>>0]|0;if(!((m^3)&k)){c[s>>2]=c[q>>2];id(b,q);D=s}else{if(A&m|0){C=0;break b}if((a[q+4>>0]|0)==8)jd(b,q);a[e>>0]=l&m|n;D=q}q=c[D>>2]|0;if(!q){C=0;break b}else s=D}if((s|0)!=(p|0)){C=s;break}}c[o+64>>2]=C}C=(c[f>>2]|0)+49|0;if((a[C>>0]|0)==5){E=C;F=5}else{do cd(b)|0;while((a[C>>0]|0)!=5);C=(c[f>>2]|0)+49|0;E=C;F=a[C>>0]|0}if(!(1<<(F&255)&-33)){do cd(b)|0;while(!(1<>0]&-33|0));C=(c[f>>2]|0)+49|0;G=C;H=a[C>>0]|0}else{G=E;H=F}if(H<<24>>24!=5)do cd(b)|0;while((a[G>>0]|0)!=5);if(i<<24>>24==2?(G=(c[f>>2]|0)+49|0,a[G>>0]|0):0)do cd(b)|0;while((a[G>>0]|0)!=0);a[h>>0]=i;i=g+8|0;h=g+12|0;G=(c[h>>2]|0)+(c[i>>2]|0)|0;b=(G|0)/100|0;H=c[g+128>>2]|0;g=B(b,0-H|0)|0;F=(H|0)<(2147483644/(b|0)|0|0)?g:-2147483644;c[i>>2]=0-F;c[h>>2]=F+G;if(j)return;j=(c[f>>2]|0)+92|0;G=c[j>>2]|0;if(!G)return;F=G;do{G=F+5|0;a[G>>0]=a[G>>0]&-65;G=c[f>>2]|0;h=G+92|0;i=c[h>>2]|0;c[h>>2]=c[i>>2];h=G+56|0;c[i>>2]=c[h>>2];c[h>>2]=i;h=i+5|0;i=a[h>>0]|0;a[h>>0]=i&-17;if((d[G+49>>0]|0)>=2)a[h>>0]=a[G+48>>0]&3|i&-88;F=c[j>>2]|0}while((F|0)!=0);return}function Hc(a){a=a|0;var b=0;b=Ia;Ia=Ia+16|0;wc(a,48107,b)}function Ic(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=b+4|0;f=c[e>>2]|0;switch(f&63){case 4:{g=c[b>>2]|0;h=(c[a+16>>2]|0)+(((1<<(d[a+7>>0]|0))+-1&c[g+8>>2])*20|0)|0;while(1){if((c[h+12>>2]|0)==68?(c[h+8>>2]|0)==(g|0):0)break;i=c[h+16>>2]|0;if(!i){j=2336224;k=21;break}else h=i}if((k|0)==21)return j|0;j=h;return j|0}case 3:{h=c[b>>2]|0;if((f|0)==3?!(h>>>0>4294901759|((h&65535|0)!=0|(h+-65536|0)>>>0>2147352576)):0){f=(h>>>16)+-1|0;if(f>>>0<(c[a+28>>2]|0)>>>0){j=(c[a+12>>2]|0)+(f<<3)|0;return j|0}f=h&-65536;h=0-f|0;g=(c[a+16>>2]|0)+(((((f|0)<0?((f|0)==(h|0)?0:h):f)|0)%((1<<(d[a+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[g+12>>2]|0)==3?(c[g+8>>2]|0)==(f|0):0)break;h=c[g+16>>2]|0;if(!h){j=2336224;k=21;break}else g=h}if((k|0)==21)return j|0;j=g;return j|0}break}case 0:{j=2336224;return j|0}default:{}}g=rd(a,b)|0;while(1){if((c[g+12>>2]|0)==(c[e>>2]|0)?Pc(0,g+8|0,b)|0:0)break;a=c[g+16>>2]|0;if(!a){j=2336224;k=21;break}else g=a}if((k|0)==21)return j|0;j=g;return j|0}function Jc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;g=Ia;Ia=Ia+144|0;h=g;i=f+4|0;if(!(c[i>>2]|0))wc(b,48088,g+128|0);j=rd(e,f)|0;k=j+4|0;a:do if((j|0)==2336252|(c[k>>2]|0)!=0){l=e+20|0;m=c[l>>2]|0;n=c[e+16>>2]|0;b:do if(m>>>0>n>>>0){o=m;while(1){p=o+-20|0;c[l>>2]=p;if(!(c[o+-8>>2]|0))break;if(p>>>0>n>>>0)o=p;else break b}q=rd(e,j+8|0)|0;if((q|0)==(j|0)){r=j+16|0;c[o+-4>>2]=c[r>>2];c[r>>2]=p;s=p;break a}r=q;while(1){q=c[r+16>>2]|0;if((q|0)==(j|0))break;else r=q}c[r+16>>2]=p;c[p>>2]=c[j>>2];c[p+4>>2]=c[j+4>>2];c[p+8>>2]=c[j+8>>2];c[p+12>>2]=c[j+12>>2];c[p+16>>2]=c[j+16>>2];c[j+16>>2]=0;c[k>>2]=0;s=j;break a}while(0);l=h;m=l+124|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(m|0));l=e+12|0;m=c[e+28>>2]|0;o=1;q=0;t=1;u=0;while(1){if((t|0)>(m|0))if((o|0)>(m|0)){v=q;break}else w=m;else w=t;if((o|0)>(w|0)){x=0;y=o}else{z=c[l>>2]|0;A=0;B=o;while(1){C=A+((c[z+(B+-1<<3)+4>>2]|0)!=0&1)|0;D=B+1|0;if((B|0)<(w|0)){A=C;B=D}else{x=C;y=D;break}}}B=h+(u<<2)|0;c[B>>2]=(c[B>>2]|0)+x;B=x+q|0;u=u+1|0;if(u>>>0>=31){v=B;break}else{o=y;q=B;t=t<<1}}t=0;q=0;o=1<<(d[e+7>>0]|0);while(1){o=o+-1|0;if(!(c[n+(o*20|0)+4>>2]|0)){E=q;F=t}else{if(((c[n+(o*20|0)+12>>2]|0)==3?(u=c[n+(o*20|0)+8>>2]|0,!((u&65535|0)!=0|(u+-65536|0)>>>0>2147352576)):0)?(l=(u>>>16)+-1|0,l>>>0<32767):0){if(l>>>0>255){u=l;m=0;while(1){B=m+8|0;A=u>>>8;if(u>>>0>65535){u=A;m=B}else{G=B;H=A;break}}}else{G=0;H=l}m=h+(G+(d[400+H>>0]|0)<<2)|0;c[m>>2]=(c[m>>2]|0)+1;I=1}else I=0;E=q+1|0;F=I+t|0}if(!o)break;else{t=F;q=E}}q=F+v|0;if(((c[i>>2]|0)==3?(t=c[f>>2]|0,!((t&65535|0)!=0|(t+-65536|0)>>>0>2147352576)):0)?(o=(t>>>16)+-1|0,o>>>0<32767):0){if(o>>>0>255){t=o;n=0;while(1){m=n+8|0;u=t>>>8;if(t>>>0>65535){t=u;n=m}else{J=m;K=u;break}}}else{J=0;K=o}n=h+(J+(d[400+K>>0]|0)<<2)|0;c[n>>2]=(c[n>>2]|0)+1;L=1}else L=0;n=q+L|0;c:do if((n|0)>0){t=0;u=0;m=1;A=0;B=0;z=0;while(1){r=c[h+(A<<2)>>2]|0;D=(r|0)>0;C=r+u|0;u=D?C:u;r=D&(C|0)>(z|0);D=r?C:t;C=r?m:B;if((u|0)==(n|0)){M=C;N=D;break c}z=m&2147483647;if((z|0)>=(n|0)){M=C;N=D;break}else{t=D;m=m<<1;A=A+1|0;B=C}}}else{M=0;N=0}while(0);Tc(b,e,M,v+1+E-N|0);n=Ic(e,f)|0;if((n|0)!=2336224){O=n;Ia=g;return O|0}O=Jc(b,e,f)|0;Ia=g;return O|0}else s=j;while(0);c[s+8>>2]=c[f>>2];c[s+12>>2]=c[i>>2];if((c[i>>2]&64|0?a[(c[f>>2]|0)+5>>0]&3:0)?(f=e+5|0,i=a[f>>0]|0,i&4):0){j=c[b+12>>2]|0;a[f>>0]=i&-5;i=j+76|0;c[e+24>>2]=c[i>>2];c[i>>2]=e}O=s;Ia=g;return O|0} function ti(a){a=a|0;ih();Pd(a,33,0);Ud(a,61416);jh(61416);Pd(a,34,0);Ud(a,61421);jh(61421);Pd(a,35,0);Ud(a,61425);jh(61425);Pd(a,36,0);Ud(a,61429);jh(61429);Pd(a,37,0);Ud(a,61435);jh(61435);Pd(a,37,0);Ud(a,61440);Pd(a,1,0);Ud(a,61447);Pd(a,28,0);Ud(a,59586);jh(59586);Pd(a,38,0);Ud(a,61460);jh(61460);Pd(a,39,0);Ud(a,61467);jh(61467);Pd(a,40,0);Ud(a,61472);jh(61472);Pd(a,41,0);Ud(a,61476);Pd(a,23,0);Ud(a,59555);jh(59555);Pd(a,23,0);Ud(a,61483);Pd(a,20,0);Ud(a,59542);Pd(a,21,0);Ud(a,59545);Pd(a,42,0);Ud(a,61487);Pd(a,43,0);Ud(a,61494);Pd(a,44,0);Ud(a,61508);Pd(a,45,0);Ud(a,61522);Pd(a,46,0);Ud(a,61532);Pd(a,47,-3333);Ud(a,61539);jh(61539);Pd(a,48,-3333);Ud(a,61544);jh(61544);Pd(a,49,0);Ud(a,61549);jh(61549);Pd(a,10,0);Ud(a,61555);jh(61555);Pd(a,11,0);Ud(a,61561);jh(61561);Pd(a,12,0);Ud(a,61568);jh(61568);Pd(a,12,0);Ud(a,59443);Pd(a,10,0);Ud(a,59426);Pd(a,11,0);Ud(a,59434);Pd(a,50,0);Ud(a,61574);jh(61574);Pd(a,51,0);Ud(a,61581);jh(61581);Pd(a,52,0);Ud(a,61587);jh(61587);Pd(a,53,0);Ud(a,61591);jh(61591);Pd(a,54,-3333);Ud(a,61596);jh(61596);Pd(a,55,-3333);Ud(a,61601);jh(61601);Pd(a,56,0);Ud(a,61610);jh(61610);Pd(a,57,0);Ud(a,61615);jh(61615);Pd(a,58,0);Ud(a,61624);jh(61624);Pd(a,59,0);Ud(a,61629);jh(61629);Pd(a,60,0);Ud(a,61638);jh(61638);Pd(a,61,0);Ud(a,61643);jh(61643);Pd(a,62,0);Ud(a,61649);jh(61649);Pd(a,63,0);Ud(a,61653);jh(61653);Pd(a,64,0);Ud(a,61658);jh(61658);Pd(a,65,0);Ud(a,61664);jh(61664);Pd(a,65,0);Ud(a,61672);jh(61672);Pd(a,66,0);Ud(a,61676);jh(61676);Pd(a,67,0);Ud(a,61681);jh(61681);Pd(a,68,0);Ud(a,61686);jh(61686);Pd(a,69,0);Ud(a,61691);jh(61691);Pd(a,70,0);Ud(a,61696);jh(61696);Pd(a,71,0);Ud(a,61701);jh(61701);Pd(a,72,0);Ud(a,65460);jh(65460);Pd(a,73,0);Ud(a,61706);jh(61706);Pd(a,74,0);Ud(a,61710);jh(61710);Pd(a,75,0);Ud(a,61717);jh(61717);Pd(a,76,0);Ud(a,61724);jh(61724);Pd(a,77,0);Ud(a,61731);jh(61731);Pd(a,78,0);Ud(a,61738);jh(61738);Pd(a,79,0);Ud(a,61745);jh(61745);Pd(a,80,-3333);Ud(a,61749);jh(61749);Pd(a,81,-3333);Ud(a,61755);jh(61755);Pd(a,82,-3333);Ud(a,61760);jh(61760);Pd(a,83,-3333);Ud(a,61764);jh(61764);Pd(a,84,-3333);Ud(a,64351);jh(64351);Pd(a,85,-3333);Ud(a,61768);jh(61768);Pd(a,86,-3333);Ud(a,61772);jh(61772);Pd(a,87,-3333);Ud(a,61776);jh(61776);Pd(a,88,-3333);Ud(a,61781);jh(61781);Pd(a,89,-3333);Ud(a,61787);jh(61787);Pd(a,90,-3333);Ud(a,61792);jh(61792);Pd(a,91,-3333);Ud(a,61796);jh(61796);Pd(a,92,-3333);Ud(a,61801);jh(61801);Pd(a,93,-3333);Ud(a,61805);jh(61805);Pd(a,94,-3333);Ud(a,61810);jh(61810);Pd(a,95,-3333);Ud(a,61814);jh(61814);Pd(a,96,-3333);Ud(a,61818);jh(61818);Pd(a,97,-3333);Ud(a,61823);jh(61823);Pd(a,98,-3333);Ud(a,61828);jh(61828);Pd(a,99,-3333);Ud(a,61833);jh(61833);Pd(a,100,-3333);Ud(a,61837);jh(61837);Pd(a,101,0);Ud(a,61841);jh(61841);Pd(a,102,0);Ud(a,61846);jh(61846);Pd(a,103,0);Ud(a,61852);jh(61852);Pd(a,104,-3333);Ud(a,61858);jh(61858);Pd(a,105,-3333);Ud(a,61863);jh(61863);Pd(a,106,-3333);Ud(a,61869);jh(61869);Pd(a,13,0);Ud(a,59451);Pd(a,13,0);Ud(a,59564);jh(59564);Pd(a,25,0);Ud(a,59569);Pd(a,22,0);Ud(a,59551);jh(59551);Pd(a,9,0);Ud(a,61875);jh(61875);Pd(a,27,0);Ud(a,59579);Pd(a,29,0);Ud(a,59592);Pd(a,29,0);Ud(a,59601);Pd(a,30,0);Ud(a,59606);Pd(a,31,0);Ud(a,59611);Pd(a,32,0);Ud(a,59618);Pd(a,26,0);Ud(a,59574);Pd(a,107,0);Ud(a,61880);jh(61880);Pd(a,107,0);Ud(a,61885);Pd(a,24,0);Ud(a,59558);jh(59558);Pd(a,108,0);Ud(a,61887);jh(61887);Pd(a,109,0);Ud(a,61894);jh(61894);Pd(a,110,0);Ud(a,61901);jh(61901);Pd(a,14,0);Ud(a,61910);jh(61910);Pd(a,14,0);Ud(a,59458);Pd(a,111,0);Ud(a,61917);Pd(a,112,0);Ud(a,61923);jh(61923);Pd(a,113,0);Ud(a,61938);jh(61938);Pd(a,114,0);Ud(a,61942);jh(61942);Pd(a,115,0);Ud(a,61947);Pd(a,116,0);Ud(a,61957);jh(61957);Pd(a,117,0);Ud(a,61966);jh(61966);Pd(a,118,0);Ud(a,61971);jh(61971);Pd(a,119,0);Ud(a,61976);jh(61976);Pd(a,120,0);Ud(a,61981);jh(61981);Pd(a,121,0);Ud(a,61985);jh(61985);Pd(a,122,0);Ud(a,61989);jh(61989);Pd(a,123,0);Ud(a,61993);jh(61993);Pd(a,7,0);Ud(a,59398);Pd(a,8,0);Ud(a,59408);Pd(a,124,0);Ud(a,65086);jh(65086);Pd(a,4,0);Ud(a,61999);jh(61999);Pd(a,125,0);Ud(a,62004);jh(62004);Pd(a,126,0);Ud(a,62017);jh(62017);Pd(a,127,0);Ud(a,62030);jh(62030);Pd(a,128,0);Ud(a,62039);jh(62039);Pd(a,129,0);Ud(a,62046);jh(62046);Pd(a,130,0);Ud(a,62053);jh(62053);Pd(a,131,0);Ud(a,62060);jh(62060);Pd(a,132,0);Ud(a,62067);jh(62067);Pd(a,18,0);Ud(a,62076);jh(62076);Pd(a,133,0);Ud(a,62085);jh(62085);Pd(a,134,0);Ud(a,62091);jh(62091);Pd(a,135,0);Ud(a,62100);jh(62100);Pd(a,136,0);Ud(a,62107);jh(62107);Pd(a,17,0);Ud(a,62112);jh(62112);Pd(a,137,0);Ud(a,62119);Pd(a,137,0);Ud(a,62127);Pd(a,138,0);Ud(a,62133);Pd(a,138,0);Ud(a,62143);Pd(a,139,0);Ud(a,62155);Pd(a,140,0);Ud(a,62179);Pd(a,141,0);Ud(a,62195);Pd(a,142,0);Ud(a,62213);Pd(a,143,0);Ud(a,62234);Pd(a,144,0);Ud(a,62243);Pd(a,145,0);Ud(a,62253);Pd(a,6,0);Ud(a,59383);return}function ui(a){a=a|0;var b=0;Tg();a=c[824513]|0;if((a|0)==30){Tg();b=c[824513]|0}else b=a;if((b|0)==15){Tg();Tg()}vb();al();c[769394]=0;Ym();vg();c[769379]=0;if(c[474576]|0){c[806967]=2;c[807091]=0;c[807090]=0;c[807092]=0}if(!(c[473630]|0)){wg();return 0}db(0);Gh(c[769392]|0);wg();return 0}function vi(){wg();return 0}function wi(a){a=a|0;var b=0,d=0,e=0,f=0;b=Pk(3077500,c[808062]|0,24360)|0;d=((Pk(3077500,c[808062]|0,24361)|0)<<8)+b|0;b=Pk(3077500,c[808062]|0,24362)|0;e=((Pk(3077500,c[808062]|0,24363)|0)<<8)+b|0;b=Ad(a,1,0)|0;f=Ad(a,2,0)|0;Ok(3077500,c[808062]|0,24360,b>>>16&255);Ok(3077500,c[808062]|0,24361,b>>24);Ok(3077500,c[808062]|0,24362,f>>>16&255);Ok(3077500,c[808062]|0,24363,f>>24);Jd(a,d<<16);Jd(a,e<<16);return 2}function xi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=c[807085]|0;d=c[807086]|0;e=c[807087]|0;f=e-b|0;g=c[807088]|0;h=g-d|0;if((ud(a)|0)>3){i=(Ad(a,1,0)|0)>>16;j=(Ad(a,2,0)|0)>>16;k=(Ad(a,3,0)|0)>>16;l=i;m=j;n=k;o=(Ad(a,4,0)|0)>>16}else{l=0;m=0;n=128;o=128}if((ud(a)|0)>4){k=(Dd(a,5)|0)==0;c[807085]=l;c[807086]=m;j=l+n|0;c[807087]=j;i=m+o|0;c[807088]=i;if(k){p=l;q=m;r=j;s=i}else{k=(l|0)<(e|0)?l:e;t=(b|0)>(k|0)?b:k;c[807085]=t;k=(m|0)<(g|0)?m:g;u=(d|0)>(k|0)?d:k;c[807086]=u;k=(j|0)<(e|0)?j:e;e=(b|0)>(k|0)?b:k;c[807087]=e;k=(i|0)<(g|0)?i:g;v=e;w=u;x=t;y=(d|0)>(k|0)?d:k;z=7}}else{c[807085]=l;c[807086]=m;k=l+n|0;c[807087]=k;v=k;w=m;x=l;y=m+o|0;z=7}if((z|0)==7){c[807088]=y;p=x;q=w;r=v;s=y}y=(p|0)<128?p:128;c[807085]=(y|0)>0?y:0;y=(q|0)<128?q:128;c[807086]=(y|0)>0?y:0;y=(r|0)<128?r:128;c[807087]=(y|0)>0?y:0;y=(s|0)<128?s:128;c[807088]=(y|0)>0?y:0;Ak();Jd(a,b<<16);Jd(a,d<<16);Jd(a,f<<16);Jd(a,h<<16);return 4}function yi(a){a=a|0;var b=0;if((ud(a)|0)>0)b=(Ad(a,1,0)|0)>>16;else b=0;c[807091]=0;c[807092]=0;c[807090]=0;c[807086]=0;c[807085]=0;c[807088]=128;c[807087]=128;Ak();un(c[769383]|0,0,0,127,127,b);dh(1024);return 0}function zi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Ia;Ia=Ia+1040|0;e=d+1024|0;f=d;g=Ed(b,1,0)|0;if((c[769398]|0)==0&(c[806968]|0)!=0){Ia=d;return 0}if(g){a[f>>0]=0;if(!(xt(g,62772)|0))Gr(61487,f);if(!(xt(g,62780)|0))Gr(3300628,f);if(!(xt(g,63812)|0))Gr(63812,f);if(!(xt(g,65502)|0))Ir(3300628,f);if(a[f>>0]|0){g=f+((Ht(f)|0)+-1)|0;if((a[g>>0]|0)==47){a[g>>0]=0;h=15}else h=15}}else{c[e>>2]=3218236;c[e+4>>2]=3219260;Xs(f,74247,e)|0;h=15}if((h|0)==15?a[f>>0]|0:0){Ia=d;return 0}Eg(62787,14);Eg(62813,6);Eg(62824,6);Ia=d;return 0}function Ai(a){a=a|0;var b=0,d=0,e=0;a=Ia;Ia=Ia+2064|0;b=a+2048|0;d=a+1024|0;e=a;if((c[769398]|0)==0&(c[806968]|0)!=0){Ia=a;return 0}Wb(3221316,0)|0;Do(3221316,0,d,e);c[b>>2]=d;c[b+4>>2]=e;Xs(1676064,62757,b)|0;Gg(1676064);Ia=a;return 0}function Bi(a){a=a|0;if((c[769398]|0)==0&(c[806968]|0)!=0)return 0;if(!(c[473570]|0)){Mm();return 0}else{Gg(62725);return 0}return 0}function Ci(a){a=a|0;if((c[769398]|0)==0&(c[806968]|0)!=0)return 0;Eg(62697,14);_l();Nm();$l();return 0}function Di(a){a=a|0;if((c[769398]|0)==0&(c[806968]|0)!=0)return 0;Sl();c[824858]=1;$k();return 0}function Ei(a){a=a|0;if((c[769398]|0)==0&(c[806968]|0)!=0)return 0;Gg(62656);Gg(62680);return 0}function Fi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=a+112|0;d=c[b>>2]|0;if((d|0)<2)return 0;e=a+8|0;a=c[e>>2]|0;f=0-d|0;g=a+(f<<3)|0;if((c[a+(f<<3)+4>>2]|0)!=3){f=Bd(g)|0;a=c[b>>2]|0;if((a|0)>1){h=f;i=a;j=6}else{k=0;l=c[807089]&255;m=f}}else{h=c[g>>2]|0;i=d;j=6}if((j|0)==6){j=(c[e>>2]|0)+(0-i<<3)+8|0;if((c[j+4>>2]|0)==3){n=c[j>>2]|0;o=i}else{i=Bd(j)|0;n=i;o=c[b>>2]|0}if((o|0)>=3){b=(c[e>>2]|0)+(0-o<<3)+24+-8|0;if((c[b+4>>2]|0)==3){o=c[b>>2]|0;b=o>>>16&255;c[807089]=b;if(!((o&268435456|0)==0|(c[807110]|0)!=1)?(e=o>>>8&65536|o&65535,c[807105]=e,(o&33554432|0)!=0):0){c[807105]=e|131072;k=n;l=b;m=h}else{k=n;l=b;m=h}}else{k=n;l=0;m=h}}else{k=n;l=c[807089]&255;m=h}}h=c[3228148+((l&15)<<2)>>2]&15;n=c[807105]|0;if(!(n&262144))p=c[3228148+(l>>>4<<2)>>2]<<4&240|h;else p=c[3228276+(h<<2)>>2]|0;pk(c[769383]|0,m-(c[807097]<<16)>>16,k-(c[807098]<<16)>>16,p,n);return 0}function Gi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+112|0;d=c[b>>2]|0;if((d|0)<2){e=0;return e|0}f=a+8|0;a=c[f>>2]|0;g=0-d|0;h=a+(g<<3)|0;if((c[a+(g<<3)+4>>2]|0)!=3){g=Bd(h)|0;a=c[b>>2]|0;if((a|0)>1){i=g;j=a;k=5}else{l=0;m=g}}else{i=c[h>>2]|0;j=d;k=5}do if((k|0)==5){d=(c[f>>2]|0)+(0-j<<3)+8|0;if((c[d+4>>2]|0)==3){l=c[d>>2]|0;m=i;break}else{l=Bd(d)|0;m=i;break}}while(0);e=(Hn(c[769383]|0,m-(c[807097]<<16)>>16,l-(c[807098]<<16)>>16)|0)<<16&983040;return e|0}function Hi(a){a=a|0;var b=0,d=0,e=0;b=c[807089]|0;if(!(ud(a)|0))c[807089]=6;if(((ud(a)|0)>=1?(d=Ad(a,1,0)|0,c[807089]=d>>>16&255,!((d&268435456|0)==0|(c[807110]|0)!=1)):0)?(e=d>>>8&65536|d&65535,c[807105]=e,d&33554432|0):0)c[807105]=e|131072;Jd(a,b<<16);return 1}function Ii(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[807090]|0;d=c[807091]|0;e=c[807089]|0;f=(Ad(a,1,0)|0)>>16;g=(Ad(a,2,0)|0)>>16;c[807090]=f;c[807092]=f;c[807091]=g;if(((ud(a)|0)>=3?(g=Ad(a,3,0)|0,c[807089]=g>>>16&255,!((g&268435456|0)==0|(c[807110]|0)!=1)):0)?(f=g>>>8&65536|g&65535,c[807105]=f,g&33554432|0):0)c[807105]=f|131072;Jd(a,b<<16);Jd(a,d<<16);Jd(a,e<<16);return 3}function Ji(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=Ia;Ia=Ia+16|0;e=d;f=d+8|0;g=d+4|0;c[f>>2]=0;h=yd(b,1)|0;c[g>>2]=0;if((ud(b)|0)>1)i=(Ad(b,2,0)|0)>>16;else i=0;switch(h|0){case 3:{h=Ad(b,1,0)|0;c[f>>2]=h;Jd(b,h);j=1;Ia=d;return j|0}case 1:{h=(Dd(b,1)|0)==0;Jd(b,h?0:(i&2|0)==0?65536:1);j=1;Ia=d;return j|0}case 4:{dh(2);c[g>>2]=1;a:do if(!(i&3))k=18;else{h=Ed(b,1,0)|0;l=a[h>>0]|0;if(!(l<<24>>24))m=0;else{n=0;o=h;h=l;while(1){l=n<<4;p=h<<24>>24;do if((h+-48&255)>=10)if((h+-97&255)<6){q=p+-87|0;break}else{q=(h+-65&255)<6?p+-55|0:0;break}else q=p+-48|0;while(0);p=q|l;o=o+1|0;h=a[o>>0]|0;if(!(h<<24>>24)){m=p;break}else n=p}}switch(i&3){case 3:{c[f>>2]=m;k=23;break a;break}case 1:{c[f>>2]=m<<16;k=23;break a;break}default:{k=18;break a}}}while(0);do if((k|0)==18){if(!(i&2)){c[g>>2]=0;c[f>>2]=Ad(b,1,g)|0;m=c[g>>2]|0;if((i&4|0)==0|(m|0)!=0)r=m;else{c[f>>2]=0;c[g>>2]=1;s=0;break}}else{m=Ed(b,1,0)|0;c[e>>2]=f;wu(m,65660,e)|0;r=c[g>>2]|0}if(!r){j=0;Ia=d;return j|0}else k=23}while(0);if((k|0)==23)s=c[f>>2]|0;Jd(b,s);j=1;Ia=d;return j|0}default:{j=0;Ia=d;return j|0}}return 0}function Ki(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=Ia;Ia=Ia+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;i=b+4|0;j=b;k=ud(a)|0;l=(Ad(a,1,0)|0)>>16;m=Ad(a,2,0)|0;n=Ad(a,3,0)|0;if(l>>>0>255){Ia=b;return 0}if((k|0)>3){o=Ad(a,4,0)|0;p=Ad(a,5,0)|0;if((k|0)>5){k=Dd(a,6)|0;q=Dd(a,7)|0;r=k;s=p;t=o}else{q=0;r=0;s=p;t=o}}else{q=0;r=0;s=65536;t=65536}o=t>>13;p=s>>13;if((t|0)<8192|(s|0)<8192){Ia=b;return 0}s=(o|0)<128?o:128;o=(p|0)<128?p:128;p=m-(c[807097]<<16)>>16;m=n-(c[807098]<<16)>>16;n=c[584089]|0;do if(!n)u=10;else{if((c[n>>2]|0)==(s|0)?(c[n+4>>2]|0)==(o|0):0){v=n;w=s;x=o;break}yn(n)|0;u=10}while(0);if((u|0)==10){u=xn(s,o,8)|0;c[584089]=u;v=u;w=c[u>>2]|0;x=c[u+4>>2]|0}$p(c[v+12>>2]|0,16,B(x,w)|0);lk(c[(c[808062]|0)+8>>2]|0,c[584089]|0,l<<3&120,l>>>4<<3,0,0,s,o,r,q,3228148);nk(c[584089]|0,c[769383]|0,0,0,p,m,s,o);c[d>>2]=s;c[e>>2]=o;c[g>>2]=0;c[h>>2]=0;c[i>>2]=p;c[j>>2]=m;m=0-s|0;if((s|0)<0){c[g>>2]=s;c[d>>2]=m;y=m}else y=s;s=0-o|0;if((o|0)<0){c[h>>2]=o;c[e>>2]=s;z=s}else z=o;c[f>>2]=y;c[f+4>>2]=z;An(f,c[769383]|0,g,h,i,j,d,e);j=c[d>>2]|0;d=c[e>>2]|0;e=B(d,j)|0;dh((d|j|0)<0?0:e);Ia=b;return 0}function Li(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0;b=Ia;Ia=Ia+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;i=b+4|0;j=b;k=ud(a)|0;l=(Ad(a,1,0)|0)>>16;m=(Ad(a,2,0)|0)>>16;n=Ad(a,3,0)|0;o=n>>16;p=Ad(a,4,0)|0;q=p>>16;r=Ad(a,5,0)|0;s=Ad(a,6,0)|0;if((k|0)>6){t=(Ad(a,7,0)|0)>>16;u=(Ad(a,8,0)|0)>>16;if((k|0)>8){v=Dd(a,9)|0;if((k|0)==9){w=0;x=v;y=u;z=t}else{w=Dd(a,10)|0;x=v;y=u;z=t}}else{w=0;x=0;y=u;z=t}}else{w=0;x=0;y=q;z=o}if((p+-65536|n+-65536)>>>0>8388607){Ia=b;return 0}if((z|0)==0|(y|0)==0){Ia=b;return 0}n=(z|0)<0;p=(r-(c[807097]<<16)>>16)+(n?z:0)|0;r=n?0-z|0:z;z=n?(x|0)==0&1:x;x=(y|0)<0;n=(s-(c[807098]<<16)>>16)+(x?y:0)|0;s=x?0-y|0:y;y=x?(w|0)==0&1:w;w=c[584088]|0;do if(!w)A=11;else{if((c[w>>2]|0)==(o|0)?(c[w+4>>2]|0)==(q|0):0){C=w;D=o;E=q;break}yn(w)|0;A=11}while(0);if((A|0)==11){A=xn(o,q,8)|0;c[584088]=A;C=A;D=c[A>>2]|0;E=c[A+4>>2]|0}$p(c[C+12>>2]|0,16,B(E,D)|0);lk(c[(c[808062]|0)+8>>2]|0,c[584088]|0,l,m,0,0,o,q,z,y,3228148);mk(c[584088]|0,c[769383]|0,p,n,r,s);c[d>>2]=r;c[e>>2]=s;c[g>>2]=0;c[h>>2]=0;c[i>>2]=p;c[j>>2]=n;n=0-r|0;if((r|0)<0){c[g>>2]=r;c[d>>2]=n;F=n}else F=r;r=0-s|0;if((s|0)<0){c[h>>2]=s;c[e>>2]=r;G=r}else G=s;c[f>>2]=F;c[f+4>>2]=G;An(f,c[769383]|0,g,h,i,j,d,e);j=c[d>>2]|0;d=c[e>>2]|0;e=B(d,j)|0;dh((d|j|0)<0?0:e);Ia=b;return 0}function Mi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;b=a+112|0;d=c[b>>2]|0;if((d|0)>0){e=a+8|0;a=c[e>>2]|0;f=0-d|0;g=a+(f<<3)|0;if((c[a+(f<<3)+4>>2]|0)==3){h=c[g>>2]|0;i=d}else{d=Bd(g)|0;h=d;i=c[b>>2]|0}if((i|0)>1){d=(c[e>>2]|0)+(0-i<<3)+8|0;if((c[d+4>>2]|0)==3){j=c[d>>2]|0;k=i}else{i=Bd(d)|0;j=i;k=c[b>>2]|0}if((k|0)>2){i=(c[e>>2]|0)+(0-k<<3)+16|0;if((c[i+4>>2]|0)==3){l=c[i>>2]|0;m=k}else{k=Bd(i)|0;l=k;m=c[b>>2]|0}if((m|0)>3){k=(c[e>>2]|0)+(0-m<<3)+24|0;if((c[k+4>>2]|0)==3){n=c[k>>2]|0;o=m}else{m=Bd(k)|0;n=m;o=c[b>>2]|0}if((o|0)>=5){b=(c[e>>2]|0)+(0-o<<3)+40+-8|0;if((c[b+4>>2]|0)==3){o=c[b>>2]|0;b=o>>>16&255;c[807089]=b;if(!((o&268435456|0)==0|(c[807110]|0)!=1)?(e=o>>>8&65536|o&65535,c[807105]=e,(o&33554432|0)!=0):0){c[807105]=e|131072;p=j;q=l;r=n;s=b;t=h}else{p=j;q=l;r=n;s=b;t=h}}else{p=j;q=l;r=n;s=0;t=h}}else{p=j;q=l;r=n;s=c[807089]&255;t=h}}else{u=j;v=l;w=h;x=17}}else{u=j;v=0;w=h;x=17}}else{u=0;v=0;w=h;x=17}}else{u=0;v=0;w=0;x=17}if((x|0)==17){p=u;q=v;r=0;s=c[807089]&255;t=w}w=c[3228148+((s&15)<<2)>>2]&15;if(!(c[807105]&262144))y=c[3228148+(s>>>4<<2)>>2]<<4&240|w;else y=c[3228276+(w<<2)>>2]|0;w=c[807097]<<16;s=t-w>>16;t=c[807098]<<16;v=p-t>>16;p=q-w>>16;w=r-t>>16;t=qk(c[769383]|0,s,p,v,y)|0;if((w|0)==(v|0))z=t;else z=(qk(c[769383]|0,s,p,w,y)|0)+t|0;t=(w|0)<(v|0);r=t?w:v;q=t?v:w;if((q|0)<=(r|0)){A=z;B=(A|0)/16|0;dh(B);return 0}w=r+1|0;r=q+-1|0;q=(zk(c[769383]|0,s,w,r,y)|0)+z|0;A=q+(zk(c[769383]|0,p,w,r,y)|0)|0;B=(A|0)/16|0;dh(B);return 0}function Ni(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;b=a+112|0;d=c[b>>2]|0;if((d|0)>0){e=a+8|0;a=c[e>>2]|0;f=0-d|0;g=a+(f<<3)|0;if((c[a+(f<<3)+4>>2]|0)==3){h=c[g>>2]|0;i=d}else{d=Bd(g)|0;h=d;i=c[b>>2]|0}if((i|0)>1){d=(c[e>>2]|0)+(0-i<<3)+8|0;if((c[d+4>>2]|0)==3){j=c[d>>2]|0;k=i}else{i=Bd(d)|0;j=i;k=c[b>>2]|0}if((k|0)>2){i=(c[e>>2]|0)+(0-k<<3)+16|0;if((c[i+4>>2]|0)==3){l=c[i>>2]|0;m=k}else{k=Bd(i)|0;l=k;m=c[b>>2]|0}if((m|0)>3){k=(c[e>>2]|0)+(0-m<<3)+24|0;if((c[k+4>>2]|0)==3){n=c[k>>2]|0;o=m}else{m=Bd(k)|0;n=m;o=c[b>>2]|0}if((o|0)>=5){b=(c[e>>2]|0)+(0-o<<3)+40+-8|0;if((c[b+4>>2]|0)==3){o=c[b>>2]|0;b=o>>>16&255;c[807089]=b;if(!((o&268435456|0)==0|(c[807110]|0)!=1)?(e=o>>>8&65536|o&65535,c[807105]=e,(o&33554432|0)!=0):0){c[807105]=e|131072;p=j;q=l;r=n;s=b;t=h}else{p=j;q=l;r=n;s=b;t=h}}else{p=j;q=l;r=n;s=0;t=h}}else{p=j;q=l;r=n;s=c[807089]&255;t=h}}else{u=j;v=l;w=h;x=17}}else{u=j;v=0;w=h;x=17}}else{u=0;v=0;w=h;x=17}}else{u=0;v=0;w=0;x=17}if((x|0)==17){p=u;q=v;r=0;s=c[807089]&255;t=w}w=c[3228148+((s&15)<<2)>>2]&15;if(!(c[807105]&262144))y=c[3228148+(s>>>4<<2)>>2]<<4&240|w;else y=c[3228276+(w<<2)>>2]|0;w=c[807097]<<16;s=t-w>>16;t=c[807098]<<16;v=p-t>>16;p=q-w>>16;w=r-t>>16;t=(p|0)<(s|0);r=t?p:s;q=t?s:p;p=(w|0)<(v|0);s=p?w:v;t=p?v:w;w=c[769383]|0;v=c[w+28>>2]|0;p=(r|0)>(v|0)?r:v;v=(c[w+32>>2]|0)+-1|0;r=(q|0)<(v|0)?q:v;v=c[w+36>>2]|0;q=(s|0)>(v|0)?s:v;v=(c[w+40>>2]|0)+-1|0;s=(t|0)<(v|0)?t:v;if((r|0)<(p|0)|(s|0)<(q|0))return 0;if((r-p|0)<8&(s-q|0)>4){v=zk(w,p,q,s,y)|0;if((r|0)>(p|0)){t=p;u=v;while(1){t=t+1|0;x=(zk(c[769383]|0,t,q,s,y)|0)+u|0;if((t|0)>=(r|0)){z=x;break}else u=x}}else z=v}else{v=qk(w,p,r,q,y)|0;if((s|0)>(q|0)){w=q;q=v;while(1){w=w+1|0;u=(qk(c[769383]|0,p,r,w,y)|0)+q|0;if((w|0)>=(s|0)){z=u;break}else q=u}}else z=v}dh((z|0)/16|0);return 0}function Oi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=ud(b)|0;if((d|0)<2)return 0;e=Ad(b,1,0)|0;f=Ad(b,2,0)|0;if((d|0)!=2){d=Ad(b,3,0)|0;if((d|0)<0)return 0;else{g=d>>16;h=(a[3256626]&2)==0?0:d>>>15&1}}else{g=4;h=0}d=c[807089]&255;if((ud(b)|0)>=4){i=Ad(b,4,0)|0;b=i>>>16&255;c[807089]=b;if(!((i&268435456|0)==0|(c[807110]|0)!=1)?(j=i>>>8&65536|i&65535,c[807105]=j,(i&33554432|0)!=0):0){c[807105]=j|131072;k=b}else k=b}else k=d;d=c[3228148+((k&15)<<2)>>2]&15;if(!(c[807105]&262144))l=c[3228148+(k>>>4<<2)>>2]<<4&240|d;else l=c[3228276+(d<<2)>>2]|0;d=e-(c[807097]<<16)>>16;e=f-(c[807098]<<16)>>16;f=g+h|0;dh((sk(c[769383]|0,d-g|0,e-g|0,f+d|0,f+e|0,l)|0)/2|0);return 0}function Pi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=ud(b)|0;if((d|0)<2)return 0;e=Ad(b,1,0)|0;f=Ad(b,2,0)|0;do if((d|0)!=2){g=Ad(b,3,0)|0;if((g|0)<0)return 0;else{h=g>>>16;i=(a[3256626]&2)==0?0:g>>>15&1;break}}else{h=4;i=0}while(0);d=c[807089]&255;if((ud(b)|0)>=4){g=Ad(b,4,0)|0;b=g>>>16&255;c[807089]=b;if(!((g&268435456|0)==0|(c[807110]|0)!=1)?(j=g>>>8&65536|g&65535,c[807105]=j,(g&33554432|0)!=0):0){c[807105]=j|131072;k=b}else k=b}else k=d;d=c[3228148+((k&15)<<2)>>2]&15;if(!(c[807105]&262144))l=c[3228148+(k>>>4<<2)>>2]<<4&240|d;else l=c[3228276+(d<<2)>>2]|0;d=e-(c[807097]<<16)>>16;e=f-(c[807098]<<16)>>16;f=i+h|0;dh((vk(c[769383]|0,d-h|0,e-h|0,f+d|0,f+e|0,l)|0)/16|0);return 0}function Qi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Ad(a,1,0)|0;d=Ad(a,2,0)|0;e=Ad(a,3,0)|0;f=Ad(a,4,0)|0;g=c[807089]&255;if((ud(a)|0)>=5){h=Ad(a,5,0)|0;a=h>>>16&255;c[807089]=a;if(!((h&268435456|0)==0|(c[807110]|0)!=1)?(i=h>>>8&65536|h&65535,c[807105]=i,(h&33554432|0)!=0):0){c[807105]=i|131072;j=a}else j=a}else j=g;g=c[3228148+((j&15)<<2)>>2]&15;if(!(c[807105]&262144))k=c[3228148+(j>>>4<<2)>>2]<<4&240|g;else k=c[3228276+(g<<2)>>2]|0;g=c[807097]<<16;j=b-g>>16;b=c[807098]<<16;a=d-b>>16;d=e-g>>16;g=f-b>>16;b=(d|0)<(j|0);f=(g|0)<(a|0);dh((sk(c[769383]|0,b?d:j,f?g:a,b?j:d,f?a:g,k)|0)/2|0);return 0}function Ri(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Ad(a,1,0)|0;d=Ad(a,2,0)|0;e=Ad(a,3,0)|0;f=Ad(a,4,0)|0;g=c[807089]&255;if((ud(a)|0)>=5){h=Ad(a,5,0)|0;a=h>>>16&255;c[807089]=a;if(!((h&268435456|0)==0|(c[807110]|0)!=1)?(i=h>>>8&65536|h&65535,c[807105]=i,(h&33554432|0)!=0):0){c[807105]=i|131072;j=a}else j=a}else j=g;g=c[3228148+((j&15)<<2)>>2]&15;if(!(c[807105]&262144))k=c[3228148+(j>>>4<<2)>>2]<<4&240|g;else k=c[3228276+(g<<2)>>2]|0;g=c[807097]<<16;j=b-g>>16;b=c[807098]<<16;a=d-b>>16;d=e-g>>16;g=f-b>>16;b=(d|0)<(j|0);f=(g|0)<(a|0);dh((vk(c[769383]|0,b?d:j,f?g:a,b?j:d,f?a:g,k)|0)/16|0);return 0}function Si(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=(Ad(a,1,0)|0)>>16;d=(Ad(a,2,0)|0)>>16;if(!(ud(a)|0)){c[807108]=1;return 0}if((ud(a)|0)==1){c[807108]=1;if((ud(a)|0)<1)return 0;e=Ad(a,1,0)|0;c[807089]=e>>>16&255;if((e&268435456|0)==0|(c[807110]|0)!=1)return 0;f=e>>>8&65536|e&65535;c[807105]=f;if(!(e&33554432))return 0;c[807105]=f|131072;return 0}do if((ud(a)|0)<4){if((((ud(a)|0)==3?(ud(a)|0)>=3:0)?(f=Ad(a,3,0)|0,c[807089]=f>>>16&255,!((f&268435456|0)==0|(c[807110]|0)!=1)):0)?(e=f>>>8&65536|f&65535,c[807105]=e,f&33554432|0):0)c[807105]=e|131072;if(!(c[807108]&1)){e=c[807106]|0;f=c[807107]|0;c[807106]=b;c[807107]=d;g=f;h=e;break}c[807106]=b;c[807107]=d;c[807108]=0;return 0}else{e=(Ad(a,3,0)|0)>>16;f=(Ad(a,4,0)|0)>>16;c[807106]=e;c[807107]=f;c[807108]=0;g=f;h=e}while(0);e=c[807089]&255;if((ud(a)|0)>=5){f=Ad(a,5,0)|0;a=f>>>16&255;c[807089]=a;if(!((f&268435456|0)==0|(c[807110]|0)!=1)?(i=f>>>8&65536|f&65535,c[807105]=i,(f&33554432|0)!=0):0){c[807105]=i|131072;j=a}else j=a}else j=e;e=c[3228148+((j&15)<<2)>>2]&15;if(!(c[807105]&262144))k=c[3228148+(j>>>4<<2)>>2]<<4&240|e;else k=c[3228276+(e<<2)>>2]|0;e=c[807097]|0;j=b-e<<16>>16;b=c[807098]|0;a=d-b<<16>>16;d=h-e<<16>>16;e=g-b<<16>>16;if((j|0)==(d|0)){dh((zk(c[769383]|0,j,a,e,k)|0)/16|0);return 0}b=c[769383]|0;if((a|0)==(e|0)){dh((qk(b,j,d,a,k)|0)/16|0);return 0}else{dh((xk(b,j,a,d,e,k)|0)/2|0);return 0}return 0}function Ti(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=Ad(a,1,0)|0;d=Ad(a,2,0)|0;e=Ad(a,3,0)|0;f=Ad(a,4,0)|0;if((ud(a)|0)>4)g=Ad(a,5,0)|0;else g=0;if((ud(a)|0)>5)h=Ad(a,6,0)|0;else h=0;if((ud(a)|0)>6)i=Ad(a,7,0)|0;else i=8192;if((ud(a)|0)>7)j=Ad(a,8,0)|0;else j=0;if((ud(a)|0)>8)k=(Ad(a,9,0)|0)>>16;else k=0;a=c[807097]<<16;l=c[807098]<<16;dh((yk(c[769383]|0,b-a|0,d-l|0,e-a|0,f-l|0,g,h,i,j,k)|0)<<1);return 0}function Ui(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=ud(a)|0;if((yd(a,1)|0)==5){if((b|0)>1)d=(Ad(a,2,0)|0)>>16;else d=0;Id(a);if(!(nf(a,1)|0)){e=0;return e|0}switch(d|0){case 0:{do{if((yd(a,-2)|0)==3){f=Cd(a,-2,0)|0;g=Cd(a,-1,0)|0;h=3228148+((f&15)<<2)|0;c[h>>2]=c[h>>2]&16|g&15}vd(a,-2);dh(2)}while((nf(a,1)|0)!=0);e=0;return e|0}case 1:{do{if((yd(a,-2)|0)==3?(g=Cd(a,-2,0)|0,h=Cd(a,-1,0)|0,c[3228212+((g&15)<<2)>>2]=h&255,h&128|0):0)nb();vd(a,-2);dh(2)}while((nf(a,1)|0)!=0);e=0;return e|0}default:{h=(d|0)==2;do{if((yd(a,-2)|0)==3?(d=Cd(a,-2,0)|0,g=Cd(a,-1,0)|0,h):0)c[3228276+((d&15)<<2)>>2]=g&255;vd(a,-2);dh(2)}while((nf(a,1)|0)!=0);e=0;return e|0}}}if((b|0)>=2){h=(Ad(a,1,0)|0)>>>16;g=Ad(a,2,0)|0;d=g>>16;f=(Ad(a,3,0)|0)>>16;i=h&15;h=d&255;switch(f|0){case 0:{j=3228148+(i<<2)|0;k=c[j>>2]|0;c[j>>2]=k&16|d&15;l=k;break}case 1:{k=3228212+(i<<2)|0;d=c[k>>2]|0;c[k>>2]=h;if(!(g&8388608))l=d;else{nb();l=d}break}case 2:{d=3228276+(i<<2)|0;i=c[d>>2]|0;c[d>>2]=h;l=i;break}default:l=0}i=l<<16;Jd(a,(f|0)==0?i&-1114112:i);e=1;return e|0}do if((b|0)==1?(yd(a,1)|0)==3:0){i=(Ad(a,1,0)|0)>>16;if((i+1|0)>>>0<2){c[807037]=0;if((i|0)==-1){m=37;break}c[807038]=1;c[807039]=2;c[807040]=3;c[807041]=4;c[807042]=5;c[807043]=6;c[807044]=7;c[807045]=8;c[807046]=9;c[807047]=10;c[807048]=11;c[807049]=12;c[807050]=13;c[807051]=14;c[807052]=15;break}switch(i|0){case -1:{c[807053]=0;c[807069]=0;c[807054]=1;c[807070]=1;c[807055]=2;c[807071]=18;c[807056]=3;c[807072]=19;c[807057]=4;c[807073]=36;c[807058]=5;c[807074]=21;c[807059]=6;c[807075]=214;c[807060]=7;c[807076]=103;c[807061]=8;c[807077]=72;c[807062]=9;c[807078]=73;c[807063]=10;c[807079]=154;c[807064]=11;c[807080]=59;c[807065]=12;c[807081]=220;c[807066]=13;c[807082]=93;c[807067]=14;c[807083]=142;c[807068]=15;c[807084]=239;e=0;return e|0}case 1:{c[807053]=0;c[807054]=1;c[807055]=2;c[807056]=3;c[807057]=4;c[807058]=5;c[807059]=6;c[807060]=7;c[807061]=8;c[807062]=9;c[807063]=10;c[807064]=11;c[807065]=12;c[807066]=13;c[807067]=14;c[807068]=15;e=0;return e|0}case 2:{c[807069]=0;c[807070]=1;c[807071]=18;c[807072]=19;c[807073]=36;c[807074]=21;c[807075]=214;c[807076]=103;c[807077]=72;c[807078]=73;c[807079]=154;c[807080]=59;c[807081]=220;c[807082]=93;c[807083]=142;c[807084]=239;e=0;return e|0}default:{e=0;return e|0}}}else m=23;while(0);if((m|0)==23){c[807037]=0;m=37}if((m|0)==37){c[807053]=0;c[807069]=0;c[807038]=1;c[807054]=1;c[807070]=1;c[807039]=2;c[807055]=2;c[807071]=18;c[807040]=3;c[807056]=3;c[807072]=19;c[807041]=4;c[807057]=4;c[807073]=36;c[807042]=5;c[807058]=5;c[807074]=21;c[807043]=6;c[807059]=6;c[807075]=214;c[807044]=7;c[807060]=7;c[807076]=103;c[807045]=8;c[807061]=8;c[807077]=72;c[807046]=9;c[807062]=9;c[807078]=73;c[807047]=10;c[807063]=10;c[807079]=154;c[807048]=11;c[807064]=11;c[807080]=59;c[807049]=12;c[807065]=12;c[807081]=220;c[807050]=13;c[807066]=13;c[807082]=93;c[807051]=14;c[807067]=14;c[807083]=142;c[807052]=15;c[807068]=15;c[807084]=239}c[807037]=16;e=0;return e|0}function Vi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=ud(a)|0;d=c[807037]|0;e=c[807038]|0;f=c[807039]|0;g=c[807040]|0;h=c[807041]|0;i=c[807042]|0;j=c[807043]|0;k=c[807044]|0;l=c[807045]|0;m=c[807046]|0;n=c[807047]|0;o=c[807048]|0;p=c[807049]|0;q=c[807050]|0;r=c[807051]|0;s=c[807052]|0;t=s>>>4&1|(r>>>3&2|(q>>>2&4|(p>>>1&8|(o&16|(n<<1&32|(m<<2&64|(l<<3&128|(k<<4&256|(j<<5&512|(i<<6&1024|(h<<7&2048|(g<<8&4096|(f<<9&8192|(e<<10&16384|d<<11&32768))))))))))))));if(!b){c[807038]=e&15;c[807039]=f&15;c[807040]=g&15;c[807041]=h&15;c[807042]=i&15;c[807043]=j&15;c[807044]=k&15;c[807045]=l&15;c[807046]=m&15;c[807047]=n&15;c[807048]=o&15;c[807049]=p&15;c[807050]=q&15;c[807051]=r&15;c[807052]=s&15;c[807037]=d&15|16;Jd(a,t<<16);return 1}d=Ad(a,1,0)|0;if((b|0)==1){b=c[807037]&15;c[807037]=(d|0)>-1?b:b|16;c[807038]=d>>>26&16|c[807038]&15;c[807039]=d>>>25&16|c[807039]&15;c[807040]=d>>>24&16|c[807040]&15;c[807041]=d>>>23&16|c[807041]&15;c[807042]=d>>>22&16|c[807042]&15;c[807043]=d>>>21&16|c[807043]&15;c[807044]=d>>>20&16|c[807044]&15;c[807045]=d>>>19&16|c[807045]&15;c[807046]=d>>>18&16|c[807046]&15;c[807047]=d>>>17&16|c[807047]&15;c[807048]=d>>>16&16|c[807048]&15;c[807049]=d>>>15&16|c[807049]&15;c[807050]=d>>>14&16|c[807050]&15;c[807051]=d>>>13&16|c[807051]&15;c[807052]=d>>>12&16|c[807052]&15;dh(2);Jd(a,t<<16);return 1}else{t=Dd(a,2)|0;b=3228148+((d>>>16&15)<<2)|0;d=c[b>>2]|0;s=d&15;c[b>>2]=(t|0)==0?s:s|16;Qd(a,d>>>4&1);return 1}return 0}function Wi(a){a=a|0;var b=0,d=0,e=0;b=c[807105]|0;d=b>>>1&32768|b<<16|b>>>3&16384;if(!(ud(a)|0)){e=0;c[807105]=e;Jd(a,d);return 1}b=Ad(a,1,0)|0;e=b<<1&65536|b>>>16|b<<3&131072|b<<5&262144;c[807105]=e;Jd(a,d);return 1}function Xi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;d=Ia;Ia=Ia+80|0;e=d+72|0;f=d+68|0;g=d+16|0;h=d+12|0;i=d+8|0;j=d+4|0;k=d;l=(a[3256626]<<4&255)<<24>>24>>7<<24>>24;m=(Ad(b,1,0)|0)>>16;n=(Ad(b,2,0)|0)>>16;o=Ad(b,3,0)|0;p=Ad(b,4,0)|0;q=a[3256658]|0;r=q<<24>>24>-1?8192:(q&255)<<8;q=a[3256659]|0;s=q<<24>>24==0?256:q&255;q=((r>>>0>32767?65536-r|0:8192)>>>0)/(s>>>0)|0;if((ud(b)|0)>4?(yd(b,5)|0)!=0:0)t=(Ad(b,5,0)|0)>>16;else t=s;if((ud(b)|0)>5?(yd(b,6)|0)!=0:0)u=(Ad(b,6,0)|0)>>16;else u=q;if((ud(b)|0)>6)v=(Ad(b,7,0)|0)>>16;else v=0;if((t|0)<1|(u|0)<1){Ia=d;return 0}b=o-(c[807097]<<16)>>16;o=p-(c[807098]<<16)>>16;p=c[(c[808062]|0)+8>>2]|0;q=c[807085]|0;s=c[807086]|0;if((b|0)<(q+-7|0)){r=(q-b|0)/8|0;w=r+m|0;x=(r<<3)+b|0;y=t-r|0}else{w=m;x=b;y=t}if((o|0)<(s+-7|0)){t=(s-o|0)/8|0;z=t+n|0;A=(t<<3)+o|0;C=u-t|0}else{z=n;A=o;C=u}u=((7-q+(c[807087]|0)|0)/8|0)+1|0;q=(u|0)<(y|0)?u:y;y=((7-s+(c[807088]|0)|0)/8|0)+1|0;s=(y|0)<(C|0)?y:C;if((s|0)>0){C=(q|0)>0;y=(v|0)==0;u=g+4|0;o=0;n=0;while(1){a:do if(C){t=n+z|0;b=(n<<3)+A|0;if(y){m=0;r=o;while(1){D=Dh(m+w|0,t)|0;if((D|0)==(l|0))E=r;else{F=(m<<3)+x|0;ok(p,c[769383]|0,D<<3&120,((D|0)/16|0)<<3,F,b,8,8,3228148);c[e>>2]=8;c[f>>2]=8;c[h>>2]=0;c[i>>2]=0;c[j>>2]=F;c[k>>2]=b;c[g>>2]=8;c[u>>2]=8;An(g,c[769383]|0,h,i,j,k,e,f);F=c[e>>2]|0;D=c[f>>2]|0;G=B(D,F)|0;E=((D|F|0)<0?0:G)+r|0}m=m+1|0;if((m|0)>=(q|0)){H=E;break a}else r=E}}r=0;m=o;while(1){G=Dh(r+w|0,t)|0;if((G|0)!=(l|0)?(c[(c[808062]|0)+43552+(G<<2)>>2]&v|0)!=0:0){F=(r<<3)+x|0;ok(p,c[769383]|0,G<<3&120,((G|0)/16|0)<<3,F,b,8,8,3228148);c[e>>2]=8;c[f>>2]=8;c[h>>2]=0;c[i>>2]=0;c[j>>2]=F;c[k>>2]=b;c[g>>2]=8;c[u>>2]=8;An(g,c[769383]|0,h,i,j,k,e,f);F=c[e>>2]|0;G=c[f>>2]|0;D=B(G,F)|0;I=((G|F|0)<0?0:D)+m|0}else I=m;r=r+1|0;if((r|0)>=(q|0)){H=I;break}else m=I}}else H=o;while(0);n=n+1|0;if((n|0)>=(s|0)){J=H;break}else o=H}}else J=0;dh(J);Ia=d;return 0}function Yi(a){a=a|0;var b=0;b=(Ad(a,1,0)|0)>>16;Jd(a,(Dh(b,(Ad(a,2,0)|0)>>16)|0)<<16);return 1}function Zi(a){a=a|0;var b=0,c=0;b=(Ad(a,1,0)|0)>>16;c=(Ad(a,2,0)|0)>>16;Eh(b,c,(Ad(a,3,0)|0)>>>16&255);return 0}function _i(a){a=a|0;var b=0,d=0,e=0,f=0;if(!(ud(a)|0)){b=0;return b|0}d=Ad(a,1,0)|0;e=d>>16;if((ud(a)|0)==1){if(d>>>0>16777215)f=0;else f=c[(c[808062]|0)+43552+(e<<2)>>2]<<16&16711680;Jd(a,f);b=1;return b|0}f=Ad(a,2,0)|0;if(d>>>0>16777215){Qd(a,0);b=1;return b|0}if(f>>>0>524287){Qd(a,0);b=1;return b|0}else{Qd(a,(c[(c[808062]|0)+43552+(e<<2)>>2]&1<<(f>>16)|0)!=0&1);b=1;return b|0}return 0}function $i(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=ud(a)|0;if((b|0)<2)return 0;d=Ad(a,1,0)|0;e=d>>16;f=Ad(a,2,0)|0;g=f>>16;if(d>>>0>16777215)return 0;if((b|0)==2){c[(c[808062]|0)+43552+(e<<2)>>2]=g&255;return 0}b=Dd(a,3)|0;if(f>>>0>524287)return 0;f=1<>2];c[g>>2]=e;if(!b)return 0;c[g>>2]=e|f;return 0}function aj(a){a=a|0;var b=0,d=0;b=(Ad(a,1,0)|0)>>16;d=(Ad(a,2,0)|0)>>16;Jd(a,(Hn(c[(c[808062]|0)+8>>2]|0,b,d)|0)<<16&983040);return 1}function bj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[807089]|0;d=Ad(a,1,0)|0;e=Ad(a,2,0)|0;if((ud(a)|0)>2)f=(Ad(a,3,0)|0)>>16;else f=b;b=f&15;if((e|0)>8388607|((d|0)>8388607|(e|d|0)<0))return 0;f=(e>>16<<6)+((d>>16|0)/2|0)|0;e=Pk(3077500,c[808062]|0,f)|0;if(!(d&65536))g=e&240|b;else g=e&15|b<<4;Ok(3077500,c[808062]|0,f,g);return 0}function cj(a){a=a|0;var b=0,d=0,e=0,f=0;if((c[806968]|0)==0&(c[584657]|0)!=0){Qq(0,0);Tq();c[584657]=0}b=c[808062]|0;d=(Ad(a,1,0)|0)>>16;if((ud(a)|0)>1)e=(Ad(a,2,0)|0)>>16;else e=0;if((ud(a)|0)>2)f=(Ad(a,3,0)|0)>>16;else f=0;if((d|0)==-1){Qq(0,e);dh(16);return 0}else{a=(d|0)<63?d:63;Kq(b,(a|0)>0?a:0,e);c[807446]=f;dh(16);return 0}return 0}function dj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if((c[806968]|0)==0&(c[584657]|0)!=0){Qq(0,0);Tq();c[584657]=0}if((ud(a)|0)<1)return 0;b=Ad(a,1,0)|0;d=b>>16;if((ud(a)|0)>1){e=Ad(a,2,0)|0;if((e+131072|0)>>>0>393215)return 0;else f=e>>16}else f=-1;if((ud(a)|0)>2)g=(Ad(a,3,0)|0)>>16;else g=0;if((ud(a)|0)>3)h=(Ad(a,4,0)|0)>>16;else h=0;if((d|0)==-1){Cq(0,0,0,c[808062]|0,(f|0)==-2?-1:f)|0;return 0}a=(f|0)==-2;if((d|0)==-2){Iq(a?-1:f);return 0}if(!a){a=(d|0)<63?d:63;e=(a|0)>0?a:0;a=(g|0)<31?g:31;Eq((c[808062]|0)+16+(e*660|0)|0);g=c[808062]|0;Cq(g+16+(e*660|0)|0,(a|0)>0?a:0,h,g,f)|0;dh(16);return 0}if(b>>>0>=4194304)return 0;Eq((c[808062]|0)+16+(d*660|0)|0);return 0}function ej(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=(Ad(a,1,0)|0)>>16;if((ud(a)|0)==2?(yd(a,2)|0)==4:0){c=Ed(a,2,0)|0;if(!c){d=0;return d|0}Wm(b,c);d=0;return d|0}c=(Ad(a,2,0)|0)>>16;e=(Ad(a,3,0)|0)>>13;if((ud(a)|0)>3){f=Ad(a,4,0)|0;if((f|0)>65535){g=f>>16;h=7}else i=0}else{g=1;h=7}if((h|0)==7){h=0;f=0;while(1){j=(Vm(b,c,e)|0)+f|0;h=h+1|0;if((h|0)==(g|0)){i=j;break}else f=j}}dh((i|0)/64|0);Jd(a,i<<13);d=1;return d|0}function fj(a){a=a|0;var b=0,d=0,e=0;b=(Ad(a,1,0)|0)>>16;d=(Ad(a,2,0)|0)>>16;e=Ad(a,3,0)|0;a=e>>16;if((e|0)<65536|(b|0)==(d|0))return 0;Rk(3077500,c[808062]|0,b,d,a);dh((a+1|0)/4|0);return 0}function gj(a){a=a|0;var b=0,d=0,e=0;b=Ad(a,1,0)|0;d=Ad(a,2,0)|0;e=Ad(a,3,0)|0;a=e>>16;if((e|0)<65536)return 0;Sk(3077500,c[808062]|0,b>>16,d>>16,a);dh((a+1|0)/4|0);return 0}function hj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=Ia;Ia=Ia+1040|0;e=d+1032|0;f=d+1024|0;g=d+1036|0;h=d;if((ud(b)|0)>2){i=(Ad(b,1,0)|0)>>16;j=(Ad(b,2,0)|0)>>16;k=(Ad(b,3,0)|0)>>16;l=i;m=k;n=j;o=((k|0)<4096?k:4096)<<3}else{l=0;m=17152;n=0;o=32768}dh(o);if((ud(b)|0)==4?(yd(b,4)|0)==4:0){o=Ed(b,4,g)|0;if((a[o>>0]|0)==95?(a[o+1>>0]|0)==95:0){Jd(b,0);Ia=d;return 1}a[h>>0]=0;if(!(jc(o,1)|0)){Gr(62580,h);Rt(h,(a[o>>0]|0)==47?o+1|0:o)|0}else{qs(h,_b(jc(o,1)|0)|0)|0;g=to(h,74412)|0;if(!g){c[f>>2]=h;Xs(1671456,62588,f)|0;hn(1671456);c[e>>2]=o;Xs(1671456,62625,e)|0;hn(1671456);qs(h,o)|0}uo(g)}if(!(bc(h,l,n,m)|0)){Jd(b,m<<16);Ia=d;return 1}else{Jd(b,0);Ia=d;return 1}}Tk(3077500,c[808062]|0,l,n,m);Jd(b,m<<16);Ia=d;return 1}function ij(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c=Ia;Ia=Ia+1040|0;d=c;e=c+1024|0;if((ud(b)|0)>2){f=(Ad(b,1,0)|0)>>16;g=(Ad(b,2,0)|0)>>16;h=(Ad(b,3,0)|0)>>16;i=f;j=g;k=h;l=((h|0)<4096?h:4096)<<6}else{i=0;j=0;k=17152;l=262144}dh(l);do if((ud(b)|0)>3?(yd(b,4)|0)==4:0){l=Ed(b,4,e)|0;if((Ht(l)|0)>>>0>511){Jd(b,0);Ia=c;return 1}if((a[l>>0]|0)==95?(a[l+1>>0]|0)==95:0){Jd(b,0);Ia=c;return 1}if(!(jc(l,1)|0)){Gr(62580,d);Rt(d,(a[l>>0]|0)==47?l+1|0:l)|0;m=0;n=0;break}else{qs(d,_b(jc(l,1)|0)|0)|0;m=0;n=1;break}}else o=13;while(0);if((o|0)==13){qs(d,_b(3222340)|0)|0;m=1;n=1}if(!(cc(d,i,j,k,m,n)|0)){Jd(b,k<<16);Ia=c;return 1}else{Jd(b,0);Ia=c;return 1}return 0}function jj(a){a=a|0;var b=0,c=0;if((yd(a,1)|0)==5){Jd(a,((nl((Gd(a,1)|0)<<8)|0)>>>8<<16)+65536|0);Sd(a,-2);dh(4);return 1}if((ud(a)|0)>0)b=Ad(a,1,0)|0;else b=65536;c=nl(b)|0;dh(4);Jd(a,c);return 1}function kj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=Bd(f)|0;break}}else g=0;while(0);ml(g&2147483647);return 0}function lj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;c[584060]=(c[584060]|0)-b;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=Bd(f)|0;break}}else g=0;while(0);return g+65535&-65536|0}function mj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=Bd(f)|0;break}}else g=0;while(0);return g>>31&-131072|65536|0}function nj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;if((b|0)>0){d=c[a+8>>2]|0;a=0-b|0;b=d+(a<<3)|0;if((c[d+(a<<3)+4>>2]|0)==3)e=c[b>>2]|0;else e=Bd(b)|0;if((e|0)==-2147483648){f=2147483647;return f|0}else g=(e|0)<0?0-e|0:e}else g=0;f=g;return f|0}function oj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+112|0;d=c[b>>2]|0;if((d|0)<=0){e=0;return e|0}f=a+8|0;a=c[f>>2]|0;g=0-d|0;h=a+(g<<3)|0;if((c[a+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{d=Bd(h)|0;i=d;j=c[b>>2]|0}do if((j|0)>1){d=(c[f>>2]|0)+(0-j<<3)+8|0;if((c[d+4>>2]|0)==3){k=c[d>>2]|0;l=j}else{h=Bd(d)|0;k=h;l=c[b>>2]|0}if((l|0)>2){h=(c[f>>2]|0)+(0-l<<3)+16|0;if((c[h+4>>2]|0)==3){m=k;n=c[h>>2]|0;break}else{m=k;n=Bd(h)|0;break}}else{m=k;n=0}}else{m=0;n=0}while(0);k=(i|0)<(m|0);l=(i|0)<(n|0);if(k&l){e=(m|0)<(n|0)?m:n;return e|0}if(!((m|0)<(i|0)&(m|0)<(n|0)))return (k?i:m)|0;e=l?i:n;return e|0}function pj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=Bd(f)|0;break}}else g=0;while(0);return Zo(g)|0}function qj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+112>>2]|0;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=Bd(f)|0;break}}else g=0;while(0);return _o(g)|0}function rj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;dh(6);b=c[a+112>>2]|0;do if((b|0)>0){d=c[a+8>>2]|0;e=0-b|0;f=d+(e<<3)|0;if((c[d+(e<<3)+4>>2]|0)==3){g=c[f>>2]|0;break}else{g=Bd(f)|0;break}}else g=0;while(0);return il(g)|0}function sj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{g=Bd(h)|0;i=g;j=c[b>>2]|0}if((j|0)>1){g=(c[e>>2]|0)+(0-j<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=i;break}else{k=Bd(g)|0;l=i;break}}else{k=0;l=i}}else{k=0;l=0}while(0);return jl(l,k)|0}function tj(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+112>>2]|0;c[584060]=(c[584060]|0)-b;if((b|0)<=0){d=0;e=~d;return e|0}f=c[a+8>>2]|0;a=0-b|0;b=f+(a<<3)|0;if((c[f+(a<<3)+4>>2]|0)==3){d=c[b>>2]|0;e=~d;return e|0}else{d=Bd(b)|0;e=~d;return e|0}return 0}function uj(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+112>>2]|0;c[584060]=(c[584060]|0)-b;if((b|0)<=0){d=0;e=d&-65536;return e|0}f=c[a+8>>2]|0;a=0-b|0;b=f+(a<<3)|0;if((c[f+(a<<3)+4>>2]|0)==3){d=c[b>>2]|0;e=d&-65536;return e|0}else{d=Bd(b)|0;e=d&-65536;return e|0}return 0}function vj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[584060]=(c[584060]|0)-d;if((d|0)<=0){e=0;f=0;g=e&f;return g|0}h=a+8|0;a=c[h>>2]|0;i=0-d|0;j=a+(i<<3)|0;if((c[a+(i<<3)+4>>2]|0)==3){k=c[j>>2]|0;l=d}else{d=Bd(j)|0;k=d;l=c[b>>2]|0}if((l|0)<=1){e=0;f=k;g=e&f;return g|0}b=(c[h>>2]|0)+(0-l<<3)+8|0;if((c[b+4>>2]|0)==3){e=c[b>>2]|0;f=k;g=e&f;return g|0}else{e=Bd(b)|0;f=k;g=e&f;return g|0}return 0}function wj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[584060]=(c[584060]|0)-d;if((d|0)<=0){e=0;f=0;g=e|f;return g|0}h=a+8|0;a=c[h>>2]|0;i=0-d|0;j=a+(i<<3)|0;if((c[a+(i<<3)+4>>2]|0)==3){k=c[j>>2]|0;l=d}else{d=Bd(j)|0;k=d;l=c[b>>2]|0}if((l|0)<=1){e=0;f=k;g=e|f;return g|0}b=(c[h>>2]|0)+(0-l<<3)+8|0;if((c[b+4>>2]|0)==3){e=c[b>>2]|0;f=k;g=e|f;return g|0}else{e=Bd(b)|0;f=k;g=e|f;return g|0}return 0}function xj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[584060]=(c[584060]|0)-d;if((d|0)<=0){e=0;f=0;g=e^f;return g|0}h=a+8|0;a=c[h>>2]|0;i=0-d|0;j=a+(i<<3)|0;if((c[a+(i<<3)+4>>2]|0)==3){k=c[j>>2]|0;l=d}else{d=Bd(j)|0;k=d;l=c[b>>2]|0}if((l|0)<=1){e=0;f=k;g=e^f;return g|0}b=(c[h>>2]|0)+(0-l<<3)+8|0;if((c[b+4>>2]|0)==3){e=c[b>>2]|0;f=k;g=e^f;return g|0}else{e=Bd(b)|0;f=k;g=e^f;return g|0}return 0}function yj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[584060]=(c[584060]|0)-d;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{g=Bd(h)|0;i=g;j=c[b>>2]|0}if((j|0)>1){g=(c[e>>2]|0)+(0-j<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=i;break}else{k=Bd(g)|0;l=i;break}}else{k=0;l=i}}else{k=0;l=0}while(0);return rl(l,k)|0}function zj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[584060]=(c[584060]|0)-d;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{g=Bd(h)|0;i=g;j=c[b>>2]|0}if((j|0)>1){g=(c[e>>2]|0)+(0-j<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=i;break}else{k=Bd(g)|0;l=i;break}}else{k=0;l=i}}else{k=0;l=0}while(0);return sl(l,k)|0}function Aj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[584060]=(c[584060]|0)-d;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{g=Bd(h)|0;i=g;j=c[b>>2]|0}if((j|0)>1){g=(c[e>>2]|0)+(0-j<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=i;break}else{k=Bd(g)|0;l=i;break}}else{k=0;l=i}}else{k=0;l=0}while(0);return ql(l,k)|0}function Bj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[584060]=(c[584060]|0)-d;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{g=Bd(h)|0;i=g;j=c[b>>2]|0}if((j|0)>1){g=(c[e>>2]|0)+(0-j<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=i;break}else{k=Bd(g)|0;l=i;break}}else{k=0;l=i}}else{k=0;l=0}while(0);return ol(l,k)|0}function Cj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;c[584060]=(c[584060]|0)-d;do if((d|0)>0){e=a+8|0;f=c[e>>2]|0;g=0-d|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{g=Bd(h)|0;i=g;j=c[b>>2]|0}if((j|0)>1){g=(c[e>>2]|0)+(0-j<<3)+8|0;if((c[g+4>>2]|0)==3){k=c[g>>2]|0;l=i;break}else{k=Bd(g)|0;l=i;break}}else{k=0;l=i}}else{k=0;l=0}while(0);return pl(l,k)|0}function Dj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;if((d|0)<=0){e=0;return e|0}f=a+8|0;a=c[f>>2]|0;g=0-d|0;h=a+(g<<3)|0;if((c[a+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{d=Bd(h)|0;i=d;j=c[b>>2]|0}do if((j|0)>1){d=(c[f>>2]|0)+(0-j<<3)+8|0;if((c[d+4>>2]|0)==3){k=c[d>>2]|0;l=j;break}else{h=Bd(d)|0;k=h;l=c[b>>2]|0;break}}else{k=0;l=j}while(0);if((i|0)<(k|0)){if((l|0)<=0){e=0;return e|0}k=c[f>>2]|0;i=0-l|0;j=k+(i<<3)|0;if((c[k+(i<<3)+4>>2]|0)==3){e=c[j>>2]|0;return e|0}else{e=Bd(j)|0;return e|0}}else{if((l|0)<=1){e=0;return e|0}j=(c[f>>2]|0)+(0-l<<3)+8|0;if((c[j+4>>2]|0)==3){e=c[j>>2]|0;return e|0}else{e=Bd(j)|0;return e|0}}return 0}function Ej(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=a+112|0;d=c[b>>2]|0;if((d|0)<=0){e=0;return e|0}f=a+8|0;a=c[f>>2]|0;g=0-d|0;h=a+(g<<3)|0;if((c[a+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=d}else{d=Bd(h)|0;i=d;j=c[b>>2]|0}do if((j|0)>1){d=(c[f>>2]|0)+(0-j<<3)+8|0;if((c[d+4>>2]|0)==3){k=c[d>>2]|0;l=j;break}else{h=Bd(d)|0;k=h;l=c[b>>2]|0;break}}else{k=0;l=j}while(0);if((i|0)>(k|0)){if((l|0)<=0){e=0;return e|0}k=c[f>>2]|0;i=0-l|0;j=k+(i<<3)|0;if((c[k+(i<<3)+4>>2]|0)==3){e=c[j>>2]|0;return e|0}else{e=Bd(j)|0;return e|0}}else{if((l|0)<=1){e=0;return e|0}j=(c[f>>2]|0)+(0-l<<3)+8|0;if((c[j+4>>2]|0)==3){e=c[j>>2]|0;return e|0}else{e=Bd(j)|0;return e|0}}return 0}function Fj(a){a=a|0;var b=0,d=0,e=0,f=0;if((ud(a)|0)>0)c[584060]=(c[584060]|0)+-2;if((ud(a)|0)>1){b=Ad(a,2,0)|0;d=b>>16;if((b|0)<536870912)if((b|0)<0|(d|0)==0){e=0;return e|0}else f=d;else f=8192}else f=1;d=(Ad(a,1,0)|0)>>16;if(!(rc(a,f)|0)){Bb(62558)|0;e=0;return e|0}if((f|0)>0){b=0;do{Jd(a,(Pk(3077500,c[808062]|0,b+d|0)|0)<<16);b=b+1|0}while((b|0)!=(f|0))}dh(f+-1|0);e=f;return e|0}function Gj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if((ud(a)|0)>0)c[584060]=(c[584060]|0)+-2;if((ud(a)|0)>1){b=Ad(a,2,0)|0;d=b>>16;if((b|0)<536870912)if((b|0)<0|(d|0)==0){e=0;return e|0}else f=d;else f=8192}else f=1;d=(Ad(a,1,0)|0)>>16;if(!(rc(a,f)|0)){Bb(62558)|0;e=0;return e|0}if((f|0)>0){b=0;do{g=(b<<1)+d|0;h=(Pk(3077500,c[808062]|0,g)|0)<<16;Jd(a,((Pk(3077500,c[808062]|0,g+1|0)|0)<<24)+h|0);b=b+1|0}while((b|0)!=(f|0))}dh(f+-1|0);e=f;return e|0}function Hj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if((ud(a)|0)>0)c[584060]=(c[584060]|0)+-2;if((ud(a)|0)>1){b=Ad(a,2,0)|0;d=b>>16;if((b|0)<536870912)if((b|0)<0|(d|0)==0){e=0;return e|0}else f=d;else f=8192}else f=1;d=(Ad(a,1,0)|0)>>16;if(!(rc(a,f)|0)){Bb(62558)|0;e=0;return e|0}if((f|0)>0){b=0;do{g=(b<<2)+d|0;h=Pk(3077500,c[808062]|0,g)|0;i=((Pk(3077500,c[808062]|0,g+1|0)|0)<<8)+h|0;h=i+((Pk(3077500,c[808062]|0,g+2|0)|0)<<16)|0;Jd(a,h+((Pk(3077500,c[808062]|0,g+3|0)|0)<<24)|0);b=b+1|0}while((b|0)!=(f|0))}dh(f+-1|0);e=f;return e|0}function Ij(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=b+112|0;e=c[d>>2]|0;do if((e|0)>0){f=c[b+8>>2]|0;g=0-e|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=e;break}else{g=Bd(h)|0;i=g;j=c[d>>2]|0;break}}else{i=0;j=e}while(0);e=i>>16;i=(j|0)<2?1:(j|0)<8193?j+-1|0:8192;if((j|0)>1)c[584060]=(c[584060]|0)+-2;if((i|0)<=0){k=i+-1|0;dh(k);return 0}g=b+8|0;b=0;h=j;while(1){j=b+1|0;do if((h|0)>(j|0)){f=(c[g>>2]|0)+(0-h<<3)+(j<<3)|0;if((c[f+4>>2]|0)==3){l=c[f>>2]|0;break}else{l=Bd(f)|0;break}}else l=0;while(0);f=l>>16;m=b+e|0;if((m&-8192|0)==24576){n=m+-24576|0;o=n>>6;p=n<<1&126;a[(c[(c[(c[769383]|0)+16>>2]|0)+(o<<2)>>2]|0)+p>>0]=f&15;a[(c[(c[(c[769383]|0)+16>>2]|0)+(o<<2)>>2]|0)+(p|1)>>0]=l>>>20&15}else Ok(3077500,c[808062]|0,m,f);if((j|0)==(i|0))break;b=j;h=c[d>>2]|0}k=i+-1|0;dh(k);return 0}function Jj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=b+112|0;e=c[d>>2]|0;do if((e|0)>0){f=c[b+8>>2]|0;g=0-e|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=e;break}else{g=Bd(h)|0;i=g;j=c[d>>2]|0;break}}else{i=0;j=e}while(0);e=i>>16;i=(j|0)<2?1:(j|0)<8193?j+-1|0:8192;if((j|0)>1)c[584060]=(c[584060]|0)+-2;if((i|0)<=0){k=i+-1|0;dh(k);return 0}g=b+8|0;b=0;h=j;while(1){j=b+1|0;do if((h|0)>(j|0)){f=(c[g>>2]|0)+(0-h<<3)+(j<<3)|0;if((c[f+4>>2]|0)==3){l=c[f>>2]|0;break}else{l=Bd(f)|0;break}}else l=0;while(0);f=l>>16;m=(b<<1)+e|0;if((m+-24576|0)>>>0<8191){n=(c[(c[769383]|0)+12>>2]|0)+((m<<1)+-49152)|0;a[n>>0]=f&15;o=n+1|0;a[o>>0]=f>>>4&15;n=o+1|0;a[n>>0]=f>>>8&15;a[n+1>>0]=f>>>12&15}else{Ok(3077500,c[808062]|0,m,f&255);Ok(3077500,c[808062]|0,m+1|0,f>>>8&255)}if((j|0)==(i|0))break;b=j;h=c[d>>2]|0}k=i+-1|0;dh(k);return 0}function Kj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;d=b+112|0;e=c[d>>2]|0;do if((e|0)>0){f=c[b+8>>2]|0;g=0-e|0;h=f+(g<<3)|0;if((c[f+(g<<3)+4>>2]|0)==3){i=c[h>>2]|0;j=e;break}else{g=Bd(h)|0;i=g;j=c[d>>2]|0;break}}else{i=0;j=e}while(0);e=i>>16;i=(j|0)<2?1:(j|0)<8193?j+-1|0:8192;if((j|0)>1)c[584060]=(c[584060]|0)+-2;if((i|0)<=0){k=i+-1|0;dh(k);return 0}g=b+8|0;b=0;h=j;while(1){j=b+1|0;do if((h|0)>(j|0)){f=(c[g>>2]|0)+(0-h<<3)+(j<<3)|0;if((c[f+4>>2]|0)==3){l=c[f>>2]|0;break}else{l=Bd(f)|0;break}}else l=0;while(0);f=(b<<2)+e|0;if((f+-24576|0)>>>0<8189){m=(c[(c[769383]|0)+12>>2]|0)+((f<<1)+-49152)|0;a[m>>0]=l&15;n=m+1|0;a[n>>0]=l>>>4&15;m=n+1|0;a[m>>0]=l>>>8&15;n=m+1|0;a[n>>0]=l>>>12&15;m=n+1|0;a[m>>0]=l>>>16&15;n=m+1|0;a[n>>0]=l>>>20&15;m=n+1|0;a[m>>0]=l>>>24&15;a[m+1>>0]=l>>>28}else{Ok(3077500,c[808062]|0,f,l&255);Ok(3077500,c[808062]|0,f+1|0,l>>>8&255);Ok(3077500,c[808062]|0,f+2|0,l>>>16&255);Ok(3077500,c[808062]|0,f+3|0,l>>>24)}if((j|0)==(i|0))break;b=j;h=c[d>>2]|0}k=i+-1|0;dh(k);return 0}function Lj(a){a=a|0;var b=0,d=0;b=c[769376]|0;d=uv(b|0,((b|0)<0)<<31>>31|0,16)|0;b=ov(d|0,G()|0,60,0)|0;G()|0;Jd(a,b);return 1}function Mj(a){a=a|0;Id(a);return 1}function Nj(a){a=a|0;if(!(c[584087]|0))fb(62527,2e3);c[584087]=1;Id(a);return 1}function Oj(a){a=a|0;if(!(c[584086]|0))fb(62494,2e3);c[584086]=1;Id(a);Jd(a,0);return 2}function Pj(a){a=a|0;Id(a);Jd(a,0);return 2}function Qj(a){a=a|0;return 0}function Rj(a){a=a|0;c[824521]=1;kk(a,0);return 1}function Sj(a){a=a|0;c[824521]=1;kk(a,1);return 1}function Tj(b){b=b|0;var c=0,d=0,e=0;c=Ad(b,1,0)|0;d=c>>16;e=Ed(b,2,0)|0;if(!e){a[3231858+(d<<6)>>0]=0;return 0}if((c+-65536|0)>>>0>327679)return 0;Qu(3231858+(d<<6)|0,e,16)|0;return 0}function Uj(a){a=a|0;var b=0,d=0,e=0,f=0;b=Ia;Ia=Ia+16|0;d=b;c[d>>2]=255;if((ud(a)|0)>0?(e=Ed(a,1,d)|0,(e|0)!=0):0){Qd(a,(Pl(e)|0)==0&1);f=1}else f=0;Ia=b;return f|0}function Vj(b){b=b|0;var d=0,e=0;d=Ad(b,1,0)|0;if(!(a[3222468]|0)){Bb(62464)|0;e=0;return e|0}if(d>>>0>4194303){Jd(b,0);e=1;return e|0}else{Jd(b,c[3223492+(d>>16<<2)>>2]|0);e=1;return e|0}return 0}function Wj(b){b=b|0;var d=0,e=0;d=Ad(b,1,0)|0;e=Ad(b,2,0)|0;if(!(a[3222468]|0)){Bb(62434)|0;return 0}if(d>>>0>4194303)return 0;b=3223492+(d>>16<<2)|0;if((c[b>>2]|0)!=(e|0))c[824522]=1;c[b>>2]=e;return 0}function Xj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;d=Ia;Ia=Ia+112|0;e=d+64|0;f=d+108|0;g=d+104|0;h=d+100|0;i=d+72|0;j=d;dh(16);a:do if((ud(b)|0)>0){k=(Ad(b,1,0)|0)>>16;switch(k|0){case 1:{l=4;break a;break}case 0:{lf(c[584068]|0,2,0)|0;m=(c[824449]|0)+(c[807111]|0)|0;n=((m|0)<2097152?m:2097152)<<6;o=0;p=(n|0)>0?n:0;l=15;break a;break}case 2:{q=2;r=Rg(Lg(1)|0)|0;l=85;break a;break}default:{n=(k|0)==3?c[824990]<<16:0;switch(k|0){case 5:{q=k;r=2359296;l=85;break a;break}case 4:{Tr();m=c[474485]|0;if(!m){Kd(b,3300628,0)|0;Ia=d;return 1}else{s=aq((Ht(m)|0)+16|0)|0;fs(c[474485]|0,s)|0;Kd(b,s,Ht(s)|0)|0;cq(s);Ia=d;return 1}break}case 6:{s=Ht(3229808)|0;Kd(b,3229808,s>>>0<1024?s:1024)|0;Ia=d;return 1}case 7:{q=7;r=c[824513]<<16;l=85;break a;break}case 9:{q=9;r=(er()|0)<<16;l=85;break a;break}case 11:{q=11;r=(Ck()|0)<<16;l=85;break a;break}case 13:{ub();q=13;r=4128768-((((c[474481]<<3)+8|0)/2|0)<<16)|0;l=85;break a;break}default:{o=k;p=n;l=15;break a}}}}}else l=4;while(0);if((l|0)==4){o=1;p=Rg(Lg(0)|0)|0;l=15}b:do if((l|0)==15)switch(o|0){case 12:{q=o;r=1507328;l=85;break b;break}case 14:{q=o;r=6815744;l=85;break b;break}case 15:{ub();t=((((c[474481]<<3)+8|0)/2|0)<<16)+4194304|0;break b;break}default:{n=(o|0)==10?c[824451]<<16:(o|0)==8?c[824514]<<16:p;if((o+-16|0)>>>0<11)u=Yh(o)|0;else u=n;if((o+-46|0)>>>0<11){n=Yh(o)|0;if((n|0)==-65536)v=Yh(o+-30|0)|0;else v=n}else if((o|0)==29){t=Br()|0;break b}else v=u;n=(o|0)==30;k=(o|0)==31;s=(o|0)==28;switch(o|0){case 28:case 30:case 31:{if(!((Pk(3077500,c[808062]|0,24365)|0)&1)){if(n)Qd(b,0);if(k)Kd(b,3300628,0)|0;if(!s){Ia=d;return 1}Qd(b,0);Ia=d;return 1}Tr();if((a[3224776]|0)!=0&(c[806968]|0)!=0|(c[473572]|0)!=0){if(!(c[824448]|0))fb(62287,2e3);c[824448]=1}if(s)if((yd(b,2)|0)==3){Qd(b,(Wn((Ad(b,2,0)|0)>>16)|0)!=0&1);Ia=d;return 1}else{Jd(b,0);Ia=d;return 1}if(n){Qd(b,(c[824989]|0)>0&1);Ia=d;return 1}if(k){if(!(c[824989]|0)){Kd(b,3300628,0)|0;Ia=d;return 1}Kd(b,3299700,1)|0;k=0;do{n=k;k=k+1|0;a[3299700+n>>0]=a[3299700+k>>0]|0}while((k|0)!=255);c[824989]=(c[824989]|0)+-1;Ia=d;return 1}else w=v;break}default:if((o+-32|0)>>>0<9?((Pk(3077500,c[808062]|0,24365)|0)&1|0)!=0:0){if((a[3224776]|0)!=0&(c[806968]|0)!=0|(c[473572]|0)!=0){if(!(c[824448]|0))fb(62311,2e3);c[824448]=1}Fr(f,g,h);k=(o|0)==36?c[807369]|0:(o|0)==35?c[807368]|0:(o|0)==34?c[h>>2]|0:(o|0)==33?c[g>>2]|0:(o|0)==32?c[f>>2]|0:v;if(!((Pk(3077500,c[808062]|0,24365)|0)&4))x=k;else x=(o|0)==39?c[807371]|0:(o|0)==38?c[807370]|0:k;w=x<<16}else w=v}switch(o|0){case 37:{k=c[807109]<<16;c[807109]=0;t=k;break b;break}case 57:{Qd(b,(Sq()|0)!=0&1);Ia=d;return 1}default:{if((o&-8|0)==64){Id(b);Ia=d;return 1}do if((o+-80|0)>>>0>=6){if((o+-90|0)>>>0<6){jr(i,1);y=((o|0)==95?c[i+24>>2]|0:(o|0)==94?c[i+20>>2]|0:(o|0)==93?c[i+16>>2]|0:(o|0)==92?c[i+12>>2]|0:(o|0)==91?c[i+8>>2]|0:(o|0)==90?c[i+4>>2]|0:w)<<16;break}if((o|0)==99){k=(c[824449]|0)+(c[807111]|0)|0;n=((k|0)<2097152?k:2097152)<<6;t=(n|0)>0?n:0;break b}else y=w}else{jr(i,0);y=((o|0)==85?c[i+24>>2]|0:(o|0)==84?c[i+20>>2]|0:(o|0)==83?c[i+16>>2]|0:(o|0)==82?c[i+12>>2]|0:(o|0)==81?c[i+8>>2]|0:(o|0)==80?c[i+4>>2]|0:w)<<16}while(0);switch(o|0){case 100:{if(!(zg()|0)){Id(b);Ia=d;return 1}else{n=zg()|0;Kd(b,n,Ht(zg()|0)|0)|0;Ia=d;return 1}break}case 101:{if((a[3224776]|0)!=0&(c[806968]|0)!=0){Kd(b,3224776,Ht(3224776)|0)|0;Ia=d;return 1}else{Id(b);Ia=d;return 1}break}case 102:{n=la(22,0)|0;k=n;if(!n){Id(b);Ia=d;return 1}else{Kd(b,k,Ht(k)|0)|0;Ia=d;return 1}break}case 103:{Kd(b,3222381,Ht(3222381)|0)|0;Ia=d;return 1}case 104:{Qd(b,0);Ia=d;return 1}case 106:{c[e>>2]=3229808;c[e+4>>2]=3222381;Xs(1676064,74247,e)|0;jq(1676064,Ht(1676064)|0,j)|0;Kd(b,j,Ht(j)|0)|0;Ia=d;return 1}case 107:{t=c[473645]<<16;break b;break}default:{if((o|0)!=109){q=o;r=(o|0)==108?c[584494]<<16:y;l=85;break b}t=((c[584952]|0)/4|0)<<16;break b}}}}}}while(0);c:do if((l|0)==85)switch(q|0){case 110:{Qd(b,c[474576]|0);Ia=d;return 1}case 120:{Qd(b,($m()|0)>0&1);Ia=d;return 1}case 121:{Qd(b,(an()|0)>0&1);Ia=d;return 1}case 122:{Qd(b,c[574465]|0);Ia=d;return 1}default:{t=r;break c}}while(0);Jd(b,t);Ia=d;return 1}function Yj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=Ia;Ia=Ia+16|0;d=b;c[d>>2]=0;e=Ed(a,1,d)|0;f=c[d>>2]|0;if(!e){g=0;Ia=b;return g|0}if((ud(a)|0)>1)h=(Ad(a,2,0)|0)>>16;else h=1;if((ud(a)|0)>2)if((yd(a,3)|0)==3)i=(Ad(a,3,0)|0)>>16;else i=h;else i=f;d=f+1|0;j=((h|0)<0?d:0)+h|0;h=((i|0)<0?d:0)+i|0;if((j|0)>(f|0)|((h|0)<(j|0)|(h|0)<1)){Kd(a,e,0)|0;g=1;Ia=b;return g|0}else{i=(j|0)<(f|0)?j:f;j=(i|0)>1?i:1;i=(h|0)<(f|0)?h:f;f=((i|0)>1?i:1)-j+1|0;Kd(a,e+j+-1|0,f)|0;dh((f|0)/2|0);g=1;Ia=b;return g|0}return 0}function Zj(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0;c=Ia;Ia=Ia+16|0;d=c;e=ud(b)|0;if((e|0)<=16)if((e|0)>0){f=0;g=d}else{Kd(b,d,e)|0;dh(e);Ia=c;return 1}else{d=aq(e)|0;f=d;g=d}d=0;do{h=d;d=d+1|0;a[g+h>>0]=(Ad(b,d,0)|0)>>>16}while((d|0)!=(e|0));Kd(b,g,e)|0;if(!f){dh(e);Ia=c;return 1}cq(f);dh(e);Ia=c;return 1}function _j(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=Ia;Ia=Ia+16|0;e=d;c[e>>2]=32768;if((ud(b)|0)>0)f=Ed(b,1,e)|0;else f=0;if((ud(b)|0)>1)g=((Ad(b,2,0)|0)>>16)+-1|0;else g=0;if((ud(b)|0)>2){h=Ad(b,3,0)|0;if((h|0)>=65536){i=h>>16;j=7}}else{i=1;j=7}if((j|0)==7?rc(b,i)|0:0){dh(i);j=i+g|0;if((i|0)<=0){k=i;Ia=d;return k|0}if(!f){h=g;do{Id(b);h=h+1|0}while((h|0)<(j|0));k=i;Ia=d;return k|0}h=g;do{if((h|0)>-1?h>>>0<(c[e>>2]|0)>>>0:0)Jd(b,(((a[f+h>>0]|0)+256|0)%256|0)<<16);else Id(b);h=h+1|0}while((h|0)<(j|0));k=i;Ia=d;return k|0}Bb(62266)|0;k=0;Ia=d;return k|0}function $j(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=Ia;Ia=Ia+16|0;e=d+8|0;f=d+12|0;g=d+4|0;h=d;c[e>>2]=0;if((ud(b)|0)<=0){i=0;Ia=d;return i|0}j=Ed(b,1,e)|0;if(!j){i=0;Ia=d;return i|0}k=c[e>>2]|0;Td(b,0,1);dh(k);if((ud(b)|0)>2)l=Dd(b,3)|0;else l=1;e=(Ad(b,3,0)|0)==2;m=e?1:l;if((yd(b,2)|0)==3){l=(Ad(b,2,0)|0)>>16;e=(l|0)<(k|0)?l:k;l=(e|0)>1?e:1;e=_p(l+1|0)|0;a:do if((k|0)>0){if(!m){n=0;o=1;while(1){$p(e,0,l);p=k-n|0;q=(l|0)<(p|0)?l:p;zv(e|0,j+n|0,q|0)|0;c[g>>2]=0;Kd(b,e,q)|0;Vd(b,-2,o);n=n+l|0;if((k|0)<=(n|0))break a;else o=o+1|0}}o=0;n=1;while(1){$p(e,0,l);q=k-o|0;p=(l|0)<(q|0)?l:q;zv(e|0,j+o|0,p|0)|0;c[g>>2]=0;if(!(Sc(e,Ht(e)|0,g)|0))Kd(b,e,p)|0;else Jd(b,c[g>>2]|0);Vd(b,-2,n);o=o+l|0;if((k|0)<=(o|0))break;else n=n+1|0}}while(0);cq(e);i=1;Ia=d;return i|0}c[g>>2]=0;if((ud(b)|0)>1?(e=Ed(b,2,g)|0,(e|0)!=0):0){r=e;s=(c[g>>2]|0)==0}else{c[g>>2]=1;r=67335;s=0}b:do if((r|0)==0|s){if((k|0)>0){g=f+1|0;if(!m){e=0;l=1;while(1){a[f>>0]=a[j+e>>0]|0;a[g>>0]=0;Kd(b,f,1)|0;Vd(b,-2,l);e=e+1|0;if((e|0)==(k|0))break b;else l=l+1|0}}l=0;e=1;while(1){n=a[j+l>>0]|0;a[f>>0]=n;a[g>>0]=0;if((n+-48&255)<10)Jd(b,(n<<24>>24<<16)+-3145728|0);else Kd(b,f,1)|0;Vd(b,-2,e);l=l+1|0;if((l|0)==(k|0))break;else e=e+1|0}}}else{e=_p(k+1|0)|0;zv(e|0,j|0,k|0)|0;c:do if(!m){l=0;g=1;while(1){n=a[r>>0]|0;o=l;while(1){t=(o|0)>=(k|0);if(t|(a[e+o>>0]|0)==n<<24>>24)break;o=o+1|0}a[e+o>>0]=0;c[h>>2]=0;Kd(b,e+l|0,o-l|0)|0;Vd(b,-2,g);if(t)break c;l=o+1|0;g=g+1|0}}else{g=0;l=1;while(1){n=a[r>>0]|0;p=g;while(1){u=(p|0)>=(k|0);if(u|(a[e+p>>0]|0)==n<<24>>24)break;p=p+1|0}n=e+g|0;a[e+p>>0]=0;c[h>>2]=0;o=p-g|0;if(!(Sc(n,o,h)|0))Kd(b,n,o)|0;else Jd(b,c[h>>2]|0);Vd(b,-2,l);if(u)break c;g=p+1|0;l=l+1|0}}while(0);cq(e)}while(0);i=1;Ia=d;return i|0}function ak(a){a=a|0;var b=0;if(!(ud(a)|0)){b=0;return b|0}b=Pf(a)|0;return b|0}function bk(a){a=a|0;var b=0,c=0;b=ud(a)|0;if((b|0)>=1){c=1;while(1){xd(a,c);if((c|0)==(b|0))break;else c=c+1|0}}return Cc(a,b,0,0)|0}function ck(a){a=a|0;c[769394]=1;if(c[824450]|0)return 0;c[824450]=1;return 0}function dk(b){b=b|0;var c=0,d=0,e=0;c=Ad(b,1,0)|0;if((c+-65536|0)>>>0>327679){d=0;return d|0}e=3232242+(c>>>16)|0;c=a[e>>0]|0;if(!(c<<24>>24)){d=0;return d|0}Jd(b,c<<24>>24<<16);a[e>>0]=0;d=1;return d|0}function ek(a){a=a|0;var b=0;b=(Ad(a,1,0)|0)>>16;c[769376]=(c[769376]|0)+b;bl();return 0}function fk(a){a=a|0;fh();return 0}function gk(a){a=a|0;c[807444]=(Ad(a,1,0)|0)>>16;return 0}function hk(a){a=a|0;var b=0;b=(Ad(a,1,0)|0)>>16;c[824513]=b;c[824514]=b;return 0}function ik(a){a=a|0;var b=0;b=(Ad(a,1,0)|0)>>16;a=(b|0)<2?b:2;b=(a|0)>0?a:0;c[3298060+(b<<2)>>2]=Lg(0)|0;c[3298072+(b<<2)>>2]=yr()|0;return 0}function jk(b){b=b|0;var c=0,d=0,e=0;c=Ad(b,1,0)|0;d=c>>16;e=(c|0)>65535;c=e?((d|0)<7?d:7):0;if(e?(a[3256626]&1)==0:0){Qd(b,0);return 1}Bk(c);Qd(b,1);return 1}function kk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=(Ad(a,1,0)|0)>>16;e=(d|0)<7?d:7;d=(e|0)>0?e:0;if(!(ud(a)|0)){e=(b|0)==0;Jd(a,((((e?c[807127]|0:c[807319]|0)|0)==0?0:32768)|((((e?c[807126]|0:c[807318]|0)|0)==0?0:16384)|((((e?c[807125]|0:c[807317]|0)|0)==0?0:8192)|((((e?c[807124]|0:c[807316]|0)|0)==0?0:4096)|((((e?c[807123]|0:c[807315]|0)|0)==0?0:2048)|((((e?c[807122]|0:c[807314]|0)|0)==0?0:1024)|((((e?c[807121]|0:c[807313]|0)|0)==0?0:512)|((((e?c[807120]|0:c[807312]|0)|0)==0?0:256)|((((e?c[807119]|0:c[807311]|0)|0)==0?0:128)|((((e?c[807118]|0:c[807310]|0)|0)==0?0:64)|((((e?c[807117]|0:c[807309]|0)|0)==0?0:32)|((((e?c[807116]|0:c[807308]|0)|0)==0?0:16)|((((e?c[807115]|0:c[807307]|0)|0)==0?0:8)|((((e?c[807114]|0:c[807306]|0)|0)==0?0:4)|((((e?c[807113]|0:c[807305]|0)|0)==0?0:2)|((e?c[807112]|0:c[807304]|0)|0)!=0)))))))))))))))<<16);return}if((ud(a)|0)>1)f=(Ad(a,2,0)|0)>>16;else f=0;if((f|d)>>>0<8)if(!b)g=c[3228448+(f<<5)+(d<<2)>>2]|0;else g=c[3229216+(f<<5)+(d<<2)>>2]|0;else g=0;Qd(a,g);dh(4);return}function lk(b,d,e,f,g,h,i,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;n=Ia;Ia=Ia+32|0;o=n+20|0;p=n+16|0;q=n+12|0;r=n+8|0;s=n+4|0;t=n;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=i;c[t>>2]=j;Dn(b);Cn(b);An(b,d,o,p,q,r,s,t);En(b);j=c[s>>2]|0;i=c[t>>2]|0;if((j|0)<1|(i|0)<1){Ia=n;return}h=(k|0)!=0;k=(l|0)!=0;if(h&k){l=b+16|0;g=d+16|0;f=0;e=i;u=j;while(1){if((u|0)>0){v=~f;w=0;x=e;y=u;while(1){a[(c[(c[g>>2]|0)+((c[r>>2]|0)+f<<2)>>2]|0)+((c[q>>2]|0)+w)>>0]=c[m+((a[(c[(c[l>>2]|0)+((c[p>>2]|0)+v+x<<2)>>2]|0)+(y+~w+(c[o>>2]|0))>>0]&15)<<2)>>2];w=w+1|0;z=c[s>>2]|0;A=c[t>>2]|0;if((w|0)>=(z|0)){B=z;C=A;break}else{x=A;y=z}}}else{B=u;C=e}f=f+1|0;if((f|0)>=(C|0))break;else{e=C;u=B}}Ia=n;return}if(k){k=b+16|0;B=d+16|0;u=0;C=i;e=j;while(1){if((e|0)>0){f=~u;l=0;g=C;while(1){a[(c[(c[B>>2]|0)+((c[r>>2]|0)+u<<2)>>2]|0)+((c[q>>2]|0)+l)>>0]=c[m+((a[(c[(c[k>>2]|0)+((c[p>>2]|0)+f+g<<2)>>2]|0)+((c[o>>2]|0)+l)>>0]&15)<<2)>>2];l=l+1|0;y=c[s>>2]|0;x=c[t>>2]|0;if((l|0)>=(y|0)){D=y;E=x;break}else g=x}}else{D=e;E=C}u=u+1|0;if((u|0)>=(E|0))break;else{C=E;e=D}}Ia=n;return}if(h){h=b+16|0;D=d+16|0;e=0;E=i;C=j;while(1){if((C|0)>0){u=0;k=C;do{a[(c[(c[D>>2]|0)+((c[r>>2]|0)+e<<2)>>2]|0)+((c[q>>2]|0)+u)>>0]=c[m+((a[(c[(c[h>>2]|0)+((c[p>>2]|0)+e<<2)>>2]|0)+(k+~u+(c[o>>2]|0))>>0]&15)<<2)>>2];u=u+1|0;k=c[s>>2]|0}while((u|0)<(k|0));F=c[t>>2]|0;G=k}else{F=E;G=C}e=e+1|0;if((e|0)>=(F|0))break;else{E=F;C=G}}Ia=n;return}G=d+16|0;d=b+16|0;b=0;C=j;j=i;while(1){if(!C)H=j;else{i=(c[(c[G>>2]|0)+((c[r>>2]|0)+b<<2)>>2]|0)+(c[q>>2]|0)|0;F=(c[(c[d>>2]|0)+((c[p>>2]|0)+b<<2)>>2]|0)+(c[o>>2]|0)|0;E=C;while(1){a[i>>0]=c[m+((a[F>>0]&15)<<2)>>2];E=E+-1|0;if(!E)break;else{i=i+1|0;F=F+1|0}}H=c[t>>2]|0}F=b+1|0;if((F|0)>=(H|0))break;b=F;C=c[s>>2]|0;j=H}Ia=n;return}function mk(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;if((b|0)==0|(e|0)==0|(h|0)==0|(i|0)==0)return;j=c[b>>2]|0;k=c[b+4>>2]|0;if((j|0)==(h|0)&(k|0)==(i|0)){nk(b,e,0,0,f,g,h,i);return}l=(j<<16|0)/(h|0)|0;j=(k<<16|0)/(i|0)|0;m=c[e+36>>2]|0;n=(m|0)>(g|0);o=m-g|0;p=i-(n?o:0)|0;i=n?m:g;g=c[e+28>>2]|0;m=(g|0)>(f|0);q=g-f|0;r=B(q,l)|0;s=(m?r:0)+((l|0)/2|0)|0;r=h-(m?q:0)|0;q=m?g:f;f=(c[e+32>>2]|0)-q|0;g=(r|0)<(f|0)?r:f;f=(c[e+40>>2]|0)-i|0;r=(p|0)<(f|0)?p:f;f=r+i|0;if((r|0)<=0)return;r=b+16|0;b=e+16|0;if((g|0)<=0){e=i;do e=e+1|0;while((e|0)<(f|0));return}e=B(o,j)|0;o=i;i=((j|0)<0?k:0)+((j|0)/2|0)+(n?e:0)|0;while(1){e=c[(c[r>>2]|0)+(i>>16<<2)>>2]|0;if(!(c[807105]&131072)){n=s;k=0;p=(c[(c[b>>2]|0)+(o<<2)>>2]|0)+q|0;while(1){m=d[e+(n>>16)>>0]|0;if(!(m&240)){h=c[807102]|0;a[p>>0]=((h^15)&(d[p>>0]|0)|h&m&c[807103])&15}k=k+1|0;if((k|0)>=(g|0))break;else{n=n+l|0;p=p+1|0}}}else{p=o<<2&12^12;n=s;k=0;while(1){m=d[e+(n>>16)>>0]|0;if((m&240|0)==0?(h=k+q|0,t=c[807105]|0,u=t>>p>>>(h&3^3)&1,(t&65536|0)==0|(u|0)==0):0){t=(c[(c[b>>2]|0)+(o<<2)>>2]|0)+h|0;h=c[807102]|0;a[t>>0]=((h^15)&(d[t>>0]|0)|h&c[3228276+((m&15)<<2)>>2]>>(u<<2)&c[807103])&15}k=k+1|0;if((k|0)>=(g|0))break;else n=n+l|0}}o=o+1|0;if((o|0)>=(f|0))break;else i=i+j|0}return}function nk(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=Ia;Ia=Ia+32|0;m=l+20|0;n=l+16|0;o=l+12|0;p=l+8|0;q=l+4|0;r=l;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[q>>2]=j;c[r>>2]=k;if(!((b|0)!=0&(e|0)!=0)){Ia=l;return}An(b,e,m,n,o,p,q,r);if(!((c[r>>2]|0)>0&(c[q>>2]|0)>0)){Ia=l;return}k=b+16|0;b=e+16|0;e=0;do{j=(c[(c[k>>2]|0)+((c[n>>2]|0)+e<<2)>>2]|0)+(c[m>>2]|0)|0;i=c[q>>2]|0;if(!(c[807105]&131072)){if(i|0){h=(c[(c[b>>2]|0)+((c[p>>2]|0)+e<<2)>>2]|0)+(c[o>>2]|0)|0;g=i;f=j;while(1){s=d[f>>0]|0;if(!(s&240)){t=c[807102]|0;a[h>>0]=((t^15)&(d[h>>0]|0)|t&s&c[807103])&15}g=g+-1|0;if(!g)break;else{h=h+1|0;f=f+1|0}}}}else if((i|0)>0){f=j;h=0;g=i;while(1){s=d[f>>0]|0;if((s&240|0)==0?(t=(c[o>>2]|0)+h|0,u=(c[p>>2]|0)+e|0,v=c[807105]|0,w=v>>(u<<2&12^12)>>>(t&3^3)&1,(v&65536|0)==0|(w|0)==0):0){v=(c[(c[b>>2]|0)+(u<<2)>>2]|0)+t|0;t=c[807102]|0;a[v>>0]=((t^15)&(d[v>>0]|0)|t&c[3228276+((s&15)<<2)>>2]>>(w<<2)&c[807103])&15;x=c[q>>2]|0}else x=g;h=h+1|0;if((h|0)>=(x|0))break;else{f=f+1|0;g=x}}}e=e+1|0}while((e|0)<(c[r>>2]|0));Ia=l;return}function ok(b,e,f,g,h,i,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=Ia;Ia=Ia+32|0;n=m+20|0;o=m+16|0;p=m+12|0;q=m+8|0;r=m+4|0;s=m;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=i;c[r>>2]=j;c[s>>2]=k;if(!((b|0)!=0&(e|0)!=0)){Ia=m;return}An(b,e,n,o,p,q,r,s);if(!((c[s>>2]|0)>0&(c[r>>2]|0)>0)){Ia=m;return}k=b+16|0;b=e+16|0;e=0;do{j=(c[(c[k>>2]|0)+((c[o>>2]|0)+e<<2)>>2]|0)+(c[n>>2]|0)|0;i=c[r>>2]|0;if(!(c[807105]&131072)){if(i|0){h=(c[(c[b>>2]|0)+((c[q>>2]|0)+e<<2)>>2]|0)+(c[p>>2]|0)|0;g=i;f=j;while(1){t=c[l+((a[f>>0]&15)<<2)>>2]|0;if(!(t&240)){u=c[807102]|0;a[h>>0]=((u^15)&(d[h>>0]|0)|u&t&c[807103])&15}g=g+-1|0;if(!g)break;else{h=h+1|0;f=f+1|0}}}}else if((i|0)>0){f=j;h=0;g=i;while(1){t=c[l+((a[f>>0]&15)<<2)>>2]|0;if((t&240|0)==0?(u=(c[p>>2]|0)+h|0,v=(c[q>>2]|0)+e|0,w=c[807105]|0,x=w>>(v<<2&12^12)>>>(u&3^3)&1,(w&65536|0)==0|(x|0)==0):0){w=(c[(c[b>>2]|0)+(v<<2)>>2]|0)+u|0;u=c[807102]|0;a[w>>0]=((u^15)&(d[w>>0]|0)|u&c[3228276+((t&15)<<2)>>2]>>(x<<2)&c[807103])&15;y=c[r>>2]|0}else y=g;h=h+1|0;if((h|0)>=(y|0))break;else{f=f+1|0;g=y}}}e=e+1|0}while((e|0)<(c[s>>2]|0));Ia=m;return}function pk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;if((c[b+28>>2]|0)>(e|0))return;if((c[b+32>>2]|0)<=(e|0))return;if((c[b+36>>2]|0)>(f|0))return;if((c[b+40>>2]|0)<=(f|0))return;i=h>>(f<<2&12^12)>>>(e&3^3)&1;if(!((h&65536|0)==0|(i|0)==0))return;h=(c[(c[b+16>>2]|0)+(f<<2)>>2]|0)+e|0;e=c[807102]|0;a[h>>0]=((e^15)&(d[h>>0]|0)|e&g>>(i<<2)&c[807103])&15;return}function qk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=c[807105]|0;if((c[b+36>>2]|0)>(g|0))return 0;if((c[b+40>>2]|0)<=(g|0))return 0;j=h&15;k=(i&65536|0)!=0;l=k?16:h>>>4&15;h=i>>(12-(g<<2)&12);i=((h&4|0)==0?j:l)<<8|((h&8|0)==0?j:l)|((h&2|0)==0?j:l)<<16|((h&1|0)==0?j:l)<<24;l=(f|0)<(e|0);j=l?e:f;h=l?f:e;e=c[b+28>>2]|0;f=(h|0)<(e|0)?e:h;h=c[b+32>>2]|0;e=(j|0)<(h|0)?j:h+-1|0;h=b+16|0;b=c[(c[h>>2]|0)+(g<<2)>>2]|0;j=b+f|0;l=b+(f+3&-4)|0;if(k){if((f|0)>(e|0)){m=(e|0)<(f|0);n=1-f|0;o=n+e|0;p=m?0:o;return p|0}k=f;b=j;while(1){q=i>>>(k<<3&24);if(!(q&16)){r=c[807102]|0;a[b>>0]=((r^15)&(d[b>>0]|0)|r&q&c[807103])&15}if((k|0)<(e|0)){k=k+1|0;b=b+1|0}else break}m=(e|0)<(f|0);n=1-f|0;o=n+e|0;p=m?0:o;return p|0}b=c[807103]|0;k=b<<8|b|b<<16|b<<24;b=c[807102]|0;q=b<<8|b|b<<16|b<<24;a:do if((f|0)>(e|0))s=f;else{b=f;r=j;while(1){t=b&3;if(!t){s=b;break a}u=c[807102]|0;a[r>>0]=((u^15)&(d[r>>0]|0)|u&i>>>(t<<3)&c[807103])&15;t=b+1|0;if((b|0)<(e|0)){b=t;r=r+1|0}else{s=t;break}}}while(0);j=e+1&-4;if((s|0)<(j|0)){r=q^252645135;b=k&i&q;q=s+(j+-1-s&-4)|0;k=l;l=s;while(1){c[k>>2]=(c[k>>2]&r|b)&252645135;l=l+4|0;if((l|0)>=(j|0))break;else k=k+4|0}v=q+4|0}else v=s;if((v|0)>(e|0)){m=(e|0)<(f|0);n=1-f|0;o=n+e|0;p=m?0:o;return p|0}s=v;while(1){v=(c[(c[h>>2]|0)+(g<<2)>>2]|0)+s|0;q=c[807102]|0;a[v>>0]=((q^15)&(d[v>>0]|0)|q&i>>>(s<<3&24)&c[807103])&15;if((s|0)<(e|0))s=s+1|0;else break}m=(e|0)<(f|0);n=1-f|0;o=n+e|0;p=m?0:o;return p|0}function rk(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;l=c[807105]|0;m=B(g,g)|0;n=B(h,h)|0;o=0-(n+(((g|0)%2|0)+(m>>>2)))|0;p=(n>>>2)+((h|0)%2|0)|0;q=0-(m+p)|0;r=0-p|0;p=n<<1;s=m<<1;if((h|g|0)<=-1){t=0;return t|0}u=i+e|0;v=j+f|0;w=b+28|0;x=b+32|0;y=b+36|0;z=b+40|0;A=(l&65536|0)==0;C=b+16|0;b=0;D=h;E=B(B(m,-2)|0,h)|0;F=0;G=B(0-m|0,h)|0;h=0;while(1){H=u+b|0;I=v+D|0;if(((((c[w>>2]|0)<=(H|0)?(c[x>>2]|0)>(H|0):0)?(c[y>>2]|0)<=(I|0):0)?(c[z>>2]|0)>(I|0):0)?(J=l>>(I<<2&12^12)>>>(H&3^3)&1,A|(J|0)==0):0){K=(c[(c[C>>2]|0)+(I<<2)>>2]|0)+H|0;L=c[807102]|0;a[K>>0]=((L^15)&(d[K>>0]|0)|L&k>>(J<<2)&c[807103])&15}J=(D|j|0)!=0;L=(b|i|0)==0;if(L|J^1)M=h+2|0;else{K=e-b|0;N=f-D|0;if(((((c[w>>2]|0)<=(K|0)?(c[x>>2]|0)>(K|0):0)?(c[y>>2]|0)<=(N|0):0)?(c[z>>2]|0)>(N|0):0)?(O=l>>(N<<2&12^12)>>>(K&3^3)&1,A|(O|0)==0):0){P=(c[(c[C>>2]|0)+(N<<2)>>2]|0)+K|0;K=c[807102]|0;a[P>>0]=((K^15)&(d[P>>0]|0)|K&k>>(O<<2)&c[807103])&15}M=h+3|0}if(J){J=f-D|0;if(((((c[w>>2]|0)<=(H|0)?(c[x>>2]|0)>(H|0):0)?(c[y>>2]|0)<=(J|0):0)?(c[z>>2]|0)>(J|0):0)?(O=l>>(J<<2&12^12)>>>(H&3^3)&1,A|(O|0)==0):0){K=(c[(c[C>>2]|0)+(J<<2)>>2]|0)+H|0;H=c[807102]|0;a[K>>0]=((H^15)&(d[K>>0]|0)|H&k>>(O<<2)&c[807103])&15}Q=M+1|0}else Q=M;if(L)R=Q;else{L=e-b|0;if(((((c[w>>2]|0)<=(L|0)?(c[x>>2]|0)>(L|0):0)?(c[y>>2]|0)<=(I|0):0)?(c[z>>2]|0)>(I|0):0)?(O=l>>(I<<2&12^12)>>>(L&3^3)&1,A|(O|0)==0):0){H=(c[(c[C>>2]|0)+(I<<2)>>2]|0)+L|0;L=c[807102]|0;a[H>>0]=((L^15)&(d[H>>0]|0)|L&k>>(O<<2)&c[807103])&15}R=Q+1|0}do if(((B(b,n)|0)+G|0)>(o|0)?(O=B(D,m)|0,(O+G|0)>(r|0)):0)if((G-O|0)>(q|0)){O=E+s|0;S=b;T=D+-1|0;U=O;V=F;W=O+G|0;break}else{O=F+p|0;L=E+s|0;S=b+1|0;T=D+-1|0;U=L;V=O;W=O+G+L|0;break}else X=35;while(0);if((X|0)==35){X=0;L=F+p|0;S=b+1|0;T=D;U=E;V=L;W=L+G|0}if((T|0)>-1&(S|0)<=(g|0)){b=S;D=T;E=U;F=V;G=W;h=R}else{t=R;break}}return t|0}function sk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=(e|0)<(b|0);i=h?b:e;j=h?e:b;b=(f|0)<(d|0);e=b?d:f;h=b?f:d;d=e-h|0;if((d|0)>=2?(f=i-j|0,(f|0)>=2):0){b=i+j>>1;k=e+h>>1;l=f>>>1;m=d>>>1;n=c[a+32>>2]|0;o=c[a+28>>2]|0;if(((f|0)>(n-o|0)?(p=((l*7|0)>>>0)/10|0,!((p+b|0)<(n|0)|(b-p|0)>=(o|0))):0)?(p=((m*7|0)>>>0)/10|0,(k-p|0)<(c[a+36>>2]|0)):0){q=c[a+40>>2]|0;if((i|0)<(o|0)|((j|0)>=(n|0)|(p+k|0)>=(q|0))){r=0;return r|0}else s=q}else t=9;do if((t|0)==9)if((j|0)>=(n|0)|(i|0)<(o|0)){r=0;return r|0}else{s=c[a+40>>2]|0;break}while(0);if((h|0)>=(s|0)){r=0;return r|0}if((e|0)<(c[a+36>>2]|0)){r=0;return r|0}r=rk(a,b,k,l,m,f&1,d&1,g)|0;return r|0}d=0;f=h;while(1){h=(qk(a,j,i,f,g)|0)+d|0;if((f|0)<(e|0)){d=h;f=f+1|0}else{r=h;break}}return r|0}function tk(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0;i=((e|0)<0)<<31>>31;j=((d|0)<0)<<31>>31;k=qv(d|0,j|0,d|0,j|0)|0;l=G()|0;m=qv(e|0,i|0,e|0,i|0)|0;n=G()|0;o=tv(k|0,l|0,2)|0;p=(d|0)%2|0;q=kv(o|0,G()|0,p|0,((p|0)<0)<<31>>31|0)|0;p=kv(m|0,n|0,q|0,G()|0)|0;q=lv(0,0,p|0,G()|0)|0;p=G()|0;o=tv(m|0,n|0,2)|0;r=(e|0)%2|0;s=kv(o|0,G()|0,r|0,((r|0)<0)<<31>>31|0)|0;r=G()|0;o=kv(k|0,l|0,s|0,r|0)|0;t=lv(0,0,o|0,G()|0)|0;o=G()|0;u=lv(0,0,s|0,r|0)|0;r=G()|0;s=uv(m|0,n|0,1)|0;v=G()|0;w=uv(k|0,l|0,1)|0;x=G()|0;if((e|d|0)<0)y=0;else{z=qv(k|0,l|0,-2,-1)|0;A=qv(z|0,G()|0,e|0,i|0)|0;z=G()|0;B=lv(0,0,k|0,l|0)|0;C=qv(B|0,G()|0,e|0,i|0)|0;B=f+b|0;D=g+c|0;E=0;F=A;A=z;z=0;H=0;I=C;C=G()|0;J=e;K=i;i=0;L=0;while(1){M=E+8|0;N=qv(z|0,H|0,m|0,n|0)|0;O=kv(N|0,G()|0,I|0,C|0)|0;N=G()|0;do if((N|0)>(p|0)|(N|0)==(p|0)&O>>>0>q>>>0?(P=qv(J|0,K|0,k|0,l|0)|0,Q=G()|0,R=kv(P|0,Q|0,I|0,C|0)|0,S=G()|0,(S|0)>(r|0)|(S|0)==(r|0)&R>>>0>u>>>0):0){R=lv(I|0,C|0,P|0,Q|0)|0;Q=G()|0;P=b-z|0;S=B+z|0;T=(qk(a,P,S,c-J|0,h)|0)+M|0;if(!((Q|0)>(o|0)|(Q|0)==(o|0)&R>>>0>t>>>0)){R=(qk(a,P,S,D+J|0,h)|0)+T|0;Q=kv(z|0,H|0,1,0)|0;U=G()|0;V=kv(i|0,L|0,s|0,v|0)|0;W=G()|0;X=kv(V|0,W|0,I|0,C|0)|0;Y=G()|0;Z=kv(J|0,K|0,-1,-1)|0;_=G()|0;$=kv(F|0,A|0,w|0,x|0)|0;aa=G()|0;ba=kv(X|0,Y|0,$|0,aa|0)|0;ca=R;da=_;ea=U;fa=Q;ga=ba;ha=G()|0;ia=V;ja=W;ka=$;la=aa;ma=Z;break}if((J|0)==0&(K|0)==0)na=T;else na=(qk(a,P,S,D+J|0,h)|0)+T|0;T=kv(J|0,K|0,-1,-1)|0;S=G()|0;P=kv(F|0,A|0,w|0,x|0)|0;Z=G()|0;aa=kv(P|0,Z|0,I|0,C|0)|0;ca=na;da=S;ea=H;fa=z;ga=aa;ha=G()|0;ia=i;ja=L;ka=P;la=Z;ma=T}else oa=5;while(0);if((oa|0)==5){oa=0;O=kv(z|0,H|0,1,0)|0;N=G()|0;T=kv(i|0,L|0,s|0,v|0)|0;Z=G()|0;P=kv(T|0,Z|0,I|0,C|0)|0;ca=M;da=K;ea=N;fa=O;ga=P;ha=G()|0;ia=T;ja=Z;ka=F;la=A;ma=J}if((da|0)<0|((ea|0)>(j|0)|(ea|0)==(j|0)&fa>>>0>d>>>0)){y=ca;break}else{E=ca;F=ka;A=la;z=fa;H=ea;I=ga;C=ha;J=ma;K=da;i=ia;L=ja}}}if(!g)pa=y;else pa=(qk(a,b-d|0,d+b+f|0,c+1|0,h)|0)+y|0;if(e|0){qa=pa;return qa|0}qa=(qk(a,b-d|0,d+b|0,c,h)|0)+pa|0;return qa|0}function uk(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;i=B(d,d)|0;j=B(e,e)|0;k=0-(j+(((d|0)%2|0)+(i>>>2)))|0;l=(j>>>2)+((e|0)%2|0)|0;m=0-(i+l)|0;n=0-l|0;l=j<<1;o=i<<1;if((e|d|0)<0)p=0;else{q=f+b|0;r=g+c|0;s=0;t=e;u=B(B(i,-2)|0,e)|0;v=0;w=B(0-i|0,e)|0;x=0;while(1){y=x+8|0;do if(((B(s,j)|0)+w|0)>(k|0)?(z=B(t,i)|0,(z+w|0)>(n|0)):0){A=b-s|0;C=q+s|0;D=(qk(a,A,C,c-t|0,h)|0)+y|0;if((w-z|0)<=(m|0)){z=v+l|0;E=u+o|0;F=s+1|0;G=t+-1|0;H=E;I=z;J=z+w+E|0;K=(qk(a,A,C,r+t|0,h)|0)+D|0;break}if(!t)L=D;else L=(qk(a,A,C,r+t|0,h)|0)+D|0;D=u+o|0;F=s;G=t+-1|0;H=D;I=v;J=D+w|0;K=L}else M=5;while(0);if((M|0)==5){M=0;D=v+l|0;F=s+1|0;G=t;H=u;I=D;J=D+w|0;K=y}if((G|0)<0|(F|0)>(d|0)){p=K;break}else{s=F;t=G;u=H;v=I;w=J;x=K}}}if(!g)N=p;else N=(qk(a,b-d|0,d+b+f|0,c+1|0,h)|0)+p|0;if(e|0){O=N;return O|0}O=(qk(a,b-d|0,d+b|0,c,h)|0)+N|0;return O|0}function vk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;h=(e|0)<(b|0);i=h?b:e;j=h?e:b;b=(f|0)<(d|0);e=b?d:f;h=b?f:d;d=e-h|0;if((d|0)>=2?(f=i-j|0,(f|0)>=2):0){b=i+j>>1;k=e+h>>1;l=f>>>1;m=d>>>1;n=c[a+32>>2]|0;o=c[a+28>>2]|0;if((((f|0)>(n-o|0)?(p=((l*7|0)>>>0)/10|0,!((p+b|0)<(n|0)|(b-p|0)>=(o|0))):0)?(p=((m*7|0)>>>0)/10|0,q=c[a+36>>2]|0,(k-p|0)<(q|0)):0)?(r=c[a+40>>2]|0,(p+k|0)>=(r|0)):0){p=c[769383]|0;s=(n|0)<(o|0);t=s?o:n;u=s?n:o;s=(r|0)<(q|0);v=s?q:r;w=s?r:q;q=0;while(1){r=(qk(p,u,t,w,g)|0)+q|0;if((w|0)<(v|0)){w=w+1|0;q=r}else{x=r;break}}return x|0}if((j|0)>=(n|0)|(i|0)<(o|0)){x=0;return x|0}if((h|0)>=(c[a+40>>2]|0)){x=0;return x|0}if((e|0)<(c[a+36>>2]|0)){x=0;return x|0}o=f&1;n=d&1;if((f|0)<128&(d|0)<128){x=uk(a,b,k,l,m,o,n,g)|0;return x|0}else{x=tk(a,b,k,l,m,o,n,g)|0;return x|0}}n=0;o=h;while(1){h=(qk(a,j,i,o,g)|0)+n|0;if((o|0)<(e|0)){n=h;o=o+1|0}else{x=h;break}}return x|0}function wk(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;i=Ia;Ia=Ia+128|0;j=i+64|0;k=i;l=k;m=1792;n=l+64|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));if((h|0)==1){l=k;m=1856;n=l+64|0;do{c[l>>2]=c[m>>2];l=l+4|0;m=m+4|0}while((l|0)<(n|0));l=j;n=l+64|0;do{c[l>>2]=0;l=l+4|0}while((l|0)<(n|0));if(!((e|0)>(g|0)|(d|0)>(f|0))){l=c[b+16>>2]|0;n=e;while(1){m=c[l+(n<<2)>>2]|0;h=d;while(1){o=j+(c[1920+((a[m+h>>0]&15)<<2)>>2]<<2)|0;c[o>>2]=(c[o>>2]|0)+1;if((h|0)<(f|0))h=h+1|0;else break}if((n|0)<(g|0))n=n+1|0;else break}}n=(B(1-d+f<<1,1-e+g|0)|0)/3|0;l=(c[j+4>>2]|0)+(c[j>>2]|0)-n|0;h=(l|0)<0?0-l|0:l;l=(c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))-n|0;m=(l|0)<0?0-l|0:l;l=(m|0)<(h|0);o=l?m:h;h=(c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))-n|0;m=(h|0)<0?0-h|0:h;h=(m|0)<(o|0);p=h?m:o;o=(c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))-n|0;m=(o|0)<0?0-o|0:o;o=(m|0)<(p|0);q=o?m:p;p=(c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))-n|0;m=(p|0)<0?0-p|0:p;p=(m|0)<(q|0);r=p?m:q;q=(c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))-n|0;m=(q|0)<0?0-q|0:q;q=(m|0)<(r|0);s=q?m:r;r=(c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))-n|0;m=(r|0)<0?0-r|0:r;r=(m|0)<(s|0);t=r?m:s;s=(c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))-n|0;m=(s|0)<0?0-s|0:s;s=(m|0)<(t|0);u=s?m:t;t=(c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))))-n|0;m=(t|0)<0?0-t|0:t;t=(m|0)<(u|0);v=t?m:u;u=(c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))))-n|0;m=(u|0)<0?0-u|0:u;u=(m|0)<(v|0);w=u?m:v;v=(c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))))))-n|0;m=(v|0)<0?0-v|0:v;v=(m|0)<(w|0);x=v?12:u?11:t?10:s?9:r?8:q?7:p?6:o?5:h?4:l?3:2;l=v?m:w;w=(c[j+48>>2]|0)+((c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))))))-n|0;m=(w|0)<0?0-w|0:w;w=(x|0)==-1|(m|0)<(l|0);v=w?13:x;x=w?m:l;l=(c[j+52>>2]|0)+((c[j+48>>2]|0)+((c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))))))))))))-n|0;m=(l|0)<0?0-l|0:l;l=(v|0)==-1|(m|0)<(x|0);w=l?14:v;v=(c[j+56>>2]|0)+((c[j+52>>2]|0)+((c[j+48>>2]|0)+((c[j+44>>2]|0)+((c[j+40>>2]|0)+((c[j+36>>2]|0)+((c[j+32>>2]|0)+((c[j+28>>2]|0)+((c[j+24>>2]|0)+((c[j+20>>2]|0)+((c[j+16>>2]|0)+((c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))))))))))))))-n|0;n=((w|0)==-1?1:(((v|0)<0?0-v|0:v)|0)<((l?m:x)|0))?15:w;if(!(Wn(225)|0)){c[k>>2]=(n|0)<1&1;c[k+4>>2]=(n|0)<2&1;c[k+8>>2]=(n|0)<4&1;c[k+12>>2]=(n|0)<6&1;c[k+16>>2]=(n|0)<5&1;c[k+20>>2]=(n|0)<3&1;c[k+24>>2]=(n|0)<12&1;c[k+28>>2]=(n|0)<16&1;c[k+32>>2]=(n|0)<8&1;c[k+36>>2]=(n|0)<13&1;c[k+40>>2]=(n|0)<14&1;c[k+44>>2]=(n|0)<10&1;c[k+48>>2]=(n|0)<9&1;c[k+52>>2]=(n|0)<7&1;c[k+56>>2]=(n|0)<11&1;c[k+60>>2]=(n|0)<15&1}}if((e|0)>(g|0)){Ia=i;return}n=b+16|0;if((d|0)>(f|0)){Ia=i;return}b=e;while(1){e=d;while(1){w=(c[(c[n>>2]|0)+(b<<2)>>2]|0)+e|0;a[w>>0]=c[k+((a[w>>0]&15)<<2)>>2];if((e|0)<(f|0))e=e+1|0;else break}if((b|0)<(g|0))b=b+1|0;else break}Ia=i;return}function xk(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0;j=c[807105]|0;k=(h|0)<(f|0);l=k?f:h;m=k?e:g;n=k?h:f;f=k?g:e;e=m-f|0;g=((e|0)<0)<<31>>31;k=l-n|0;h=((k|0)<0)<<31>>31;o=(g|0)<0;p=lv(0,0,e|0,g|0)|0;q=G()|0;r=o?p:e;p=o?q:g;q=(h|0)<0;o=lv(0,0,k|0,h|0)|0;s=G()|0;t=q?o:k;o=q?s:h;s=(p|0)>(o|0)|(p|0)==(o|0)&r>>>0>t>>>0;o=s?r:t;t=((o|0)<0)<<31>>31;if((o|0)>0){r=uv(k|0,h|0,16)|0;s=G()|0;p=uv(e|0,g|0,16)|0;q=ov(p|0,G()|0,o|0,t|0)|0;p=G()|0;u=ov(r|0,s|0,o|0,t|0)|0;v=q;w=p;x=u;y=G()|0}else{v=e;w=g;x=k;y=h}h=c[b+36>>2]|0;if((l|0)<(h|0)){z=0;return z|0}k=c[b+40>>2]|0;if((n|0)>=(k|0)){z=0;return z|0}g=c[b+28>>2]|0;e=(f|0)<(g|0);u=(m|0)<(g|0);if(e&u){z=0;return z|0}p=c[b+32>>2]|0;q=(f|0)<(p|0);s=(m|0)<(p|0);if(!(q|s)){z=0;return z|0}m=f<<16|32768;f=((m|0)<0)<<31>>31;r=n<<16|32768;A=((r|0)<0)<<31>>31;if((n|0)<(h|0)){n=h<<16;h=lv(n|0,((n|0)<0)<<31>>31|0,r|0,A|0)|0;n=uv(h|0,G()|0,16)|0;h=ov(n|0,G()|0,x|0,y|0)|0;n=sv(h|0,G()|0,16)|0;h=kv(n|0,G()|0,1,0)|0;n=G()|0;C=(n|0)>0|(n|0)==0&h>>>0>0;n=C?h:0;D=n}else D=0;if((l|0)<(k|0))E=o;else{l=k<<16;k=lv(l|0,((l|0)<0)<<31>>31|0,r|0,A|0)|0;A=uv(k|0,G()|0,16)|0;k=kv(A|0,G()|0,-65536,-1)|0;A=ov(k|0,G()|0,x|0,y|0)|0;y=sv(A|0,G()|0,16)|0;A=G()|0;k=(A|0)>(t|0)|(A|0)==(t|0)&y>>>0>o>>>0;t=k?o:y;E=t}if(e){e=g<<16;t=lv(e|0,((e|0)<0)<<31>>31|0,m|0,f|0)|0;e=uv(t|0,G()|0,16)|0;t=ov(e|0,G()|0,v|0,w|0)|0;e=sv(t|0,G()|0,16)|0;t=kv(e|0,G()|0,1,0)|0;e=G()|0;y=((D|0)<0)<<31>>31;o=(e|0)<(y|0)|(e|0)==(y|0)&t>>>0>>0;y=o?D:t;F=y}else F=D;if(q)H=F;else{q=p<<16;D=lv(m|0,f|0,q|0,((q|0)<0)<<31>>31|0)|0;q=uv(D|0,G()|0,16)|0;D=G()|0;y=lv(0,0,v|0,w|0)|0;t=ov(q|0,D|0,y|0,G()|0)|0;y=sv(t|0,G()|0,16)|0;t=kv(y|0,G()|0,1,0)|0;y=G()|0;D=((F|0)<0)<<31>>31;q=(y|0)<(D|0)|(y|0)==(D|0)&t>>>0>>0;D=q?F:t;H=D}if(u){u=g<<16;g=lv(m|0,f|0,u|0,((u|0)<0)<<31>>31|0)|0;u=uv(g|0,G()|0,16)|0;g=kv(u|0,G()|0,-65536,-1)|0;u=G()|0;D=lv(0,0,v|0,w|0)|0;t=ov(g|0,u|0,D|0,G()|0)|0;D=sv(t|0,G()|0,16)|0;t=G()|0;u=((E|0)<0)<<31>>31;g=(t|0)>(u|0)|(t|0)==(u|0)&D>>>0>E>>>0;u=g?E:D;I=u}else I=E;if(s)J=I;else{s=p<<16;p=lv(s|0,((s|0)<0)<<31>>31|0,m|0,f|0)|0;f=uv(p|0,G()|0,16)|0;p=kv(f|0,G()|0,-65536,-1)|0;f=ov(p|0,G()|0,v|0,w|0)|0;w=sv(f|0,G()|0,16)|0;f=G()|0;p=((I|0)<0)<<31>>31;s=(f|0)>(p|0)|(f|0)==(p|0)&w>>>0>I>>>0;p=s?I:w;J=p}p=J-H|0;J=p+1|0;w=(B(H,v)|0)+m|0;m=(B(H,x)|0)+r|0;if((p|0)<=-1){z=J;return z|0}r=b+16|0;if(!(j&65536)){b=m;H=w;I=p;while(1){s=H>>16;f=b>>16;E=(c[(c[r>>2]|0)+(f<<2)>>2]|0)+s|0;u=c[807102]|0;a[E>>0]=((u^15)&(d[E>>0]|0)|u&i>>(j>>(f<<2&12^12)>>>(s&3^3)<<2&4)&c[807103])&15;if((I|0)>0){b=b+x|0;H=H+v|0;I=I+-1|0}else{z=J;break}}return z|0}I=m;m=w;w=p;while(1){p=m>>16;H=I>>16;if(!(j>>(H<<2&12^12)&1<<(p&3^3))){b=(c[(c[r>>2]|0)+(H<<2)>>2]|0)+p|0;p=c[807102]|0;a[b>>0]=((p^15)&(d[b>>0]|0)|p&i&c[807103])&15}if((w|0)>0){I=I+x|0;m=m+v|0;w=w+-1|0}else{z=J;break}}return z|0}function yk(b,e,f,g,h,i,j,k,l,m){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;n=c[808062]|0;o=c[n+8>>2]|0;p=(Pk(3077500,n,24376)|0)+255&255;n=(Pk(3077500,c[808062]|0,24377)|0)+255&255;q=Pk(3077500,c[808062]|0,24378)|0;r=Pk(3077500,c[808062]|0,24379)|0;s=(a[3256626]<<4&255)<<24>>24>>7<<24>>24;t=e>>16;e=f>>16;f=g>>16;g=h>>16;h=f-t|0;u=((h|0)<0)<<31>>31;v=g-e|0;w=((v|0)<0)<<31>>31;x=(u|0)<0;y=lv(0,0,h|0,u|0)|0;z=G()|0;A=x?y:h;C=x?z:u;x=(w|0)<0;D=lv(0,0,v|0,w|0)|0;E=G()|0;F=x?D:v;H=x?E:w;x=(C|0)>(H|0)|(C|0)==(H|0)&A>>>0>F>>>0;H=x?A:F;F=(g|0)<(e|0);A=B(H,k)|0;x=B(H,l)|0;C=F?D:v;v=F?E:w;w=F?y:h;h=F?z:u;u=F?0-l|0:l;l=F?0-k|0:k;k=F?e:g;z=F?t:f;y=F?g:e;e=F?f:t;t=((H|0)<0)<<31>>31;if((H|0)>0){f=uv(C|0,v|0,16)|0;g=G()|0;E=uv(w|0,h|0,16)|0;D=ov(E|0,G()|0,H|0,t|0)|0;E=G()|0;I=ov(f|0,g|0,H|0,t|0)|0;J=I;K=G()|0;L=D;M=E}else{J=C;K=v;L=w;M=h}h=c[b+36>>2]|0;if((k|0)<(h|0)){N=0;return N|0}w=c[b+40>>2]|0;if((y|0)>=(w|0)){N=0;return N|0}v=c[b+28>>2]|0;C=(e|0)<(v|0);E=(z|0)<(v|0);if(C&E){N=0;return N|0}D=c[b+32>>2]|0;I=(e|0)<(D|0);g=(z|0)<(D|0);if(!(I|g)){N=0;return N|0}z=e<<16|32768;e=((z|0)<0)<<31>>31;f=y<<16|32768;O=((f|0)<0)<<31>>31;if((y|0)<(h|0)){y=h<<16;h=lv(y|0,((y|0)<0)<<31>>31|0,f|0,O|0)|0;y=uv(h|0,G()|0,16)|0;h=ov(y|0,G()|0,J|0,K|0)|0;y=sv(h|0,G()|0,16)|0;h=kv(y|0,G()|0,1,0)|0;y=G()|0;P=(y|0)>0|(y|0)==0&h>>>0>0;y=P?h:0;Q=y}else Q=0;if((k|0)<(w|0))R=H;else{k=w<<16;w=lv(k|0,((k|0)<0)<<31>>31|0,f|0,O|0)|0;k=uv(w|0,G()|0,16)|0;w=kv(k|0,G()|0,-65536,-1)|0;k=ov(w|0,G()|0,J|0,K|0)|0;w=sv(k|0,G()|0,16)|0;k=G()|0;y=(k|0)>(t|0)|(k|0)==(t|0)&w>>>0>H>>>0;t=y?H:w;R=t}if(C){C=v<<16;t=lv(C|0,((C|0)<0)<<31>>31|0,z|0,e|0)|0;C=uv(t|0,G()|0,16)|0;t=ov(C|0,G()|0,L|0,M|0)|0;C=sv(t|0,G()|0,16)|0;t=kv(C|0,G()|0,1,0)|0;C=G()|0;w=((Q|0)<0)<<31>>31;H=(C|0)<(w|0)|(C|0)==(w|0)&t>>>0>>0;w=H?Q:t;S=w}else S=Q;if(I)T=S;else{I=D<<16;Q=lv(z|0,e|0,I|0,((I|0)<0)<<31>>31|0)|0;I=uv(Q|0,G()|0,16)|0;Q=G()|0;w=lv(0,0,L|0,M|0)|0;t=ov(I|0,Q|0,w|0,G()|0)|0;w=sv(t|0,G()|0,16)|0;t=kv(w|0,G()|0,1,0)|0;w=G()|0;Q=((S|0)<0)<<31>>31;I=(w|0)<(Q|0)|(w|0)==(Q|0)&t>>>0>>0;Q=I?S:t;T=Q}if(E){E=v<<16;v=lv(z|0,e|0,E|0,((E|0)<0)<<31>>31|0)|0;E=uv(v|0,G()|0,16)|0;v=kv(E|0,G()|0,-65536,-1)|0;E=G()|0;Q=lv(0,0,L|0,M|0)|0;t=ov(v|0,E|0,Q|0,G()|0)|0;Q=sv(t|0,G()|0,16)|0;t=G()|0;E=((R|0)<0)<<31>>31;v=(t|0)>(E|0)|(t|0)==(E|0)&Q>>>0>R>>>0;E=v?R:Q;U=E}else U=R;if(g)V=U;else{g=D<<16;D=lv(g|0,((g|0)<0)<<31>>31|0,z|0,e|0)|0;g=uv(D|0,G()|0,16)|0;D=kv(g|0,G()|0,-65536,-1)|0;g=ov(D|0,G()|0,L|0,M|0)|0;D=sv(g|0,G()|0,16)|0;g=G()|0;R=((U|0)<0)<<31>>31;E=(g|0)>(R|0)|(g|0)==(R|0)&D>>>0>U>>>0;R=E?U:D;V=R}R=((T|0)<0)<<31>>31;D=qv(L|0,M|0,T|0,R|0)|0;U=kv(D|0,G()|0,z|0,e|0)|0;e=G()|0;z=qv(J|0,K|0,T|0,R|0)|0;R=kv(z|0,G()|0,f|0,O|0)|0;O=G()|0;f=(F?A:0)+i+(B(T,l)|0)|0;i=(F?x:0)+j+(B(T,u)|0)|0;j=V-T|0;T=j+1|0;if(!(c[807105]&131072)){if((j|0)<=-1){N=T;return N|0}V=b+16|0;if(!m){x=i;F=f;A=j;z=R;D=O;E=U;g=e;while(1){Q=Dh((F>>>16&p)+q|0,(x>>>16&n)+r|0)|0;if((Q|0)!=(s|0)?(v=(Q|0)/16|0,t=c[3228148+(((Hn(o,Q-(v<<4)<<3|F>>>13&7,v<<3|x>>>13&7)|0)&15)<<2)>>2]|0,(t&16|0)==0):0){v=c[V>>2]|0;Q=tv(z|0,D|0,16)|0;G()|0;S=c[v+(Q<<2)>>2]|0;Q=tv(E|0,g|0,16)|0;G()|0;v=S+Q|0;Q=c[807102]|0;a[v>>0]=((Q^15)&(d[v>>0]|0)|Q&t&c[807103])&15}E=kv(E|0,g|0,L|0,M|0)|0;g=G()|0;z=kv(z|0,D|0,J|0,K|0)|0;D=G()|0;if((A|0)<=0){N=T;break}else{x=x+u|0;F=F+l|0;A=A+-1|0}}return N|0}A=i;F=f;x=j;D=R;z=O;O=U;g=e;while(1){e=Dh((F>>>16&p)+q|0,(A>>>16&n)+r|0)|0;if(((e|0)!=(s|0)?c[(c[808062]|0)+43552+(e<<2)>>2]&m|0:0)?(E=(e|0)/16|0,t=c[3228148+(((Hn(o,e-(E<<4)<<3|F>>>13&7,E<<3|A>>>13&7)|0)&15)<<2)>>2]|0,(t&16|0)==0):0){E=c[V>>2]|0;e=tv(D|0,z|0,16)|0;G()|0;Q=c[E+(e<<2)>>2]|0;e=tv(O|0,g|0,16)|0;G()|0;E=Q+e|0;e=c[807102]|0;a[E>>0]=((e^15)&(d[E>>0]|0)|e&t&c[807103])&15}O=kv(O|0,g|0,L|0,M|0)|0;g=G()|0;D=kv(D|0,z|0,J|0,K|0)|0;z=G()|0;if((x|0)<=0){N=T;break}else{A=A+u|0;F=F+l|0;x=x+-1|0}}return N|0}if((j|0)<=-1){N=T;return N|0}x=b+16|0;if(!m){b=U;F=R;A=i;z=f;K=j;while(1){D=Dh((z>>>16&p)+q|0,(A>>>16&n)+r|0)|0;if(((D|0)!=(s|0)?(g=(D|0)/16|0,M=(Hn(o,D-(g<<4)<<3|z>>>13&7,g<<3|A>>>13&7)|0)&15,(c[3228148+(M<<2)>>2]&16|0)==0):0)?(g=b>>16,D=F>>16,O=c[807105]|0,V=O>>(D<<2&12^12)>>>(g&3^3)&1,(O&65536|0)==0|(V|0)==0):0){O=(c[(c[x>>2]|0)+(D<<2)>>2]|0)+g|0;g=c[807102]|0;a[O>>0]=((g^15)&(d[O>>0]|0)|g&c[3228276+(M<<2)>>2]>>(V<<2)&c[807103])&15}if((K|0)>0){b=b+L|0;F=F+J|0;A=A+u|0;z=z+l|0;K=K+-1|0}else{N=T;break}}return N|0}K=U;U=R;R=i;i=f;f=j;while(1){j=Dh((i>>>16&p)+q|0,(R>>>16&n)+r|0)|0;if((((j|0)!=(s|0)?c[(c[808062]|0)+43552+(j<<2)>>2]&m|0:0)?(z=(j|0)/16|0,A=(Hn(o,j-(z<<4)<<3|i>>>13&7,z<<3|R>>>13&7)|0)&15,(c[3228148+(A<<2)>>2]&16|0)==0):0)?(z=K>>16,j=U>>16,F=c[807105]|0,b=F>>(j<<2&12^12)>>>(z&3^3)&1,(F&65536|0)==0|(b|0)==0):0){F=(c[(c[x>>2]|0)+(j<<2)>>2]|0)+z|0;z=c[807102]|0;a[F>>0]=((z^15)&(d[F>>0]|0)|z&c[3228276+(A<<2)>>2]>>(b<<2)&c[807103])&15}if((f|0)>0){K=K+L|0;U=U+J|0;R=R+u|0;i=i+l|0;f=f+-1|0}else{N=T;break}}return N|0}function zk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=c[807105]|0;if((c[b+28>>2]|0)>(e|0))return 0;if((c[b+32>>2]|0)<=(e|0))return 0;j=h&15;k=(i&65536|0)!=0;l=k?16:h>>>4&15;h=i>>(3-e&3);i=((h&256|0)==0?j:l)<<8|((h&4096|0)==0?j:l)|((h&16|0)==0?j:l)<<16|((h&1|0)==0?j:l)<<24;l=(g|0)<(f|0);j=l?f:g;h=l?g:f;f=c[b+36>>2]|0;g=(h|0)<(f|0)?f:h;h=c[b+40>>2]|0;f=(j|0)<(h|0)?j:h+-1|0;h=(c[(c[b+16>>2]|0)+(g<<2)>>2]|0)+e|0;e=(g|0)>(f|0);if(!k){if(e){m=1-g|0;n=m+f|0;o=e?0:n;return o|0}k=g;b=h;while(1){j=c[807102]|0;a[b>>0]=((j^15)&(d[b>>0]|0)|j&i>>>(k<<3&24)&c[807103])&15;if((k|0)<(f|0)){k=k+1|0;b=b+128|0}else break}m=1-g|0;n=m+f|0;o=e?0:n;return o|0}if(e){m=1-g|0;n=m+f|0;o=e?0:n;return o|0}b=g;k=h;while(1){h=i>>>(b<<3&24);if(!(h&16)){j=c[807102]|0;a[k>>0]=((j^15)&(d[k>>0]|0)|j&h&c[807103])&15}if((b|0)<(f|0)){b=b+1|0;k=k+128|0}else break}m=1-g|0;n=m+f|0;o=e?0:n;return o|0}function Ak(){Cn(c[(c[808062]|0)+4>>2]|0);Cn(c[769383]|0);vn(c[769383]|0,c[807085]|0,c[807086]|0,c[807087]|0,c[807088]|0);return}function Bk(b){b=b|0;var d=0;d=(b|0)<3?b:3;b=(d|0)>0?d:0;c[824990]=b;d=c[808062]|0;c[d+8>>2]=c[((a[3256656]|0)==96?3077536+(b<<2)|0:d+4|0)>>2];d=(c[808062]|0)+4|0;c[769383]=c[((a[3256657]|0)==0?d:3077536+(c[824990]<<2)|0)>>2];Cn(c[d>>2]|0);Cn(c[769383]|0);vn(c[769383]|0,c[807085]|0,c[807086]|0,c[807087]|0,c[807088]|0);return}function Ck(){var a=0,b=0;if(c[573941]|0)return 1;a=c[769366]|0;b=B((c[a+4>>2]|0)/128|0,(c[a>>2]|0)/128|0)|0;if((b|0)<1)return 1;else return ((b|0)<4?b:4)|0;return 0}function Dk(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;f=c[a>>2]|0;if((f|0)!=(c[b>>2]|0))return;g=a+4|0;h=c[g>>2]|0;if((h|0)!=(c[b+4>>2]|0))return;i=c[a+8>>2]|0;j=c[b+8>>2]|0;if((i|0)==(j|0)){jp(a,b,0,0,0,0,f,h);return}if(!((i|0)==32&(j|0)==8&(h|0)>0))return;j=0;i=f;f=h;while(1){if((i|0)>0){h=0;do{k=Hn(a,h,j)|0;l=k>>>16&255;m=k>>>8&255;n=k&255;k=-1;o=0;p=1e7;while(1){q=c[3228212+(o<<2)>>2]|0;r=l-(d[e+(q*3|0)>>0]|0)|0;s=B(r,r)|0;r=m-(d[e+(q*3|0)+1>>0]|0)|0;t=(B(r,r)|0)+s|0;s=n-(d[e+(q*3|0)+2>>0]|0)|0;q=t+(B(s,s)|0)|0;s=(k|0)==-1|(q|0)<(p|0);k=s?o:k;o=o+1|0;if((o|0)==16)break;else p=s?q:p}zn(b,h,j,k);h=h+1|0;u=c[a>>2]|0}while((h|0)<(u|0));v=c[g>>2]|0;w=u}else{v=f;w=i}j=j+1|0;if((j|0)>=(v|0))break;else{i=w;f=v}}return}function Ek(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;g=c[b>>2]|0;if((g|0)!=(c[e>>2]|0))return;h=b+4|0;i=c[h>>2]|0;if((i|0)!=(c[e+4>>2]|0))return;j=b+8|0;k=c[j>>2]|0;l=e+8|0;m=c[l>>2]|0;if((k|0)==(m|0)){jp(b,e,0,0,0,0,g,i);return}if((k|0)==8&(m|0)==32){if((i|0)<=0)return;m=b+16|0;n=e+16|0;o=0;p=g;q=i;while(1){if((p|0)>0){r=c[(c[m>>2]|0)+(o<<2)>>2]|0;s=c[(c[n>>2]|0)+(o<<2)>>2]|0;t=0;do{u=a[r+t>>0]|0;v=u&255;c[s+(t<<2)>>2]=(d[f+(v*3|0)>>0]|0)<<16|(u<<24>>24==0?0:-16777216)|(d[f+(v*3|0)+1>>0]|0)<<8|(d[f+(v*3|0)+2>>0]|0);t=t+1|0;w=c[b>>2]|0}while((t|0)<(w|0));x=c[h>>2]|0;y=w}else{x=q;y=p}o=o+1|0;if((o|0)>=(x|0))break;else{p=y;q=x}}z=c[j>>2]|0;A=x;C=y}else{z=k;A=i;C=g}if((z|0)!=32)return;if(!((c[l>>2]|0)==8&(A|0)>0))return;l=0;z=C;C=A;while(1){if((z|0)>0){A=0;do{g=Hn(b,A,l)|0;i=g>>>16&255;k=g>>>8&255;y=g&255;g=-1;x=0;j=1e7;while(1){q=x>>>0<16?x:x+112|0;p=i-(d[f+(q*3|0)>>0]|0)|0;o=B(p,p)|0;p=k-(d[f+(q*3|0)+1>>0]|0)|0;w=(B(p,p)|0)+o|0;o=y-(d[f+(q*3|0)+2>>0]|0)|0;p=w+(B(o,o)|0)|0;o=(g|0)==-1|(p|0)<(j|0);g=o?q:g;x=x+1|0;if((x|0)==32)break;else j=o?p:j}zn(e,A,l,g);A=A+1|0;D=c[b>>2]|0}while((A|0)<(D|0));E=c[h>>2]|0;F=D}else{E=C;F=z}l=l+1|0;if((l|0)>=(E|0))break;else{z=F;C=E}}return}function Fk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0;i=b+112|0;if(!(c[i>>2]|0)){j=c[807090]|0;c[b+96>>2]=j;k=c[807091]|0;c[b+100>>2]=k;l=b+68|0;if((c[l>>2]|0)==0?(c[b+60>>2]|0)==0:0)m=g;else m=g<<1;if((c[b+20>>2]|0)!=0?(j|0)>((c[b+24>>2]|0)-f|0):0){c[807090]=c[b+28>>2];j=b+48|0;n=(c[j>>2]|0)+k|0;c[807091]=n;c[j>>2]=g;o=n}else o=k;k=128-m-(c[b+124>>2]|0)+(c[807098]|0)|0;if((c[b+16>>2]|0)!=0&(o|0)>(k|0)){_a(o-k|0);p=l}else p=l}else p=b+68|0;l=c[b+80>>2]|0;k=c[3228148+((c[b+36>>2]&15)<<2)>>2]|0;o=c[3228148+((c[b+40>>2]&15)<<2)>>2]|0;if(!(c[p>>2]|0)){p=(c[b+56>>2]|0)==0;m=p?1:2;if(p)q=1;else q=(c[b+64>>2]|0)==0?1:2;if(!(c[b+60>>2]|0)){r=q;s=1;t=m;u=1}else{r=q;s=(c[b+64>>2]|0)==0?1:2;t=m;u=2}}else{r=2;s=2;t=2;u=2}m=c[b+72>>2]|0;q=B(m,t)|0;p=B(q,1-h+(c[b+84>>2]|0)|0)|0;h=(p|0)>0?p:0;p=0-h|0;q=B(m,u)|0;m=(q|0)>0?q:0;q=0-m|0;n=(c[b+120>>2]|0)-(c[807097]|0)<<16>>16;j=(c[b+124>>2]|0)-(c[807098]|0)<<16>>16;if(!(c[b+76>>2]|0))v=B(u,g)|0;else{w=c[b+44>>2]|0;x=n-h+(c[807090]|0)|0;y=j-m+(c[807091]|0)|0;z=(B(t,f)|0)+-1+h+x|0;h=B(u,g)|0;A=h+-1+m+y|0;m=(z|0)<(x|0);C=m?x:z;D=m?z:x;x=(A|0)<(y|0);z=x?y:A;m=x?A:y;while(1){qk(w,D,C,m,o)|0;if((m|0)<(z|0))m=m+1|0;else{v=h;break}}}if((v|0)>(q|0)){h=(g|0)<8?g:8;g=((l|0)!=0)<<31>>31;l=B(t,f)|0;m=t<<3;z=b+44|0;if((l|0)>(p|0)){o=q;do{q=(o+u|0)/(u|0)|0;if((q|0)<1|(q|0)>(h|0))E=0;else E=d[e+(q+-1)>>0]<<8;q=E^g;C=o+j|0;D=p;do{if((((1<<((D+m|0)/(t|0)|0)&q|0?(w=D+n+(c[807090]|0)|0,y=C+(c[807091]|0)|0,A=c[z>>2]|0,(w|0)>=(c[A+28>>2]|0)):0)?(w|0)<(c[A+32>>2]|0):0)?(y|0)>=(c[A+36>>2]|0):0)?(y|0)<(c[A+40>>2]|0):0){x=(c[(c[A+16>>2]|0)+(y<<2)>>2]|0)+w|0;w=c[807102]|0;a[x>>0]=((w^15)&d[x>>0]|w&k&c[807103])&15}D=D+r|0}while((D|0)<(l|0));o=o+s|0}while((o|0)<(v|0));F=l}else F=l}else F=B(t,f)|0;dh(((B(F,v)|0)+1|0)/2|0);c[b+104>>2]=F;f=(c[807090]|0)+F|0;c[807090]=f;F=c[584085]|0;c[584085]=(F|0)>(f|0)?F:f;f=b+48|0;F=c[f>>2]|0;c[f>>2]=(F|0)>(v|0)?F:v;if(c[i>>2]|0){c[807090]=c[b+96>>2];c[807091]=c[b+100>>2];c[i>>2]=0}i=c[b+128>>2]|0;if((i|0)<=0){G=0;return G|0}c[b+52>>2]=i+-1;i=b+4|0;b=c[i>>2]|0;if(!(a[b>>0]|0)){G=1;return G|0}c[i>>2]=b+1;G=1;return G|0}function Gk(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;e=Ia;Ia=Ia+16|0;f=e;g=b+4|0;h=c[g>>2]|0;i=a[h>>0]|0;a:do switch(i<<24>>24){case 0:{j=h;k=h+-1|0;l=0;break}case 1:{m=h+1|0;n=a[m>>0]|0;if(!(n<<24>>24)){o=1;p=125}else{q=n&255;r=q+-48|0;s=r>>>0<10?r:(n&255)>96?q+-87|0:0;c[b+116>>2]=s;q=(s|0)>0;s=h+2|0;j=q?s:h;k=q?s:m;l=0}break}case 2:{m=h+1|0;s=a[m>>0]|0;if(!(s<<24>>24)){o=2;p=125}else{q=s&255;n=q+-48|0;c[b+40>>2]=(n>>>0<10?n:(s&255)>96?q+9|0:0)&15;c[b+76>>2]=1;j=h;k=m;l=0}break}case 3:{m=h+1|0;q=a[m>>0]|0;if(!(q<<24>>24)){o=3;p=125}else{s=q&255;n=s+-48|0;c[807090]=(n>>>0<10?n:(q&255)>96?s+-87|0:0)+-16+(c[807090]|0);j=h;k=m;l=0}break}case 4:{m=h+1|0;s=a[m>>0]|0;if(!(s<<24>>24)){o=4;p=125}else{q=s&255;n=q+-48|0;c[807091]=(n>>>0<10?n:(s&255)>96?q+-87|0:0)+-16+(c[807091]|0);j=h;k=m;l=0}break}case 5:{m=a[h+1>>0]|0;q=m&255;if(m<<24>>24!=0?(s=h+2|0,(a[s>>0]|0)!=0):0){n=q+-48|0;c[807090]=(n>>>0<10?n:(m&255)>96?q+-87|0:0)+-16+(c[807090]|0);q=a[s>>0]|0;m=q&255;n=m+-48|0;c[807091]=(c[807091]|0)+-16+(n>>>0<10?n:(q&255)>96?m+-87|0:0);j=h;k=s;l=0}else{o=5;p=125}break}case 6:{s=h+1|0;m=a[s>>0]|0;q=m&255;switch(m<<24>>24){case 0:{o=6;p=125;break a;break}case 45:{m=h+2|0;n=a[m>>0]|0;r=n<<24>>24==0;t=r?s:m;u=r&1;v=r?q:n&255;break}default:{t=s;u=1;v=q}}q=v+-49|0;b:do if(q>>>0<9){c[b+52>>2]=(1<>0]|0;if(!(n<<24>>24)){j=h;k=t;l=0;break a}r=n&255;m=r+-48|0;un(c[769383]|0,0,0,127,127,m>>>0<10?m:(n&255)>96?r+-87|0:0);c[807090]=0;c[807091]=0;j=h;k=s;l=0;break a;break}case 100:{s=t+1|0;r=a[s>>0]|0;if(!(r<<24>>24)){j=h;k=t;l=0;break a}n=r&255;m=n+-48|0;c[b+128>>2]=m>>>0<10?m:(r&255)>96?n+-87|0:0;j=h;k=s;l=0;break a;break}default:{w=0;break b}}while(0);do switch(v|0){case 103:{c[807090]=c[b+28>>2];c[807091]=c[b+32>>2];j=h;k=t;l=w;break a;break}case 104:{c[b+28>>2]=c[807090];c[b+32>>2]=c[807091];j=h;k=t;l=w;break a;break}case 106:{q=a[t+1>>0]|0;if(!(q<<24>>24)){j=h;k=t;l=w;break a}s=q&255;n=s+-48|0;c[807090]=(n>>>0<10?n:(q&255)>96?s+-87|0:0)<<2;s=t+2|0;q=a[s>>0]|0;n=q&255;r=n+-48|0;c[807091]=(r>>>0<10?r:(q&255)>96?n+-87|0:0)<<2;j=h;k=s;l=w;break a;break}case 114:{s=t+1|0;n=a[s>>0]|0;q=n&255;r=q+-48|0;c[b+24>>2]=(r>>>0<10?r:(n&255)>96?q+-87|0:0)<<2;c[b+20>>2]=1;j=h;k=s;l=w;break a;break}case 120:{s=t+1|0;q=a[s>>0]|0;if(!(q<<24>>24)){j=h;k=t;l=w;break a}n=q&255;r=n+-48|0;c[b+84>>2]=r>>>0<10?r:(q&255)>96?n+-87|0:0;n=c[b+12>>2]|0;q=a[s>>0]|0;r=q&255;m=r+-48|0;c[b+88>>2]=(d[n+1>>0]|0)-(d[n>>0]|0)+(m>>>0<10?m:(q&255)>96?r+-87|0:0);j=h;k=s;l=w;break a;break}case 121:{s=t+1|0;r=a[s>>0]|0;if(!(r<<24>>24)){j=h;k=t;l=w;break a}q=r&255;m=q+-48|0;c[b+92>>2]=m>>>0<10?m:(r&255)>96?q+-87|0:0;j=h;k=s;l=w;break a;break}case 115:{s=t+1|0;q=a[s>>0]|0;r=q&255;m=r+-48|0;c[b+108>>2]=(m>>>0<10?m:(q&255)>96?r+-87|0:0)<<2;j=h;k=s;l=w;break a;break}case 119:{c[b+56>>2]=u;j=h;k=t;l=w;break a;break}case 116:{c[b+60>>2]=u;j=h;k=t;l=w;break a;break}case 61:{c[b+64>>2]=u;j=h;k=t;l=w;break a;break}case 112:{c[b+68>>2]=u;j=h;k=t;l=w;break a;break}case 35:{c[b+76>>2]=u;j=h;k=t;l=w;break a;break}case 105:{c[b+80>>2]=u;j=h;k=t;l=w;break a;break}case 98:{c[b+72>>2]=u;j=h;k=t;l=w;break a;break}case 36:{c[b+20>>2]=u;j=h;k=t;l=w;break a;break}case 64:{s=b+8|0;r=t+1|0;q=c[s>>2]|0;if(r>>>0>>0){m=a[r>>0]|0;n=m&255;x=n+-48|0;y=x>>>0<10?x:(m&255)>96?n+-87|0:0;n=t+2|0;if(n>>>0>>0){m=a[n>>0]|0;x=m&255;z=x+-48|0;A=(z>>>0<10?z:(m&255)>96?x+-87|0:0)+(y<<4)|0;x=t+3|0;if(x>>>0>>0){m=a[x>>0]|0;z=m&255;B=z+-48|0;C=(B>>>0<10?B:(m&255)>96?z+-87|0:0)+(A<<4)|0;z=t+4|0;if(z>>>0>>0){m=a[z>>0]|0;B=m&255;D=B+-48|0;E=(D>>>0<10?D:(m&255)>96?B+-87|0:0)+(C<<4)|0;F=t+5|0}else{E=C;F=z}}else{E=A;F=x}}else{E=y;F=n}}else{E=0;F=r}c:do if(F>>>0>>0){r=a[F>>0]|0;n=r&255;y=n+-48|0;x=y>>>0<10?y:(r&255)>96?n+-87|0:0;n=F+1|0;if(n>>>0>>0){r=a[n>>0]|0;y=r&255;A=y+-48|0;z=(A>>>0<10?A:(r&255)>96?y+-87|0:0)+(x<<4)|0;y=F+2|0;if(y>>>0>>0){r=a[y>>0]|0;A=r&255;C=A+-48|0;B=(C>>>0<10?C:(r&255)>96?A+-87|0:0)+(z<<4)|0;A=F+3|0;if(A>>>0>>0){r=a[A>>0]|0;C=r&255;m=C+-48|0;G=(m>>>0<10?m:(r&255)>96?C+-87|0:0)+(B<<4)|0;H=F+4|0}else{G=B;H=A}}else{G=z;H=y}}else{G=x;H=n}if((G|0)>0&H>>>0>>0){n=H;x=E;y=0;while(1){Ok(3077500,c[808062]|0,x,d[n>>0]|0);z=n+1|0;dh(1);y=y+1|0;if((y|0)>=(G|0)){I=z;break c}if(z>>>0>=(c[s>>2]|0)>>>0){I=z;break}else{n=z;x=x+1|0}}}else I=H}else I=F;while(0);J=I+-1|0;break}default:J=t}while(0);if((v|0)!=33){s=(v|0)==58;switch(v|0){case 46:case 58:break;default:{j=h;k=J;l=w;break a}}q=J+1|0;do if((q+((v|0)==46?8:16)|0)>>>0<=(c[b+8>>2]|0)>>>0)if(s){a[f>>0]=(c[1984+(d[J+2>>0]<<2)>>2]|0)+(c[1984+(d[q>>0]<<2)>>2]<<4);a[f+1>>0]=(c[1984+(d[J+4>>0]<<2)>>2]|0)+(c[1984+(d[J+3>>0]<<2)>>2]<<4);a[f+2>>0]=(c[1984+(d[J+6>>0]<<2)>>2]|0)+(c[1984+(d[J+5>>0]<<2)>>2]<<4);a[f+3>>0]=(c[1984+(d[J+8>>0]<<2)>>2]|0)+(c[1984+(d[J+7>>0]<<2)>>2]<<4);a[f+4>>0]=(c[1984+(d[J+10>>0]<<2)>>2]|0)+(c[1984+(d[J+9>>0]<<2)>>2]<<4);a[f+5>>0]=(c[1984+(d[J+12>>0]<<2)>>2]|0)+(c[1984+(d[J+11>>0]<<2)>>2]<<4);a[f+6>>0]=(c[1984+(d[J+14>>0]<<2)>>2]|0)+(c[1984+(d[J+13>>0]<<2)>>2]<<4);a[f+7>>0]=(c[1984+(d[J+16>>0]<<2)>>2]|0)+(c[1984+(d[J+15>>0]<<2)>>2]<<4);K=Fk(b,f,8,8,8)|0;L=J+17|0;break}else{K=Fk(b,q,8,8,8)|0;L=J+9|0;break}else{K=0;L=q}while(0);j=h;k=L+-1|0;l=(K|0)>(w|0)?K:w;break a}q=b+8|0;s=J+1|0;x=c[q>>2]|0;if(s>>>0>>0){n=a[s>>0]|0;y=n&255;z=y+-48|0;A=z>>>0<10?z:(n&255)>96?y+-87|0:0;y=J+2|0;if(y>>>0>>0){n=a[y>>0]|0;z=n&255;B=z+-48|0;C=(B>>>0<10?B:(n&255)>96?z+-87|0:0)+(A<<4)|0;z=J+3|0;if(z>>>0>>0){n=a[z>>0]|0;B=n&255;r=B+-48|0;m=(r>>>0<10?r:(n&255)>96?B+-87|0:0)+(C<<4)|0;B=J+4|0;if(B>>>0>>0){n=a[B>>0]|0;r=n&255;D=r+-48|0;M=(D>>>0<10?D:(n&255)>96?r+-87|0:0)+(m<<4)|0;N=J+5|0}else{M=m;N=B}}else{M=C;N=z}}else{M=A;N=y}}else{M=0;N=s}if(N>>>0>>0){x=N;s=M;while(1){Ok(3077500,c[808062]|0,s,d[x>>0]|0);y=x+1|0;dh(1);if(y>>>0<(c[q>>2]|0)>>>0){x=y;s=s+1|0}else{O=y;break}}}else O=N;s=O+-1|0;c[g>>2]=s;a[s>>0]=0;P=0;Ia=e;return P|0}case 7:{s=h+1|0;x=a[s>>0]|0;d:do if((x+-48&255)>=10){q=Hq(0)|0;y=(q|0)==((c[808062]|0)+41596|0);q=Hq(1)|0;A=(q|0)==((c[808062]|0)+41596|0)|y;y=Hq(2)|0;q=(y|0)==((c[808062]|0)+41596|0)|A;A=Hq(3)|0;y=c[808062]|0;if((A|0)==(y+41596|0)|q){q=Hq(0)|0;A=(q|0)==((c[808062]|0)+40936|0);q=Hq(1)|0;z=(q|0)==((c[808062]|0)+40936|0)|A;A=Hq(2)|0;q=(A|0)==((c[808062]|0)+40936|0)|z;z=Hq(3)|0;A=c[808062]|0;if((z|0)==(A+40936|0)|q){q=Hq(0)|0;z=(q|0)==((c[808062]|0)+40276|0);q=Hq(1)|0;C=(q|0)==((c[808062]|0)+40276|0)|z;z=Hq(2)|0;q=(z|0)==((c[808062]|0)+40276|0)|C;C=Hq(3)|0;z=c[808062]|0;if((C|0)==(z+40276|0)|q){q=Hq(0)|0;C=(q|0)==((c[808062]|0)+39616|0);q=Hq(1)|0;B=(q|0)==((c[808062]|0)+39616|0)|C;C=Hq(2)|0;q=(C|0)==((c[808062]|0)+39616|0)|B;B=Hq(3)|0;C=c[808062]|0;Q=s;R=(B|0)==(C+39616|0)|q?63:60;S=C;p=72}else{Q=s;R=61;S=z;p=72}}else{Q=s;R=62;S=A;p=72}}else{Q=s;R=63;S=y;p=72}}else{y=(x&255)+-48|0;A=h+2|0;z=a[A>>0]|0;if((z+-48&255)<10){C=(y*10|0)+-48+(z&255)|0;q=(C|0)<63?C:63;C=h+3|0;T=(q|0)>0?q:0;U=C;V=a[C>>0]|0}else{T=y;U=A;V=z}switch(V<<24>>24){case 0:case 10:case 32:{W=U;X=(c[808062]|0)+16+(T*660|0)|0;break d;break}default:{Q=U;R=T;S=c[808062]|0;p=72;break d}}}while(0);e:do if((p|0)==72){x=S+16+(R*660|0)|0;$p(x,0,660);s=S+16+(R*660|0)+8|0;c[s>>2]=4;z=S+16+(R*660|0)+12|0;A=S+16+(R*660|0)+16|0;y=Q;f:while(1){switch(a[y>>0]|0){case 0:case 10:case 32:{p=82;break f;break}case 115:{C=a[y+1>>0]|0;if(!(C<<24>>24)){Y=0;break f}q=C&255;B=q+-48|0;c[s>>2]=B>>>0<10?B:(C&255)>96?q+-87|0:0;Z=2;break}case 108:{q=a[y+1>>0]|0;C=q&255;if(!(q<<24>>24)){Y=0;break f}B=y+2|0;if(!(a[B>>0]|0)){Y=0;break f}m=C+-48|0;c[z>>2]=m>>>0<10?m:(q&255)>96?C+-87|0:0;C=a[B>>0]|0;B=C&255;q=B+-48|0;c[A>>2]=q>>>0<10?q:(C&255)>96?B+-87|0:0;Z=3;break}case 122:{B=a[y+1>>0]|0;if(!(B<<24>>24)){Y=0;break f}C=B&255;q=C+-48|0;c[x>>2]=(q>>>0<10?q:(B&255)>96?C+2147483561|0:0)<<1;Z=2;break}default:{Y=0;break f}}y=y+Z|0}if((p|0)==82){c[s>>2]=16;c[S+16+(R*660|0)+20>>2]=46;c[S+16+(R*660|0)+24>>2]=0;c[S+16+(R*660|0)+28>>2]=5;c[S+16+(R*660|0)+32>>2]=0;Y=1}A=3;z=0;C=5;B=5;q=Y;m=y;while(1){r=q>>>0<32;n=A;D=z;_=C;$=B;aa=m;g:while(1){ba=n;ca=D;da=_;ea=aa;h:while(1){fa=ba;ga=ca;ha=ea;i:while(1){ia=fa;ja=ha;j:while(1){ka=a[ja>>0]|0;switch(ka<<24>>24){case 32:case 0:{W=ja;X=x;break e;break}default:{}}if(!(r&ka<<24>>24!=10)){W=ja;X=x;break e}switch(ka<<24>>24){case 46:{p=95;break g;break}case 0:{p=104;break g;break}case 98:{p=103;break g;break}case 100:{la=2;p=106;break g;break}case 101:{p=99;break g;break}case 102:{p=100;break g;break}case 103:{p=101;break g;break}case 97:{p=102;break g;break}case 105:{break h;break}case 118:{p=92;break i;break}case 62:case 60:{p=97;break i;break}case 120:{break j;break}case 93:case 91:break;default:{p=105;break g}}ma=(ka<<24>>24==91?-1:1)+ia|0;na=(ma|0)<5?ma:5;ia=(na|0)>0?na:0;ja=ja+1|0}na=a[ja+1>>0]|0;ma=na&255;oa=ma+-48|0;fa=ia;ga=(oa>>>0<10?oa:(na&255)>96?ma+1|0:0)&7;ha=ja+2|0}if((p|0)==92){p=0;ha=a[ja+1>>0]|0;fa=ha&255;ma=fa+-48|0;pa=(ma>>>0<10?ma:(ha&255)>96?fa+1|0:0)&7;qa=ja+2|0}else if((p|0)==97){p=0;fa=(ka<<24>>24==60?-1:1)+da|0;ha=(fa|0)<7?fa:7;pa=(ha|0)>0?ha:0;qa=ja+1|0}ba=ia;ca=ga;da=pa;ea=qa}ea=a[ja+1>>0]|0;ca=ea&255;ba=ca+-48|0;n=ia;D=ga;_=da;$=(ba>>>0<10?ba:(ea&255)>96?ca+9|0:0)&15;aa=ja+2|0}if((p|0)==95){p=0;ra=ia;sa=ja+1|0}else if((p|0)==99){p=0;la=4;p=106}else if((p|0)==100){p=0;la=5;p=106}else if((p|0)==101){p=0;la=7;p=106}else if((p|0)==102){p=0;la=9;p=106}else if((p|0)==103){p=0;la=11;p=106}else if((p|0)==104){p=0;la=12;p=106}else if((p|0)==105){p=0;la=0;p=106}if((p|0)==106){p=0;aa=S+16+(R*660|0)+20+(q*20|0)|0;c[aa>>2]=la;c[S+16+(R*660|0)+20+(q*20|0)+4>>2]=$&7;c[S+16+(R*660|0)+20+(q*20|0)+8>>2]=da&7;c[S+16+(R*660|0)+20+(q*20|0)+12>>2]=ga;_=ja+1|0;D=a[_>>0]|0;n=ja+2|0;if(D<<24>>24==35){r=la+1|0;c[aa>>2]=r;ta=n;ua=a[n>>0]|0;va=r}else{ta=_;ua=D;va=la}if(ua<<24>>24==45){D=va+-1|0;c[aa>>2]=D;_=ta+1|0;wa=_;xa=a[_>>0]|0;ya=D}else{wa=ta;xa=ua;ya=va}D=(xa+-48&255)<6;_=D?(xa&255)+-48|0:ia;r=(_*12|0)+ya|0;n=(r|0)<63?r:63;c[aa>>2]=(n|0)>0?n:0;ra=_;sa=D?wa+1|0:wa}A=ra;z=ga;C=da;B=$;q=q+1|0;m=sa}}while(0);if((c[806968]|0)==0&(c[584657]|0)!=0){Qq(0,0);Tq();c[584657]=0}Cq(X,0,0,c[808062]|0,-1)|0;j=h;k=(a[W>>0]|0)==10?W+-1|0:W;l=0;break}case 8:{c[807090]=(c[807090]|0)-(c[b+104>>2]|0);j=h;k=h;l=0;break}case 9:{m=c[b+108>>2]|0;q=(c[807090]|0)+m|0;c[807090]=q-((q|0)%(m|0)|0);j=h;k=h;l=0;break}case 10:{c[807090]=c[b+28>>2];m=b+48|0;q=c[m>>2]|0;if(!(c[b+16>>2]|0))c[807091]=(c[807091]|0)+q;else{c[807096]=q;$a();c[807096]=6}c[m>>2]=c[b+92>>2];j=h;k=h;l=0;break}case 11:{m=c[807090]|0;q=b+96|0;B=c[q>>2]|0;c[807090]=B;c[q>>2]=m;m=c[807091]|0;q=b+100|0;C=c[q>>2]|0;c[807091]=C;c[q>>2]=m;c[b+112>>2]=1;m=h+1|0;q=a[m>>0]|0;z=q&255;A=z+-48|0;x=A>>>0<10?A:(q&255)>96?z+-87|0:0;z=(x|0)/4|0;c[807090]=B+-2+(x-(z<<2));c[807091]=C+-8+z;j=h;k=m;l=0;break}case 12:{m=h+1|0;z=a[m>>0]|0;C=z&255;x=C+-48|0;B=x>>>0<10?x:(z&255)>96?C+-87|0:0;c[b+36>>2]=B;c[807089]=B;j=h;k=m;l=0;break}case 13:{c[807090]=c[b+28>>2];j=h;k=h;l=0;break}case 14:{c[b+12>>2]=3254268;c[b+84>>2]=d[3254268];c[b+88>>2]=d[3254269];c[b+92>>2]=d[3254270];c[b+120>>2]=d[3254271];c[b+124>>2]=d[3254272];j=h;k=h;l=0;break}case 15:{c[b+12>>2]=1417728;c[b+84>>2]=d[1417728];c[b+88>>2]=d[1417729];c[b+92>>2]=d[1417730];c[b+120>>2]=d[1417731];c[b+124>>2]=d[1417732];j=h;k=h;l=0;break}default:{o=i;p=125}}while(0);if((p|0)==125){p=o&255;o=c[b+12>>2]|0;i=Fk(b,o+(p<<3)|0,c[((p&128|0)==0?b+84|0:b+88|0)>>2]|0,c[b+92>>2]|0,d[o>>0]|0)|0;j=h;k=h;l=(i|0)>0?i:0}i=b+116|0;b=c[i>>2]|0;if((b|0)>0){c[i>>2]=b+-1;za=j}else za=k+1|0;c[g>>2]=za;P=l;Ia=e;return P|0}function Hk(){Av(2336364,0,132)|0;return}function Ik(){cq(c[584091]|0);c[584091]=0;return}function Jk(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0;b=Pk(3077500,c[808062]|0,24408)|0;e=Pk(3077500,c[808062]|0,24409)|0;f=Pk(3077500,c[808062]|0,24410)|0;g=Pk(3077500,c[808062]|0,24411)|0;h=(b&1|0)==0?2:b;b=(h&128|0)==0?1417728:3254268;c[584094]=b;c[584109]=h>>>1&1;c[584105]=h>>>2&1;c[584106]=h>>>3&1;c[584110]=h>>>4&1;c[584111]=h>>>5&1;c[584107]=h>>>6&1;c[584108]=0;c[584118]=16;h=a[b>>0]|0;c[584112]=h&255;i=a[b+1>>0]|0;c[584113]=i&255;j=a[b+2>>0]|0;c[584114]=j&255;c[584121]=d[b+3>>0];c[584122]=d[b+4>>0];if(!((i|h|j)<<24>>24)){c[584112]=8;c[584114]=8;c[584113]=8}j=e&15;if(j|0)c[584112]=j;if(e&240|0)c[584114]=e>>>4&15;e=f&15;if(e|0)c[584113]=e;if(f&240|0)c[584118]=(f>>>2&60)+4;f=g&15;if(f|0)c[584121]=f;if(!(g&240))return;c[584122]=g>>>4&15;return}function Kk(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=c[584091]|0;if(!b){d=0;return d|0}e=c[584104]|0;if((e|0)>0){c[584104]=e+-1;d=1;return d|0}e=c[584092]|0;do if(a[e>>0]|0){f=e;while(1){g=Gk(2336364)|0;h=(c[584092]|0)-f|0;dh((h|0)>1?h:1);if(g|0){d=g;i=10;break}f=c[584092]|0;if(!(a[f>>0]|0)){i=8;break}}if((i|0)==8){j=c[584091]|0;break}else if((i|0)==10)return d|0}else j=b;while(0);cq(j);c[584091]=0;d=0;return d|0}function Lk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!d){h=0;return h|0}if(!(c[584090]|0)){c[584090]=1;$p(1417728,0,2048);i=c[769402]|0;j=0;do{k=c[(c[i>>2]|0)+(j<<2)>>2]|0;l=k+4|0;if((c[l>>2]|0)>0){m=j<<3;n=k+16|0;o=0;do{p=c[k>>2]|0;if((p|0)>0){q=c[(c[n>>2]|0)+(o<<2)>>2]|0;r=0;s=0;while(1){t=((a[q+r>>0]|0)==0?0:1<>0]=u;o=o+1|0}while((o|0)<(c[l>>2]|0))}j=j+1|0}while((j|0)!=256);a[1417728]=4;a[1417729]=8;a[1417730]=6;a[1417731]=0;a[1417732]=0}cq(c[584091]|0);$p(2336364,0,132);j=_p(e+4|0)|0;c[584091]=j;zv(j|0,d|0,e|0)|0;Jk();d=c[584091]|0;c[584092]=d;j=d+e|0;c[584093]=j;c[584096]=f&16;c[584097]=c[b+32>>2];c[584095]=f&32;c[584098]=c[807092];c[584099]=c[807091];c[584100]=g&15;c[584101]=g>>>4&15;c[584102]=b;c[584104]=0;c[584120]=0;c[584103]=c[584114];c[584117]=c[584112];if(!(a[3256626]&4)){a[j>>0]=10;a[(c[584091]|0)+(e+1)>>0]=0;v=c[584091]|0}else v=d;if(!v){h=0;return h|0}d=c[584104]|0;if((d|0)>0){c[584104]=d+-1;h=1;return h|0}d=c[584092]|0;do if(a[d>>0]|0){e=d;while(1){j=Gk(2336364)|0;b=(c[584092]|0)-e|0;dh((b|0)>1?b:1);if(j|0){h=j;w=23;break}e=c[584092]|0;if(!(a[e>>0]|0)){w=21;break}}if((w|0)==21){x=c[584091]|0;break}else if((w|0)==23)return h|0}else x=v;while(0);cq(x);c[584091]=0;h=0;return h|0}function Mk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=(b|0)!=0;if(!e){if(!a){f=0;return f|0}g=b+-4|0;h=c[g>>2]|0;cq(g);c[807111]=(c[807111]|0)-h;f=0;return f|0}h=c[807111]|0;g=(c[824449]|0)+h|0;if((g|0)>(((c[473572]|0)==0?2359296:2113536)|0)){c[824524]=1;wg();i=c[807111]|0;j=(c[824449]|0)+i|0;k=i}else{j=g;k=h}if((j|0)>67108864){Gg(62851);Hg(62873,(c[807111]|0)/1048576|0,e>>>10);c[824526]=1;f=0;return f|0}if(a){j=b+-4|0;h=c[j>>2]|0;c[807111]=k-h;k=bq(j,e+4|0)|0;l=(h|0)==0?0:e;m=k}else{l=0;m=bq(0,e+4|0)|0}k=(b|0)==0;b=k&(d|0)==0&(c[824447]|0)!=0?0:k&(d+-7|0)>>>0<13?32:a?l:(d|0)!=2&(k&d>>>0<7)?e:0;c[807111]=b+(c[807111]|0);c[m>>2]=b;f=m+4|0;return f|0}function Nk(){var a=0,b=0;a=c[573528]|0;b=c[804540]|0;if(b|0)c[b+332>>2]=a;b=c[804541]|0;if(b|0)c[b+332>>2]=a;b=c[804542]|0;if(b|0)c[b+332>>2]=a;b=c[804543]|0;if(b|0)c[b+332>>2]=a;b=c[804544]|0;if(b|0)c[b+332>>2]=a;b=c[804545]|0;if(b|0)c[b+332>>2]=a;b=c[804546]|0;if(b|0)c[b+332>>2]=a;b=c[804547]|0;if(b|0)c[b+332>>2]=a;b=c[804548]|0;if(b|0)c[b+332>>2]=a;b=c[804549]|0;if(b|0)c[b+332>>2]=a;b=c[804550]|0;if(b|0)c[b+332>>2]=a;b=c[804551]|0;if(b|0)c[b+332>>2]=a;b=c[804552]|0;if(b|0)c[b+332>>2]=a;b=c[804553]|0;if(b|0)c[b+332>>2]=a;b=c[804554]|0;if(b|0)c[b+332>>2]=a;b=c[804555]|0;if(!b)return;c[b+332>>2]=a;return}function Ok(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=e&65535;h=g>>>0<24320;if((g+-17152|0)>>>0<7168&(c[769397]|0)>0)return;i=f&255;j=i>>>0>127?f|-256:i;k=(b|0)==0;if(!k)a[b+154752+g>>0]=f;if(e&32768|0)return;if(g>>>0<4096){b=d+8|0;l=g>>>6;m=e<<1&126;a[(c[(c[(c[b>>2]|0)+16>>2]|0)+(l<<2)>>2]|0)+m>>0]=f&15;a[(c[(c[(c[b>>2]|0)+16>>2]|0)+(l<<2)>>2]|0)+(m|1)>>0]=f>>>4&15;return}if(g>>>0<8192){m=d+8|0;l=g>>>6;b=e<<1&126;a[(c[(c[(c[m>>2]|0)+16>>2]|0)+(l<<2)>>2]|0)+b>>0]=f&15;a[(c[(c[(c[m>>2]|0)+16>>2]|0)+(l<<2)>>2]|0)+(b|1)>>0]=f>>>4&15;a[(c[(c[(c[d+12>>2]|0)+16>>2]|0)+(g>>>7<<2)>>2]|0)+(e&127)>>0]=f;return}if(g>>>0<12288){b=g+-8192|0;a[(c[(c[(c[d+12>>2]|0)+16>>2]|0)+(b>>7<<2)>>2]|0)+(b&127)>>0]=f;return}if(g>>>0<12544){c[d+43552+(g+-12288<<2)>>2]=i;return}if(g>>>0<12800){b=g+-12544|0;l=(b|0)/4|0;m=b&3;c[d+42256+(l<<4)+(m<<2)>>2]=f&127;b=1<>2]|0;c[m>>2]=l&~b;if(!(f&128))return;c[m>>2]=l|b;return}if(g>>>0<17152){b=g+-12800|0;l=(b|0)/68|0;m=b-(l*68|0)|0;if((m|0)<64){b=(m|0)/2|0;if(!(m&1)){c[d+16+(l*660|0)+20+(b*20|0)>>2]=f&63;n=d+16+(l*660|0)+20+(b*20|0)+4|0;c[n>>2]=c[n>>2]&4|f>>>6&3;return}else{n=d+16+(l*660|0)+20+(b*20|0)+4|0;c[n>>2]=c[n>>2]&3|f<<2&4;c[d+16+(l*660|0)+20+(b*20|0)+8>>2]=f>>>1&7;c[d+16+(l*660|0)+20+(b*20|0)+12>>2]=f>>>4&7;c[d+16+(l*660|0)+20+(b*20|0)+16>>2]=f&128;return}}switch(m|0){case 64:{c[d+16+(l*660|0)+4>>2]=f&1;c[d+16+(l*660|0)>>2]=f&254;return}case 65:{c[d+16+(l*660|0)+8>>2]=i;return}case 66:{c[d+16+(l*660|0)+12>>2]=i;return}case 67:{c[d+16+(l*660|0)+16>>2]=i;return}default:return}}if(k|g>>>0<24064)return;if(h){h=g+-24064|0;k=3223492+(((h|0)/4|0)<<2)|0;l=c[k>>2]|0;d=h<<3&24;h=l&~(255<>2]=h;if((l|0)==(h|0))return;c[824522]=1;return}if(g>>>0>=24448)if(g>>>0<24576){Km(g+-24448|0,i);return}else{h=g+-24576|0;l=h>>6;k=h<<1&126;a[(c[(c[(c[769383]|0)+16>>2]|0)+(l<<2)>>2]|0)+k>>0]=f&15;a[(c[(c[(c[769383]|0)+16>>2]|0)+(l<<2)>>2]|0)+(k|1)>>0]=f>>>4&15;return}k=g+-24320|0;if(g>>>0<24336){c[3228148+(k<<2)>>2]=i;return}if(g>>>0<24352){c[3228212+(g+-24336<<2)>>2]=i;if(!(f&128))return;nb();return}if(g>>>0<24356){c[3228340+(g+-24352<<2)>>2]=i;Ak();return}do switch((e&65535)<<16>>16){case 24356:{c[807092]=i;return}case 24357:{c[807089]=i;return}case 24358:{c[807090]=i;return}case 24359:{c[807091]=i;return}case 24360:{c[807097]=c[807097]&-256|i;return}case 24361:{c[807097]=c[807097]&255|j<<8;return}case 24362:{c[807098]=c[807098]&-256|i;return}case 24363:{c[807098]=c[807098]&255|j<<8;return}case 24364:{c[807100]=i;return}case 24369:{c[807105]=c[807105]&-256|i;return}case 24370:{c[807105]=c[807105]&-65281|i<<8;return}case 24371:{c[807105]=c[807105]&-16711681|i<<16;return}case 24372:{c[807110]=i;return}case 24373:{c[807108]=i;return}case 24380:{c[807106]=c[807106]&-256|i;return}case 24381:{c[807106]=c[807106]&255|j<<8;return}case 24382:{c[807107]=c[807107]&-256|i;return}case 24383:{c[807107]=c[807107]&255|j<<8;return}case 24384:{c[807447]=i;return}case 24385:{c[807448]=i;return}case 24386:{c[807449]=i;return}case 24387:{c[807450]=i;return}default:switch((e&65532)<<16>>16){case 24388:{l=(g<<3)+-195104|0;ll(0,(kl(0)|0)&~(255<>2]=f&1;c[3228448+(l<<5)+4>>2]=f>>>1&1;c[3228448+(l<<5)+8>>2]=f>>>2&1;c[3228448+(l<<5)+12>>2]=f>>>3&1;c[3228448+(l<<5)+16>>2]=f>>>4&1;c[3228448+(l<<5)+20>>2]=f>>>5&1;return}default:switch(k|1|0){case 85:{Bk(c[824990]|0);return}case 87:{Ch();return}default:{if((k|0)==94){c[807101]=i;c[807102]=f&15;c[807103]=f>>>4&15;return}if((e&65520|0)!=24416)return;c[3228276+(g+-24416<<2)>>2]=i;return}}}}while(0)}function Pk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=f&65535;h=(b|0)==0;if(h)i=0;else i=d[b+154752+g>>0]|0;a:do if(g>>>0>=8192){if(g>>>0<12288){b=g+-8192|0;j=d[(c[(c[(c[e+12>>2]|0)+16>>2]|0)+(b>>7<<2)>>2]|0)+(b&127)>>0]|0;break}if(g>>>0<12544){j=c[e+43552+(g+-12288<<2)>>2]|0;break}if(g>>>0<12800){b=g+-12544|0;k=(b|0)/4|0;l=b&3;b=c[e+42256+(k<<4)+(l<<2)>>2]&127;j=(c[e+43280+(k<<2)>>2]&1<>>0<17152){b=g+-12800|0;l=(b|0)/68|0;k=b-(l*68|0)|0;if((k|0)<64){b=(k|0)/2|0;if(!(k&1)){j=c[e+16+(l*660|0)+20+(b*20|0)+4>>2]<<6&192|c[e+16+(l*660|0)+20+(b*20|0)>>2];break}else{j=c[e+16+(l*660|0)+20+(b*20|0)+8>>2]<<1&14|(c[e+16+(l*660|0)+20+(b*20|0)+4>>2]|0)>>>2&1|c[e+16+(l*660|0)+20+(b*20|0)+12>>2]<<4&112|c[e+16+(l*660|0)+20+(b*20|0)+16>>2]&128;break}}switch(k|0){case 64:{j=c[e+16+(l*660|0)>>2]&254|c[e+16+(l*660|0)+4>>2]&1;break a;break}case 65:{j=c[e+16+(l*660|0)+8>>2]|0;break a;break}case 66:{j=c[e+16+(l*660|0)+12>>2]|0;break a;break}case 67:{j=c[e+16+(l*660|0)+16>>2]|0;break a;break}default:{j=i;break a}}}if(h){m=0;return m|0}if(g>>>0<24064)j=i;else{if(g>>>0<24320){l=g+-24064|0;j=(c[3223492+(((l|0)/4|0)<<2)>>2]|0)>>>(l<<3&24)&255;break}if(g>>>0>=24448){if(g>>>0<24576){j=Lm(g+-24448|0)|0;break}if(g>>>0>=32768){j=i;break}l=g+-24576|0;k=c[(c[(c[769383]|0)+16>>2]|0)+(l>>6<<2)>>2]|0;b=l<<1&126;j=(a[k+(b|1)>>0]<<4&255|a[k+b>>0]&15)&255;break}b=g+-24320|0;b:do if(g>>>0<24336)n=c[3228148+(b<<2)>>2]|0;else{if(g>>>0<24352){n=c[3228212+(g+-24336<<2)>>2]|0;break}if(g>>>0<24356){n=c[3228340+(g+-24352<<2)>>2]|0;break}do switch((f&65535)<<16>>16){case 24356:{n=c[807092]|0;break b;break}case 24357:{n=c[807089]|0;break b;break}case 24358:{n=c[807090]|0;break b;break}case 24359:{n=c[807091]|0;break b;break}case 24360:{n=c[807097]&255;break b;break}case 24361:{n=c[807097]>>8;break b;break}case 24362:{n=c[807098]&255;break b;break}case 24363:{n=c[807098]>>8;break b;break}case 24364:{n=c[807100]|0;break b;break}case 24369:{n=c[807105]&255;break b;break}case 24370:{n=(c[807105]|0)>>>8&255;break b;break}case 24371:{n=(c[807105]|0)>>>16&255;break b;break}case 24373:{n=c[807108]&255;break b;break}case 24380:{n=c[807106]&255;break b;break}case 24381:{n=c[807106]>>8;break b;break}case 24382:{n=c[807107]&255;break b;break}case 24383:{n=c[807107]>>8;break b;break}case 24384:{n=c[807447]|0;break b;break}case 24385:{n=c[807448]|0;break b;break}case 24386:{n=c[807449]|0;break b;break}case 24387:{n=c[807450]|0;break b;break}default:switch((f&65532)<<16>>16){case 24388:{n=(kl(0)|0)>>>((g<<3)+-195104|0)&255;break b;break}case 24392:{n=(kl(1)|0)>>>((g<<3)+-195136|0)&255;break b;break}default:{k=g+-24396|0;if(k>>>0<8){n=((c[3228448+(k<<5)+20>>2]|0)==0?0:32)|(((c[3228448+(k<<5)+16>>2]|0)==0?0:16)|(((c[3228448+(k<<5)+12>>2]|0)==0?0:8)|(((c[3228448+(k<<5)+8>>2]|0)==0?0:4)|(((c[3228448+(k<<5)+4>>2]|0)==0?0:2)|(c[3228448+(k<<5)>>2]|0)!=0))))|a[3232252+g>>0]&-64&255;break b}if((b|0)==94){n=c[807101]&255;break b}if((f&65520|0)!=24416){n=i;break b}n=c[3228276+(g+-24416<<2)>>2]|0;break b}}}while(0)}while(0);j=n&255}}else{b=c[(c[(c[e+8>>2]|0)+16>>2]|0)+(g>>>6<<2)>>2]|0;k=f<<1&126;j=((d[b+(k|1)>>0]|0)<<4)+(d[b+k>>0]|0)|0}while(0);m=j&255;return m|0}function Qk(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;if((h|0)>32767)return;i=g&65535;j=f&65535;k=a[3008+(g>>>8&255)>>0]|0;g=k<<24>>24;l=i+h|0;m=a[3008+(f>>>8&255)>>0]|0;f=m<<24>>24;n=j+h|0;o=(j|0)>=(l|0);p=(n|0)<=(i|0);q=p|o;if(!(m<<24>>24==(a[3008+((n+65535|0)>>>8&255)>>0]|0)&(k<<24>>24==(a[3008+((l+65535|0)>>>8&255)>>0]|0)&(k<<24>>24!=0&m<<24>>24!=0)))){l=(h|0)>0;if(j>>>0>>0){if(!l)return;r=0;do{Ok(b,e,r+j|0,Pk(b,e,r+i|0)|0);r=r+1|0}while((r|0)!=(h|0));return}else{if(!l)return;l=h;do{r=l;l=l+-1|0;Ok(b,e,l+j|0,Pk(b,e,l+i|0)|0)}while((r|0)>1);return}}switch(g|0){case 1:{s=(c[(c[(c[e+8>>2]|0)+16>>2]|0)+(i>>>6<<2)>>2]|0)+(i<<1&126)|0;break}case 2:{l=i+-24576|0;s=(c[(c[(c[769383]|0)+16>>2]|0)+(l>>6<<2)>>2]|0)+(l<<1&126)|0;break}case 8:{l=i+-8192|0;s=(c[(c[(c[e+12>>2]|0)+16>>2]|0)+(l>>7<<2)>>2]|0)+(l&127)|0;break}default:s=b+154752+i|0}switch(f|0){case 1:{t=(c[(c[(c[e+8>>2]|0)+16>>2]|0)+(j>>>6<<2)>>2]|0)+(j<<1&126)|0;break}case 2:{l=j+-24576|0;t=(c[(c[(c[769383]|0)+16>>2]|0)+(l>>6<<2)>>2]|0)+(l<<1&126)|0;break}case 8:{l=j+-8192|0;t=(c[(c[(c[e+12>>2]|0)+16>>2]|0)+(l>>7<<2)>>2]|0)+(l&127)|0;break}default:t=b+154752+j|0}b=g&8;if(i>>>0>>0&((p|o)^1)){o=h<<(b>>>3^1);if(o|0){p=o;do{p=p+-1|0;a[t+p>>0]=a[s+p>>0]|0}while((p|0)!=0)}}else{p=(f&8|0)!=0;do if((k&8&m)<<24>>24){if(q){zv(t|0,s|0,h|0)|0;u=t;v=s;break}if((h|0)>0){f=t+h|0;o=t;i=s;g=0;while(1){a[o>>0]=a[i>>0]|0;g=g+1|0;if((g|0)==(h|0))break;else{o=o+1|0;i=i+1|0}}u=f;v=s+h|0}else{u=t;v=s}}else{u=t;v=s}while(0);do if(!((m|k)&8)){s=h<<1;if(q){zv(u|0,v|0,s|0)|0;w=u;x=v;y=31;break}if((h|0)<=0){z=u;A=v;B=(b|0)==0;C=0;break}t=u;i=v;o=0;while(1){a[t>>0]=a[i>>0]|0;g=t+1|0;l=i+1|0;o=o+1|0;if((o|0)>=(s|0)){w=g;x=l;y=31;break}else{t=g;i=l}}}else{w=u;x=v;y=31}while(0);if((y|0)==31){y=(b|0)==0;b=(h|0)>0;if(b&((y|p)^1)){v=w+(h<<1)|0;u=0;q=w;k=x;while(1){a[q>>0]=a[k>>0]&15;a[q+1>>0]=(d[k>>0]|0)>>>4;u=u+1|0;if((u|0)==(h|0))break;else{q=q+2|0;k=k+1|0}}z=v;A=x+h|0;B=y;C=b}else{z=w;A=x;B=y;C=b}}if(B&p&C){C=0;p=z;z=A;while(1){a[p>>0]=(a[z+1>>0]<<4&255)+(d[z>>0]|0);C=C+1|0;if((C|0)==(h|0))break;else{p=p+1|0;z=z+2|0}}}}z=j+-4096|0;j=(z|0)<4096?z:4096;z=(j|0)>0?j:0;j=(n|0)<4096?0:(n|0)<8192?n+-4096|0:4096;if(!((j|0)>0&(z|0)<4096&(z|0)<(j|0)))return;n=z;p=(c[(c[e+12>>2]|0)+12>>2]|0)+(z+4096)|0;h=(c[(c[e+8>>2]|0)+12>>2]|0)+((z<<1)+8192)|0;while(1){a[p>>0]=a[h+1>>0]<<4&255|a[h>>0]&15;n=n+1|0;if((n|0)>=(j|0))break;else{p=p+1|0;h=h+2|0}}return}function Rk(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=c&65535;c=d&65535;d=(e|0)>0;if(f>>>0>>0){if(!d)return;g=c;h=e;i=f;while(1){j=256-(g&255)|0;k=256-(i&255)|0;l=j>>>0>>0?j:k;k=(l|0)<(h|0)?l:h;Qk(a,b,i,g,k);h=h-k|0;if((h|0)<=0)break;else{g=k+g|0;i=k+i|0}}return}else{if(!d)return;d=c+e|0;c=e;i=f+e|0;do{e=(d+255&255)+1|0;f=(i+255&255)+1|0;g=e>>>0>>0?e:f;f=(g|0)<(c|0)?g:c;d=d-f|0;i=i-f|0;Qk(a,b,i,d,f);c=c-f|0}while((c|0)>0);return}}function Sk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if((g|0)<=0)return;h=f&255;i=d+8|0;j=d+12|0;k=f&15;l=f>>>4&15;m=g;g=e&65535;while(1){e=256-(g&255)|0;n=(e|0)<(m|0)?e:m;a:do if((n|0)<=32767){e=g&65535;o=a[3008+(g>>>8&255)>>0]|0;p=o<<24>>24;q=n+e|0;if(!(o<<24>>24)){if((n|0)<=0)break;o=0;while(1){Ok(b,d,o+e|0,f);o=o+1|0;if((o|0)==(n|0))break a}}switch(p|0){case 1:{r=e;s=(c[(c[i>>2]|0)+16>>2]|0)+(e>>>6<<2)|0;t=11;break}case 2:{o=e+-24576|0;r=o;s=(c[(c[769383]|0)+16>>2]|0)+(o>>6<<2)|0;t=11;break}case 8:{o=e+-8192|0;u=(c[(c[(c[j>>2]|0)+16>>2]|0)+(o>>7<<2)>>2]|0)+(o&127)|0;t=10;break}default:{o=b+154752+e|0;if(!(p&8)){v=o;t=12}else{u=o;t=10}}}if((t|0)==10){t=0;Av(u|0,h|0,n|0)|0}else if((t|0)==11){t=0;v=(c[s>>2]|0)+(r<<1&126)|0;t=12}if((t|0)==12?(t=0,(n|0)>0):0){o=v;w=0;while(1){a[o>>0]=k;a[o+1>>0]=l;w=w+1|0;if((w|0)==(n|0))break;else o=o+2|0}}o=e+-4096|0;w=(o|0)<4096?o:4096;o=(w|0)>0?w:0;w=(q|0)<4096?0:(q|0)<8192?q+-4096|0:4096;if((o|0)<4096&(w|0)>0)Av((c[(c[j>>2]|0)+12>>2]|0)+(o+4096)|0,h|0,w-o|0)|0}while(0);m=m-n|0;if((m|0)<=0)break;else g=n+g|0}return}function Tk(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;if((g|0)>32767)return;if((g|0)>0){h=0;do{Ok(b,d,h+e|0,Pk(0,c[18988]|0,h+f|0)|0);h=h+1|0}while((h|0)!=(g|0))}if(!(a[3226824]|0))return;a[3226824]=0;g=30-(c[806971]|0)|0;h=(g|0)<30?g:30;c[806970]=(h|0)>2?h:2;c[806971]=150;return}function Uk(a){a=a|0;var b=0,d=0;b=a>>16;a=Pk(3077500,c[808062]|0,b)|0;d=((Pk(3077500,c[808062]|0,b+1|0)|0)<<8)+a|0;a=d+((Pk(3077500,c[808062]|0,b+2|0)|0)<<16)|0;return a+((Pk(3077500,c[808062]|0,b+3|0)|0)<<24)|0}function Vk(a){a=a|0;var b=0;b=a>>16;a=(Pk(3077500,c[808062]|0,b)|0)<<16;return ((Pk(3077500,c[808062]|0,b+1|0)|0)<<24)+a|0}function Wk(a){a=a|0;return (Pk(3077500,c[808062]|0,a>>16)|0)<<16|0}function Xk(){return}function Yk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=Ia;Ia=Ia+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=0;c[f>>2]=0;c[g>>2]=0;a:do if(b>>>0>7)h=0;else{Cr(b-(c[473574]|0)|0,e,f,g);if((a|0)>=4)switch(a|0){case 4:{h=(c[g>>2]&9|0)==0?0:255;break a;break}case 5:{h=(c[g>>2]&6|0)==0?0:255;break a;break}case 6:{h=(c[g>>2]&64|0)==0?0:255;break a;break}default:{h=0;break a}}i=c[e>>2]|0;j=B((i|0)/2|0,i)|0;k=c[f>>2]|0;b:do if(((B((k|0)/2|0,k)|0)+j|0)>134217728)switch(a|0){case 0:{l=i<<8;m=0-l|0;if((32767-l|0)>>>0>8388606){h=(m|0)<-32767?0:255;break a}h=(m|0)/32768|0;break a;break}case 1:{if((i+127|0)>>>0>32766){h=(i|0)<-127?0:255;break a}h=(i|0)/128|0;break a;break}case 2:{m=k<<8;l=0-m|0;if((32767-m|0)>>>0>8388606){h=(l|0)<-32767?0:255;break a}h=(l|0)/32768|0;break a;break}case 3:{if((k+127|0)>>>0>32766){h=(k|0)<-127?0:255;break a}h=(k|0)/128|0;break a;break}default:break b}else switch(a|0){case 0:{if(!(c[g>>2]&8192))break b;else{h=255;break a}break}case 1:{if(!(c[g>>2]&16384))break b;else{h=255;break a}break}case 2:{if(!(c[g>>2]&2048))break b;else{h=255;break a}break}case 3:{if(!(c[g>>2]&4096))break b;else{h=255;break a}break}default:break b}while(0);h=0}while(0);Ia=d;return h|0}function Zk(a){a=a|0;return ((c[473588]|0)==(a|0)|(c[473589]|0)==(a|0)|(c[473590]|0)==(a|0)|(c[473591]|0)==(a|0)|(c[473592]|0)==(a|0)|(c[473593]|0)==(a|0))&1|0}function _k(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;d=Ia;Ia=Ia+16|0;e=d+8|0;f=d+4|0;g=d;h=(b|0)==0;a:do if(h){switch(a|0){case 0:{i=c[473588]|0;j=0;k=0;l=(i|0)==0?80:i;m=9;break}case 1:{i=c[473589]|0;j=0;k=0;l=(i|0)==0?79:i;m=9;break}case 2:{i=c[473590]|0;j=0;k=0;l=(i|0)==0?82:i;m=9;break}case 3:{i=c[473591]|0;j=0;k=0;l=(i|0)==0?81:i;m=9;break}case 4:{i=c[473592]|0;j=0;k=1;l=(i|0)==0?29:i;m=9;break}case 5:{i=c[473593]|0;j=1;k=0;l=(i|0)==0?27:i;m=9;break}default:{n=0;o=0;p=0}}if((m|0)==9){n=Wn(l)|0;o=k;p=j}if(!(Wn(-5)|0)){if(o){i=c[473592]|0;q=Wn((i|0)==0?6:i)|0|n}else q=n;if(p){i=c[473593]|0;r=Wn((i|0)==0?25:i)|0|q}else r=q}else r=n;if(o){i=c[473592]|0;s=Wn((i|0)==0?17:i)|0|r}else s=r;if(p&(Wn(-5)|0)==0){i=c[473593]|0;t=Wn((i|0)==0?16:i)|0|s}else t=s;i=(a|0)==6;if(i){u=c[473600]|0;v=Wn((u|0)==0?19:u)|0|t;u=c[473600]|0;w=v|(Wn((u|0)==0?40:u)|0)}else w=t;if(i&((c[824858]|0)==2&(((c[806962]|0)!=1|(c[806968]|0)==0|(c[474480]|0)!=0)^1))){i=c[473600]|0;x=Wn((i|0)==0?41:i)|0|w}else x=w}else if((b|0)==1)switch(a|0){case 0:{i=c[473594]|0;if(!i){x=Wn(22)|0;break a}else{x=Wn(i)|0;break a}break}case 1:{i=c[473595]|0;if(!i){x=Wn(9)|0;break a}else{x=Wn(i)|0;break a}break}case 2:{i=c[473596]|0;if(!i){x=Wn(8)|0;break a}else{x=Wn(i)|0;break a}break}case 3:{i=c[473597]|0;if(!i){x=Wn(7)|0;break a}else{x=Wn(i)|0;break a}break}case 4:{i=c[473598]|0;u=Wn((i|0)==0?225:i)|0;i=c[473598]|0;v=Wn((i|0)==0?43:i)|0|u;u=c[473598]|0;x=v|(Wn((u|0)==0?26:u)|0);break a;break}case 5:{u=c[473599]|0;v=Wn((u|0)==0?4:u)|0;u=c[473599]|0;x=Wn((u|0)==0?20:u)|0|v;break a;break}default:{x=0;break a}}else x=0;while(0);w=c[3229488+(b<<2)>>2]|0;b=x|(w|0)!=-1&(w&1<>>0<3&h)){y=b;Ia=d;return y|0}if(((Pk(3077500,c[808062]|0,24365)|0)&3|0)!=3){y=b;Ia=d;return y|0}Fr(e,f,g);switch(a|0){case 4:{z=c[g>>2]&2;break}case 5:{z=c[g>>2]&1;break}default:z=c[g>>2]&4}y=(z|0)==0?b:x|1;Ia=d;return y|0}function $k(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;a=(c[474483]|0)==0?0:2;b=a;d=c[474480]|0;while(1){c[3228960+(b<<2)>>2]=1;c[3228448+(b<<2)>>2]=0;if(!d){e=Pk(3077500,c[808062]|0,24412)|0;f=(e|0)==0?15:e;g=c[474480]|0}else{f=15;g=d}h=c[584655]|0;if(!(g|h)){e=c[824514]|0;i=(e|0)>0?e:30}else i=30;c[3229520+(b<<2)>>2]=((B(i,f)|0)/30|0)+1;b=b+1|0;if((b|0)==8)break;else d=g}d=a;b=h;h=g;while(1){c[3228992+(d<<2)>>2]=1;c[3228480+(d<<2)>>2]=0;if(!h){g=Pk(3077500,c[808062]|0,24412)|0;j=(g|0)==0?15:g;k=c[584655]|0;l=c[474480]|0}else{j=15;k=b;l=h}if(!(l|k)){g=c[824514]|0;m=(g|0)>0?g:30}else m=30;c[3229552+(d<<2)>>2]=((B(m,j)|0)/30|0)+1;d=d+1|0;if((d|0)==8)break;else{b=k;h=l}}h=a;b=k;k=l;while(1){c[3229024+(h<<2)>>2]=1;c[3228512+(h<<2)>>2]=0;if(!k){l=Pk(3077500,c[808062]|0,24412)|0;n=(l|0)==0?15:l;o=c[584655]|0;p=c[474480]|0}else{n=15;o=b;p=k}if(!(p|o)){l=c[824514]|0;q=(l|0)>0?l:30}else q=30;c[3229584+(h<<2)>>2]=((B(q,n)|0)/30|0)+1;h=h+1|0;if((h|0)==8)break;else{b=o;k=p}}k=a;b=o;o=p;while(1){c[3229056+(k<<2)>>2]=1;c[3228544+(k<<2)>>2]=0;if(!o){p=Pk(3077500,c[808062]|0,24412)|0;r=(p|0)==0?15:p;s=c[584655]|0;t=c[474480]|0}else{r=15;s=b;t=o}if(!(t|s)){p=c[824514]|0;u=(p|0)>0?p:30}else u=30;c[3229616+(k<<2)>>2]=((B(u,r)|0)/30|0)+1;k=k+1|0;if((k|0)==8)break;else{b=s;o=t}}o=a;b=s;s=t;while(1){c[3229088+(o<<2)>>2]=1;c[3228576+(o<<2)>>2]=0;if(!s){t=Pk(3077500,c[808062]|0,24412)|0;v=(t|0)==0?15:t;w=c[584655]|0;x=c[474480]|0}else{v=15;w=b;x=s}if(!(x|w)){t=c[824514]|0;y=(t|0)>0?t:30}else y=30;c[3229648+(o<<2)>>2]=((B(y,v)|0)/30|0)+1;o=o+1|0;if((o|0)==8)break;else{b=w;s=x}}s=a;b=x;x=w;while(1){c[3229120+(s<<2)>>2]=1;c[3228608+(s<<2)>>2]=0;if(!b){w=Pk(3077500,c[808062]|0,24412)|0;z=(w|0)==0?15:w;A=c[584655]|0;C=c[474480]|0}else{z=15;A=x;C=b}if(!(C|A)){w=c[824514]|0;D=(w|0)>0?w:30}else D=30;c[3229680+(s<<2)>>2]=((B(D,z)|0)/30|0)+1;s=s+1|0;if((s|0)==8)break;else{b=C;x=A}}x=a;b=C;C=A;while(1){c[3229152+(x<<2)>>2]=1;c[3228640+(x<<2)>>2]=0;if(!b){A=Pk(3077500,c[808062]|0,24412)|0;E=(A|0)==0?15:A;F=c[584655]|0;G=c[474480]|0}else{E=15;F=C;G=b}if(!(G|F)){A=c[824514]|0;H=(A|0)>0?A:30}else H=30;c[3229712+(x<<2)>>2]=((B(H,E)|0)/30|0)+1;x=x+1|0;if((x|0)==8)break;else{b=G;C=F}}C=a;a=G;G=F;while(1){c[3229184+(C<<2)>>2]=1;c[3228672+(C<<2)>>2]=0;if(!a){F=Pk(3077500,c[808062]|0,24412)|0;I=(F|0)==0?15:F;J=c[584655]|0;K=c[474480]|0}else{I=15;J=G;K=a}if(!(K|J)){F=c[824514]|0;L=(F|0)>0?F:30}else L=30;c[3229744+(C<<2)>>2]=((B(L,I)|0)/30|0)+1;C=C+1|0;if((C|0)==8)break;else{a=K;G=J}}return}function al(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;Av(3228448,0,256)|0;if((c[573533]|0)>0){c[807112]=Yo(2)|0;c[807113]=Yo(2)|0;c[807114]=Yo(2)|0;c[807115]=Yo(2)|0;c[807116]=Yo(2)|0;c[807117]=Yo(2)|0;c[807120]=Yo(2)|0;c[807121]=Yo(2)|0;c[807122]=Yo(2)|0;c[807123]=Yo(2)|0;c[807124]=Yo(2)|0;c[807125]=Yo(2)|0;c[807128]=Yo(2)|0;c[807129]=Yo(2)|0;c[807130]=Yo(2)|0;c[807131]=Yo(2)|0;c[807132]=Yo(2)|0;c[807133]=Yo(2)|0;c[807136]=Yo(2)|0;c[807137]=Yo(2)|0;c[807138]=Yo(2)|0;c[807139]=Yo(2)|0;c[807140]=Yo(2)|0;c[807141]=Yo(2)|0;c[807144]=Yo(2)|0;c[807145]=Yo(2)|0;c[807146]=Yo(2)|0;c[807147]=Yo(2)|0;c[807148]=Yo(2)|0;c[807149]=Yo(2)|0;c[807152]=Yo(2)|0;c[807153]=Yo(2)|0;c[807154]=Yo(2)|0;c[807155]=Yo(2)|0;c[807156]=Yo(2)|0;c[807157]=Yo(2)|0;c[807160]=Yo(2)|0;c[807161]=Yo(2)|0;c[807162]=Yo(2)|0;c[807163]=Yo(2)|0;c[807164]=Yo(2)|0;c[807165]=Yo(2)|0;c[807168]=Yo(2)|0;c[807169]=Yo(2)|0;c[807170]=Yo(2)|0;c[807171]=Yo(2)|0;c[807172]=Yo(2)|0;c[807173]=Yo(2)|0;return}a=0;do{b=0;do{if((_k(b,a)|0)==0?(Yk(b,a)|0)<=128:0)c[3228960+(a<<5)+(b<<2)>>2]=0;else d=7;if(((d|0)==7?(d=0,(c[3228960+(a<<5)+(b<<2)>>2]|0)==0):0)?(c[3228448+(a<<5)+(b<<2)>>2]=1,(c[3228704+(a<<5)+(b<<2)>>2]|0)==0):0){e=c[474480]|0;if(!e){f=Pk(3077500,c[808062]|0,24412)|0;g=(f|0)==0?15:f;h=c[474480]|0}else{g=15;h=e}if(!(h|c[584655])){e=c[824514]|0;i=(e|0)>0?e:30}else i=30;c[3229520+(a<<5)+(b<<2)>>2]=((B(i,g)|0)/30|0)+1}b=b+1|0}while((b|0)!=8);a=a+1|0}while((a|0)!=8);c[807368]=c[584644];c[807369]=c[584645];c[584644]=0;c[584645]=0;c[807370]=c[584650];c[807371]=c[584651];c[584650]=0;c[584651]=0;return}function bl(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0;if((c[806962]|0)!=1|(c[806968]|0)==0|(c[474480]|0)!=0)a=0;else{al();a=1}b=0;do{d=3229216+(b<<5)|0;c[d>>2]=0;e=c[3228448+(b<<5)>>2]|0;f=3228704+(b<<5)|0;do if(e|0){if(c[f>>2]|0?(c[3229520+(b<<5)>>2]|0)!=1:0)break;if(!(c[3228960+(b<<5)>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=3229216+(b<<5)+4|0;c[d>>2]=0;g=c[3228448+(b<<5)+4>>2]|0;h=3228704+(b<<5)+4|0;do if(g|0){if(c[h>>2]|0?(c[3229520+(b<<5)+4>>2]|0)!=1:0)break;if(!(c[3228960+(b<<5)+4>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;d=3229216+(b<<5)+8|0;c[d>>2]=0;e=c[3228448+(b<<5)+8>>2]|0;f=3228704+(b<<5)+8|0;do if(e|0){if(c[f>>2]|0?(c[3229520+(b<<5)+8>>2]|0)!=1:0)break;if(!(c[3228960+(b<<5)+8>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=3229216+(b<<5)+12|0;c[d>>2]=0;g=c[3228448+(b<<5)+12>>2]|0;h=3228704+(b<<5)+12|0;do if(g|0){if(c[h>>2]|0?(c[3229520+(b<<5)+12>>2]|0)!=1:0)break;if(!(c[3228960+(b<<5)+12>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;d=3229216+(b<<5)+16|0;c[d>>2]=0;e=c[3228448+(b<<5)+16>>2]|0;f=3228704+(b<<5)+16|0;do if(e|0){if(c[f>>2]|0?(c[3229520+(b<<5)+16>>2]|0)!=1:0)break;if(!(c[3228960+(b<<5)+16>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=3229216+(b<<5)+20|0;c[d>>2]=0;g=c[3228448+(b<<5)+20>>2]|0;h=3228704+(b<<5)+20|0;do if(g|0){if(c[h>>2]|0?(c[3229520+(b<<5)+20>>2]|0)!=1:0)break;if(!(c[3228960+(b<<5)+20>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;d=3229216+(b<<5)+24|0;c[d>>2]=0;e=c[3228448+(b<<5)+24>>2]|0;f=3228704+(b<<5)+24|0;do if(e|0){if(c[f>>2]|0?(c[3229520+(b<<5)+24>>2]|0)!=1:0)break;if(!(c[3228960+(b<<5)+24>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=3229216+(b<<5)+28|0;c[d>>2]=0;g=c[3228448+(b<<5)+28>>2]|0;h=3228704+(b<<5)+28|0;do if(g|0){if(c[h>>2]|0?(c[3229520+(b<<5)+28>>2]|0)!=1:0)break;if(!(c[3228960+(b<<5)+28>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;b=b+1|0}while((b|0)!=8);if((Pk(3077500,c[808062]|0,24412)|0)!=255){b=0;do{d=3229520+(b<<5)|0;e=c[d>>2]|0;if((e|0)>0?(f=e+-1|0,c[d>>2]=f,(f|0)==0):0){f=c[474480]|0;if(!f){e=Pk(3077500,c[808062]|0,24413)|0;i=(e|0)==0?4:e;j=c[474480]|0}else{i=4;j=f}if(!(j|c[584655])){f=c[824514]|0;k=(f|0)>0?f:30}else k=30;c[d>>2]=(B(k,i)|0)/30|0}d=3229520+(b<<5)+4|0;f=c[d>>2]|0;if((f|0)>0?(e=f+-1|0,c[d>>2]=e,(e|0)==0):0){e=c[474480]|0;if(!e){f=Pk(3077500,c[808062]|0,24413)|0;l=(f|0)==0?4:f;m=c[474480]|0}else{l=4;m=e}if(!(m|c[584655])){e=c[824514]|0;n=(e|0)>0?e:30}else n=30;c[d>>2]=(B(n,l)|0)/30|0}d=3229520+(b<<5)+8|0;e=c[d>>2]|0;if((e|0)>0?(f=e+-1|0,c[d>>2]=f,(f|0)==0):0){f=c[474480]|0;if(!f){e=Pk(3077500,c[808062]|0,24413)|0;o=(e|0)==0?4:e;p=c[474480]|0}else{o=4;p=f}if(!(p|c[584655])){f=c[824514]|0;q=(f|0)>0?f:30}else q=30;c[d>>2]=(B(q,o)|0)/30|0}d=3229520+(b<<5)+12|0;f=c[d>>2]|0;if((f|0)>0?(e=f+-1|0,c[d>>2]=e,(e|0)==0):0){e=c[474480]|0;if(!e){f=Pk(3077500,c[808062]|0,24413)|0;r=(f|0)==0?4:f;s=c[474480]|0}else{r=4;s=e}if(!(s|c[584655])){e=c[824514]|0;t=(e|0)>0?e:30}else t=30;c[d>>2]=(B(t,r)|0)/30|0}d=3229520+(b<<5)+16|0;e=c[d>>2]|0;if((e|0)>0?(f=e+-1|0,c[d>>2]=f,(f|0)==0):0){f=c[474480]|0;if(!f){e=Pk(3077500,c[808062]|0,24413)|0;u=(e|0)==0?4:e;v=c[474480]|0}else{u=4;v=f}if(!(v|c[584655])){f=c[824514]|0;w=(f|0)>0?f:30}else w=30;c[d>>2]=(B(w,u)|0)/30|0}d=3229520+(b<<5)+20|0;f=c[d>>2]|0;if((f|0)>0?(e=f+-1|0,c[d>>2]=e,(e|0)==0):0){e=c[474480]|0;if(!e){f=Pk(3077500,c[808062]|0,24413)|0;x=(f|0)==0?4:f;y=c[474480]|0}else{x=4;y=e}if(!(y|c[584655])){e=c[824514]|0;z=(e|0)>0?e:30}else z=30;c[d>>2]=(B(z,x)|0)/30|0}d=3229520+(b<<5)+24|0;e=c[d>>2]|0;if((e|0)>0?(f=e+-1|0,c[d>>2]=f,(f|0)==0):0){f=c[474480]|0;if(!f){e=Pk(3077500,c[808062]|0,24413)|0;A=(e|0)==0?4:e;C=c[474480]|0}else{A=4;C=f}if(!(C|c[584655])){f=c[824514]|0;D=(f|0)>0?f:30}else D=30;c[d>>2]=(B(D,A)|0)/30|0}d=3229520+(b<<5)+28|0;f=c[d>>2]|0;if((f|0)>0?(e=f+-1|0,c[d>>2]=e,(e|0)==0):0){e=c[474480]|0;if(!e){f=Pk(3077500,c[808062]|0,24413)|0;E=(f|0)==0?4:f;F=c[474480]|0}else{E=4;F=e}if(!(F|c[584655])){e=c[824514]|0;G=(e|0)>0?e:30}else G=30;c[d>>2]=(B(G,E)|0)/30|0}b=b+1|0}while((b|0)!=8)}if(a|0)return;al();return}function cl(a,b){a=a|0;b=b|0;var d=0,e=0;if((b|a)>>>0>=8){d=0;return d|0}e=c[3228448+(b<<5)+(a<<2)>>2]|0;if(!(c[3228704+(b<<5)+(a<<2)>>2]|0)){d=e;return d|0}else return ((c[3229520+(b<<5)+(a<<2)>>2]|0)==1?e:0)|0;return 0} function dl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0;e=Ia;Ia=Ia+64|0;f=e+40|0;g=e+24|0;h=e;i=e+56|0;j=aq(131072)|0;k=aq(131072)|0;l=aq(131072)|0;m=aq(131072)|0;n=aq(131072)|0;a[d>>0]=0;if(!(a[b>>0]|0)){cq(j);cq(k);cq(l);cq(m);cq(n);Ia=e;return}o=l;p=l+1|0;q=b;b=1;r=1;while(1){a[j>>0]=0;a[k>>0]=0;a[l>>0]=0;Av(m|0,0,131072)|0;s=0;t=0;u=0;v=0;w=0;x=0;y=q;z=b;while(1){if(x>>>0>=16384){A=s;B=t;C=u;D=w;E=y;F=z;break}x=x+1|0;if(!z)G=nh(y)|0;else G=oh(y)|0;H=ph()|0;do if((H|0)<-998|(H|0)==-995){a[l+v>>0]=32;I=v+1|0;a[l+I>>0]=0;if(y>>>0>>0){J=y;K=w;while(1){L=K+((a[J>>0]|0)==10&1)|0;J=J+1|0;if((J|0)==(G|0)){M=s;N=t;O=u;P=I;Q=L;break}else K=L}}else{M=s;N=t;O=u;P=I;Q=w}}else{K=l+v|0;if((H|0)==63){J=K;L=J;a[L>>0]=32;a[L+1>>0]=112;a[L+2>>0]=114;a[L+3>>0]=105;L=J+4|0;a[L>>0]=110;a[L+1>>0]=116;a[L+2>>0]=40;a[L+3>>0]=0;L=v+7|0;a[l+L>>0]=0;M=1;N=t;O=u;P=L;Q=w;break}L=G-y|0;zv(K|0,y|0,L|0)|0;K=L+v|0;a[l+K>>0]=0;switch(H|0){case -996:{if((L|0)>0){L=v+1|0;Av(m+v|0,1,((K|0)>(L|0)?K:L)-v|0)|0;R=K}else R=K;break}case -997:{L=l+(Ht(l)|0)|0;a[L>>0]=32;a[L+1>>0]=0;R=K+1|0;break}default:R=K}M=s;N=(H|0)==-985?1:t;O=(H|0)==-989?1:u;P=R;Q=w}while(0);if(!((H|1|0)!=-999&(G|0)!=0)){A=M;B=N;C=O;D=Q;E=G;F=0;break}else{s=M;t=N;u=O;v=P;w=Q;y=G;z=0}}z=m;y=l;while(1){w=Hu(y,62885)|0;if(w){v=w-y|0;u=v+2|0;if(!((a[z+(v+1)>>0]|a[z+v>>0])<<24>>24)){a[w>>0]=126;S=1;T=25}else{U=z+u|0;V=y+u|0}}else{S=0;T=25}if((T|0)==25){T=0;u=m;w=l;while(1){W=Hu(w,62888)|0;if(!W){T=27;break}v=W-w|0;t=v+2|0;if(!((a[u+(v+1)>>0]|a[u+v>>0])<<24>>24)){T=33;break}else{u=u+t|0;w=w+t|0}}a:do if((T|0)==27){T=0;w=m;u=l;while(1){X=Hu(u,62891)|0;if(!X)break;H=X-u|0;t=H+2|0;if(!((a[w+(H+1)>>0]|a[w+H>>0])<<24>>24)){T=32;break}else{w=w+t|0;u=u+t|0}}if((T|0)==32){T=0;qs(i,62891)|0;Y=X;T=89;break}u=m;w=l;while(1){Z=Hu(w,62894)|0;if(!Z)break;I=Z-w|0;t=I+2|0;if(!((a[u+(I+1)>>0]|a[u+I>>0])<<24>>24)){T=37;break}else{u=u+t|0;w=w+t|0}}if((T|0)==37){T=0;qs(i,62894)|0;Y=Z;T=89;break}w=m;u=l;while(1){_=Hu(u,62897)|0;if(!_)break;t=_-u|0;I=t+2|0;if(!((a[w+(t+1)>>0]|a[w+t>>0])<<24>>24)){T=41;break}else{w=w+I|0;u=u+I|0}}if((T|0)==41){T=0;qs(i,62897)|0;Y=_;T=89;break}u=m;w=l;while(1){$=Hu(w,62900)|0;if(!$)break;I=$-w|0;t=I+2|0;if(!((a[u+(I+1)>>0]|a[u+I>>0])<<24>>24)){T=45;break}else{u=u+t|0;w=w+t|0}}if((T|0)==45){T=0;qs(i,62900)|0;Y=$;T=89;break}w=m;u=l;while(1){aa=Hu(u,62903)|0;if(!aa)break;t=aa-u|0;I=t+2|0;if(!((a[w+(t+1)>>0]|a[w+t>>0])<<24>>24)){T=49;break}else{w=w+I|0;u=u+I|0}}if((T|0)==49){T=0;qs(i,62903)|0;Y=aa;T=89;break}u=m;w=l;while(1){ba=Hu(w,62906)|0;if(!ba)break;I=ba-w|0;t=I+2|0;if(!((a[u+(I+1)>>0]|a[u+I>>0])<<24>>24)){T=53;break}else{u=u+t|0;w=w+t|0}}if((T|0)==53){T=0;qs(i,62906)|0;Y=ba;T=89;break}w=m;u=l;while(1){ca=Hu(u,62909)|0;if(!ca)break;t=ca-u|0;I=t+2|0;if(!((a[w+(t+1)>>0]|a[w+t>>0])<<24>>24)){T=57;break}else{w=w+I|0;u=u+I|0}}if((T|0)==57){T=0;qs(i,62909)|0;Y=ca;T=89;break}u=m;w=l;while(1){da=Hu(w,62912)|0;if(!da)break;I=da-w|0;t=I+3|0;if(!((a[u+(I+2)>>0]|(a[u+(I+1)>>0]|a[u+I>>0]))<<24>>24)){T=61;break}else{u=u+t|0;w=w+t|0}}if((T|0)==61){T=0;qs(i,62912)|0;Y=da;T=89;break}w=m;u=l;while(1){ea=Hu(u,62916)|0;if(!ea)break;t=ea-u|0;I=t+4|0;if(!((a[w+(t+3)>>0]|(a[w+(t+2)>>0]|(a[w+(t+1)>>0]|a[w+t>>0])))<<24>>24)){T=65;break}else{w=w+I|0;u=u+I|0}}if((T|0)==65){T=0;qs(i,62916)|0;Y=ea;T=89;break}u=m;w=l;while(1){fa=Hu(w,62921)|0;if(!fa)break;I=fa-w|0;t=I+4|0;if(!((a[u+(I+3)>>0]|(a[u+(I+2)>>0]|(a[u+(I+1)>>0]|a[u+I>>0])))<<24>>24)){T=69;break}else{u=u+t|0;w=w+t|0}}if((T|0)==69){T=0;qs(i,62921)|0;Y=fa;T=89;break}w=m;u=l;while(1){ga=Hu(u,62926)|0;if(!ga)break;t=ga-u|0;I=t+3|0;if(!((a[w+(t+2)>>0]|(a[w+(t+1)>>0]|a[w+t>>0]))<<24>>24)){T=73;break}else{w=w+I|0;u=u+I|0}}if((T|0)==73){T=0;qs(i,62926)|0;Y=ga;T=89;break}u=m;w=l;while(1){ha=Hu(w,62930)|0;if(!ha)break;I=ha-w|0;t=I+4|0;if(!((a[u+(I+3)>>0]|(a[u+(I+2)>>0]|(a[u+(I+1)>>0]|a[u+I>>0])))<<24>>24)){T=77;break}else{u=u+t|0;w=w+t|0}}if((T|0)==77){T=0;qs(i,62930)|0;Y=ha;T=89;break}w=m;u=l;while(1){ia=Hu(u,62935)|0;if(!ia)break;t=ia-u|0;I=t+3|0;if(!((a[w+(t+2)>>0]|(a[w+(t+1)>>0]|a[w+t>>0]))<<24>>24)){T=81;break}else{w=w+I|0;u=u+I|0}}if((T|0)==81){T=0;qs(i,62935)|0;Y=ia;T=89;break}u=m;w=l;while(1){ja=Hu(w,62939)|0;if(!ja)break;I=ja-w|0;t=I+2|0;if(!((a[u+(I+1)>>0]|a[u+I>>0])<<24>>24)){T=85;break}else{u=u+t|0;w=w+t|0}}if((T|0)==85){T=0;qs(i,62939)|0;Y=ja;T=89;break}w=m;u=l;while(1){ka=Hu(u,62942)|0;if(!ka){T=124;break a}t=ka-u|0;I=t+3|0;if(!((a[w+(t+2)>>0]|(a[w+(t+1)>>0]|a[w+t>>0]))<<24>>24))break;else{w=w+I|0;u=u+I|0}}qs(i,62942)|0;Y=ka;T=89}else if((T|0)==33){T=0;qs(i,62888)|0;Y=W;T=89}while(0);if((T|0)==89){T=0;if((Y|0)!=0&Y>>>0>l>>>0){a[n>>0]=0;u=Y;b:while(1){la=u+-1|0;ma=a[la>>0]|0;switch(ma<<24>>24){case 9:case 32:break;default:break b}if(la>>>0>l>>>0)u=la;else break}c:do if(la>>>0>l>>>0){w=Y+-2|0;I=0;t=ma<<24>>24==93&1;H=-1;v=la;while(1){d:do if((t|0)<=0){s=a[v+-1>>0]|0;x=s<<24>>24;if(v>>>0>p>>>0)na=a[w>>0]|0;else na=0;if(s<<24>>24!=46){if(I|0){switch(x|0){case 91:case 93:{break d;break}default:{}}if((x|1|0)==41)break}if(!(s<<24>>24==58&(na|0)!=58)?(hh(x)|0)==0:0){oa=H;break c}}}while(0);x=H+-1|0;v=u+x|0;s=a[v>>0]|0;K=s<<24>>24==91;L=t+(s<<24>>24==93&1)+(K<<31>>31)+(s<<24>>24==41&1)+((s<<24>>24==40)<<31>>31)|0;switch(s<<24>>24){case 58:case 46:{pa=1;break}default:pa=0}if(v>>>0<=l>>>0){oa=x;break c}else{I=K&(L|0)==0?1:pa;t=L;H=x}}}else oa=-1;while(0);H=oa;while(1)if((H|0)<-1&(gh(a[u+H>>0]|0)|0)==0)H=H+1|0;else break;qs(j,u+H|0)|0;a[j+(0-H)>>0]=0;a[u>>0]=0;t=Y+(Ht(i)|0)|0;oh(l)|0;I=nh(t)|0;v=ph()|0;e:do if((v|1|0)!=-999){w=0;x=t;L=0;K=v;s=I;f:while(1){g:do if((w|0)==1){switch(K|0){case 40:case 91:case 123:{qa=L+1|0;break}default:qa=L}switch(K|0){case 41:case 93:case 125:{ra=qa+-1|0;break}default:ra=qa}if((ra|0)<0)break f;else{sa=(ra|0)==0?2:1;ta=ra}}else switch(K|0){case 40:case 91:case 123:{sa=1;ta=1;break g;break}case -996:{sa=2;ta=L;break g;break}case 35:case 36:case 37:case 38:case 42:case 43:case 45:case 46:case 47:case 58:case 60:case 62:case 64:case 92:case 94:case 124:case 126:case -974:case -973:case -972:case -970:case -969:case -967:case -966:case -964:case -958:case -957:case -956:case -955:case -953:{sa=0;ta=L;break g;break}default:{J=(K|0)==-954;if(J|(w|0)!=2){sa=J?0:2;ta=L;break g}else break f}}while(0);J=nh(s)|0;K=ph()|0;if((K|1|0)==-999)break e;else{ua=s;w=sa;L=ta;s=J;x=ua}}qs(n,x)|0;a[x>>0]=0}while(0);a[i+((Ht(i)|0)+-1)>>0]=0;c[h>>2]=l;c[h+4>>2]=j;c[h+8>>2]=i;c[h+12>>2]=t;c[h+16>>2]=n;Xs(k,62946,h)|0;qs(l,k)|0;va=1}else T=124}if((T|0)==124){T=0;if(!S)break;else va=S}Av(m|0,0,(Ht(l)|0)+1|0)|0;I=oh(l)|0;if(I|0){v=0;u=I;do{I=ph()|0;H=u;s=v;v=H-o|0;if((I|0)==-996&(s|0)<(v|0))Av(m+s|0,1,H-o-s|0)|0;u=nh(u)|0}while((I|1|0)!=-999&(u|0)!=0)}if(!va)break;else{U=m;V=l}}z=U;y=V}h:do if(!C){y=m;z=l;while(1){u=Hu(z,62965)|0;if(!u){wa=0;break}v=u-z|0;t=v+3|0;if(!((a[y+(v+2)>>0]|(a[y+(v+1)>>0]|a[y+v>>0]))<<24>>24)){wa=u;break}else{y=y+t|0;z=z+t|0}}z=m;y=l;while(1){t=Hu(y,62969)|0;if(!t){xa=wa;T=138;break h}u=t-y|0;v=u+3|0;if(!((a[z+(u+2)>>0]|(a[z+(u+1)>>0]|a[z+u>>0]))<<24>>24)){ya=2;za=t;Aa=wa;break}else{z=z+v|0;y=y+v|0}}}else{xa=0;T=138}while(0);if((T|0)==138){T=0;if(!xa)if(!B){y=m;z=l;while(1){v=Hu(z,62973)|0;if(!v){Ba=0;break}t=v-z|0;u=t+6|0;if(!((a[y+(t+5)>>0]|(a[y+(t+4)>>0]|(a[y+(t+3)>>0]|(a[y+(t+2)>>0]|(a[y+(t+1)>>0]|a[y+t>>0])))))<<24>>24)){Ba=v;break}else{y=y+u|0;z=z+u|0}}z=m;y=l;while(1){u=Hu(y,62980)|0;if(!u){Ca=0;break}v=u-y|0;t=v+6|0;if(!((a[z+(v+5)>>0]|(a[z+(v+4)>>0]|(a[z+(v+3)>>0]|(a[z+(v+2)>>0]|(a[z+(v+1)>>0]|a[z+v>>0])))))<<24>>24)){Ca=u;break}else{z=z+t|0;y=y+t|0}}ya=(Ba|0)!=0|(Ca|0)!=0?5:0;za=Ca;Aa=Ba}else{ya=0;za=0;Aa=0}else{ya=2;za=0;Aa=xa}}y=(za|0)!=0;z=(Aa|0)!=0&y?(Aa>>>0>>0?Aa:za):y?za:Aa;i:do if(z){if((z|0)!=(l|0)?hh(a[z+-1>>0]|0)|0:0){T=180;break}y=z+ya|0;j:while(1){switch(a[y>>0]|0){case 40:{break j;break}case 32:case 9:break;default:{T=180;break i}}y=y+1|0}t=y+1|0;u=a[t>>0]|0;if(u<<24>>24){v=1;I=t;t=u;while(1){if(!((v|0)>0&t<<24>>24!=10)){Da=v;Ea=I;Fa=t;break}u=(a[m+(I-o)>>0]|0)==0?v+(t<<24>>24==40&1)+((t<<24>>24==41)<<31>>31)|0:v;s=I+1|0;t=a[s>>0]|0;if(!(t<<24>>24)){Da=u;Ea=s;Fa=0;break}else{v=u;I=s}}if(!Da){I=k+(Ea-o)|0;v=ya&255;if((v&7)==2){t=Ea;y=Fa;k:while(1){switch(y<<24>>24){case 10:case 0:{T=180;break i;break}default:{}}if(((y&-33)+-65&255)<26)break;if((((y<<24>>24)+256|0)%256|0|0)>127)break;switch(y<<24>>24){case 59:case 95:case 31:case 30:{break k;break}case 9:case 32:break;default:{T=180;break i}}s=t+1|0;t=s;y=a[s>>0]|0}nh(t)|0;if((ph()|0)==-973){T=180;break}if((ph()|0)==-972){T=180;break}qs(k,l)|0;a[I>>0]=0;c[g>>2]=k;c[g+4>>2]=Ea;c[g+8>>2]=(A|0)==0?3300628:62987;Xs(j,62989,g)|0;qs(l,j)|0}else{y=Ea;s=Fa;l:while(1){switch(s<<24>>24){case 10:case 0:{T=180;break i;break}default:{}}if(((s&-33)+-65&255)<26)break;if((((s<<24>>24)+256|0)%256|0|0)>127)break;switch(s<<24>>24){case 59:case 95:case 31:case 30:{break l;break}case 9:case 32:break;default:{T=180;break i}}u=y+1|0;y=u;s=a[u>>0]|0}nh(y)|0;if((ph()|0)==-973){T=180;break}if((ph()|0)==-972){T=180;break}qs(k,l)|0;a[I>>0]=0;if((v&7)==5){c[f>>2]=k;c[f+4>>2]=Ea;c[f+8>>2]=(A|0)==0?3300628:62987;Xs(j,63008,f)|0}qs(l,j)|0}Rt(d,l)|0}else T=180}else T=180}else T=180;while(0);if((T|0)==180?(T=0,Rt(d,l)|0,A|0):0){z=d+(Ht(d)|0)|0;a[z>>0]=41;a[z+1>>0]=0}if(D|0){z=D;do{z=z+-1|0;s=d+(Ht(d)|0)|0;a[s>>0]=10;a[s+1>>0]=0}while((z|0)!=0)}z=(a[E>>0]|0)!=0;if(r>>>0<65536&z){q=E;b=F;r=r+(z&1)|0}else break}cq(j);cq(k);cq(l);cq(m);cq(n);Ia=e;return}function el(a,b){a=a|0;b=b|0;var c=0;c=qv(b|0,((b|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=tv(c|0,G()|0,16)|0;G()|0;return a|0}function fl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if((b|0)>65535&(b&65535|0)==0){c=(a|0)/(b>>>16|0)|0;return c|0}if(!b){c=(a>>31&2)+2147483647|0;return c|0}else{d=uv(a|0,((a|0)<0)<<31>>31|0,16)|0;a=ov(d|0,G()|0,b|0,((b|0)<0)<<31>>31|0)|0;b=G()|0;d=(b|0)<0|(b|0)==0&a>>>0<2147483647;e=d?a:2147483647;a=d?b:0;b=(a|0)>-1|(a|0)==-1&e>>>0>2147483649;a=b?e:-2147483647;c=a;return c|0}return 0}function gl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;if(!b){c=a;return c|0}d=(b|0)<0?0-b|0:b;b=((a|0)==-2147483648?d:0)+a|0;if((b|0)<0)e=d-((0-b|0)%(d|0)|0)|0;else e=b;c=(e|0)%(d|0)|0;return c|0}function hl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;if(!b){c=65536;return c|0}if((b|0)<0){if(!((a|0)>65535&(a&65535|0)==0))if(!a)d=2147483647;else{e=ov(0,1,a|0,((a|0)<0)<<31>>31|0)|0;f=G()|0;g=(f|0)<0|(f|0)==0&e>>>0<2147483647;h=g?e:2147483647;e=g?f:0;f=(e|0)>-1|(e|0)==-1&h>>>0>2147483649;e=f?h:-2147483647;d=e}else d=65536/(a>>>16>>>0)|0;i=0-b|0;j=d}else{i=b;j=a}a=i&-65536;b=i-a|0;if((a|0)>65535){i=j;d=65536;e=a;while(1){a=((i|0)<0)<<31>>31;h=qv(i|0,a|0,d|0,((d|0)<0)<<31>>31|0)|0;f=tv(h|0,G()|0,16)|0;G()|0;h=(e&65536|0)==0?d:f;f=qv(i|0,a|0,i|0,a|0)|0;i=tv(f|0,G()|0,16)|0;G()|0;if(e>>>0<=131071){k=h;break}else{d=h;e=e>>>1}}}else k=65536;if((b|0)>0){e=b;b=j;j=k;while(1){if((e|0)<65536){d=e;i=b;while(1){h=uv(i|0,((i|0)<0)<<31>>31|0,16)|0;f=G()|0;if((i|0)<0)l=0;else{a=1073741824;g=0;while(1){m=tv(g|0,a|0,2)|0;n=G()|0;if(a>>>0>f>>>0|(a|0)==(f|0)&g>>>0>h>>>0){a=n;g=m}else break}if((g|0)==0&(a|0)==0)o=0;else{m=0;n=0;p=g;q=a;r=f;s=h;while(1){t=kv(m|0,n|0,p|0,q|0)|0;u=G()|0;if(r>>>0>>0|(r|0)==(u|0)&s>>>0>>0){v=tv(m|0,n|0,1)|0;w=s;x=r;y=v;z=G()|0}else{v=lv(s|0,r|0,t|0,u|0)|0;u=G()|0;t=tv(m|0,n|0,1)|0;A=kv(t|0,G()|0,p|0,q|0)|0;w=v;x=u;y=A;z=G()|0}p=tv(p|0,q|0,2)|0;q=G()|0;if((p|0)==0&(q|0)==0)break;else{m=y;n=z;r=x;s=w}}o=y}dh(8);l=o}s=d<<1;if((d|0)<32768){d=s;i=l}else{B=s;C=l;break}}}else{B=e;C=b}i=qv(C|0,((C|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0;d=tv(i|0,G()|0,16)|0;G()|0;if((B|0)>65536){e=B+-65536|0;b=C;j=d}else{D=d;break}}}else D=k;dh(8);c=D;return c|0}function il(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=uv(a|0,((a|0)<0)<<31>>31|0,16)|0;c=G()|0;if((a|0)<0){d=0;return d|0}a=1073741824;e=0;while(1){f=tv(e|0,a|0,2)|0;g=G()|0;if(a>>>0>c>>>0|(a|0)==(c|0)&e>>>0>b>>>0){a=g;e=f}else break}if((e|0)==0&(a|0)==0)h=0;else{f=e;e=a;a=0;g=0;i=c;c=b;while(1){b=kv(f|0,e|0,a|0,g|0)|0;j=G()|0;if(i>>>0>>0|(i|0)==(j|0)&c>>>0>>0){k=tv(a|0,g|0,1)|0;l=c;m=i;n=k;o=G()|0}else{k=lv(c|0,i|0,b|0,j|0)|0;j=G()|0;b=tv(a|0,g|0,1)|0;p=kv(b|0,G()|0,f|0,e|0)|0;l=k;m=j;n=p;o=G()|0}f=tv(f|0,e|0,2)|0;e=G()|0;if((f|0)==0&(e|0)==0)break;else{a=n;g=o;i=m;c=l}}h=n}dh(8);d=h;return d|0}function jl(a,b){a=a|0;b=b|0;return $o(a,b)|0}function kl(a){a=a|0;var b=0,d=0,e=0;switch(a|0){case 0:{b=36080;d=3;break}case 1:{b=36084;d=3;break}default:e=0}if((d|0)==3)e=c[b>>2]|0;return e|0}function ll(a,b){a=a|0;b=b|0;var d=0;switch(a|0){case 0:{d=36080;break}case 1:{d=36084;break}default:return}c[d>>2]=b;return}function ml(a){a=a|0;var b=0;b=(a|0)==0?-559038737:a;c[9021]=b;c[9020]=b^-1095947846;b=0;do{c[9020]=(c[9020]|0)>>>16|c[9020]<<16;c[9020]=(c[9020]|0)+(c[9021]|0);c[9021]=(c[9021]|0)+(c[9020]|0);b=b+1|0}while((b|0)!=32);dh(8);return}function nl(a){a=a|0;var b=0;if(!a){b=0;return b|0}c[9020]=(c[9020]|0)>>>16|c[9020]<<16;c[9020]=(c[9020]|0)+(c[9021]|0);c[9021]=(c[9021]|0)+(c[9020]|0);b=((c[9020]|0)>>>0)%(a>>>0)|0;return b|0}function ol(a,b){a=a|0;b=b|0;var c=0;c=b>>>16;b=c&31;return (1<>>(0-c&31)|a<>>16;b=0-c&31;return (1<>>(c&31)|a<=0){e=7;break}if((g|0)<-2031616){d=0;e=9;break}if((f|0)<0)c=f;else{h=f;break a}}if((e|0)==7){d=(g|0)>2097151?0:a<<(g>>>16);return d|0}else if((e|0)==9)return d|0}else h=b;while(0);return ((h|0)>2097151?0:a>>>(h>>>16))|0}function rl(a,b){a=a|0;b=b|0;var c=0;if((b|0)>=0)return ((b|0)>2097151?0:a<<(b>>>16))|0;if((b|0)<-2031616){c=0;return c|0}c=ql(a,0-(b&-65536)|0)|0;return c|0}function sl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=b>>16;do if((b|0)<0)if((b|0)>=-2031616){d=b&-65536;e=0-d|0;if((e|0)>=0){f=(e|0)>2097151?0:a<<(e>>>16);break}if((e|0)>=-2031616){if((d|0)>=0){f=(d|0)>2097151?0:a>>>(d>>>16);break}if((d|0)>=-2031616)while(1){}else f=0}else f=0}else f=0;else if((b|0)>2097151){f=a>>31;break}else{f=a>>c;break}while(0);return f|0}function tl(a,b){a=a|0;b=b|0;var d=0;d=aq(2080)|0;$p(d,0,2080);c[d>>2]=xn(a,b,8)|0;c[d+12>>2]=xn(a,b,8)|0;c[d+4>>2]=xn(a,b,8)|0;c[d+8>>2]=xn(a,b,8)|0;return d|0}function ul(a,f){a=a|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;Av(1419776,0,16384)|0;g=c[584130]|0;if(!g){h=ws(524288)|0;c[584130]=h;i=h;j=h}else{i=g;j=g}Av(j|0,0,524288)|0;j=f+-2|0;if((f|0)<=2)return;f=0;g=0;while(1){h=f;f=f+1|0;k=1419776+((((d[a+f>>0]|0)*1503|0)+((d[a+h>>0]|0)*7|0)+((d[a+(h+2)>>0]|0)*51717|0)&4095)<<2)|0;l=c[k>>2]|0;if(l){m=l+2|0;n=b[m>>1]|0;if((b[l>>1]|0)==n<<16>>16){o=i+(g<<1)|0;c[k>>2]=o;p=(n&65535)<<1;b[o>>1]=p;q=b[m>>1]|0;r=o+2|0;b[r>>1]=q;zv(o+4|0,l+4|0,e[m>>1]<<1|0)|0;s=o;t=g+2+(p&65534)|0;u=r;v=q}else{s=l;t=g;u=m;v=n}}else{n=i+(g<<1)|0;c[k>>2]=n;b[n>>1]=4;k=n+2|0;b[k>>1]=0;s=n;t=g+6|0;u=k;v=0}b[s+((v&65535)+2<<1)>>1]=h;b[u>>1]=v+1<<16>>16;if((f|0)==(j|0))break;else g=t}return}function vl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0,Xg=0,Yg=0,Zg=0,_g=0,$g=0,ah=0,bh=0,ch=0,dh=0,eh=0,fh=0,gh=0,hh=0,ih=0,jh=0,kh=0,lh=0,mh=0,nh=0,oh=0,ph=0,qh=0,rh=0,sh=0,th=0,uh=0,vh=0,wh=0,xh=0,yh=0,zh=0,Ah=0,Bh=0,Ch=0,Dh=0,Eh=0,Fh=0,Gh=0,Hh=0,Ih=0,Jh=0,Kh=0,Lh=0,Mh=0,Nh=0,Oh=0,Ph=0,Qh=0,Rh=0,Sh=0;g=Ia;Ia=Ia+4112|0;h=g+4108|0;i=g+4104|0;j=g+3072|0;k=g+2048|0;l=g+1024|0;m=g;n=g+4100|0;o=g+4096|0;p=0;do{c[j+(p<<2)>>2]=p;p=p+1|0}while((p|0)!=256);p=0;do{c[k+(c[j+(p<<2)>>2]<<2)>>2]=p;p=p+1|0}while((p|0)!=256);ul(b,f);c[9022]=1;c[584129]=0;c[584127]=e;c[584128]=0;if(!f){q=0;Ia=g;return q|0}p=aq(f)|0;zv(p|0,b|0,f|0)|0;r=c[584127]|0;s=c[9022]|0;t=c[584128]|0;u=r+t|0;v=(s^255)&(d[u>>0]|0);a[u>>0]=v;w=s<<1;x=t+1|0;if((w|0)!=256){y=(w^255)&v;a[u>>0]=y;v=s<<2;if((v|0)==256){s=r+x|0;c[584128]=x;w=d[s>>0]|0;c[584129]=w;z=w&254;a[s>>0]=z;A=2;B=s;C=x;D=z;E=314}else{F=x;G=u;H=y;I=v;J=t;E=312}}else{v=r+x|0;c[584128]=x;y=d[v>>0]|0;c[584129]=y;u=y&254;a[v>>0]=u;F=t+2|0;G=v;H=u;I=2;J=x;E=312}do if((E|0)==312){x=(I^255)&(H&255);a[G>>0]=x;u=I<<1;if((u|0)==256){v=r+F|0;c[584128]=F;t=d[v>>0]|0;c[584129]=t;A=1;B=v;C=F;D=t;E=314;break}t=(u^255)&x;a[G>>0]=t;x=I<<2;if((x|0)==256){u=r+F|0;c[584128]=F;v=d[u>>0]|0;c[584129]=v;y=v&254;a[u>>0]=y;K=2;L=u;M=F;N=y;E=319}else{O=G;P=F;Q=t;R=x;S=J;E=317}}while(0);if((E|0)==314){J=(A^255)&D;a[B>>0]=J;O=B;P=C+1|0;Q=J;R=A<<1;S=C;E=317}do if((E|0)==317){C=(R^255)&(Q&255);a[O>>0]=C;A=R<<1;if((A|0)==256){J=r+P|0;c[584128]=P;B=d[J>>0]|0;c[584129]=B;K=1;L=J;M=P;N=B;E=319;break}B=(A^255)&C;a[O>>0]=B;C=R<<2;if((C|0)==256){A=r+P|0;c[584128]=P;J=d[A>>0]|0;c[584129]=J;D=J&254;a[A>>0]=D;T=2;U=A;V=P;W=D;E=324}else{X=O;Y=P;Z=B;_=C;$=S;E=322}}while(0);if((E|0)==319){S=(K^255)&N;a[L>>0]=S;X=L;Y=M+1|0;Z=S;_=K<<1;$=M;E=322}do if((E|0)==322){M=(_^255)&(Z&255);a[X>>0]=M;K=_<<1;if((K|0)==256){S=r+Y|0;c[584128]=Y;L=d[S>>0]|0;c[584129]=L;T=1;U=S;V=Y;W=L;E=324;break}L=(K^255)&M;a[X>>0]=L;M=_<<2;if((M|0)==256){K=r+Y|0;c[584128]=Y;S=d[K>>0]|0;c[584129]=S;aa=Y;ba=K;ca=Y+1|0;da=S;ea=1}else{fa=X;ga=Y;ha=L;ia=M;ja=$;E=326}}while(0);if((E|0)==324){$=(T^255)&W;a[U>>0]=$;fa=U;ga=V+1|0;ha=$;ia=T<<1;ja=V;E=326}if((E|0)==326){aa=ja;ba=fa;ca=ga;da=ha&255;ea=ia}c[9022]=ea;ia=c[584133]|0;c[584133]=ia+8;ha=(ea^255)&da;a[ba>>0]=ha;da=ea<<1;if((da|0)!=256){ga=(da^255)&ha;a[ba>>0]=ga;ha=ea<<2;if((ha|0)==256){ea=r+ca|0;c[584128]=ca;da=d[ea>>0]|0;c[584129]=da;fa=da&254;a[ea>>0]=fa;ka=2;la=ea;ma=ca;na=fa;E=296}else{oa=ba;pa=ca;qa=ga;ra=ha;sa=aa;E=294}}else{aa=r+ca|0;c[584128]=ca;ha=d[aa>>0]|0;c[584129]=ha;ga=ha&254;a[aa>>0]=ga;oa=aa;pa=ca+1|0;qa=ga;ra=2;sa=ca;E=294}do if((E|0)==294){ca=(ra^255)&(qa&255);a[oa>>0]=ca;ga=ra<<1;if((ga|0)==256){aa=r+pa|0;c[584128]=pa;ha=d[aa>>0]|0;c[584129]=ha;ka=1;la=aa;ma=pa;na=ha;E=296;break}ha=(ga^255)&ca;a[oa>>0]=ha;ca=ra<<2;if((ca|0)==256){ga=r+pa|0;c[584128]=pa;aa=d[ga>>0]|0;c[584129]=aa;ta=ga;ua=pa+1|0;va=aa;wa=1;xa=pa}else{ya=oa;za=pa;Aa=ha;Ba=ca;Ca=sa;E=298}}while(0);if((E|0)==296){sa=(ka^255)&na;a[la>>0]=sa;ya=la;za=ma+1|0;Aa=sa;Ba=ka<<1;Ca=ma;E=298}if((E|0)==298){ta=ya;ua=za;va=Aa&255;wa=Ba;xa=Ca}Ca=wa|(wa^255)&va;a[ta>>0]=Ca;va=wa<<1;if((va|0)==256){wa=r+ua|0;c[584128]=ua;Ba=d[wa>>0]|0;c[584129]=Ba;Da=wa;Ea=ua+1|0;Fa=Ba;Ga=1;Ha=ua}else{Da=ta;Ea=ua;Fa=Ca&255;Ga=va;Ha=xa}xa=Ga|(Ga^255)&Fa;a[Da>>0]=xa;Fa=Ga<<1;if((Fa|0)==256){Ga=r+Ea|0;c[584128]=Ea;va=d[Ga>>0]|0;c[584129]=va;Ja=Ga;Ka=Ea+1|0;La=va;Ma=1;Na=Ea}else{Ja=Da;Ka=Ea;La=xa&255;Ma=Fa;Na=Ha}Ha=Ma|(Ma^255)&La;a[Ja>>0]=Ha;La=Ma<<1;if((La|0)!=256){Fa=(La^255)&(Ha&255);a[Ja>>0]=Fa;Ha=Ma<<2;if((Ha|0)==256){Ma=r+Ka|0;c[584128]=Ka;La=d[Ma>>0]|0;c[584129]=La;Oa=Ka;Pa=Ma;Qa=Ka+1|0;Ra=La;Sa=1}else{Oa=Na;Pa=Ja;Qa=Ka;Ra=Fa;Sa=Ha}}else{Ha=r+Ka|0;c[584128]=Ka;Fa=d[Ha>>0]|0;c[584129]=Fa;Ja=Fa&254;a[Ha>>0]=Ja;Oa=Ka;Pa=Ha;Qa=Ka+1|0;Ra=Ja;Sa=2}c[9022]=Sa;c[584133]=ia+16;Ja=(Sa^255)&Ra;a[Pa>>0]=Ja;Ra=Sa<<1;do if((Ra|0)!=256){Ka=(Ra^255)&(Ja&255);a[Pa>>0]=Ka;Ha=Sa<<2;if((Ha|0)==256){Fa=r+Qa|0;c[584128]=Qa;Na=d[Fa>>0]|0;c[584129]=Na;Ta=1;Ua=Fa;Va=Na;E=275;break}Na=(Ha^255)&Ka;a[Pa>>0]=Na;Ka=Sa<<3;if((Ka|0)==256){Ha=r+Qa|0;c[584128]=Qa;Fa=d[Ha>>0]|0;c[584129]=Fa;Wa=Ha;Xa=Qa+1|0;Ya=Fa;Za=1;_a=Qa}else{$a=Pa;ab=Qa;bb=Na;cb=Ka;db=Oa;E=277}}else{Ka=r+Qa|0;c[584128]=Qa;Na=d[Ka>>0]|0;c[584129]=Na;Fa=Na&254;a[Ka>>0]=Fa;Ta=2;Ua=Ka;Va=Fa;E=275}while(0);if((E|0)==275){Oa=(Ta^255)&Va;a[Ua>>0]=Oa;$a=Ua;ab=Qa+1|0;bb=Oa;cb=Ta<<1;db=Qa;E=277}if((E|0)==277){Wa=$a;Xa=ab;Ya=bb&255;Za=cb;_a=db}db=Za|(Za^255)&Ya;a[Wa>>0]=db;Ya=Za<<1;if((Ya|0)==256){Za=r+Xa|0;c[584128]=Xa;cb=d[Za>>0]|0;c[584129]=cb;eb=Za;fb=Xa+1|0;gb=cb;hb=1;ib=Xa}else{eb=Wa;fb=Xa;gb=db&255;hb=Ya;ib=_a}_a=hb|(hb^255)&gb;a[eb>>0]=_a;gb=hb<<1;if((gb|0)==256){hb=r+fb|0;c[584128]=fb;Ya=d[hb>>0]|0;c[584129]=Ya;jb=hb;kb=fb+1|0;lb=Ya;mb=1;nb=fb}else{jb=eb;kb=fb;lb=_a&255;mb=gb;nb=ib}ib=mb|(mb^255)&lb;a[jb>>0]=ib;lb=mb<<1;if((lb|0)==256){mb=r+kb|0;c[584128]=kb;gb=d[mb>>0]|0;c[584129]=gb;ob=mb;pb=kb+1|0;qb=gb;rb=1;sb=kb}else{ob=jb;pb=kb;qb=ib&255;rb=lb;sb=nb}nb=rb|(rb^255)&qb;a[ob>>0]=nb;qb=rb<<1;if((qb|0)!=256){lb=(qb^255)&(nb&255);a[ob>>0]=lb;nb=rb<<2;if((nb|0)==256){rb=r+pb|0;c[584128]=pb;qb=d[rb>>0]|0;c[584129]=qb;tb=pb;ub=rb;vb=pb+1|0;wb=qb;xb=1}else{tb=sb;ub=ob;vb=pb;wb=lb;xb=nb}}else{nb=r+pb|0;c[584128]=pb;lb=d[nb>>0]|0;c[584129]=lb;ob=lb&254;a[nb>>0]=ob;tb=pb;ub=nb;vb=pb+1|0;wb=ob;xb=2}c[9022]=xb;c[584133]=ia+24;ob=xb|(xb^255)&wb;a[ub>>0]=ob;wb=xb<<1;do if((wb|0)!=256){pb=(wb^255)&(ob&255);a[ub>>0]=pb;nb=xb<<2;if((nb|0)==256){lb=r+vb|0;c[584128]=vb;sb=d[lb>>0]|0;c[584129]=sb;yb=1;zb=lb;Ab=sb;E=256;break}sb=(nb^255)&pb;a[ub>>0]=sb;pb=xb<<3;if((pb|0)==256){nb=r+vb|0;c[584128]=vb;lb=d[nb>>0]|0;c[584129]=lb;qb=lb&254;a[nb>>0]=qb;Bb=2;Cb=nb;Db=vb;Eb=qb;E=261}else{Fb=ub;Gb=vb;Hb=tb;Ib=sb;Jb=pb;E=259}}else{pb=r+vb|0;c[584128]=vb;sb=d[pb>>0]|0;c[584129]=sb;qb=sb&254;a[pb>>0]=qb;yb=2;zb=pb;Ab=qb;E=256}while(0);if((E|0)==256){tb=(yb^255)&Ab;a[zb>>0]=tb;Fb=zb;Gb=vb+1|0;Hb=vb;Ib=tb;Jb=yb<<1;E=259}do if((E|0)==259){yb=(Jb^255)&(Ib&255);a[Fb>>0]=yb;tb=Jb<<1;if((tb|0)==256){vb=r+Gb|0;c[584128]=Gb;zb=d[vb>>0]|0;c[584129]=zb;Bb=1;Cb=vb;Db=Gb;Eb=zb;E=261;break}zb=(tb^255)&yb;a[Fb>>0]=zb;yb=Jb<<2;if((yb|0)==256){tb=r+Gb|0;c[584128]=Gb;vb=d[tb>>0]|0;c[584129]=vb;Kb=tb;Lb=Gb+1|0;Mb=vb;Nb=1;Ob=Gb}else{Pb=Fb;Qb=Gb;Rb=zb;Sb=yb;Tb=Hb;E=263}}while(0);if((E|0)==261){Hb=(Bb^255)&Eb;a[Cb>>0]=Hb;Pb=Cb;Qb=Db+1|0;Rb=Hb;Sb=Bb<<1;Tb=Db;E=263}if((E|0)==263){Kb=Pb;Lb=Qb;Mb=Rb&255;Nb=Sb;Ob=Tb}Tb=Nb|(Nb^255)&Mb;a[Kb>>0]=Tb;Mb=Nb<<1;if((Mb|0)==256){Nb=r+Lb|0;c[584128]=Lb;Sb=d[Nb>>0]|0;c[584129]=Sb;Ub=Nb;Vb=Lb+1|0;Wb=Sb;Xb=1;Yb=Lb}else{Ub=Kb;Vb=Lb;Wb=Tb&255;Xb=Mb;Yb=Ob}Ob=Xb|(Xb^255)&Wb;a[Ub>>0]=Ob;Wb=Xb<<1;if((Wb|0)!=256){Mb=(Wb^255)&(Ob&255);a[Ub>>0]=Mb;Ob=Xb<<2;if((Ob|0)==256){Xb=r+Vb|0;c[584128]=Vb;Wb=d[Xb>>0]|0;c[584129]=Wb;Zb=Vb;_b=Xb;$b=Vb+1|0;ac=Wb;bc=1}else{Zb=Yb;_b=Ub;$b=Vb;ac=Mb;bc=Ob}}else{Ob=r+Vb|0;c[584128]=Vb;Mb=d[Ob>>0]|0;c[584129]=Mb;Ub=Mb&254;a[Ob>>0]=Ub;Zb=Vb;_b=Ob;$b=Vb+1|0;ac=Ub;bc=2}c[9022]=bc;c[584133]=ia+32;Ub=(f|0)/256|0;Vb=((Ub&1|0)==0?0:bc)|(bc^255)∾a[_b>>0]=Vb;ac=bc<<1;if((ac|0)==256){bc=r+$b|0;c[584128]=$b;Ob=d[bc>>0]|0;c[584129]=Ob;cc=bc;dc=$b+1|0;ec=Ob;fc=$b;gc=1}else{cc=_b;dc=$b;ec=Vb&255;fc=Zb;gc=ac}ac=((Ub&2|0)==0?0:gc)|(gc^255)&ec;a[cc>>0]=ac;ec=gc<<1;if((ec|0)==256){gc=r+dc|0;c[584128]=dc;Zb=d[gc>>0]|0;c[584129]=Zb;hc=gc;ic=dc+1|0;jc=Zb;kc=dc;lc=1}else{hc=cc;ic=dc;jc=ac&255;kc=fc;lc=ec}ec=((Ub&4|0)==0?0:lc)|(lc^255)&jc;a[hc>>0]=ec;jc=lc<<1;if((jc|0)==256){lc=r+ic|0;c[584128]=ic;fc=d[lc>>0]|0;c[584129]=fc;mc=lc;nc=ic+1|0;oc=fc;pc=ic;qc=1}else{mc=hc;nc=ic;oc=ec&255;pc=kc;qc=jc}jc=((Ub&8|0)==0?0:qc)|(qc^255)&oc;a[mc>>0]=jc;oc=qc<<1;if((oc|0)==256){qc=r+nc|0;c[584128]=nc;kc=d[qc>>0]|0;c[584129]=kc;rc=qc;sc=nc+1|0;tc=kc;uc=nc;vc=1}else{rc=mc;sc=nc;tc=jc&255;uc=pc;vc=oc}oc=((Ub&16|0)==0?0:vc)|(vc^255)&tc;a[rc>>0]=oc;tc=vc<<1;if((tc|0)==256){vc=r+sc|0;c[584128]=sc;pc=d[vc>>0]|0;c[584129]=pc;wc=vc;xc=sc+1|0;yc=pc;zc=sc;Ac=1}else{wc=rc;xc=sc;yc=oc&255;zc=uc;Ac=tc}tc=((Ub&32|0)==0?0:Ac)|(Ac^255)&yc;a[wc>>0]=tc;yc=Ac<<1;if((yc|0)==256){Ac=r+xc|0;c[584128]=xc;uc=d[Ac>>0]|0;c[584129]=uc;Bc=Ac;Cc=xc+1|0;Dc=uc;Ec=xc;Fc=1}else{Bc=wc;Cc=xc;Dc=tc&255;Ec=zc;Fc=yc}yc=((Ub&64|0)==0?0:Fc)|(Fc^255)&Dc;a[Bc>>0]=yc;Dc=Fc<<1;if((Dc|0)==256){Fc=r+Cc|0;c[584128]=Cc;zc=d[Fc>>0]|0;c[584129]=zc;Gc=Fc;Hc=Cc+1|0;Ic=zc;Jc=Cc;Kc=1}else{Gc=Bc;Hc=Cc;Ic=yc&255;Jc=Ec;Kc=Dc}Dc=((Ub&128|0)==0?0:Kc)|(Kc^255)&Ic;a[Gc>>0]=Dc;Ic=Kc<<1;if((Ic|0)==256){Kc=r+Hc|0;c[584128]=Hc;Ec=d[Kc>>0]|0;c[584129]=Ec;Lc=Hc;Mc=Kc;Nc=Hc+1|0;Oc=Ec;Pc=1}else{Lc=Jc;Mc=Gc;Nc=Hc;Oc=Dc&255;Pc=Ic}c[9022]=Pc;c[584133]=ia+40;Ic=f-(Ub<<8)|0;Ub=((Ic&1|0)==0?0:Pc)|(Pc^255)&Oc;a[Mc>>0]=Ub;Oc=Pc<<1;if((Oc|0)==256){Pc=r+Nc|0;c[584128]=Nc;Dc=d[Pc>>0]|0;c[584129]=Dc;Qc=Pc;Rc=Nc+1|0;Sc=Dc;Tc=Nc;Uc=1}else{Qc=Mc;Rc=Nc;Sc=Ub&255;Tc=Lc;Uc=Oc}Oc=((Ic&2|0)==0?0:Uc)|(Uc^255)⪼a[Qc>>0]=Oc;Sc=Uc<<1;if((Sc|0)==256){Uc=r+Rc|0;c[584128]=Rc;Lc=d[Uc>>0]|0;c[584129]=Lc;Vc=Uc;Wc=Rc+1|0;Xc=Lc;Yc=Rc;Zc=1}else{Vc=Qc;Wc=Rc;Xc=Oc&255;Yc=Tc;Zc=Sc}Sc=((Ic&4|0)==0?0:Zc)|(Zc^255)&Xc;a[Vc>>0]=Sc;Xc=Zc<<1;if((Xc|0)==256){Zc=r+Wc|0;c[584128]=Wc;Tc=d[Zc>>0]|0;c[584129]=Tc;_c=Zc;$c=Wc+1|0;ad=Tc;bd=Wc;cd=1}else{_c=Vc;$c=Wc;ad=Sc&255;bd=Yc;cd=Xc}Xc=((Ic&8|0)==0?0:cd)|(cd^255)&ad;a[_c>>0]=Xc;ad=cd<<1;if((ad|0)==256){cd=r+$c|0;c[584128]=$c;Yc=d[cd>>0]|0;c[584129]=Yc;dd=cd;ed=$c+1|0;fd=Yc;gd=$c;hd=1}else{dd=_c;ed=$c;fd=Xc&255;gd=bd;hd=ad}ad=((Ic&16|0)==0?0:hd)|(hd^255)&fd;a[dd>>0]=ad;fd=hd<<1;if((fd|0)==256){hd=r+ed|0;c[584128]=ed;bd=d[hd>>0]|0;c[584129]=bd;id=hd;jd=ed+1|0;kd=bd;ld=ed;md=1}else{id=dd;jd=ed;kd=ad&255;ld=gd;md=fd}fd=((Ic&32|0)==0?0:md)|(md^255)&kd;a[id>>0]=fd;kd=md<<1;if((kd|0)==256){md=r+jd|0;c[584128]=jd;gd=d[md>>0]|0;c[584129]=gd;nd=md;od=jd+1|0;pd=gd;qd=jd;rd=1}else{nd=id;od=jd;pd=fd&255;qd=ld;rd=kd}kd=((Ic&64|0)==0?0:rd)|(rd^255)&pd;a[nd>>0]=kd;pd=rd<<1;if((pd|0)==256){rd=r+od|0;c[584128]=od;ld=d[rd>>0]|0;c[584129]=ld;sd=rd;td=od+1|0;ud=ld;vd=od;wd=1}else{sd=nd;td=od;ud=kd&255;vd=qd;wd=pd}pd=((Ic&128|0)==0?0:wd)|(wd^255)&ud;a[sd>>0]=pd;ud=wd<<1;if((ud|0)==256){wd=r+td|0;c[584128]=td;Ic=d[wd>>0]|0;c[584129]=Ic;xd=td;yd=wd;zd=td+1|0;Ad=Ic;Bd=1}else{xd=vd;yd=sd;zd=td;Ad=pd&255;Bd=ud}c[9022]=Bd;c[584133]=ia+48;ud=(Bd^255)&Ad;a[yd>>0]=ud;Ad=Bd<<1;do if((Ad|0)==256){pd=r+zd|0;c[584128]=zd;td=d[pd>>0]|0;c[584129]=td;sd=td&254;a[pd>>0]=sd;Cd=pd;Dd=zd+1|0;Ed=zd;Fd=sd;Gd=2;E=197}else{sd=(Ad^255)&ud;a[yd>>0]=sd;pd=Bd<<2;if((pd|0)!=256){Cd=yd;Dd=zd;Ed=xd;Fd=sd;Gd=pd;E=197;break}pd=r+zd|0;c[584128]=zd;sd=d[pd>>0]|0;c[584129]=sd;td=sd&254;a[pd>>0]=td;Hd=2;Id=pd;Jd=zd;Kd=td;E=199}while(0);do if((E|0)==197){zd=(Gd^255)&(Fd&255);a[Cd>>0]=zd;xd=Gd<<1;if((xd|0)==256){yd=r+Dd|0;c[584128]=Dd;Bd=d[yd>>0]|0;c[584129]=Bd;Hd=1;Id=yd;Jd=Dd;Kd=Bd;E=199;break}Bd=(xd^255)&zd;a[Cd>>0]=Bd;zd=Gd<<2;if((zd|0)!=256){Ld=Cd;Md=Dd;Nd=Ed;Od=Bd;Pd=zd;E=202;break}zd=r+Dd|0;c[584128]=Dd;Bd=d[zd>>0]|0;c[584129]=Bd;xd=Bd&254;a[zd>>0]=xd;Qd=2;Rd=zd;Sd=Dd;Td=xd;E=204}while(0);if((E|0)==199){Dd=(Hd^255)&Kd;a[Id>>0]=Dd;Ld=Id;Md=Jd+1|0;Nd=Jd;Od=Dd;Pd=Hd<<1;E=202}do if((E|0)==202){Hd=(Pd^255)&(Od&255);a[Ld>>0]=Hd;Dd=Pd<<1;if((Dd|0)==256){Jd=r+Md|0;c[584128]=Md;Id=d[Jd>>0]|0;c[584129]=Id;Qd=1;Rd=Jd;Sd=Md;Td=Id;E=204;break}Id=(Dd^255)&Hd;a[Ld>>0]=Id;Hd=Pd<<2;if((Hd|0)!=256){Ud=Ld;Vd=Md;Wd=Nd;Xd=Id;Yd=Hd;E=207;break}Hd=r+Md|0;c[584128]=Md;Id=d[Hd>>0]|0;c[584129]=Id;Dd=Id&254;a[Hd>>0]=Dd;Zd=2;_d=Hd;$d=Md;ae=Dd;E=209}while(0);if((E|0)==204){Md=(Qd^255)&Td;a[Rd>>0]=Md;Ud=Rd;Vd=Sd+1|0;Wd=Sd;Xd=Md;Yd=Qd<<1;E=207}do if((E|0)==207){Qd=(Yd^255)&(Xd&255);a[Ud>>0]=Qd;Md=Yd<<1;if((Md|0)==256){Sd=r+Vd|0;c[584128]=Vd;Rd=d[Sd>>0]|0;c[584129]=Rd;Zd=1;_d=Sd;$d=Vd;ae=Rd;E=209;break}Rd=(Md^255)&Qd;a[Ud>>0]=Rd;Qd=Yd<<2;if((Qd|0)!=256){be=Ud;ce=Vd;de=Qd;ee=Wd;fe=Rd;E=211;break}Rd=r+Vd|0;c[584128]=Vd;Qd=d[Rd>>0]|0;c[584129]=Qd;ge=Vd;he=Rd;ie=Vd+1|0;je=Qd;ke=1}while(0);if((E|0)==209){Vd=(Zd^255)&ae;a[_d>>0]=Vd;be=_d;ce=$d+1|0;de=Zd<<1;ee=$d;fe=Vd;E=211}if((E|0)==211){ge=ee;he=be;ie=ce;je=fe&255;ke=de}c[9022]=ke;c[584133]=ia+56;de=(ke^255)&je;a[he>>0]=de;je=ke<<1;do if((je|0)==256){fe=r+ie|0;c[584128]=ie;ce=d[fe>>0]|0;c[584129]=ce;be=ce&254;a[fe>>0]=be;le=fe;me=ie+1|0;ne=ie;oe=be;pe=2;E=179}else{be=(je^255)&de;a[he>>0]=be;fe=ke<<2;if((fe|0)!=256){le=he;me=ie;ne=ge;oe=be;pe=fe;E=179;break}fe=r+ie|0;c[584128]=ie;be=d[fe>>0]|0;c[584129]=be;ce=be&254;a[fe>>0]=ce;qe=2;re=fe;se=ie;te=ce;E=181}while(0);do if((E|0)==179){ie=(pe^255)&(oe&255);a[le>>0]=ie;ge=pe<<1;if((ge|0)==256){he=r+me|0;c[584128]=me;ke=d[he>>0]|0;c[584129]=ke;qe=1;re=he;se=me;te=ke;E=181;break}ke=(ge^255)&ie;a[le>>0]=ke;ie=pe<<2;if((ie|0)!=256){ue=le;ve=me;we=ne;xe=ke;ye=ie;E=184;break}ie=r+me|0;c[584128]=me;ke=d[ie>>0]|0;c[584129]=ke;ge=ke&254;a[ie>>0]=ge;ze=2;Ae=ie;Be=me;Ce=ge;E=186}while(0);if((E|0)==181){me=(qe^255)&te;a[re>>0]=me;ue=re;ve=se+1|0;we=se;xe=me;ye=qe<<1;E=184}do if((E|0)==184){qe=(ye^255)&(xe&255);a[ue>>0]=qe;me=ye<<1;if((me|0)==256){se=r+ve|0;c[584128]=ve;re=d[se>>0]|0;c[584129]=re;ze=1;Ae=se;Be=ve;Ce=re;E=186;break}re=(me^255)&qe;a[ue>>0]=re;qe=ye<<2;if((qe|0)!=256){De=ue;Ee=ve;Fe=we;Ge=re;He=qe;E=189;break}qe=r+ve|0;c[584128]=ve;re=d[qe>>0]|0;c[584129]=re;me=re&254;a[qe>>0]=me;Ie=ve;Je=2;Ke=qe;Le=me;E=191}while(0);if((E|0)==186){ve=(ze^255)&Ce;a[Ae>>0]=ve;De=Ae;Ee=Be+1|0;Fe=Be;Ge=ve;He=ze<<1;E=189}do if((E|0)==189){ze=(He^255)&(Ge&255);a[De>>0]=ze;ve=He<<1;if((ve|0)==256){Be=r+Ee|0;c[584128]=Ee;Ae=d[Be>>0]|0;c[584129]=Ae;Ie=Ee;Je=1;Ke=Be;Le=Ae;E=191;break}a[De>>0]=(ve^255)&ze;ze=He<<2;if((ze|0)!=256){Me=ze;Ne=Fe;E=193;break}c[584128]=Ee;ze=d[r+Ee>>0]|0;c[584129]=ze;Oe=Ee;Pe=1;Qe=ze}while(0);if((E|0)==191){a[Ke>>0]=(Je^255)&Le;Me=Je<<1;Ne=Ie;E=193}if((E|0)==193){Oe=Ne;Pe=Me;Qe=c[584129]|0}c[9022]=Pe;c[584133]=ia+64;c[584124]=0;c[584125]=0;c[584126]=0;zv(l|0,j|0,1024)|0;zv(m|0,k|0,1024)|0;if((f|0)>0){ia=0;Me=0;Ne=0;Ie=Oe;Je=0;Le=Oe<<16|Pe|Qe<<8;while(1){Qe=wl(p,ia,f,h,i)|0;Pe=d[p+ia>>0]|0;Oe=k+(Pe<<2)|0;Ke=c[Oe>>2]|0;Ee=(Ke|0)<16;if(Ee)Re=4;else{r=16;Fe=4;while(1){He=Fe+1|0;r=r+(2<2){r=c[i>>2]|0;a:do if((r|0)>(Fe|0)&(r|0)<128){He=(r*6|0)/5|0;c[n>>2]=0;c[o>>2]=0;wl(p,ia+1|0,f,n,o)|0;do if((c[o>>2]|0)<=(He|0)){c[n>>2]=0;c[o>>2]=0;wl(p,ia+2|0,f,n,o)|0;if((c[o>>2]|0)>(He|0))break;Se=r;break a}while(0);c[i>>2]=0;Se=0}else Se=r;while(0);if((Se|0)<=(Fe|0)){E=58;break}r=c[9022]|0;He=c[584127]|0;De=c[584128]|0;Ge=He+De|0;a[Ge>>0]=(r^255)&(d[Ge>>0]|0);Ge=r<<1;c[9022]=Ge;if((Ge|0)==256){c[9022]=1;r=De+1|0;c[584128]=r;c[584129]=d[He+r>>0];Te=r;Ue=1}else{Te=De;Ue=Ge}Ge=(c[584131]|0)+1|0;c[584131]=Ge;De=c[h>>2]|0;r=5;while(1)if((1<>>0)/5|0;Ae=0;Be=3-ve|0;Ce=Te;we=Ue;while(1){ue=(Be|0)<1;ye=ue?Be:1;xe=He+Ce|0;a[xe>>0]=((ye&1|0)==0?0:we)|(we^255)&(d[xe>>0]|0);xe=we<<1;me=Ce+1|0;if((xe|0)==256){c[584128]=me;c[584129]=d[He+me>>0];Ve=me;We=1}else{Ve=Ce;We=xe}Ae=Ae+1|0;if(Ae>>>0>=2)break;if(ue)break;else{Be=Be-ye|0;Ce=Ve;we=We}}c[9022]=We;we=0;Ce=We;Be=Ve;while(1){Ae=He+Be|0;a[Ae>>0]=((1<>0]|0);Ae=Ce<<1;De=Be+1|0;if((Ae|0)==256){c[584128]=De;c[584129]=d[He+De>>0];Xe=De;Ye=1}else{Xe=Be;Ye=Ae}we=we+1|0;if((we|0)==(r|0))break;else{Ce=Ye;Be=Xe}}c[9022]=Ye;Be=r+Ge+ve|0;c[584131]=Be;Ce=0;we=Qe+-3|0;ze=Xe;Ae=Ye;while(1){De=(we|0)<7;ye=De?we:7;ue=He+ze|0;xe=((ye&1|0)==0?0:Ae)|(Ae^255)&(d[ue>>0]|0);a[ue>>0]=xe;me=Ae<<1;qe=ze+1|0;if((me|0)==256){re=He+qe|0;c[584128]=qe;se=d[re>>0]|0;c[584129]=se;Ze=re;_e=ze+2|0;$e=se;af=qe;bf=1}else{Ze=ue;_e=qe;$e=xe&255;af=ze;bf=me}me=((ye&2|0)==0?0:bf)|(bf^255)&$e;a[Ze>>0]=me;xe=bf<<1;if((xe|0)==256){qe=He+_e|0;c[584128]=_e;ue=d[qe>>0]|0;c[584129]=ue;cf=qe;df=_e+1|0;ef=ue;ff=_e;gf=1}else{cf=Ze;df=_e;ef=me&255;ff=af;gf=xe}a[cf>>0]=((ye&4|0)==0?0:gf)|(gf^255)&ef;xe=gf<<1;if((xe|0)==256){c[584128]=df;c[584129]=d[He+df>>0];hf=df;jf=1}else{hf=ff;jf=xe}Ce=Ce+3|0;if(Ce>>>0>=1e5)break;if(De)break;else{we=we-ye|0;ze=hf;Ae=jf}}c[9022]=jf;c[584131]=Ce+Be;if((Qe|0)>9)c[584126]=(c[584126]|0)+1;c[584124]=(c[584124]|0)+1;kf=Qe;lf=jf;mf=hf;nf=He;of=2336528}else E=58;while(0);if((E|0)==58){E=0;Qe=c[9022]|0;Fe=c[584127]|0;Ae=c[584128]|0;ze=Fe+Ae|0;a[ze>>0]=(Qe^255)&(d[ze>>0]|0)|Qe;ze=Qe<<1;c[9022]=ze;if((ze|0)==256){c[9022]=1;Qe=Ae+1|0;c[584128]=Qe;c[584129]=d[Fe+Qe>>0];pf=Qe;qf=1}else{pf=Ae;qf=ze}if(Ee){rf=Ke;sf=4}else{ze=Ke;Ae=16;Qe=4;while(1){we=ze-(1<>0]=((we&1|0)==0?0:Ee)|(Ee^255)&(d[Ge>>0]|0);Ge=Ee<<1;r=Ae+1|0;if((Ge|0)==256){c[584128]=r;c[584129]=d[Fe+r>>0];tf=r;uf=1}else{tf=Ae;uf=Ge}Qe=Qe+1|0;if(Qe>>>0>=16)break;if(ve)break;else{ze=ze-we|0;Ae=tf;Ee=uf}}c[9022]=uf;Ee=0;Ae=uf;ze=tf;while(1){Qe=Fe+ze|0;a[Qe>>0]=((1<>0]|0);Qe=Ae<<1;we=ze+1|0;if((Qe|0)==256){c[584128]=we;c[584129]=d[Fe+we>>0];vf=we;wf=1}else{vf=ze;wf=Qe}Ee=Ee+1|0;if((Ee|0)==(sf|0))break;else{Ae=wf;ze=vf}}c[9022]=wf;if((Ke|0)>0){ze=Ke;do{Ae=ze;ze=ze+-1|0;Ee=c[j+(ze<<2)>>2]|0;c[j+(Ae<<2)>>2]=Ee;Qe=k+(Ee<<2)|0;c[Qe>>2]=(c[Qe>>2]|0)+1}while((Ae|0)>1)}c[j>>2]=Pe;c[Oe>>2]=0;kf=1;lf=wf;mf=vf;nf=Fe;of=2336500}c[of>>2]=(c[of>>2]|0)+kf;ze=(ia|0)<2?0:ia+-2|0;ia=kf+ia|0;Ke=ia+-2|0;if((ze|0)<(Ke|0)){Ae=ze;do Ae=Ae+1|0;while((Ae|0)<(Ke|0))}Ke=mf-Ie|0;if((ia|0)==(f|0)|(Ke|0)>31){Ae=ia-Je|0;if((Ke|0)>(Ae+((Me|0)==(Je|0)?3:0)|0)){Ke=Le&255;c[9022]=Ke;c[584129]=Le>>>8&255;Fe=Le>>>16&32767;c[584128]=Fe;if(!Ne){Oe=nf+Fe|0;Pe=(Le^255)&(d[Oe>>0]|0);a[Oe>>0]=Pe;ze=Ke<<1;c[9022]=ze;if((Ke|0)==128){c[9022]=1;Qe=Fe+1|0;c[584128]=Qe;Ee=nf+Qe|0;we=d[Ee>>0]|0;c[584129]=we;xf=Ee;yf=we;zf=1;Af=Qe}else{xf=Oe;yf=Pe;zf=ze;Af=Fe}ze=(zf^255)&yf|zf;a[xf>>0]=ze;Pe=zf<<1;c[9022]=Pe;if((zf|0)==128){c[9022]=1;Oe=Af+1|0;c[584128]=Oe;Qe=nf+Oe|0;we=d[Qe>>0]|0;c[584129]=we;Bf=Qe;Cf=we;Df=1;Ef=Oe}else{Bf=xf;Cf=ze&255;Df=Pe;Ef=Af}Pe=(Df^255)&Cf;a[Bf>>0]=Pe;ze=Df<<1;c[9022]=ze;if((Df|0)==128){c[9022]=1;Oe=Ef+1|0;c[584128]=Oe;we=nf+Oe|0;Qe=d[we>>0]|0;c[584129]=Qe;Ff=Oe;Gf=we;Hf=Qe;If=1}else{Ff=Ef;Gf=Bf;Hf=Pe;If=ze}ze=(If^255)&Hf;a[Gf>>0]=ze;Pe=If<<1;Qe=Ff+1|0;do if((Pe|0)==256){we=nf+Qe|0;c[584128]=Qe;Oe=d[we>>0]|0;c[584129]=Oe;Ee=Oe&254;a[we>>0]=Ee;Jf=2;Kf=we;Lf=Ee;E=121}else{Ee=(Pe^255)&(ze&255);a[Gf>>0]=Ee;we=If<<2;if((we|0)==256){Oe=nf+Qe|0;c[584128]=Qe;ve=d[Oe>>0]|0;c[584129]=ve;Jf=1;Kf=Oe;Lf=ve;E=121;break}ve=(we^255)&Ee;a[Gf>>0]=ve;Ee=If<<3;if((Ee|0)!=256){Mf=Gf;Nf=Qe;Of=Ff;Pf=ve;Qf=Ee;E=124;break}Ee=nf+Qe|0;c[584128]=Qe;ve=d[Ee>>0]|0;c[584129]=ve;we=ve&254;a[Ee>>0]=we;Rf=2;Sf=Ee;Tf=Qe;Uf=we;E=126}while(0);if((E|0)==121){E=0;ze=(Jf^255)&Lf;a[Kf>>0]=ze;Mf=Kf;Nf=Ff+2|0;Of=Qe;Pf=ze;Qf=Jf<<1;E=124}do if((E|0)==124){E=0;ze=(Qf^255)&(Pf&255);a[Mf>>0]=ze;Pe=Qf<<1;if((Pe|0)==256){we=nf+Nf|0;c[584128]=Nf;Ee=d[we>>0]|0;c[584129]=Ee;Rf=1;Sf=we;Tf=Nf;Uf=Ee;E=126;break}Ee=(Pe^255)&ze;a[Mf>>0]=Ee;ze=Qf<<2;if((ze|0)!=256){Vf=Mf;Wf=Nf;Xf=Of;Yf=Ee;Zf=ze;E=129;break}ze=nf+Nf|0;c[584128]=Nf;Ee=d[ze>>0]|0;c[584129]=Ee;Pe=Ee&254;a[ze>>0]=Pe;_f=2;$f=ze;ag=Nf;bg=Pe;E=131}while(0);if((E|0)==126){E=0;Qe=(Rf^255)&Uf;a[Sf>>0]=Qe;Vf=Sf;Wf=Tf+1|0;Xf=Tf;Yf=Qe;Zf=Rf<<1;E=129}do if((E|0)==129){E=0;Qe=(Zf^255)&(Yf&255);a[Vf>>0]=Qe;Pe=Zf<<1;if((Pe|0)==256){ze=nf+Wf|0;c[584128]=Wf;Ee=d[ze>>0]|0;c[584129]=Ee;_f=1;$f=ze;ag=Wf;bg=Ee;E=131;break}Ee=(Pe^255)&Qe;a[Vf>>0]=Ee;Qe=Zf<<2;if((Qe|0)!=256){cg=Vf;dg=Wf;eg=Xf;fg=Ee;gg=Qe;E=134;break}Qe=nf+Wf|0;c[584128]=Wf;Ee=d[Qe>>0]|0;c[584129]=Ee;Pe=Ee&254;a[Qe>>0]=Pe;hg=2;ig=Qe;jg=Wf;kg=Pe;E=136}while(0);if((E|0)==131){E=0;Pe=(_f^255)&bg;a[$f>>0]=Pe;cg=$f;dg=ag+1|0;eg=ag;fg=Pe;gg=_f<<1;E=134}do if((E|0)==134){E=0;Pe=(gg^255)&(fg&255);a[cg>>0]=Pe;Qe=gg<<1;if((Qe|0)==256){Ee=nf+dg|0;c[584128]=dg;ze=d[Ee>>0]|0;c[584129]=ze;hg=1;ig=Ee;jg=dg;kg=ze;E=136;break}ze=(Qe^255)&Pe;a[cg>>0]=ze;Pe=gg<<2;if((Pe|0)!=256){lg=cg;mg=dg;ng=eg;og=Pe;pg=ze;E=139;break}ze=nf+dg|0;c[584128]=dg;Pe=d[ze>>0]|0;c[584129]=Pe;a[ze>>0]=Pe&254;qg=dg;rg=2}while(0);if((E|0)==136){E=0;Pe=(hg^255)&kg;a[ig>>0]=Pe;lg=ig;mg=jg+1|0;ng=jg;og=hg<<1;pg=Pe;E=139}do if((E|0)==139){E=0;a[lg>>0]=(og^255)&pg;Pe=og<<1;if((Pe|0)!=256){qg=ng;rg=Pe;break}c[584128]=mg;c[584129]=d[nf+mg>>0];qg=mg;rg=1}while(0);c[9022]=rg;sg=qg;tg=rg}else{Pe=Fe+-1|0;c[584128]=Pe;sg=Pe;tg=Ke}if((Ae|0)>0){Pe=0;ze=tg;Qe=sg;while(1){Ee=d[p+(Pe+Je)>>0]|0;we=nf+Qe|0;ve=((Ee&1|0)==0?0:ze)|(ze^255)&(d[we>>0]|0);a[we>>0]=ve;Oe=ze<<1;Ge=Qe+1|0;if((Oe|0)==256){r=nf+Ge|0;c[584128]=Ge;ye=d[r>>0]|0;c[584129]=ye;ug=r;vg=Qe+2|0;wg=ye;xg=Ge;yg=1}else{ug=we;vg=Ge;wg=ve&255;xg=Qe;yg=Oe}Oe=((Ee&2|0)==0?0:yg)|(yg^255)&wg;a[ug>>0]=Oe;ve=yg<<1;if((ve|0)==256){Ge=nf+vg|0;c[584128]=vg;we=d[Ge>>0]|0;c[584129]=we;zg=Ge;Ag=vg+1|0;Bg=we;Cg=vg;Dg=1}else{zg=ug;Ag=vg;Bg=Oe&255;Cg=xg;Dg=ve}ve=((Ee&4|0)==0?0:Dg)|(Dg^255)&Bg;a[zg>>0]=ve;Oe=Dg<<1;if((Oe|0)==256){we=nf+Ag|0;c[584128]=Ag;Ge=d[we>>0]|0;c[584129]=Ge;Eg=we;Fg=Ag+1|0;Gg=Ge;Hg=Ag;Ig=1}else{Eg=zg;Fg=Ag;Gg=ve&255;Hg=Cg;Ig=Oe}Oe=((Ee&8|0)==0?0:Ig)|(Ig^255)⋙a[Eg>>0]=Oe;ve=Ig<<1;if((ve|0)==256){Ge=nf+Fg|0;c[584128]=Fg;we=d[Ge>>0]|0;c[584129]=we;Jg=Ge;Kg=Fg+1|0;Lg=we;Mg=Fg;Ng=1}else{Jg=Eg;Kg=Fg;Lg=Oe&255;Mg=Hg;Ng=ve}ve=((Ee&16|0)==0?0:Ng)|(Ng^255)&Lg;a[Jg>>0]=ve;Oe=Ng<<1;if((Oe|0)==256){we=nf+Kg|0;c[584128]=Kg;Ge=d[we>>0]|0;c[584129]=Ge;Og=we;Pg=Kg+1|0;Qg=Ge;Rg=Kg;Sg=1}else{Og=Jg;Pg=Kg;Qg=ve&255;Rg=Mg;Sg=Oe}Oe=((Ee&32|0)==0?0:Sg)|(Sg^255)&Qg;a[Og>>0]=Oe;ve=Sg<<1;if((ve|0)==256){Ge=nf+Pg|0;c[584128]=Pg;we=d[Ge>>0]|0;c[584129]=we;Tg=Ge;Ug=Pg+1|0;Vg=we;Wg=Pg;Xg=1}else{Tg=Og;Ug=Pg;Vg=Oe&255;Wg=Rg;Xg=ve}ve=((Ee&64|0)==0?0:Xg)|(Xg^255)&Vg;a[Tg>>0]=ve;Oe=Xg<<1;if((Oe|0)==256){we=nf+Ug|0;c[584128]=Ug;Ge=d[we>>0]|0;c[584129]=Ge;Yg=we;Zg=Ug+1|0;_g=Ge;$g=Ug;ah=1}else{Yg=Tg;Zg=Ug;_g=ve&255;$g=Wg;ah=Oe}a[Yg>>0]=((Ee&128|0)==0?0:ah)|(ah^255)&_g;Ee=ah<<1;if((Ee|0)==256){c[584128]=Zg;c[584129]=d[nf+Zg>>0];bh=Zg;ch=1}else{bh=$g;ch=Ee}Pe=Pe+1|0;if((Pe|0)==(Ae|0))break;else{ze=ch;Qe=bh}}c[9022]=ch;dh=bh;eh=ch}else{dh=sg;eh=tg}Qe=nf+dh|0;ze=(eh^255)&(d[Qe>>0]|0);a[Qe>>0]=ze;Ae=eh<<1;Pe=dh+1|0;do if((Ae|0)==256){Ke=nf+Pe|0;c[584128]=Pe;Fe=d[Ke>>0]|0;c[584129]=Fe;Ee=Fe&254;a[Ke>>0]=Ee;fh=Ke;gh=dh+2|0;hh=Pe;ih=Ee;jh=2;E=162}else{Ee=(Ae^255)&ze;a[Qe>>0]=Ee;Ke=eh<<2;if((Ke|0)!=256){fh=Qe;gh=Pe;hh=dh;ih=Ee;jh=Ke;E=162;break}Ke=nf+Pe|0;c[584128]=Pe;Ee=d[Ke>>0]|0;c[584129]=Ee;Fe=Ee&254;a[Ke>>0]=Fe;kh=2;lh=Ke;mh=Pe;nh=Fe;E=164}while(0);do if((E|0)==162){E=0;Pe=(jh^255)&(ih&255);a[fh>>0]=Pe;Qe=jh<<1;if((Qe|0)==256){ze=nf+gh|0;c[584128]=gh;Ae=d[ze>>0]|0;c[584129]=Ae;kh=1;lh=ze;mh=gh;nh=Ae;E=164;break}Ae=(Qe^255)&Pe;a[fh>>0]=Ae;Pe=jh<<2;if((Pe|0)!=256){oh=fh;ph=gh;qh=hh;rh=Ae;sh=Pe;E=167;break}Pe=nf+gh|0;c[584128]=gh;Ae=d[Pe>>0]|0;c[584129]=Ae;Qe=Ae&254;a[Pe>>0]=Qe;th=2;uh=Pe;vh=gh;wh=Qe;E=169}while(0);if((E|0)==164){E=0;Qe=(kh^255)&nh;a[lh>>0]=Qe;oh=lh;ph=mh+1|0;qh=mh;rh=Qe;sh=kh<<1;E=167}do if((E|0)==167){E=0;Qe=(sh^255)&(rh&255);a[oh>>0]=Qe;Pe=sh<<1;if((Pe|0)==256){Ae=nf+ph|0;c[584128]=ph;ze=d[Ae>>0]|0;c[584129]=ze;th=1;uh=Ae;vh=ph;wh=ze;E=169;break}ze=(Pe^255)&Qe;a[oh>>0]=ze;Qe=sh<<2;if((Qe|0)!=256){xh=oh;yh=ph;zh=qh;Ah=ze;Bh=Qe;E=172;break}Qe=nf+ph|0;c[584128]=ph;ze=d[Qe>>0]|0;c[584129]=ze;Pe=ze&254;a[Qe>>0]=Pe;Ch=ph;Dh=2;Eh=Qe;Fh=Pe;E=174}while(0);if((E|0)==169){E=0;Pe=(th^255)&wh;a[uh>>0]=Pe;xh=uh;yh=vh+1|0;zh=vh;Ah=Pe;Bh=th<<1;E=172}do if((E|0)==172){E=0;Pe=(Bh^255)&(Ah&255);a[xh>>0]=Pe;Qe=Bh<<1;if((Qe|0)==256){ze=nf+yh|0;c[584128]=yh;Ae=d[ze>>0]|0;c[584129]=Ae;Ch=yh;Dh=1;Eh=ze;Fh=Ae;E=174;break}a[xh>>0]=(Qe^255)&Pe;Pe=Bh<<2;if((Pe|0)!=256){Gh=zh;Hh=Pe;break}c[584128]=yh;c[584129]=d[nf+yh>>0];Gh=yh;Hh=1}while(0);if((E|0)==174){E=0;a[Eh>>0]=(Dh^255)&Fh;Gh=Ch;Hh=Dh<<1}c[9022]=Hh;zv(j|0,l|0,1024)|0;zv(k|0,m|0,1024)|0;Ih=Me;Jh=1;Kh=Gh;Lh=Hh}else{zv(l|0,j|0,1024)|0;zv(m|0,k|0,1024)|0;Ih=ia;Jh=0;Kh=mf;Lh=lf}Mh=Kh;Nh=ia;Oh=c[584129]<<8|Kh<<16|Lh;Ph=Ih;Qh=Jh}else{Mh=Ie;Nh=Je;Oh=Le;Ph=Me;Qh=Ne}if((ia|0)>=(f|0))break;else{Me=Ph;Ne=Qh;Ie=Mh;Je=Nh;Le=Oh}}}cq(p);p=c[9022]|0;if((p|0)==1){Rh=c[584128]|0;Sh=c[584127]|0}else{Oh=c[584127]|0;Le=c[584128]|0;Nh=Oh+Le|0;Je=p;p=a[Nh>>0]|0;do{p=(Je^255)&(p&255)&255;Je=Je<<1}while((Je|0)!=256);a[Nh>>0]=p;p=Le+1|0;c[584128]=p;c[584129]=d[Oh+p>>0];c[9022]=1;Rh=p;Sh=Oh}a[Sh+6>>0]=(Rh|0)/256|0;a[Sh+7>>0]=Rh;if((Rh|0)<=(f|0)){q=Rh;Ia=g;return q|0}zv(e|0,b|0,f|0)|0;q=f;Ia=g;return q|0}function wl(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;k=h-g|0;if((k|0)<3){l=0;return l|0}h=c[1419776+((((d[f+(g+1)>>0]|0)*1503|0)+((d[f+g>>0]|0)*7|0)+((d[f+(g+2)>>0]|0)*51717|0)&4095)<<2)>>2]|0;if(!h){l=0;return l|0}m=b[h+2>>1]|0;if(!(m<<16>>16)){n=-1;o=0;p=0}else{q=g+-32767|0;r=m&65535;m=0;s=-1;t=0;u=-1e5;while(1){v=e[h+(m+2<<1)>>1]|0;if((v|0)>=(g|0)){w=s;x=t;y=u;break}if((q|0)>(v|0)){z=s;A=t;B=u}else{C=0;while(1){D=C+v|0;if((D|0)>=(g|0)){E=C;F=D;break}if((a[f+D>>0]|0)!=(a[f+(C+g)>>0]|0)){E=C;F=D;break}C=C+1|0;if((C|0)>=(k|0)){G=21;break}}if((G|0)==21){G=0;E=C;F=C+v|0}D=g-v|0;a:do if((E|0)>=(k|0)|(F|0)<(g|0))H=E;else{I=E;while(1){if((a[f+(((I|0)%(D|0)|0)+v)>>0]|0)!=(a[f+(I+g)>>0]|0)){H=I;break a}J=I+1|0;if((J|0)>=(k|0)|(J+v|0)<(g|0)){H=J;break}else I=J}}while(0);if((D|0)>0){C=0;I=D;do{C=C+1|0;I=I>>>5}while((I|0)!=0);if(C>>>0<2){K=C;G=17}else{L=C;M=2}}else{K=0;G=17}if((G|0)==17){G=0;L=K;M=K}I=(H<<8>>>0)/(((L*5|0)+4+M|0)>>>0)|0;D=(I|0)>(s|0);z=D?I:s;A=D?H:t;B=D?v:u}m=m+1|0;if(m>>>0>=r>>>0){w=z;x=A;y=B;break}else{s=z;t=A;u=B}}n=w;o=x;p=(y|0)>-1?g-y|0:0}c[i>>2]=p;c[j>>2]=n;l=o;return l|0}function xl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0;g=Ia;Ia=Ia+2080|0;h=g+1056|0;i=g+32|0;j=g;c[9022]=1;c[584129]=0;c[584134]=b;k=0;do{c[h+(k<<2)>>2]=k;k=k+1|0}while((k|0)!=256);k=0;do{c[i+(c[h+(k<<2)>>2]<<2)>>2]=k;k=k+1|0}while((k|0)!=256);c[j>>2]=d[b>>0];c[j+4>>2]=d[b+1>>0];c[j+8>>2]=d[b+2>>0];c[j+12>>2]=d[b+3>>0];c[j+16>>2]=d[b+4>>0];c[j+20>>2]=d[b+5>>0];c[j+24>>2]=d[b+6>>0];c[j+28>>2]=d[b+7>>0];c[9022]=1;k=(c[j+16>>2]<<8)+(c[j+20>>2]|0)|0;l=(c[j+24>>2]<<8)+(c[j+28>>2]|0)|0;if(!((f|0)>0&((k|0)>0&(l|0)>8))){Ia=g;return 0}j=f+-1|0;m=0;n=1;o=8;a:while(1){p=n<<1;q=(p|0)==256;r=o+(q&1)|0;s=q?1:p;b:do if(!(n&(d[b+o>>0]|0))){p=(s&(d[b+r>>0]|0)|0)!=0;q=s<<1;t=(q|0)==256;u=r+(t&1)|0;v=t?1:q;if(p){q=v<<1;t=(q|0)==256;w=(p&1)+((v&(d[b+u>>0]|0)|0)!=0&1)|0;x=t?1:q;y=u+(t&1)|0}else{w=0;x=v;y=u}u=3-w|0;v=u*5|0;if((u|0)>0){u=0;t=0;q=y;p=y;z=x;while(1){A=z<<1;B=(A|0)==256;C=p+1|0;D=B?C:q;E=B?1:A;A=((z&(d[b+p>>0]|0)|0)==0?0:1<>0]|0;C=(u&E|0)!=0;B=u<<1;D=t+1|0;do if((B|0)!=256){A=C&1;I=(B&E|0)==0;J=u<<2;if((J|0)==256){K=I;L=A;M=1;N=d[b+D>>0]|0;O=42;break}else{P=u<<3;Q=(P|0)==256;R=(I?0:2)|A;S=J&E;T=Q?D:t;U=Q?1:P;break}}else{P=d[b+D>>0]|0;K=(P&1|0)==0;L=C&1;M=2;N=P;O=42}while(0);if((O|0)==42){O=0;R=(K?0:2)|L;S=M&N;T=D;U=M<<1}C=((S|0)==0?0:4)|R;q=q+3|0;p=C+p|0;if(!(q>>>0<1e5&(C|0)==7))break;else{t=T;u=U}}u=p+3|0;t=m;while(1){a[e+t>>0]=a[e+(t-z)>>0]|0;t=t+1|0;if((u|0)<=1)break;else u=u+-1|0}if((t|0)>=(j|0)){V=t;W=U;X=T;break}a[e+t>>0]=0;V=t;W=U;X=T;break}if((m|0)<(k|0)){u=m;z=G;p=H;while(1){q=d[b+p>>0]|0;v=(z&q|0)!=0;C=z<<1;E=p+1|0;do if((C|0)!=256){B=v&1;P=(C&q|0)==0;Q=z<<2;if((Q|0)==256){Y=P;Z=B;_=1;$=d[b+E>>0]|0;O=46;break}J=(P?0:2)|B;B=(Q&q|0)==0;Q=z<<3;if((Q|0)==256){P=d[b+E>>0]|0;aa=(B?0:4)|J;ba=(P&1|0)==0;ca=2;da=P;ea=E;O=51}else{fa=J;ga=q;ha=E;ia=B;ja=Q;ka=p;O=49}}else{Q=d[b+E>>0]|0;Y=(Q&1|0)==0;Z=v&1;_=2;$=Q;O=46}while(0);if((O|0)==46){O=0;fa=(Y?0:2)|Z;ga=$;ha=p+2|0;ia=(_&$|0)==0;ja=_<<1;ka=E;O=49}do if((O|0)==49){O=0;v=(ia?0:4)|fa;q=(ja&ga|0)==0;C=ja<<1;if((C|0)==256){aa=v;ba=q;ca=1;da=d[b+ha>>0]|0;ea=ha;O=51;break}D=(q?0:8)|v;v=(C&ga|0)==0;C=ja<<2;if((C|0)==256){q=d[b+ha>>0]|0;la=(v?0:16)|D;ma=(q&1|0)==0;na=2;oa=q;pa=ha;O=56}else{qa=D;ra=ga;sa=ha;ta=v;ua=C;va=ka;O=54}}while(0);if((O|0)==51){O=0;qa=(ba?0:8)|aa;ra=da;sa=ea+1|0;ta=(ca&da|0)==0;ua=ca<<1;va=ea;O=54}do if((O|0)==54){O=0;E=(ta?0:16)|qa;C=(ua&ra|0)==0;v=ua<<1;if((v|0)==256){la=E;ma=C;na=1;oa=d[b+sa>>0]|0;pa=sa;O=56;break}D=(C?0:32)|E;E=(v&ra|0)==0;v=ua<<2;if((v|0)==256){wa=(E?0:64)|D;xa=sa;ya=(a[b+sa>>0]&1)==0;za=2}else{Aa=D;Ba=ra;Ca=sa;Da=E;Ea=v;Fa=va;O=59}}while(0);if((O|0)==56){O=0;Aa=(ma?0:32)|la;Ba=oa;Ca=pa+1|0;Da=(na&oa|0)==0;Ea=na<<1;Fa=pa;O=59}if((O|0)==59){O=0;v=Ea<<1;E=(v|0)==256;wa=(Da?0:64)|Aa;xa=E?Ca:Fa;ya=(Ea&Ba|0)==0;za=E?1:v}v=(ya?0:128)|wa;a[e+u>>0]=v;if(!(v&255)){V=u;W=za;X=xa;break b}v=u+1|0;if((v|0)<(k|0)){u=v;z=za;p=xa}else{V=v;W=za;X=xa;break}}}else{V=m;W=G;X=H}}else{p=0;z=0;u=0;t=r;v=s;while(1){E=v<<1;D=(E|0)==256;Ga=t+(D&1)|0;Ha=D?1:E;if(!(p>>>0<16?(v&(d[b+t>>0]|0)|0)!=0:0))break;E=(16<>0]|0)|0)==0?0:1<255){Ja=D;break a}v=c[h+(t<<2)>>2]|0;a[e+m>>0]=v;z=m+1|0;a[e+z>>0]=0;if((t|0)>0){Q=t;do{t=Q;Q=Q+-1|0;B=c[h+(Q<<2)>>2]|0;c[h+(t<<2)>>2]=B;C=i+(B<<2)|0;c[C>>2]=(c[C>>2]|0)+1}while((t|0)>1)}c[h>>2]=v;c[i+(v<<2)>>2]=0;V=z;W=D;X=E}while(0);if((V|0)<(f|0)&((V|0)<(k|0)&(X|0)<(l|0))){m=V;n=W;o=X}else{Ja=W;break}}c[9022]=Ja;Ia=g;return 0}function yl(b){b=b|0;var c=0;switch(a[b>>0]|0){case 58:{if(((a[b+1>>0]|0)==99?(a[b+2>>0]|0)==58:0)?(a[b+3>>0]|0)==0:0){c=1;return c|0}break}case 0:{if(((a[b+1>>0]|0)==112?(a[b+2>>0]|0)==120:0)?(a[b+3>>0]|0)==97:0){c=2;return c|0}break}default:{}}c=0;return c|0}function zl(a,b,c){a=a|0;b=b|0;c=c|0;return vl(a,b,c)|0}function Al(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;switch(a[b>>0]|0){case 58:{if(((a[b+1>>0]|0)==99?(a[b+2>>0]|0)==58:0)?(a[b+3>>0]|0)==0:0){f=d[b+4>>0]<<8|d[b+5>>0];$p(c,0,e);if((f|0)>(e|0)){g=1;return g|0}h=c+f|0;if(!f)i=c;else{f=b+8|0;j=c;while(1){k=a[f>>0]|0;l=k&255;m=f+1|0;if((k&255)<60){n=k<<24>>24==0;a[j>>0]=a[(n?m:63025+l|0)>>0]|0;o=n?f+2|0:m;p=1}else{n=d[m>>0]|0;m=(n>>>4)+2|0;zv(j|0,j+(0-(n&15|(l<<4)+-960))|0,m|0)|0;o=f+2|0;p=m}m=j+p|0;if(m>>>0>>0){f=o;j=m}else{i=m;break}}}j=Hu(c,63086)|0;if((j|0)!=0?(o=Ht(c)|0,(c-j+o|0)==56):0){j=c+o+-56|0;a[j>>0]=0;q=j}else q=i;i=Hu(c,63143)|0;if(i){j=Ht(c)|0;o=c;if((o-i+j|0)==73){i=c+j+-73|0;a[i>>0]=0;r=i;s=o}else{r=q;s=o}}else{r=q;s=c}g=r-s|0;return g|0}break}case 0:{if(((a[b+1>>0]|0)==112?(a[b+2>>0]|0)==120:0)?(a[b+3>>0]|0)==97:0){xl(b,c,e)|0;g=0;return g|0}break}default:{}}Qu(c,b,e)|0;g=0;return g|0}function Bl(a){a=a|0;var b=0;c[584136]=(c[584136]|0)+a;b=ys(a,1)|0;a=c[584135]|0;c[1436160+(a<<2)>>2]=b;c[584135]=a+((a|0)<16384&1);return b|0}function Cl(){var a=0,b=0;a=c[584135]|0;if((a|0)<=0)return;b=a;do{a=b+-1|0;c[584135]=a;xs(c[1436160+(a<<2)>>2]|0);b=c[584135]|0}while((b|0)>0);return}function Dl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=1;while(1){e=1<>>0<9&(e|0)<(a|0))d=d+1|0;else break}if((e|0)!=(a|0)){f=0;return f|0}e=(c[584136]|0)+16|0;c[584136]=e;d=ys(16,1)|0;g=c[584135]|0;c[1436160+(g<<2)>>2]=d;h=g+((g|0)<16384&1)|0;c[584135]=h;if(!d){f=0;return f|0}g=a*3|0;c[584136]=e+g;e=ys(a,3)|0;c[1436160+(h<<2)>>2]=e;c[584135]=h+((h|0)<16384&1);c[d+12>>2]=e;if(!e){f=0;return f|0}c[d>>2]=a;h=1;while(1)if(h>>>0<9&(1<>2]=h;if(!b){f=d;return f|0}zv(e|0,b|0,g|0)|0;f=d;return f|0}function El(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=384;g=Zt(a,b?193:577,f)|0;if((g|0)==-1)if(!d)h=0;else{c[d>>2]=1;h=0}else{f=Fl(g,d)|0;if(!f){Yt(g)|0;h=0}else h=f}Ia=e;return h|0}function Fl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[584136]|0;c[584136]=d+76;e=ys(76,1)|0;f=c[584135]|0;c[1436160+(f<<2)>>2]=e;g=f+((f|0)<16384&1)|0;c[584135]=g;if(!e){h=0;return h|0}f=e;i=f+76|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(i|0));c[584136]=d+24984;f=ys(24908,1)|0;c[1436160+(g<<2)>>2]=f;i=g+((g|0)<16384&1)|0;c[584135]=i;if(!f){if(!b){h=0;return h|0}c[b>>2]=7;h=0;return h|0}c[584136]=d+57752;d=ys(32768,1)|0;c[1436160+(i<<2)>>2]=d;c[584135]=i+((i|0)<16384&1);if(d|0){Av(d|0,-1,32768)|0;c[f+24900>>2]=d;d=lu(a,74590)|0;c[e+72>>2]=f;c[f+4>>2]=a;c[f+56>>2]=d;c[f>>2]=1;c[f+64>>2]=0;c[e+68>>2]=0;c[e+64>>2]=0;h=e;return h|0}if(!b){h=0;return h|0}c[b>>2]=7;h=0;return h|0}function Gl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;d=c[b+72>>2]|0;e=c[b+24>>2]|0;if((e|0)>0){f=c[b+52>>2]|0;g=d+24904|0;h=0;do{i=c[f+(h*36|0)+28>>2]|0;a:do if((i|0)>0){j=c[f+(h*36|0)+32>>2]|0;switch(c[j+8>>2]|0){case 1:case 249:case 254:case 255:{a[g>>0]=1;break}default:{}}if((i|0)>1){k=1;while(1){switch(c[j+(k*12|0)+8>>2]|0){case 1:case 249:case 254:case 255:{a[g>>0]=1;break}default:{}}k=k+1|0;if((k|0)>=(i|0))break a}}}while(0);h=h+1|0}while((h|0)<(e|0))}e=c[b+56>>2]|0;if((e|0)<=0){l=d+24904|0;m=a[l>>0]|0;n=m<<24>>24==0;o=n?63217:63224;return o|0}h=c[b+60>>2]|0;b=d+24904|0;d=0;while(1){switch(c[h+(d*12|0)+8>>2]|0){case 1:case 249:case 254:case 255:{a[b>>0]=1;break}default:{}}d=d+1|0;if((d|0)>=(e|0)){l=b;break}}m=a[l>>0]|0;n=m<<24>>24==0;o=n?63217:63224;return o|0}function Hl(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;i=Ia;Ia=Ia+16|0;j=i+4|0;k=i;l=b+72|0;m=c[l>>2]|0;n=c[m>>2]|0;if(n&2|0){c[b+64>>2]=3;o=0;Ia=i;return o|0}if(!(n&1)){c[b+64>>2]=10;o=0;Ia=i;return o|0}n=Gl(b)|0;p=Ht(n)|0;q=c[l>>2]|0;r=c[q+64>>2]|0;if(!r)s=Nu(n,1,p,c[q+56>>2]|0)|0;else s=Oa[r&7](b,n,p)|0;if((s|0)!=(Ht(n)|0)){c[b+64>>2]=2;o=0;Ia=i;return o|0}c[b>>2]=d;c[b+4>>2]=e;c[b+8>>2]=f;c[b+12>>2]=g;n=(h|0)!=0;if(n){s=Dl(c[h>>2]|0,c[h+12>>2]|0)|0;c[b+20>>2]=s;if(!s){c[b+64>>2]=7;o=0;Ia=i;return o|0}}else c[b+20>>2]=0;a[j>>0]=d;s=j+1|0;a[s>>0]=d>>>8;d=c[l>>2]|0;p=c[d+64>>2]|0;if(!p)Nu(j,1,2,c[d+56>>2]|0)|0;else Oa[p&7](b,j,2)|0;a[j>>0]=e;a[s>>0]=e>>>8;e=c[l>>2]|0;s=c[e+64>>2]|0;if(!s)Nu(j,1,2,c[e+56>>2]|0)|0;else Oa[s&7](b,j,2)|0;j=(n?128:0)|(f<<4)+240;if(n){f=(c[h+4>>2]|0)+-1|j;a[k>>0]=f;if(a[h+8>>0]|0){t=f|8;u=24}}else{t=j|7;u=24}if((u|0)==24)a[k>>0]=t;t=k+1|0;a[t>>0]=g;g=k+2|0;a[g>>0]=a[b+16>>0]|0;u=c[l>>2]|0;j=c[u+64>>2]|0;if(!j)Nu(k,1,3,c[u+56>>2]|0)|0;else Oa[j&7](b,k,3)|0;a:do if(n?(c[h>>2]|0)>0:0){j=h+12|0;u=0;while(1){f=c[j>>2]|0;a[k>>0]=a[f+(u*3|0)>>0]|0;a[t>>0]=a[f+(u*3|0)+1>>0]|0;a[g>>0]=a[f+(u*3|0)+2>>0]|0;f=c[l>>2]|0;s=c[f+64>>2]|0;if(!s)v=Nu(k,1,3,c[f+56>>2]|0)|0;else v=Oa[s&7](b,k,3)|0;u=u+1|0;if((v|0)!=3)break;if((u|0)>=(c[h>>2]|0))break a}c[b+64>>2]=2;o=0;Ia=i;return o|0}while(0);c[m>>2]=c[m>>2]|2;o=1;Ia=i;return o|0}function Il(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j=Ia;Ia=Ia+16|0;k=j+4|0;l=j;m=h&1;n=b+72|0;o=c[n>>2]|0;p=c[o>>2]|0;if(p&4|0?(c[o+52>>2]|0)>>>0>4294901760:0){c[b+64>>2]=4;q=0;Ia=j;return q|0}if(!(p&1)){c[b+64>>2]=10;q=0;Ia=j;return q|0}c[b+28>>2]=d;c[b+32>>2]=e;c[b+36>>2]=f;c[b+40>>2]=g;a[b+44>>0]=m;m=(i|0)!=0;p=b+48|0;do if(m){if(c[p>>2]|0)c[p>>2]=0;r=Dl(c[i>>2]|0,c[i+12>>2]|0)|0;c[p>>2]=r;if(r|0){s=c[n>>2]|0;break}c[b+64>>2]=7;q=0;Ia=j;return q|0}else{c[p>>2]=0;s=o}while(0);a[l>>0]=44;r=c[s+64>>2]|0;if(!r)Su(44,c[s+56>>2]|0)|0;else Oa[r&7](b,l,1)|0;a[k>>0]=d;r=k+1|0;a[r>>0]=d>>>8;d=c[n>>2]|0;s=c[d+64>>2]|0;if(!s)Nu(k,1,2,c[d+56>>2]|0)|0;else Oa[s&7](b,k,2)|0;a[k>>0]=e;a[r>>0]=e>>>8;e=c[n>>2]|0;s=c[e+64>>2]|0;if(!s)Nu(k,1,2,c[e+56>>2]|0)|0;else Oa[s&7](b,k,2)|0;a[k>>0]=f;a[r>>0]=f>>>8;s=c[n>>2]|0;e=c[s+64>>2]|0;if(!e)Nu(k,1,2,c[s+56>>2]|0)|0;else Oa[e&7](b,k,2)|0;a[k>>0]=g;a[r>>0]=g>>>8;r=c[n>>2]|0;e=c[r+64>>2]|0;if(!e)Nu(k,1,2,c[r+56>>2]|0)|0;else Oa[e&7](b,k,2)|0;e=(m?128:0)|(h?64:0);a:do if(m){h=(c[i+4>>2]|0)+255|e;a[l>>0]=h;r=c[n>>2]|0;s=c[r+64>>2]|0;if(!s)Su(h<<24>>24,c[r+56>>2]|0)|0;else Oa[s&7](b,l,1)|0;if((c[i>>2]|0)>0){s=i+12|0;r=l+1|0;h=l+2|0;d=0;while(1){t=c[s>>2]|0;a[l>>0]=a[t+(d*3|0)>>0]|0;a[r>>0]=a[t+(d*3|0)+1>>0]|0;a[h>>0]=a[t+(d*3|0)+2>>0]|0;t=c[n>>2]|0;u=c[t+64>>2]|0;if(!u)v=Nu(l,1,3,c[t+56>>2]|0)|0;else v=Oa[u&7](b,l,3)|0;d=d+1|0;if((v|0)!=3)break;if((d|0)>=(c[i>>2]|0))break a}c[b+64>>2]=2;q=0;Ia=j;return q|0}}else{a[l>>0]=e;d=c[n>>2]|0;h=c[d+64>>2]|0;if(!h){Su(e<<24>>24,c[d+56>>2]|0)|0;break}else{Oa[h&7](b,l,1)|0;break}}while(0);l=c[b+20>>2]|0;e=c[p>>2]|0;if((l|0)==0&(e|0)==0){c[b+64>>2]=5;q=0;Ia=j;return q|0}c[o>>2]=c[o>>2]|4;c[o+52>>2]=B(g,f)|0;f=c[n>>2]|0;n=c[((e|0)==0?l:e)+4>>2]|0;e=(n|0)>2?n:2;a[k>>0]=e;n=c[f+64>>2]|0;if(!n)Su(e<<24>>24,c[f+56>>2]|0)|0;else Oa[n&7](b,k,1)|0;a[f+68>>0]=0;c[f+8>>2]=e;k=1<>2]=k;c[f+16>>2]=k+1;c[f+20>>2]=k+2;c[f+24>>2]=e+1;c[f+28>>2]=2<>2]=4097;c[f+44>>2]=0;c[f+48>>2]=0;Av(c[f+24900>>2]|0,-1,32768)|0;if(!(Jl(b,c[n>>2]|0)|0))c[b+64>>2]=8;q=1;Ia=j;return q|0}function Jl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;f=b+72|0;g=c[f>>2]|0;h=g+44|0;i=c[h>>2]|0;do if((e|0)==4096){j=g+68|0;if((i|0)>0){k=g+48|0;l=b+64|0;m=1;n=c[k>>2]|0;while(1){o=a[j>>0]|0;do if(o<<24>>24==-1){p=c[f>>2]|0;q=c[p+64>>2]|0;if(!q)r=Nu(j,1,256,c[p+56>>2]|0)|0;else r=Oa[q&7](b,j,256)|0;if((r|0)==((d[j>>0]|0)+1|0)){a[j>>0]=0;s=0;t=10;break}else{c[l>>2]=2;u=0;break}}else{s=o;t=10}while(0);if((t|0)==10){t=0;o=s+1<<24>>24;a[j>>0]=o;a[(o&255)+(g+68)>>0]=n;u=m}n=(c[k>>2]|0)>>>8;c[k>>2]=n;o=c[h>>2]|0;c[h>>2]=o+-8;if((o|0)<=8){v=u;break}else m=u}}else v=1;c[h>>2]=0;m=a[j>>0]|0;if(m<<24>>24){n=(m&255)+1|0;m=c[f>>2]|0;k=c[m+64>>2]|0;if(!k)w=Nu(j,1,n,c[m+56>>2]|0)|0;else w=Oa[k&7](b,j,n)|0;if((w|0)!=((d[j>>0]|0)+1|0)){c[b+64>>2]=2;x=0;break}}a[j>>0]=0;n=c[f>>2]|0;k=c[n+64>>2]|0;if(!k)y=Nu(j,1,1,c[n+56>>2]|0)|0;else y=Oa[k&7](b,j,1)|0;if((y|0)==1)x=v;else{c[b+64>>2]=2;x=0}}else{k=g+48|0;n=c[k>>2]|e<>2]=n;m=(c[g+24>>2]|0)+i|0;c[h>>2]=m;if((m|0)>7){m=g+68|0;l=b+64|0;o=1;q=n;while(1){n=a[m>>0]|0;do if(n<<24>>24==-1){p=c[f>>2]|0;z=c[p+64>>2]|0;if(!z)A=Nu(m,1,256,c[p+56>>2]|0)|0;else A=Oa[z&7](b,m,256)|0;if((A|0)==((d[m>>0]|0)+1|0)){a[m>>0]=0;B=0;t=32;break}else{c[l>>2]=2;C=0;break}}else{B=n;t=32}while(0);if((t|0)==32){t=0;n=B+1<<24>>24;a[m>>0]=n;a[(n&255)+(g+68)>>0]=q;C=o}q=(c[k>>2]|0)>>>8;c[k>>2]=q;n=c[h>>2]|0;c[h>>2]=n+-8;if((n|0)<=15){x=C;break}else o=C}}else x=1}while(0);C=g+28|0;if(!((e|0)<4096?(c[g+20>>2]|0)>=(c[C>>2]|0):0))return x|0;e=g+24|0;g=(c[e>>2]|0)+1|0;c[e>>2]=g;c[C>>2]=1<>2]|0;g=c[f+24900>>2]|0;h=f+36|0;i=c[h>>2]|0;if((i|0)==4097){j=1;k=d[b>>0]|0}else{j=0;k=i}a:do if((j|0)<(e|0)){i=f+20|0;l=f+12|0;m=f+16|0;n=f+8|0;o=f+24|0;p=f+28|0;q=k;r=j;b:while(1){s=d[b+r>>0]|0;r=r+1|0;t=q<<8|s;u=t^q>>>4&1048575;v=u&8191;w=c[g+(v<<2)>>2]|0;x=w>>>12;c:do if((x|0)==1048575)y=10;else{z=v;A=x;B=w;while(1){if((A|0)==(t|0))break;z=z+1&8191;C=c[g+(z<<2)>>2]|0;A=C>>>12;if((A|0)==1048575){y=10;break c}else B=C}D=B&4095}while(0);do if((y|0)==10){y=0;if(!(Jl(a,q)|0)){y=11;break b}w=c[i>>2]|0;if((w|0)>4094){if(!(Jl(a,c[l>>2]|0)|0)){y=14;break b}c[i>>2]=(c[m>>2]|0)+1;x=(c[n>>2]|0)+1|0;c[o>>2]=x;c[p>>2]=1<>2]=w+1;x=u;while(1){v=x&8191;E=g+(v<<2)|0;if((c[E>>2]|0)>>>0<4294963200)x=v+1|0;else break}c[E>>2]=w&4095|t<<12;D=s}while(0);if((r|0)>=(e|0)){F=D;break a}else q=D}if((y|0)==11){c[a+64>>2]=8;G=0;return G|0}else if((y|0)==14){c[a+64>>2]=8;G=0;return G|0}}else F=k;while(0);c[h>>2]=F;if(c[f+52>>2]|0){G=1;return G|0}if(!(Jl(a,F)|0)){c[a+64>>2]=8;G=0;return G|0}if(!(Jl(a,c[f+16>>2]|0)|0)){c[a+64>>2]=8;G=0;return G|0}if(Jl(a,4096)|0){G=1;return G|0}c[a+64>>2]=8;G=0;return G|0}function Ll(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;d=Ia;Ia=Ia+16|0;e=d;f=b+20|0;if(!(Hl(b,c[b>>2]|0,c[b+4>>2]|0,c[b+8>>2]|0,c[b+12>>2]|0,c[f>>2]|0)|0)){g=0;Ia=d;return g|0}h=b+24|0;a:do if((c[h>>2]|0)>0){i=b+52|0;j=b+72|0;k=e+1|0;l=b+36|0;m=0;b:while(1){n=c[i>>2]|0;o=c[n+(m*36|0)+12>>2]|0;p=c[n+(m*36|0)+8>>2]|0;q=n+(m*36|0)+24|0;c:do if(c[q>>2]|0){r=c[n+(m*36|0)+32>>2]|0;s=c[n+(m*36|0)+28>>2]|0;if((r|0)!=0&(s|0)>0){t=s+-1|0;u=0;do{v=r+(u*12|0)|0;w=c[r+(u*12|0)+8>>2]|0;if(w|0){x=c[j>>2]|0;if(!(c[x>>2]&1)){y=13;break b}a[e>>0]=33;a[k>>0]=w;w=c[x+64>>2]|0;if(!w)Nu(e,1,2,c[x+56>>2]|0)|0;else Oa[w&7](b,e,2)|0}w=c[v>>2]|0;x=c[r+(u*12|0)+4>>2]|0;z=c[j>>2]|0;if(!(c[z>>2]&1)){y=21;break b}a[e>>0]=w;A=c[z+64>>2]|0;if(!A)Su(w<<24>>24,c[z+56>>2]|0)|0;else Oa[A&7](b,e,1)|0;A=c[j>>2]|0;z=c[A+64>>2]|0;if(!z)Nu(x,1,w,c[A+56>>2]|0)|0;else Oa[z&7](b,x,w)|0;if(!((u|0)!=(t|0)?!(c[v+12+8>>2]|0):0)){v=c[j>>2]|0;if(!(c[v>>2]&1)){y=29;break b}a[e>>0]=0;w=c[v+64>>2]|0;if(!w)Su(0,c[v+56>>2]|0)|0;else Oa[w&7](b,e,1)|0}u=u+1|0}while((u|0)<(s|0))}s=n+(m*36|0)+16|0;if(!(Il(b,c[n+(m*36|0)>>2]|0,c[n+(m*36|0)+4>>2]|0,p,o,(a[s>>0]|0)!=0,c[n+(m*36|0)+20>>2]|0)|0)){g=0;y=118;break b}if(!(a[s>>0]|0)){if((o|0)<=0)break;if(!p){s=0;while(1){u=c[q>>2]|0;t=c[j>>2]|0;if(!(c[t>>2]&1)){y=70;break b}r=c[l>>2]|0;w=t+52|0;v=c[w>>2]|0;if(v>>>0>>0){y=72;break b}c[w>>2]=v-r;v=a[63231+(c[t+8>>2]|0)>>0]|0;if((r|0)>0){t=0;do{w=u+t|0;a[w>>0]=a[w>>0]&v;t=t+1|0}while((t|0)!=(r|0))}s=s+1|0;if(!(Kl(b,u,r)|0)){g=0;y=118;break b}if((s|0)>=(o|0))break c}}else{s=(p|0)>0;t=0;while(1){v=(c[q>>2]|0)+(B(t,p)|0)|0;w=c[j>>2]|0;if(!(c[w>>2]&1)){y=70;break b}x=w+52|0;z=c[x>>2]|0;if(z>>>0

>>0){y=72;break b}c[x>>2]=z-p;z=a[63231+(c[w+8>>2]|0)>>0]|0;if(s){w=0;do{x=v+w|0;a[x>>0]=a[x>>0]&z;w=w+1|0}while((w|0)!=(p|0))}t=t+1|0;if(!(Kl(b,v,p)|0)){g=0;y=118;break b}if((t|0)>=(o|0))break c}}}t=(o|0)>0;if(!p){if(!t)break;s=0;do{w=c[q>>2]|0;z=c[j>>2]|0;if(!(c[z>>2]&1)){y=48;break b}r=c[l>>2]|0;u=z+52|0;x=c[u>>2]|0;if(x>>>0>>0){y=50;break b}c[u>>2]=x-r;x=a[63231+(c[z+8>>2]|0)>>0]|0;if((r|0)>0){z=0;do{u=w+z|0;a[u>>0]=a[u>>0]&x;z=z+1|0}while((z|0)!=(r|0))}if(!(Kl(b,w,r)|0)){g=0;y=118;break b}s=s+8|0}while((s|0)<(o|0));if((o|0)>4){s=4;do{z=c[q>>2]|0;x=c[j>>2]|0;if(!(c[x>>2]&1)){y=48;break b}v=c[l>>2]|0;u=x+52|0;A=c[u>>2]|0;if(A>>>0>>0){y=50;break b}c[u>>2]=A-v;A=a[63231+(c[x+8>>2]|0)>>0]|0;if((v|0)>0){x=0;do{u=z+x|0;a[u>>0]=a[u>>0]&A;x=x+1|0}while((x|0)!=(v|0))}if(!(Kl(b,z,v)|0)){g=0;y=118;break b}s=s+8|0}while((s|0)<(o|0))}if((o|0)>2){s=2;do{x=c[q>>2]|0;A=c[j>>2]|0;if(!(c[A>>2]&1)){y=48;break b}r=c[l>>2]|0;w=A+52|0;u=c[w>>2]|0;if(u>>>0>>0){y=50;break b}c[w>>2]=u-r;u=a[63231+(c[A+8>>2]|0)>>0]|0;if((r|0)>0){A=0;do{w=x+A|0;a[w>>0]=a[w>>0]&u;A=A+1|0}while((A|0)!=(r|0))}if(!(Kl(b,x,r)|0)){g=0;y=118;break b}s=s+4|0}while((s|0)<(o|0))}if((o|0)<=1)break;s=1;do{A=c[q>>2]|0;u=c[j>>2]|0;if(!(c[u>>2]&1)){y=48;break b}v=c[l>>2]|0;z=u+52|0;w=c[z>>2]|0;if(w>>>0>>0){y=50;break b}c[z>>2]=w-v;w=a[63231+(c[u+8>>2]|0)>>0]|0;if((v|0)>0){u=0;do{z=A+u|0;a[z>>0]=a[z>>0]&w;u=u+1|0}while((u|0)!=(v|0))}if(!(Kl(b,A,v)|0)){g=0;y=118;break b}s=s+2|0}while((s|0)<(o|0))}else{if(!t)break;s=(p|0)>0;u=0;do{w=(c[q>>2]|0)+(B(u,p)|0)|0;r=c[j>>2]|0;if(!(c[r>>2]&1)){y=48;break b}x=r+52|0;z=c[x>>2]|0;if(z>>>0

>>0){y=50;break b}c[x>>2]=z-p;z=a[63231+(c[r+8>>2]|0)>>0]|0;if(s){r=0;do{x=w+r|0;a[x>>0]=a[x>>0]&z;r=r+1|0}while((r|0)!=(p|0))}if(!(Kl(b,w,p)|0)){g=0;y=118;break b}u=u+8|0}while((u|0)<(o|0));if((o|0)>4){u=(p|0)>0;s=4;do{t=(c[q>>2]|0)+(B(s,p)|0)|0;r=c[j>>2]|0;if(!(c[r>>2]&1)){y=48;break b}z=r+52|0;v=c[z>>2]|0;if(v>>>0

>>0){y=50;break b}c[z>>2]=v-p;v=a[63231+(c[r+8>>2]|0)>>0]|0;if(u){r=0;do{z=t+r|0;a[z>>0]=a[z>>0]&v;r=r+1|0}while((r|0)!=(p|0))}if(!(Kl(b,t,p)|0)){g=0;y=118;break b}s=s+8|0}while((s|0)<(o|0))}if((o|0)>2){s=(p|0)>0;u=2;do{r=(c[q>>2]|0)+(B(u,p)|0)|0;v=c[j>>2]|0;if(!(c[v>>2]&1)){y=48;break b}w=v+52|0;z=c[w>>2]|0;if(z>>>0

>>0){y=50;break b}c[w>>2]=z-p;z=a[63231+(c[v+8>>2]|0)>>0]|0;if(s){v=0;do{w=r+v|0;a[w>>0]=a[w>>0]&z;v=v+1|0}while((v|0)!=(p|0))}if(!(Kl(b,r,p)|0)){g=0;y=118;break b}u=u+4|0}while((u|0)<(o|0))}if((o|0)<=1)break;u=(p|0)>0;s=1;do{v=(c[q>>2]|0)+(B(s,p)|0)|0;z=c[j>>2]|0;if(!(c[z>>2]&1)){y=48;break b}t=z+52|0;w=c[t>>2]|0;if(w>>>0

>>0){y=50;break b}c[t>>2]=w-p;w=a[63231+(c[z+8>>2]|0)>>0]|0;if(u){z=0;do{t=v+z|0;a[t>>0]=a[t>>0]&w;z=z+1|0}while((z|0)!=(p|0))}if(!(Kl(b,v,p)|0)){g=0;y=118;break b}s=s+2|0}while((s|0)<(o|0))}}while(0);m=m+1|0;if((m|0)>=(c[h>>2]|0))break a}if((y|0)==13){c[b+64>>2]=10;g=0;Ia=d;return g|0}else if((y|0)==21){c[b+64>>2]=10;g=0;Ia=d;return g|0}else if((y|0)==29){c[b+64>>2]=10;g=0;Ia=d;return g|0}else if((y|0)==48){c[b+64>>2]=10;g=0;Ia=d;return g|0}else if((y|0)==50){c[b+64>>2]=6;g=0;Ia=d;return g|0}else if((y|0)==70){c[b+64>>2]=10;g=0;Ia=d;return g|0}else if((y|0)==72){c[b+64>>2]=6;g=0;Ia=d;return g|0}else if((y|0)==118){Ia=d;return g|0}}while(0);h=c[b+60>>2]|0;m=c[b+56>>2]|0;d:do if((h|0)!=0&(m|0)>0){j=m+-1|0;l=b+72|0;k=e+1|0;i=0;while(1){o=h+(i*12|0)|0;p=c[h+(i*12|0)+8>>2]|0;if(p|0){q=c[l>>2]|0;if(!(c[q>>2]&1)){y=87;break}a[e>>0]=33;a[k>>0]=p;p=c[q+64>>2]|0;if(!p)Nu(e,1,2,c[q+56>>2]|0)|0;else Oa[p&7](b,e,2)|0}p=c[o>>2]|0;q=c[h+(i*12|0)+4>>2]|0;n=c[l>>2]|0;if(!(c[n>>2]&1)){y=95;break}a[e>>0]=p;s=c[n+64>>2]|0;if(!s)Su(p<<24>>24,c[n+56>>2]|0)|0;else Oa[s&7](b,e,1)|0;s=c[l>>2]|0;n=c[s+64>>2]|0;if(!n)Nu(q,1,p,c[s+56>>2]|0)|0;else Oa[n&7](b,q,p)|0;if(!((i|0)!=(j|0)?!(c[o+12+8>>2]|0):0)){o=c[l>>2]|0;if(!(c[o>>2]&1)){y=103;break}a[e>>0]=0;p=c[o+64>>2]|0;if(!p)Su(0,c[o+56>>2]|0)|0;else Oa[p&7](b,e,1)|0}i=i+1|0;if((i|0)>=(m|0)){C=l;break d}}if((y|0)==87){c[b+64>>2]=10;g=0;Ia=d;return g|0}else if((y|0)==95){c[b+64>>2]=10;g=0;Ia=d;return g|0}else if((y|0)==103){c[b+64>>2]=10;g=0;Ia=d;return g|0}}else C=b+72|0;while(0);y=c[C>>2]|0;do if(y|0?c[y>>2]&1|0:0){C=c[y+56>>2]|0;a[e>>0]=59;m=c[y+64>>2]|0;if(!m)Su(59,C)|0;else Oa[m&7](b,e,1)|0;m=b+48|0;if(c[m>>2]|0)c[m>>2]=0;if(c[f>>2]|0)c[f>>2]=0;if(C|0?pu(C)|0:0)break;g=1;Ia=d;return g|0}while(0);g=0;Ia=d;return g|0}function Ml(a){a=a|0;var b=0;b=1;while(1)if(b>>>0<9&(1<>2]|0;a:do if(!f){c[584136]=(c[584136]|0)+36;g=ys(36,1)|0;h=c[584135]|0;c[1436160+(h<<2)>>2]=g;c[584135]=h+((h|0)<16384&1);i=g}else{g=((c[b+24>>2]|0)*36|0)+36|0;h=c[584135]|0;b:do if((h|0)>0){j=0;while(1){k=1436160+(j<<2)|0;if((c[k>>2]|0)==(f|0))break;j=j+1|0;if((j|0)>=(h|0))break b}j=zs(f,g)|0;c[k>>2]=j;i=j;break a}while(0);i=zs(f,g)|0}while(0);c[e>>2]=i;if(!i){l=0;return l|0}f=b+24|0;b=c[f>>2]|0;c[f>>2]=b+1;k=i+(b*36|0)|0;h=k;j=h+36|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(j|0));if(!d){l=k;return l|0}h=k;m=d;j=h+36|0;do{a[h>>0]=a[m>>0]|0;h=h+1|0;m=m+1|0}while((h|0)<(j|0));m=i+(b*36|0)+20|0;if(c[m>>2]|0?(h=c[d+20>>2]|0,j=Dl(c[h>>2]|0,c[h+12>>2]|0)|0,c[m>>2]=j,(j|0)==0):0){j=c[e>>2]|0;if(!j){l=0;return l|0}m=(c[f>>2]|0)+-1|0;c[f>>2]=m;h=j+(m*36|0)+20|0;if(c[h>>2]|0)c[h>>2]=0;h=j+(m*36|0)+32|0;if(!(c[h>>2]|0)){l=0;return l|0}c[h>>2]=0;c[j+(m*36|0)+28>>2]=0;l=0;return l|0}m=d+12|0;j=d+8|0;h=B(c[j>>2]|0,c[m>>2]|0)|0;n=(c[584136]|0)+h|0;c[584136]=n;o=ys(h,1)|0;h=c[584135]|0;c[1436160+(h<<2)>>2]=o;p=h+((h|0)<16384&1)|0;c[584135]=p;c[i+(b*36|0)+24>>2]=o;if(!o){h=c[e>>2]|0;if(!h){l=0;return l|0}q=(c[f>>2]|0)+-1|0;c[f>>2]=q;r=h+(q*36|0)+20|0;if(c[r>>2]|0)c[r>>2]=0;r=h+(q*36|0)+32|0;if(!(c[r>>2]|0)){l=0;return l|0}c[r>>2]=0;c[h+(q*36|0)+28>>2]=0;l=0;return l|0}zv(o|0,c[d+24>>2]|0,B(c[j>>2]|0,c[m>>2]|0)|0)|0;m=i+(b*36|0)+32|0;if(!(c[m>>2]|0)){l=k;return l|0}b=d+28|0;i=(c[b>>2]|0)*12|0;c[584136]=i+n;n=ys(i,1)|0;c[1436160+(p<<2)>>2]=n;c[584135]=p+((p|0)<16384&1);c[m>>2]=n;if(n|0){zv(n|0,c[d+32>>2]|0,(c[b>>2]|0)*12|0)|0;l=k;return l|0}k=c[e>>2]|0;if(!k){l=0;return l|0}e=(c[f>>2]|0)+-1|0;c[f>>2]=e;f=k+(e*36|0)+20|0;if(c[f>>2]|0)c[f>>2]=0;f=k+(e*36|0)+32|0;if(!(c[f>>2]|0)){l=0;return l|0}c[f>>2]=0;c[k+(e*36|0)+28>>2]=0;l=0;return l|0}function Ol(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=Ia;Ia=Ia+1632|0;d=b+1616|0;e=b+1608|0;f=b+1600|0;g=b+1592|0;h=b+1584|0;i=b+1576|0;j=b+1568|0;k=b+1560|0;l=b+1552|0;m=b+528|0;n=b;c[824522]=0;Av(n|0,0,521)|0;if((c[806962]|0)!=1|(c[806968]|0)==0|(a[3222468]|0)==0){o=0;Ia=b;return o|0}if((Ht(3222468)|0)>>>0>64){o=0;Ia=b;return o|0}c[l>>2]=3220284;c[l+4>>2]=3222468;Xs(m,63240,l)|0;l=to(m,74590)|0;if(!l){o=1;Ia=b;return o|0}m=0;do{p=m*65|0;q=m<<3;r=n+(p+64)|0;c[k>>2]=c[3223492+(q<<2)>>2];Xs(n+p|0,63253,k)|0;a[r>>0]=10;c[j>>2]=c[3223492+((q|1)<<2)>>2];Xs(n+(p+8)|0,63253,j)|0;a[r>>0]=10;c[i>>2]=c[3223492+((q|2)<<2)>>2];Xs(n+(p+16)|0,63253,i)|0;a[r>>0]=10;c[h>>2]=c[3223492+((q|3)<<2)>>2];Xs(n+(p+24)|0,63253,h)|0;a[r>>0]=10;c[g>>2]=c[3223492+((q|4)<<2)>>2];Xs(n+(p+32)|0,63253,g)|0;a[r>>0]=10;c[f>>2]=c[3223492+((q|5)<<2)>>2];Xs(n+(p+40)|0,63253,f)|0;a[r>>0]=10;c[e>>2]=c[3223492+((q|6)<<2)>>2];Xs(n+(p+48)|0,63253,e)|0;a[r>>0]=10;c[d>>2]=c[3223492+((q|7)<<2)>>2];Xs(n+(p+56)|0,63253,d)|0;a[r>>0]=10;m=m+1|0}while((m|0)!=8);lo(n,1,520,l)|0;uo(l);o=0;Ia=b;return o|0}function Pl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Ia;Ia=Ia+2592|0;e=d+2584|0;f=d+2576|0;g=d+1552|0;h=d+528|0;i=d;if(!b){j=3;Ia=d;return j|0}if(!((c[806962]|0)==1&(c[806968]|0)!=0)){j=1;Ia=d;return j|0}if(a[3222468]|0){Bb(63258)|0;j=2;Ia=d;return j|0}k=a[b>>0]|0;if(k<<24>>24?(l=Ht(b)|0,l>>>0<=64):0){a:do if(l|0){m=0;n=k;b:while(1){o=n<<24>>24;if(!((o+-97|0)>>>0<26|(o+-48|0)>>>0<10))switch(o|0){case 45:case 95:break;default:break b}o=m+1|0;if(o>>>0>=l>>>0)break a;m=o;n=a[b+o>>0]|0}Bb(63315)|0;j=2;Ia=d;return j|0}while(0);qs(3222468,b)|0;Av(3223492,0,256)|0;c[f>>2]=3220284;c[f+4>>2]=3222468;Xs(g,63240,f)|0;f=to(g,65983)|0;if(!f){j=1;Ia=d;return j|0}$p(h,0,1024);jo(h,1,1024,f)|0;uo(f);$p(i,0,513);f=0;g=0;while(1){b=a[h+g>>0]|0;if((b+-48&255)<10)p=19;else switch(b<<24>>24){case 65:case 66:case 67:case 68:case 69:case 70:case 97:case 98:case 99:case 100:case 101:case 102:{p=19;break}default:q=f}if((p|0)==19){p=0;a[i+f>>0]=b;q=f+1|0}g=g+1|0;if(!(g>>>0<1024&(q|0)<512))break;else f=q}q=0;do{c[e>>2]=3223492+(q<<2);wu(i+(q<<3)|0,63253,e)|0;q=q+1|0}while((q|0)!=64);j=0;Ia=d;return j|0}Bb(63293)|0;j=2;Ia=d;return j|0}function Ql(a){a=a|0;return}function Rl(a){a=a|0;return}function Sl(){var a=0,b=0,d=0;c[584137]=0;c[584138]=0;a=1894416;b=1894352;d=a+64|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function Tl(){var a=0,b=0,d=0;if((c[584137]|0)>=13)return;a=1894352;b=1894416;d=a+64|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function Ul(a){a=a|0;var b=0,d=0,e=0;b=(a|0)==27;if(b&(c[584137]|0)<13){a=1894352;d=1894416;e=a+64|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(e|0));Vl(c[769383]|0)}if(b)c[824858]=0;if((c[584137]|0)<=12)return;c[824858]=0;c[807091]=120;return}function Vl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Ia;Ia=Ia+16|0;e=d+8|0;f=d;un(b,0,0,127,127,1);un(b,4,41,123,124,6);un(b,0,0,127,6,7);go(b,63338,c[769402]|0,6,1,1,12)|0;g=c[c[769401]>>2]|0;h=c[584137]|0;i=c[((h|0)==13?g+672|0:(h|0)==12?g+700|0:g+(((h|0)%6|0)+169<<2)|0)>>2]|0;wn(i,b,0,0,6,8,c[i>>2]|0,c[i+4>>2]|0);i=c[769402]|0;if((c[584137]|0)>12){go(b,63356,i,60,12,1,11)|0;go(b,63370,c[769402]|0,60,22,1,12)|0;go(b,63383,c[769402]|0,60,29,1,12)|0}else{go(b,63395,i,60,12,1,6)|0;go(b,c[3264+(c[584137]<<2)>>2]|0,c[769402]|0,60,19,1,7)|0;go(b,63410,c[769402]|0,60,26,1,13)|0;go(b,63426,c[769402]|0,60,33,1,13)|0}i=0;h=44;while(1){g=c[1894352+(i<<2)>>2]|0;j=c[3264+(i<<2)>>2]|0;if(!g){k=c[3328+(i<<2)>>2]|0;c[f>>2]=j;c[f+4>>2]=k;Xs(1676064,63440,f)|0}else{k=(g|0)<255?g:255;g=pr((k|0)>0?k:0)|0;c[e>>2]=j;c[e+4>>2]=g;Xs(1676064,63440,e)|0}g=a[1676064]|0;if(g<<24>>24){j=1676064;k=g;do{if((k+-65&255)<26)a[j>>0]=(k&255)+32;j=j+1|0;k=a[j>>0]|0}while(k<<24>>24!=0)}if((i|0)==(c[584137]|0)){un(b,7,h+-1|0,120,h+5|0,14);l=1}else l=5;go(b,1676064,c[769402]|0,10,h,1,l)|0;i=i+1|0;if((i|0)==13)break;else h=h+6|0}Ia=d;return}function Wl(){var a=0,b=0,d=0;if(!(c[584138]|0)){c[584138]=1;a=0;do{if(Wn(a)|0)c[584138]=0;a=a+1|0}while((a|0)!=512);if((c[584137]|0)<=12)return;c[584138]=0;return}a=0;do{if(Wn(a)|0){switch(a&2147483647|0){case 42:case 76:{b=0;break}default:b=a}d=c[584137]|0;c[1894352+(d<<2)>>2]=b;c[584138]=0;c[584137]=d+1;if((d|0)>11?Tn()|0:0)do Un()|0;while((Tn()|0)!=0)}a=a+1|0}while((a|0)!=512);return}function Xl(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=Ia;Ia=Ia+16|0;j=i;if(e>>>0>6){Ia=i;return}if(!(_k(e,f)|0))k=(Yk(e,f)|0)>128&1;else k=1;wn(c[(c[c[769401]>>2]|0)+(k+247<<2)>>2]|0,b,0,0,g,h,7,7);a[j>>0]=(d[63663+e>>0]|0)+31;a[j+1>>0]=0;go(b,j,c[769402]|0,g,k+h|0,1,7)|0;Ia=i;return}function Yl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;d=Ia;Ia=Ia+1056|0;e=d+1024|0;f=d+1040|0;g=d+1036|0;h=d+1032|0;i=d;Fr(g,h,d+1028|0);j=c[(c[c[769401]>>2]|0)+984>>2]|0;k=j+4|0;l=(c[j>>2]|0)/2|0;m=64-l|0;n=(c[k>>2]|0)/2|0;o=64-n|0;wk(b,63-l|0,63-n|0,l+64|0,n+64|0,1);Bn(b,m,o,l+63|0,n+63|0,7);wn(j,b,0,0,m,o,c[j>>2]|0,c[k>>2]|0);Av(i|0,0,1024)|0;qs(i,63670)|0;k=i+256|0;qs(k,63678)|0;j=i+512|0;qs(j,63686)|0;n=i+768|0;qs(n,63694)|0;if(!((c[473588]|c[473589]|c[473590]|c[473591]|0)==0|(c[473588]|0)==80&(c[473589]|0)==79&(c[473590]|0)==82&(c[473591]|0)==81)){qs(i,63702)|0;l=c[473588]|0;if(l|0){p=(l|0)<255?l:255;l=pr((p|0)>0?p:0)|0;if((l|0)!=0?(Ht(l)|0)==1:0){p=a[l>>0]|0;l=p<<24>>24;q=(p+-65&255)<26?l+32|0:l}else q=16;a[i>>0]=q}q=c[473589]|0;if(q|0){l=(q|0)<255?q:255;q=pr((l|0)>0?l:0)|0;if((q|0)!=0?(Ht(q)|0)==1:0){l=a[q>>0]|0;q=l<<24>>24;r=(l+-65&255)<26?q+32|0:q}else r=16;a[i+2>>0]=r}r=c[473590]|0;if(r|0){q=(r|0)<255?r:255;r=pr((q|0)>0?q:0)|0;if((r|0)!=0?(Ht(r)|0)==1:0){q=a[r>>0]|0;r=q<<24>>24;s=(q+-65&255)<26?r+32|0:r}else s=16;a[i+4>>0]=s}s=c[473591]|0;if(s|0){r=(s|0)<255?s:255;s=pr((r|0)>0?r:0)|0;if((s|0)!=0?(Ht(s)|0)==1:0){r=a[s>>0]|0;s=r<<24>>24;t=(r+-65&255)<26?s+32|0:s}else t=16;a[i+6>>0]=t}}if(c[473592]|c[473593]|0){qs(k,63702)|0;t=c[473592]|0;if(t|0){s=(t|0)<255?t:255;t=pr((s|0)>0?s:0)|0;if((t|0)!=0?(Ht(t)|0)==1:0){s=a[t>>0]|0;t=s<<24>>24;u=(s+-65&255)<26?t+32|0:t}else u=16;a[i+256>>0]=u}u=c[473593]|0;if(u|0){t=(u|0)<255?u:255;u=pr((t|0)>0?t:0)|0;if((u|0)!=0?(Ht(u)|0)==1:0){t=a[u>>0]|0;u=t<<24>>24;v=(t+-65&255)<26?u+32|0:u}else v=16;a[i+258>>0]=v}}if(c[473594]|c[473595]|c[473596]|c[473597]|0){qs(j,63702)|0;v=c[473594]|0;if(v|0){u=(v|0)<255?v:255;v=pr((u|0)>0?u:0)|0;if((v|0)!=0?(Ht(v)|0)==1:0){u=a[v>>0]|0;v=u<<24>>24;w=(u+-65&255)<26?v+32|0:v}else w=16;a[i+512>>0]=w}w=c[473595]|0;if(w|0){v=(w|0)<255?w:255;w=pr((v|0)>0?v:0)|0;if((w|0)!=0?(Ht(w)|0)==1:0){v=a[w>>0]|0;w=v<<24>>24;x=(v+-65&255)<26?w+32|0:w}else x=16;a[i+514>>0]=x}x=c[473596]|0;if(x|0){w=(x|0)<255?x:255;x=pr((w|0)>0?w:0)|0;if((x|0)!=0?(Ht(x)|0)==1:0){w=a[x>>0]|0;x=w<<24>>24;y=((w+-65&255)<26?x+32|0:x)&255}else y=16;a[i+516>>0]=y}y=c[473597]|0;if(y|0){x=(y|0)<255?y:255;y=pr((x|0)>0?x:0)|0;if((y|0)!=0?(Ht(y)|0)==1:0){x=a[y>>0]|0;y=x<<24>>24;z=((x+-65&255)<26?y+32|0:y)&255}else z=16;a[i+518>>0]=z}}if(c[473598]|c[473599]|0){qs(n,63702)|0;z=c[473598]|0;if(z|0){y=(z|0)<255?z:255;z=pr((y|0)>0?y:0)|0;if((z|0)!=0?(Ht(z)|0)==1:0){y=a[z>>0]|0;z=y<<24>>24;A=((y+-65&255)<26?z+32|0:z)&255}else A=16;a[i+768>>0]=A}A=c[473599]|0;if(A|0){z=(A|0)<255?A:255;A=pr((z|0)>0?z:0)|0;if((A|0)!=0?(Ht(A)|0)==1:0){z=a[A>>0]|0;A=z<<24>>24;B=((z+-65&255)<26?A+32|0:A)&255}else B=16;a[i+770>>0]=B}}B=c[769402]|0;go(b,i,B,90-((Ht(i)|0)<<1)|0,34,1,13)|0;i=c[769402]|0;go(b,k,i,90-((Ht(k)|0)<<1)|0,44,1,13)|0;k=c[769402]|0;go(b,j,k,90-((Ht(j)|0)<<1)|0,61,1,13)|0;j=c[769402]|0;go(b,n,j,90-((Ht(n)|0)<<1)|0,72,1,13)|0;n=m+18|0;j=o+14|0;Xl(b,0,0,n,j);k=m+26|0;Xl(b,1,0,k,j);i=m+34|0;Xl(b,2,0,i,j);B=m+42|0;Xl(b,3,0,B,j);j=o+25|0;if(!(_k(4,0)|0))C=(Yk(4,0)|0)>128&1;else C=1;wn(c[(c[c[769401]>>2]|0)+(C+247<<2)>>2]|0,b,0,0,n,j,7,7);a[f>>0]=-114;A=f+1|0;a[A>>0]=0;go(b,f,c[769402]|0,n,C+j|0,1,7)|0;C=m+26|0;if(!(_k(5,0)|0))D=(Yk(5,0)|0)>128&1;else D=1;wn(c[(c[c[769401]>>2]|0)+(D+247<<2)>>2]|0,b,0,0,C,j,7,7);a[f>>0]=-105;a[A>>0]=0;go(b,f,c[769402]|0,C,D+j|0,1,7)|0;j=o+41|0;Xl(b,0,1,n,j);Xl(b,1,1,k,j);Xl(b,2,1,i,j);Xl(b,3,1,B,j);j=o+52|0;if(!(_k(4,1)|0))E=(Yk(4,1)|0)>128&1;else E=1;wn(c[(c[c[769401]>>2]|0)+(E+247<<2)>>2]|0,b,0,0,n,j,7,7);a[f>>0]=-114;a[A>>0]=0;go(b,f,c[769402]|0,n,E+j|0,1,7)|0;if(_k(5,1)|0){F=1;G=c[769401]|0;H=c[G>>2]|0;I=F+247|0;J=H+(I<<2)|0;K=c[J>>2]|0;wn(K,b,0,0,C,j,7,7);a[f>>0]=-105;a[A>>0]=0;L=c[769402]|0;M=F+j|0;go(b,f,L,C,M,1,7)|0;N=c[573681]|0;c[e>>2]=N;Xs(1676064,63710,e)|0;O=c[769402]|0;P=m+5|0;Q=o+80|0;go(b,1676064,O,P,Q,1,13)|0;R=c[769401]|0;S=c[R>>2]|0;T=S+356|0;U=c[T>>2]|0;V=c[g>>2]|0;W=c[U>>2]|0;X=(W|0)/2|0;Y=V-X|0;Z=c[h>>2]|0;_=U+4|0;$=c[_>>2]|0;aa=($|0)/2|0;ba=Z-aa|0;wn(U,b,0,0,Y,ba,W,$);Ia=d;return}F=(Yk(5,1)|0)>128&1;G=c[769401]|0;H=c[G>>2]|0;I=F+247|0;J=H+(I<<2)|0;K=c[J>>2]|0;wn(K,b,0,0,C,j,7,7);a[f>>0]=-105;a[A>>0]=0;L=c[769402]|0;M=F+j|0;go(b,f,L,C,M,1,7)|0;N=c[573681]|0;c[e>>2]=N;Xs(1676064,63710,e)|0;O=c[769402]|0;P=m+5|0;Q=o+80|0;go(b,1676064,O,P,Q,1,13)|0;R=c[769401]|0;S=c[R>>2]|0;T=S+356|0;U=c[T>>2]|0;V=c[g>>2]|0;W=c[U>>2]|0;X=(W|0)/2|0;Y=V-X|0;Z=c[h>>2]|0;_=U+4|0;$=c[_>>2]|0;aa=($|0)/2|0;ba=Z-aa|0;wn(U,b,0,0,Y,ba,W,$);Ia=d;return}function Zl(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;c=a[b>>0]|0;if(!(c<<24>>24))return;d=c;while(1){c=b+((Ht(b)|0)+-1)|0;if((a[c>>0]|0)!=32)break;a[c>>0]=0;c=a[b>>0]|0;if(!(c<<24>>24)){e=15;break}else d=c}if((e|0)==15)return;c=b;f=d;do{if((f+-65&255)<26)a[c>>0]=(f&255)+32;c=c+1|0;f=a[c>>0]|0}while(f<<24>>24!=0);f=a[b>>0]|0;if(!(f<<24>>24))return;c=b;b=f;do{if(sb(b<<24>>24)|0){if((a[c>>0]|0)==124){g=95;e=13}}else{g=32;e=13}if((e|0)==13){e=0;a[c>>0]=g}c=c+1|0;b=a[c>>0]|0}while(b<<24>>24!=0);return}function _l(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=Ia;Ia=Ia+1056|0;b=a+1024|0;d=a;Gr(64998,d);e=ju(d,66613)|0;if(!e){Ia=a;return}d=c[375984]|0;if((d|0)>0){f=0;g=d;while(1){d=c[375717]|0;if((c[d+(f*692|0)+684>>2]|0)==1){h=c[d+(f*692|0)+644>>2]|0;c[b>>2]=d+(f*692|0)+388;c[b+4>>2]=d+(f*692|0)+516;c[b+8>>2]=h;c[b+12>>2]=d+(f*692|0)+132;c[b+16>>2]=d+(f*692|0)+260;c[b+20>>2]=d+(f*692|0)+4;Eu(e,63737,b)|0;i=c[375984]|0}else i=g;f=f+1|0;if((f|0)>=(i|0))break;else g=i}}pu(e)|0;Ia=a;return}function $l(){var a=0,b=0;a=Ia;Ia=Ia+1024|0;b=a;Gr(64998,b);am(1502864,b);Ia=a;return}function am(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;e=Ia;Ia=Ia+528|0;f=e+520|0;g=e+512|0;h=e;i=to(d,74412)|0;if(!i){c[g>>2]=d;Xs(1671456,63776,g)|0;hn(1671456);Ia=e;return}a:do if(!(ro(i)|0)){g=b+1072|0;d=b+4|0;j=h+1|0;k=0;do{if(k>>>0>=2048)break a;k=k+1|0;a[h>>0]=0;vo(h,511,i)|0;do if((a[h>>0]|0)==124){eq(c[b>>2]|0,((c[g>>2]|0)*692|0)+692|0)|0;l=c[(c[b>>2]|0)+12>>2]|0;c[d>>2]=l;m=c[g>>2]|0;c[g>>2]=m+1;n=l+(m*692|0)|0;Av(n|0,0,692)|0;m=n+684|0;c[m>>2]=1;l=j;b:while(1){switch(a[l>>0]|0){case 0:case 124:{break b;break}default:{}}l=l+1|0}a[l>>0]=0;o=n+388|0;qs(o,j)|0;p=l+1|0;q=p;c:while(1){switch(a[q>>0]|0){case 0:case 124:{break c;break}default:{}}q=q+1|0}a[q>>0]=0;l=n+516|0;qs(l,p)|0;r=q+1|0;s=r;d:while(1){switch(a[s>>0]|0){case 0:case 124:{break d;break}default:{}}s=s+1|0}a[s>>0]=0;c[f>>2]=n+644;wu(r,65660,f)|0;q=s+1|0;p=q;e:while(1){switch(a[p>>0]|0){case 0:case 124:{break e;break}default:{}}p=p+1|0}a[p>>0]=0;qs(n+132|0,q)|0;s=p+1|0;r=s;f:while(1){switch(a[r>>0]|0){case 0:case 124:{break f;break}default:{}}r=r+1|0}a[r>>0]=0;p=n+260|0;qs(p,s)|0;q=r+1|0;t=q;g:while(1){switch(a[t>>0]|0){case 0:case 124:{break g;break}default:{}}t=t+1|0}a[t>>0]=0;qs(n+4|0,q)|0;bm(n);r=cm(b,o,p)|0;s=(c[g>>2]|0)+-1|0;if((r|0)!=(s|0)){c[g>>2]=s;break}if((c[m>>2]|0)==1)if((a[o>>0]|0)==0?(a[l>>0]|0)==0:0){s=(rs(p,63732)|0)==0;u=s?177:180}else u=176;else u=c[n>>2]|0;c[n>>2]=u}while(0)}while(!(ro(i)|0))}while(0);uo(i);Ia=e;return}function bm(b){b=b|0;var c=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;c=b+388|0;a:do if(a[c>>0]|0)do{d=(Ht(c)|0)+-1+(b+388)|0;if((a[d>>0]|0)!=32)break a;a[d>>0]=0}while((a[c>>0]|0)!=0);while(0);d=b+516|0;b:do if(a[d>>0]|0)do{e=(Ht(d)|0)+-1+(b+516)|0;if((a[e>>0]|0)!=32)break b;a[e>>0]=0}while((a[d>>0]|0)!=0);while(0);e=b+260|0;c:do if(a[e>>0]|0)do{f=(Ht(e)|0)+-1+(b+260)|0;if((a[f>>0]|0)!=32)break c;a[f>>0]=0}while((a[e>>0]|0)!=0);while(0);e=b+132|0;f=a[e>>0]|0;d:do if(f<<24>>24){g=f;while(1){h=(Ht(e)|0)+-1+(b+132)|0;if((a[h>>0]|0)!=32)break;a[h>>0]=0;h=a[e>>0]|0;if(!(h<<24>>24))break d;else g=h}h=e;i=g;do{if((i+-65&255)<26)a[h>>0]=(i&255)+32;h=h+1|0;i=a[h>>0]|0}while(i<<24>>24!=0);i=a[e>>0]|0;if(i<<24>>24){h=e;g=i;do{if(!((g+-97&255)<26|(g+-48&255)<10))a[h>>0]=95;h=h+1|0;g=a[h>>0]|0}while(g<<24>>24!=0)}}while(0);if((Ht(e)|0)>>>0>16)a[b+148>>0]=0;e=b+4|0;f=a[e>>0]|0;e:do if(f<<24>>24){g=f;while(1){h=(Ht(e)|0)+-1+(b+4)|0;if((a[h>>0]|0)!=32)break;a[h>>0]=0;h=a[e>>0]|0;if(!(h<<24>>24))break e;else g=h}h=e;i=g;do{if((i+-65&255)<26)a[h>>0]=(i&255)+32;h=h+1|0;i=a[h>>0]|0}while(i<<24>>24!=0);i=a[e>>0]|0;if(i<<24>>24){h=e;g=i;do{if(sb(g<<24>>24)|0){if((a[h>>0]|0)==124){j=95;k=40}}else{j=32;k=40}if((k|0)==40){k=0;a[h>>0]=j}h=h+1|0;g=a[h>>0]|0}while(g<<24>>24!=0)}}while(0);if(!(xt(c,67277)|0))a[c>>0]=0;if(xt(d,67277)|0)return;a[d>>0]=0;return}function cm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=c[b+1072>>2]|0;if((f|0)<=0){g=-1;return g|0}h=c[b+4>>2]|0;b=(e|0)==0;if(!(a[d>>0]|0)){if(b){g=-1;return g|0}i=(a[e>>0]|0)==0;j=0;while(1){if(((!i?(a[h+(j*692|0)+388>>0]|0)==0:0)?(a[h+(j*692|0)+516>>0]|0)==0:0)?(xt(e,h+(j*692|0)+260|0)|0)==0:0){g=j;k=18;break}j=j+1|0;if((j|0)>=(f|0)){g=-1;k=18;break}}if((k|0)==18)return g|0}j=0;while(1){i=h+(j*692|0)+388|0;if(!(xt(i,d)|0)){g=j;k=18;break}if((((!b?a[e>>0]|0:0)?(a[i>>0]|0)==0:0)?(a[h+(j*692|0)+516>>0]|0)==0:0)?(xt(e,h+(j*692|0)+260|0)|0)==0:0){g=j;k=18;break}j=j+1|0;if((j|0)>=(f|0)){g=-1;k=18;break}}if((k|0)==18)return g|0;return 0}function dm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=Ia;Ia=Ia+2080|0;e=d+2064|0;f=d+2056|0;g=d+2048|0;h=d+1024|0;i=d;Gr(63812,i);Kr(i)|0;c[g>>2]=(a|0)/1e4|0;Xs(h,63816,g)|0;Gr(h,i);Kr(i)|0;if(!b){c[e>>2]=i;c[e+4>>2]=a;Xs(1520928,63838,e)|0;Ia=d;return 1520928}else{c[f>>2]=i;c[f+4>>2]=a;Xs(1520928,63824,f)|0;Ia=d;return 1520928}return 0}function em(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=Ia;Ia=Ia+1056|0;f=e+1040|0;g=e+1032|0;h=e+1024|0;i=e;j=e+1048|0;k=a[b>>0]|0;if(!(k<<24>>24)){a[1520928]=0;Ia=e;return 1520928}c[j>>2]=0;l=Ht(b)|0;m=(k+-48&255)<10&1;if(l>>>0>1){k=m;n=1;while(1){o=((a[b+n>>0]|0)+-48&255)>9?0:k;p=n+1|0;if(p>>>0>>0){k=o;n=p}else{q=o;r=p;break}}}else{q=m;r=1}c[j>>2]=r;if(q|0){c[j>>2]=0;c[h>>2]=j;wu(b,65660,h)|0;dm(c[j>>2]|0,d)|0;Ia=e;return 1520928}Gr(63812,i);Kr(i)|0;Gr(63850,i);Kr(i)|0;if(!d){c[f>>2]=i;c[f+4>>2]=b;Xs(1520928,63875,f)|0;Ia=e;return 1520928}else{c[g>>2]=i;c[g+4>>2]=b;Xs(1520928,63860,g)|0;Ia=e;return 1520928}return 0}function fm(a){a=a|0;em(a,0)|0;return 1520928}function gm(a){a=a|0;em(a,1)|0;return 1520928}function hm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Ia;Ia=Ia+16|0;f=e;if((Ht(d)|0)>>>0<2){a[1521952]=0;Ia=e;return 1521952}else{g=c[473638]|0;c[f>>2]=b;c[f+4>>2]=g;c[f+8>>2]=d;Xs(1521952,63888,f)|0;Ia=e;return 1521952}return 0}function im(a,b){a=a|0;b=b|0;return (cm(1502864,a,b)|0)!=-1|0}function jm(b){b=b|0;var d=0,e=0,f=0;if(!b){d=0;return d|0}if(!(a[b>>0]|0)){d=0;return d|0}if(!(rs(b,63732)|0)){e=$r(b)|0;if(!e){d=0;return d|0}f=e+44576|0;if(!(c[f>>2]|0)){d=0;return d|0}e=xn(128,128,8)|0;jp(c[f>>2]|0,e,0,0,0,0,128,128);d=e;return d|0}e=Go(b)|0;if(!e){d=0;return d|0}if((c[e>>2]|0)!=160){d=0;return d|0}if((c[e+4>>2]|0)!=205){d=0;return d|0}b=xn(128,128,32)|0;f=xn(128,128,8)|0;jp(e,b,16,24,0,0,128,128);Ek(b,f,c[769362]|0);yn(e)|0;yn(b)|0;d=f;return d|0}function km(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;d=Ia;Ia=Ia+16|0;e=d;c[584139]=b;c[584140]=0;if((b|0)==1){qs(1520388,63954)|0;f=c[584140]|0;c[1520384+(f*68|0)>>2]=1;g=f+1|0;c[584140]=g;qs(1520384+(g*68|0)+4|0,63963)|0;g=c[584140]|0;c[1520384+(g*68|0)>>2]=5;f=g+1|0;c[584140]=f;g=1520384+(f*68|0)+4|0;if(1==1)qs(g,63971)|0;else qs(g,63994)|0;g=c[584140]|0;c[1520384+(g*68|0)>>2]=3;f=g+1|0;c[584140]=f;g=1502864;h=c[375985]|0;do if((h|0)>=0?(c[375984]|0)>(h|0):0)if((c[(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)+684>>2]|0)==1){if((c[375984]|0)<=(h|0)){Av(2337256,0,692)|0;i=f;break}if(a[(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)+388>>0]|0){if((c[375984]|0)>(h|0))j=(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)|0;else{Av(2337256,0,692)|0;j=2337256}c[e>>2]=j+132;Xs(1676064,64004,e)|0;qs(1520384+((c[584140]|0)*68|0)+4|0,1676064)|0;k=c[584140]|0;c[1520384+(k*68|0)>>2]=19;l=k+1|0;c[584140]=l;qs(1520384+(l*68|0)+4|0,64017)|0;l=c[584140]|0;c[1520384+(l*68|0)>>2]=20;k=l+1|0;c[584140]=k;qs(1520384+(k*68|0)+4|0,64031)|0;k=c[584140]|0;c[1520384+(k*68|0)>>2]=21;l=k+1|0;c[584140]=l;qs(1520384+(l*68|0)+4|0,64049)|0;l=c[584140]|0;c[1520384+(l*68|0)>>2]=18;k=l+1|0;c[584140]=k;i=k}else i=f}else i=f;else m=7;while(0);if((m|0)==7){Av(2337256,0,692)|0;i=f}qs(1520384+(i*68|0)+4|0,64072)|0;i=c[584140]|0;c[1520384+(i*68|0)>>2]=6;f=i+1|0;c[584140]=f;n=c[584139]|0;o=f}else{n=b;o=0}if((n|0)==4){qs(1520384+(o*68|0)+4|0,64079)|0;b=c[584140]|0;c[1520384+(b*68|0)>>2]=16;f=b+1|0;c[584140]=f;qs(1520384+(f*68|0)+4|0,64089)|0;f=c[584140]|0;c[1520384+(f*68|0)>>2]=17;b=f+1|0;c[584140]=b;qs(1520384+(b*68|0)+4|0,64101)|0;b=c[584140]|0;c[1520384+(b*68|0)>>2]=18;f=b+1|0;c[584140]=f;qs(1520384+(f*68|0)+4|0,64117)|0;f=c[584140]|0;c[1520384+(f*68|0)>>2]=6;b=f+1|0;c[584140]=b;p=c[584139]|0;q=b}else{p=n;q=o}if((p|0)!=5){Ia=d;return}qs(1520384+(q*68|0)+4|0,64122)|0;q=c[584140]|0;c[1520384+(q*68|0)>>2]=32;p=q+1|0;c[584140]=p;qs(1520384+(p*68|0)+4|0,64129)|0;p=c[584140]|0;c[1520384+(p*68|0)>>2]=33;q=p+1|0;c[584140]=q;qs(1520384+(q*68|0)+4|0,64140)|0;q=c[584140]|0;c[1520384+(q*68|0)>>2]=34;p=q+1|0;c[584140]=p;qs(1520384+(p*68|0)+4|0,64117)|0;p=c[584140]|0;c[1520384+(p*68|0)>>2]=6;c[584140]=p+1;Ia=d;return}function lm(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=Ia;Ia=Ia+2064|0;d=b+2048|0;e=b+1024|0;f=b;g=1502864;h=c[375985]|0;do if((h|0)<0)Av(2337256,0,692)|0;else{if((c[375984]|0)<=(h|0)){Av(2337256,0,692)|0;break}if(!((c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)|0)){Ia=b;return}if((c[(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)+684>>2]|0)!=1){Ia=b;return}if((c[375984]|0)>(h|0)){i=(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)|0;j=(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)+388|0}else{Av(2337256,0,692)|0;i=2337256;j=2337644}k=pm(j,i+260|0)|0;if(k|0){l=c[375985]|0;if((l|0)>=0?(c[375984]|0)>(l|0):0)m=(c[(c[375716]|0)+12>>2]|0)+(l*692|0)|0;else{Av(2337256,0,692)|0;m=2337256}zv(k|0,m|0,692)|0;l=k+648|0;c[l>>2]=xn(128,128,8)|0;n=1502864;o=c[375985]|0;if((o|0)>=0?(c[375984]|0)>(o|0):0){if(c[(c[(c[n>>2]|0)+12>>2]|0)+(o*692|0)+648>>2]|0){if((c[375984]|0)>(o|0))p=c[(c[(c[n>>2]|0)+12>>2]|0)+(o*692|0)+648>>2]|0;else{Av(2337256,0,692)|0;p=0}jp(p,c[l>>2]|0,0,0,0,0,128,128)}}else Av(2337256,0,692)|0;o=k+388|0;if(a[o>>0]|0?(Gr(63933,e),c[d>>2]=e,c[d+4>>2]=o,Xs(f,63945,d)|0,(ir(f)|0)==0):0)Ho(f,c[l>>2]|0)|0;qm(k)}k=1503940;l=c[k>>2]|0;o=1503936;n=c[o>>2]|0;q=(n|0)<1?0:n+-1|0;r=(l|0)<(q|0)?l:q;c[k>>2]=(r|0)>0?r:0;if(1!=1&(n|0)>0){n=1502868;r=0;do{k=c[n>>2]|0;q=k+(r*692|0)+688|0;c[q>>2]=0;c[q>>2]=(cm(1502864,k+(r*692|0)+388|0,k+(r*692|0)+260|0)|0)!=-1&1;r=r+1|0}while((r|0)<(c[o>>2]|0))}_l();Ia=b;return}while(0);Av(2337256,0,692)|0;Ia=b;return}function mm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=Ia;Ia=Ia+3120|0;g=f+3096|0;h=f+3088|0;i=f+3080|0;j=f+3072|0;k=f+2048|0;l=f+1024|0;m=f;if(!e){c[i>>2]=b;Xs(l,64201,i)|0;Gr(l,k);c[h>>2]=b;Xs(l,64221,h)|0;Gr(l,1896892)}else{c[j>>2]=b;Xs(l,64179,j)|0;Gr(l,k);a[1896892]=0}l=c[473637]|0;c[g>>2]=e;c[g+4>>2]=d;c[g+8>>2]=64305;c[g+12>>2]=101;c[g+16>>2]=l;Xs(m,64236,g)|0;if(c[473642]|0){Ia=f;return}qs(1894844,m)|0;qs(1895868,k)|0;c[473642]=1;c[473643]=yr()|0;c[473644]=0;Pr(1894844,1895868,2,3)|0;Ia=f;return}function nm(a){a=a|0;var b=0;if(!(c[473642]|0))return;if(ir(1895868)|0)if(rs(1895868,63732)|0){a=Go(1895868)|0;if(!a)b=3;else{yn(a)|0;b=2}}else b=2;else b=3;c[473642]=b;return}function om(a){a=a|0;if(!(c[473642]|0))return;c[473642]=3;return}function pm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=cm(1502864,b,d)|0;if((e|0)!=-1){yn(c[(c[375717]|0)+(e*692|0)+648>>2]|0)|0;f=(c[375984]|0)+-1|0;g=c[375717]|0;if((e|0)<(f|0)){h=e;e=g;while(1){i=h;h=h+1|0;zv(e+(i*692|0)|0,e+(h*692|0)|0,692)|0;i=(c[375984]|0)+-1|0;j=c[375717]|0;if((h|0)>=(i|0)){k=j;l=i;break}else e=j}}else{k=g;l=f}Av(k+(l*692|0)|0,0,692)|0;c[375984]=(c[375984]|0)+-1;m=0;return m|0}eq(c[375716]|0,((c[375984]|0)*692|0)+692|0)|0;l=c[(c[375716]|0)+12>>2]|0;c[375717]=l;k=c[375984]|0;f=l;g=l;a:do if((k|0)>0){l=0;while(1){if((c[f+(l*692|0)+684>>2]|0)==1){n=l;break a}e=l+1|0;if((e|0)<(k|0))l=e;else{n=e;break}}}else n=0;while(0);if((k|0)>(n|0)){l=k+-1|0;zv(f+(k*692|0)|0,f+(l*692|0)|0,692)|0;if((l|0)>(n|0)){f=l;do{l=c[375717]|0;e=f;f=f+-1|0;zv(l+(e*692|0)|0,l+(f*692|0)|0,692)|0}while((f|0)>(n|0))}o=c[375984]|0;p=c[(c[375716]|0)+12>>2]|0}else{o=k;p=g}c[375984]=o+1;o=p+(n*692|0)|0;Av(o|0,0,692)|0;c[o+684>>2]=1;qs(o+388|0,b)|0;if(!d){m=o;return m|0}qs(o+260|0,d)|0;if(!(a[d>>0]|0)){m=o;return m|0}b=o+4|0;if(a[b>>0]|0){m=o;return m|0}Do(d,0,b,0);d=Ht(b)|0;if(d>>>0<=3){m=o;return m|0}b=d+-3+(o+4)|0;if((a[b>>0]|0)!=46){m=o;return m|0}a[b>>0]=0;m=o;return m|0}function qm(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;e=Ia;Ia=Ia+1024|0;f=e;Av(f|0,0,1024)|0;g=c[b+648>>2]|0;if(!g){Ia=e;return}h=b+652|0;if(a[h>>0]|0){Ia=e;return}i=b+653|0;if(a[i>>0]|0){Ia=e;return}j=c[g+12>>2]|0;g=16384;while(1){k=f+(d[j>>0]<<2)|0;c[k>>2]=(c[k>>2]|0)+1;g=g+-1|0;if(!g)break;else j=j+1|0}a[h>>0]=0;a[i>>0]=1;a[b+654>>0]=2;a[b+655>>0]=3;a[b+656>>0]=4;a[b+657>>0]=5;a[b+658>>0]=6;a[b+659>>0]=7;a[b+660>>0]=8;a[b+661>>0]=9;a[b+662>>0]=10;a[b+663>>0]=11;a[b+664>>0]=12;a[b+665>>0]=13;a[b+666>>0]=14;a[b+667>>0]=15;c[f>>2]=16384;i=f+4|0;c[i>>2]=16384;h=f+24|0;c[h>>2]=16384;j=f+28|0;c[j>>2]=16384;g=f+8|0;k=f+12|0;l=f+16|0;m=f+20|0;n=f+32|0;o=f+36|0;p=f+40|0;q=f+44|0;r=f+48|0;s=f+52|0;t=f+56|0;u=f+60|0;v=0;do{w=v+128|0;if(c[f+(w<<2)>>2]|0){x=(c[i>>2]|0)<(c[f>>2]|0)&1;y=(c[g>>2]|0)<(c[f+(x<<2)>>2]|0)?2:x;x=(c[k>>2]|0)<(c[f+(y<<2)>>2]|0)?3:y;y=(c[l>>2]|0)<(c[f+(x<<2)>>2]|0)?4:x;x=(c[m>>2]|0)<(c[f+(y<<2)>>2]|0)?5:y;y=(c[h>>2]|0)<(c[f+(x<<2)>>2]|0)?6:x;x=(c[j>>2]|0)<(c[f+(y<<2)>>2]|0)?7:y;y=(c[n>>2]|0)<(c[f+(x<<2)>>2]|0)?8:x;x=(c[o>>2]|0)<(c[f+(y<<2)>>2]|0)?9:y;y=(c[p>>2]|0)<(c[f+(x<<2)>>2]|0)?10:x;x=(c[q>>2]|0)<(c[f+(y<<2)>>2]|0)?11:y;y=(c[r>>2]|0)<(c[f+(x<<2)>>2]|0)?12:x;x=(c[s>>2]|0)<(c[f+(y<<2)>>2]|0)?13:y;y=(c[t>>2]|0)<(c[f+(x<<2)>>2]|0)?14:x;x=(c[f+(v<<2)>>2]|0)==0?v:(c[u>>2]|0)<(c[f+(y<<2)>>2]|0)?15:y;c[f+(x<<2)>>2]=16384;a[b+668+v>>0]=x;a[b+652+x>>0]=w}v=v+1|0}while((v|0)!=16);Ia=e;return}function rm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=Ia;Ia=Ia+1856|0;f=e+1032|0;g=e+1024|0;h=e+1040|0;i=e;c[b+1080>>2]=0;if(Ht(3219260)|0){j=b+1072|0;eq(c[b>>2]|0,((c[j>>2]|0)*692|0)+692|0)|0;k=c[(c[b>>2]|0)+12>>2]|0;c[b+4>>2]=k;l=c[j>>2]|0;c[j>>2]=l+1;j=k+(l*692|0)|0;Av(j+4|0,0,688)|0;c[j>>2]=185;a[j+388>>0]=0;qs(j+4|0,66713)|0;c[j+648>>2]=0;c[j+684>>2]=2}c[g>>2]=3218236;c[g+4>>2]=d;Xs(i,74247,g)|0;if(!(fr(i,64328,h,-1)|0)){g=h+256|0;d=h+512|0;j=b+1072|0;l=b+4|0;do do if((a[g>>0]|0)!=46){if((rs(g,64330)|0)==0?(c[d>>2]&16384|0)==0:0)break;eq(c[b>>2]|0,((c[j>>2]|0)*692|0)+692|0)|0;k=c[(c[b>>2]|0)+12>>2]|0;c[l>>2]=k;m=c[j>>2]|0;c[j>>2]=m+1;n=k+(m*692|0)|0;Av(n|0,0,692)|0;c[f>>2]=3219260;c[f+4>>2]=g;Xs(i,74247,f)|0;m=n+260|0;Qu(m,i,128)|0;c[n+648>>2]=0;k=n+684|0;c[k>>2]=1;a[n+388>>0]=0;if(!(c[d>>2]&16384))o=n+4|0;else{c[n>>2]=181;p=n+4|0;qs(p,g)|0;c[k>>2]=2;o=p}if(((a[o>>0]|0)==0?(Do(m,0,o,0),m=Ht(o)|0,m>>>0>3):0)?(p=m+-3+(n+4)|0,(a[p>>0]|0)==46):0)a[p>>0]=0}while(0);while(!(gr(h)|0));q=j;r=l}else{q=b+1072|0;r=b+4|0}It(c[r>>2]|0,c[q>>2]|0,692,2);if((b|0)==1502864){Ia=e;return}if((c[q>>2]|0)<=0){Ia=e;return}b=0;do{l=c[r>>2]|0;j=l+(b*692|0)+688|0;c[j>>2]=0;c[j>>2]=(cm(1502864,l+(b*692|0)+388|0,l+(b*692|0)+260|0)|0)!=-1&1;b=b+1|0}while((b|0)<(c[q>>2]|0));Ia=e;return}function sm(b){b=b|0;var d=0,e=0,f=0;d=Ia;Ia=Ia+16|0;e=d;if(b|0?(Ht(b)|0)>>>0>=2:0){if((Ht(b)|0)>>>0<2)a[1521952]=0;else{f=c[473638]|0;c[e>>2]=3300628;c[e+4>>2]=f;c[e+8>>2]=b;Xs(1521952,63888,e)|0}em(b,0)|0;if(c[473642]|0){Ia=d;return}qs(1894844,1521952)|0;qs(1895868,1520928)|0;c[473642]=1;c[473643]=yr()|0;c[473644]=0;Pr(1894844,1895868,2,3)|0;Ia=d;return}c[473642]=0;fb(64312,1500);c[806970]=0;Ia=d;return}function tm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=xt(a+4|0,b+4|0)|0;e=(c[a+684>>2]|0)==2;f=c[b+684>>2]|0;if(e){if((f|0)!=2){g=-1;return g|0}}else if(!(e|(f|0)!=2)){g=1;return g|0}return ((d|0)==0?(a>>>0>>0?1:-1):d)|0}function um(){return}function vm(a,b,d){a=a|0;b=b|0;d=d|0;if(c[473642]|0)return;qs(1894844,a)|0;qs(1895868,b)|0;c[473642]=1;c[473643]=yr()|0;c[473644]=d;Pr(1894844,1895868,2,3)|0;return}function wm(a){a=a|0;c[473642]=0;if(a|0)fb(a,1500);c[806970]=0;return}function xm(){return 101}function ym(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=pp(b)|0;if(!d){e=0;return e|0}em(op(d,64334,0)|0,0)|0;b=(Ht(op(d,64334,0)|0)|0)>>>0<2;np(d);if(b|(c[824858]|0)==0){e=0;return e|0}if(zg()|0){e=0;return e|0}if(!(xt(1520928,3221316)|0)){e=0;return e|0}b=Ht(1520928)|0;d=1520928+b|0;a:do if((b|0)>0){f=d;while(1){if((a[f>>0]|0)==45){g=f;break a}h=f+-1|0;if(h>>>0>1520928>>>0)f=h;else{g=h;break}}}else g=d;while(0);if(Us(1520928,3221316,g-1520928|0)|0){e=0;return e|0}c[474484]=1;e=1;return e|0}function zm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Ia;Ia=Ia+16|0;e=d;if(!((a|0)!=0&(b|0)!=0)){Ia=d;return}Av(a|0,0,692)|0;qs(a+4|0,op(b,64338,0)|0)|0;qs(a+132|0,op(b,64344,0)|0)|0;qs(a+388|0,op(b,64334,0)|0)|0;qs(a+516|0,op(b,64351,0)|0)|0;f=a+644|0;c[f>>2]=0;g=op(b,64355,0)|0;c[e>>2]=f;wu(g,65660,e)|0;c[a+684>>2]=1;bm(a);Ia=d;return}function Am(){return c[375990]|0}function Bm(b){b=b|0;var d=0,e=0,f=0;d=1503964+(c[376007]|0)|0;e=a[d>>0]|0;if(!(e<<24>>24)){a[d+1>>0]=0;f=(b|0)>0?57:97;a[d>>0]=f;return}else{f=a[64362+((37-b+(e<<24>>24==57?36:e<<24>>24==56?35:e<<24>>24==55?34:e<<24>>24==54?33:e<<24>>24==53?32:e<<24>>24==52?31:e<<24>>24==51?30:e<<24>>24==50?29:e<<24>>24==49?28:e<<24>>24==48?27:e<<24>>24==122?26:e<<24>>24==121?25:e<<24>>24==120?24:e<<24>>24==119?23:e<<24>>24==118?22:e<<24>>24==117?21:e<<24>>24==116?20:e<<24>>24==115?19:e<<24>>24==114?18:e<<24>>24==113?17:e<<24>>24==112?16:e<<24>>24==111?15:e<<24>>24==110?14:e<<24>>24==109?13:e<<24>>24==108?12:e<<24>>24==107?11:e<<24>>24==106?10:e<<24>>24==105?9:e<<24>>24==104?8:e<<24>>24==103?7:e<<24>>24==102?6:e<<24>>24==101?5:e<<24>>24==100?4:e<<24>>24==99?3:e<<24>>24==98?2:e<<24>>24==97?1:(e<<24>>24!=32)<<31>>31)|0)%37|0)>>0]|0;a[d>>0]=f;return}}function Cm(){yr()|0;return}function Dm(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=Ia;Ia=Ia+16|0;e=d+8|0;f=d;g=c[375990]|0;if(!g){a:do if((b|0)==27){if((c[473642]|0)>0){c[473642]=0;fb(64410,1500);c[806970]=0;h=62;break}if(c[473568]|0){i=(c[584487]|0)==0&1;c[584487]=i;j=i;break}i=c[584139]|0;switch(i|0){case 0:{c[824858]=0;Og();h=62;break a;break}case 1:{c[584139]=0;h=62;break a;break}default:{if((i|1|0)==5){c[584139]=1;k=1}else k=i;km(k);h=62;break a}}}else h=62;while(0);if((h|0)==62)j=c[584487]|0;if(j|0){Ia=d;return}j=1==1;b:do if((b|0)!=102|j){switch(b|0){case 8:case 127:break;default:{h=68;break b}}if(j)h=71}else if(!(Zk(9)|0)){lm();yr()|0;h=68}else h=68;while(0);if(((h|0)==68?(Wn(76)|0)==3:0)?(Zk(76)|0)==0&1==1:0)h=71;if((h|0)==71){lm();yr()|0}if(Wn(75)|0?(Zk(75)|0)==0:0){j=1503940;k=(c[j>>2]|0)+-6|0;i=c[375984]|0;l=(i|0)<1?0:i+-1|0;i=(k|0)<(l|0)?k:l;c[j>>2]=(i|0)>0?i:0}if(Wn(78)|0?(Zk(78)|0)==0:0){i=1503940;j=(c[i>>2]|0)+6|0;l=c[375984]|0;k=(l|0)<1?0:l+-1|0;l=(j|0)<(k|0)?j:k;c[i>>2]=(l|0)>0?l:0}if(Wn(74)|0?(Zk(74)|0)==0:0)c[375985]=0;if(!(Wn(77)|0)){Ia=d;return}if(Zk(77)|0){Ia=d;return}l=c[375984]|0;i=l+-1|0;k=(l|0)<1?0:i;l=(i|0)<(k|0)?i:k;c[375985]=(l|0)>0?l:0;Ia=d;return}l=Ht(1503964)|0;do if((g|0)==1){if((Wn(82)|0)!=3?(Wn(81)|0)!=3:0){if((c[375990]|0)!=1)break;if(!((b|0)==13|(sb(b)|0)!=0))break;c[375990]=2;break}c[375990]=3}while(0);g=(b|0)==-1;if(g){if((Wn(80)|0)==3){k=Ht(1503964)|0;i=1504028;j=(c[i>>2]|0)+-1|0;m=(j|0)<(k|0)?j:k;c[i>>2]=(m|0)>0?m:0}if((Wn(79)|0)==3){m=Ht(1503964)|0;i=1504028;k=c[i>>2]|0;if((k|0)==(m|0)&(k|0)<21){a[1503964+m>>0]=32;j=(c[i>>2]|0)+1|0;c[i>>2]=j;a[1503964+j>>0]=0;n=m+1|0;o=c[i>>2]|0}else{n=m;o=k}k=o+1|0;o=(k|0)<(n|0)?k:n;c[i>>2]=(o|0)>0?o:0}}else if((b|0)==27)c[375990]=0;c:do if((c[375990]|0)==2){if((l|0)<22&(sb(b)|0)!=0){o=1504028;i=c[o>>2]|0;if((i|0)<22){n=22;do{k=n;n=n+-1|0;a[1503964+k>>0]=a[1503964+n>>0]|0;k=c[o>>2]|0}while((n|0)>(k|0));p=k}else p=i;a[1503986]=0;a[1503964+p>>0]=b;c[o>>2]=(c[o>>2]|0)+1;c[375990]=2;break}switch(b|0){case 8:case 127:{h=26;break}default:if((Wn(76)|0)==3)h=26}if((h|0)==26?(c[376007]|0)>0:0){n=(Wn(76)|0)==3;k=1504028;m=c[k>>2]|0;if(n)q=m;else{n=m+-1|0;c[k>>2]=n;q=n}if((q|0)>=22)break;n=q;while(1){k=n;n=n+1|0;a[1503964+k>>0]=a[1503964+n>>0]|0;if((k|0)>=21)break c}}if((b|0)==13){c[f>>2]=1503964;Xs(1502876,64156,f)|0;mm(c[375718]|0,1502876,0);qs(1503904,1503964)|0;c[375990]=0;$k();break}if(g){if((Wn(80)|0)==3){n=Ht(1503964)|0;o=1504028;i=(c[o>>2]|0)+-1|0;k=(i|0)<(n|0)?i:n;c[o>>2]=(k|0)>0?k:0}if((Wn(79)|0)==3){k=Ht(1503964)|0;o=1504028;n=c[o>>2]|0;if((n|0)==(k|0)&(n|0)<21){a[1503964+k>>0]=32;i=(c[o>>2]|0)+1|0;c[o>>2]=i;a[1503964+i>>0]=0;r=k+1|0;s=c[o>>2]|0}else{r=k;s=n}n=s+1|0;k=(n|0)<(r|0)?n:r;c[o>>2]=(k|0)>0?k:0}}}while(0);if((c[375990]|0)!=3){Ia=d;return}if(_k(2,0)|0)Bm(-1);if(_k(3,0)|0)Bm(1);if(!((_k(4,0)|0)==0?!(_k(5,0)|0):0)){c[e>>2]=1503964;Xs(1502876,64156,e)|0;mm(c[375718]|0,1502876,0);qs(1503904,1503964)|0;c[375990]=0;$k()}if(!(_k(6,0)|0)){Ia=d;return}c[375990]=0;c[807246]=1;fb(64400,1e3);Ia=d;return}function Em(){var a=0,b=0,d=0,e=0,f=0,g=0;c[474479]=0;a=c[375692]|0;if((a|0)>0){b=0;d=a;while(1){a=c[(c[375425]|0)+(b*692|0)+648>>2]|0;if(!a)e=d;else{yn(a)|0;e=c[375692]|0}b=b+1|0;if((b|0)>=(e|0))break;else d=e}}c[375692]=0;rm(1501696,3219260);e=1503940;d=c[e>>2]|0;b=1503936;a=c[b>>2]|0;f=(a|0)<1?0:a+-1|0;g=(d|0)<(f|0)?d:f;c[e>>2]=(g|0)>0?g:0;if(!(1!=1&(a|0)>0)){yr()|0;c[584487]=0;return}a=1502868;g=0;do{e=c[a>>2]|0;f=e+(g*692|0)+688|0;c[f>>2]=0;c[f>>2]=(cm(1502864,e+(g*692|0)+388|0,e+(g*692|0)+260|0)|0)!=-1&1;g=g+1|0}while((g|0)<(c[b>>2]|0));yr()|0;c[584487]=0;return}function Fm(){return}function Gm(a){a=a|0;zm(2336564,a);return}function Hm(){var b=0,d=0,e=0,f=0;b=Ia;Ia=Ia+1024|0;d=b;a[1522976]=0;Do(3221316,0,d,0);qs(1522976,d)|0;if((a[3224776]|0)!=0&(c[806968]|0)!=0|(c[473572]|0)!=0)qs(1522976,2336568)|0;qs(1522976,Za()|0)|0;d=a[1522976]|0;if(!(d<<24>>24)){qs(1522976,64429)|0;e=a[1522976]|0;if(!(e<<24>>24)){Ia=b;return 1522976}else f=e}else f=d;d=1522976;e=f;do{a:do if(!((e+-48&255)<10|((e&-33)+-65&255)<26)){switch(e<<24>>24){case 32:case 45:case 95:{break a;break}default:{}}a[d>>0]=32}while(0);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);Ia=b;return 1522976}function Im(){return}function Jm(){return}function Km(a,b){a=a|0;b=b|0;ma(23,a|0,b|0)|0;return}function Lm(a){a=a|0;var b=0;b=la(24,a|0)|0;a=(b|0)<255?b:255;return ((a|0)>0?a:0)|0}function Mm(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=Ia;Ia=Ia+528|0;b=a+512|0;d=a;e=c[(c[c[769399]>>2]|0)+12>>2]|0;c[e+20>>2]=0;f=po(3300628,e)|0;Eg(64934,14);a:do if(64581){e=0;g=3392;while(1){h=c[(c[f>>2]|0)+(e<<2)>>2]|0;c[b>>2]=3218236;c[b+4>>2]=64967;Xs(d,74247,b)|0;Kr(d)|0;Rt(d,c[g>>2]|0)|0;i=to(d,66613)|0;if(!i)break;lo(c[h+12>>2]|0,1,c[h+16>>2]|0,i)|0;uo(i);Gg(c[g>>2]|0);e=e+1|0;g=3392+(e<<2)|0;if(!(c[g>>2]|0))break a}Eg(64974,8);Ia=a;return}while(0);Pn(f);Ia=a;return}function Nm(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a=Ia;Ia=Ia+1040|0;b=a+1024|0;d=a;Gr(64998,d);e=c[(c[c[769399]>>2]|0)+24>>2]|0;c[e+20>>2]=0;f=po(3300628,e)|0;a:do if(64694){e=1;g=64694;while(1){h=c[(c[f>>2]|0)+(e<<2)>>2]|0;qs(d,fm(g)|0)|0;i=to(d,74590)|0;if(!i)break;j=h+12|0;k=h+16|0;lo(c[j>>2]|0,1,c[k>>2]|0,i)|0;uo(i);Gg(c[3536+(e<<2)>>2]|0);c[b>>2]=3218236;c[b+4>>2]=65013;Xs(d,74247,b)|0;Kr(d)|0;Rt(d,c[3504+(e<<2)>>2]|0)|0;i=to(d,74590)|0;lo(c[j>>2]|0,1,c[k>>2]|0,i)|0;uo(i);e=e+1|0;g=c[3456+(e<<2)>>2]|0;if(!g)break a}Eg(64974,8);Ia=a;return}while(0);Pn(f);Ia=a;return}function Om(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+4|0;e=dq((B(c[a>>2]<<1,c[d>>2]|0)|0)+1024|0)|0;lo(c[a+12>>2]|0,1,B(c[d>>2]|0,c[a>>2]|0)|0,e)|0;d=c[18988]|0;if((c[d+12>>2]|0)==(a|0)){ko(1,e);f=c[c[792784]>>2]|0;lo(c[f+12>>2]|0,1,B(c[f+4>>2]|0,c[f>>2]|0)|0,e)|0;ko(c[824548]|0,e);ko(c[824549]|0,e);ko(c[824546]|0,e);ko(c[824555]|0,e);g=c[18988]|0}else g=d;if((c[g+4>>2]|0)!=(a|0)){ko(b,e);return e|0}ko(0,e);lo((c[18988]|0)+43552|0,1,256,e)|0;a=c[c[792785]>>2]|0;lo(c[a+12>>2]|0,1,B(c[a+4>>2]|0,c[a>>2]|0)|0,e)|0;ko(c[824531]|0,e);ko(c[824550]|0,e);ko(c[824551]|0,e);ko(c[824532]|0,e);ko(c[824533]|0,e);ko(c[824545]|0,e);ko(c[824530]|0,e);ko(c[824556]|0,e);ko(b,e);return e|0}function Pm(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a[c>>0]=0;d=_p(262144)|0;a:do if(a[b>>0]|0){e=b;f=1;g=1;while(1){a[d>>0]=0;if(a[e>>0]|0){if(!f)h=nh(e)|0;else h=oh(e)|0;i=ph()|0;j=h-e|0;zv(d|0,e|0,j|0)|0;a[d+j>>0]=0;if((i|1|0)!=-999&(a[h>>0]|0)!=0){i=j;j=h;while(1){k=nh(j)|0;l=ph()|0;m=k-j|0;zv(d+i|0,j|0,m|0)|0;i=m+i|0;a[d+i>>0]=0;if(!((l|1|0)!=-999&(a[k>>0]|0)!=0)){n=k;o=0;break}else j=k}}else{n=h;o=0}}else{n=e;o=f}j=d;b:while(1){switch(a[j>>0]|0){case 32:case 9:break;default:break b}j=j+1|0}if(!(Vs(j,65020,9)|0))break;Rt(c,d)|0;i=(a[n>>0]|0)!=0;if(g>>>0<65536&i){e=n;f=o;g=g+(i&1)|0}else break a}Eg(65030,6);cq(d);p=1;return p|0}while(0);cq(d);p=0;return p|0}function Qm(){return 0}function Rm(a){a=a|0;return 0}function Sm(a){a=a|0;return 0}function Tm(a){a=a|0;return 0}function Um(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=c[584939]|0;h=(g|0)<256?g:256;g=(h|0)>0?h:0;h=c[584494]|0;i=c[584495]|0;if(!((h|0)!=0&(i|0)!=0&(c[584657]|0)==0))return;j=(f|0)/4|0;f=(j|0)<(h|0)?j:h;j=f<<2;k=(f|0)>0;if(!(a[3256626]&32)){if(k){l=0;m=c[584496]|0;do{n=m;m=B((d[i+(l>>>2)>>0]|0)+-128|0,g)|0;b[1524e3+(l<<1)>>1]=(m+n|0)/2|0;l=l+1|0}while((l|0)<(j|0));c[584496]=m;o=10}}else if(k){m=0;do{b[1524e3+(m<<1)>>1]=B((d[i+(m>>>2)>>0]|0)+-128|0,g)|0;m=m+1|0}while((m|0)<(j|0));o=10}if((o|0)==10?k:0){k=0;do{o=e+(k<<1)|0;m=(b[1524e3+(k<<1)>>1]|0)+(b[o>>1]|0)|0;if((m|0)<=24575)if((m|0)<-24575)p=((m+24576|0)/5|0)+-24576|0;else p=m;else p=((m+-24576|0)/5|0)+24576|0;b[o>>1]=p;k=k+1|0}while((k|0)!=(j|0))}j=h-f|0;c[584494]=j;if((j|0)<=0)return;a[i>>0]=a[i+f>>0]|0;if((c[584494]|0)<=1)return;i=1;do{j=c[584495]|0;a[j+i>>0]=a[j+(i+f)>>0]|0;i=i+1|0}while((i|0)<(c[584494]|0));return}function Vm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;if((f|0)<1){g=0;return g|0}if(!(c[584497]|0)){c[584497]=1;c[584498]=_p(262144)|0;$p(1655072,0,16384)}h=1655072+(b<<2)|0;i=c[h>>2]|0;if(!i){j=_p(48)|0;c[h>>2]=j;c[j>>2]=b;c[j+4>>2]=(b|0)/256|0;c[j+8>>2]=b&255;c[j+12>>2]=10;c[j+16>>2]=8e5;c[j+20>>2]=1050624;c[j+24>>2]=55;c[j+32>>2]=0;c[j+36>>2]=0;k=j}else k=i;do if(!(b&65280)){i=c[584499]|0;j=c[584500]|0;if((((f+7+j|0)/8|0)+i|0)>262138){fb(65047,1e3);c[584500]=0;g=0;return g|0}h=(b|0)==255;if(h|(c[9023]|0)!=(b|0)){if((j|0)>0){l=((j+7|0)/8|0)+i|0;c[584499]=l;m=c[584498]|0;n=c[584501]|0;a[m+n>>0]=j;a[m+(n+1)>>0]=j>>>8;o=m;p=l}else{o=c[584498]|0;p=i}c[9023]=b;c[584500]=0;a[o+p>>0]=b;a[o+(p+1)>>0]=b>>>8;c[584501]=p+2;l=p+4|0;c[584499]=l;q=l;r=0}else{q=i;r=j}if(h){h=c[584498]|0;a[h+q>>0]=f>>>3;a[h+(q+1)>>0]=f>>>11;c[584500]=r+16;s=f;break}h=0;j=0;i=r;l=q;while(1){m=h&7;if(!m){n=Pk(3077500,c[808062]|0,(h>>>3)+e|0)|0;t=n;u=c[584500]|0;v=c[584499]|0}else{t=j;u=i;v=l}n=(c[584498]|0)+(((u|0)/8|0)+v)|0;a[n>>0]=(t>>>m&1)<<(u&7)|(d[n>>0]|0);i=u+1|0;c[584500]=i;h=h+1|0;if((h|0)==(f|0)){w=f;x=20;break}else{j=t;l=v}}}else{w=0;x=20}while(0);a:do if((x|0)==20){if((b|1|0)==257){if(!(c[584502]|0))c[584502]=_p(32768)|0;v=(f+7|0)/8|0;t=(f|0)>0;if(t){u=0;do{q=(Pk(3077500,c[808062]|0,u+e|0)|0)&255;y=c[584502]|0;a[y+u>>0]=q;u=u+1|0}while((u|0)<(v|0));if(t?(Ok(3077500,c[808062]|0,e,d[y>>0]|0),(f|0)>8):0){u=1;do{Ok(3077500,c[808062]|0,u+e|0,d[(c[584502]|0)+u>>0]|0);u=u+1|0}while((u|0)<(v|0));z=f}else z=f}else z=f}else z=w;switch(b|0){case 2048:{v=(f|0)/8|0;b:do if((f|0)>7){u=0;t=c[584489]|0;while(1){if((t|0)>=(c[584490]|0))break;Ok(3077500,c[808062]|0,u+e|0,d[(c[584488]|0)+t>>0]|0);t=(c[584489]|0)+1|0;c[584489]=t;q=u+1|0;if((q|0)>=(v|0))break b;else u=q}dh(u<<6);g=u<<3;return g|0}while(0);dh(f<<3);g=f;return g|0}case 2050:{v=(f|0)/8|0;c:do if((f|0)>7){t=0;q=c[584492]|0;while(1){if((q|0)>=(c[584493]|0))break;Ok(3077500,c[808062]|0,t+e|0,d[(c[584491]|0)+q>>0]|0);q=(c[584492]|0)+1|0;c[584492]=q;r=t+1|0;if((r|0)>=(v|0))break c;else t=r}dh(t<<6);g=t<<3;return g|0}while(0);dh(f<<3);g=f;return g|0}case 2056:{if(!(c[584495]|0))c[584495]=_p(2048)|0;v=(f|0)/8|0;if(!((f|0)>7&(c[584494]|0)<2048)){s=f;break a}q=0;do{u=(Pk(3077500,c[808062]|0,q+e|0)|0)&255;a[(c[584495]|0)+(c[584494]|0)>>0]=u;u=c[584494]|0;c[584494]=u+1;q=q+1|0}while((q|0)<(v|0)&(u|0)<2047);s=f;break}default:{s=z;break a}}}while(0);c[k+44>>2]=1;g=s;return g|0}function Wm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Ia;Ia=Ia+1056|0;f=e+1040|0;g=e+1032|0;h=e+1024|0;i=e;j=e+1044|0;if(!(c[584497]|0)){c[584497]=1;c[584498]=_p(262144)|0;$p(1655072,0,16384)}k=1655072+(b<<2)|0;l=c[k>>2]|0;if(!l){m=_p(48)|0;c[k>>2]=m;c[m>>2]=b;c[m+4>>2]=(b|0)/256|0;c[m+8>>2]=b&255;c[m+12>>2]=10;c[m+16>>2]=8e5;c[m+20>>2]=1050624;c[m+24>>2]=55;c[m+32>>2]=0;c[m+36>>2]=0;n=m}else n=l;if(c[n+44>>2]|0){Ia=e;return}l=a[d>>0]|0;if(l<<24>>24>47?(a[d+1>>0]|0)<58:0){c[h>>2]=j;wu(d,65660,h)|0;c[n+16>>2]=c[j>>2];Ia=e;return}if(l<<24>>24==32){h=d;while(1){m=h+1|0;b=a[m>>0]|0;if(b<<24>>24==32)h=m;else{o=m;p=b;break}}}else{o=d;p=l}l=n+16|0;d=n+12|0;h=n+20|0;b=n+24|0;m=n+32|0;k=n+36|0;if(!(p<<24>>24)){Ia=e;return}p=o;while(1){a[i>>0]=0;c[g>>2]=i;o=wu(p,65070,g)|0;if(!(Tt(i,58)|0)){a[i>>0]=0;q=0}else{c[j>>2]=0;n=(Tt(i,58)|0)+1|0;c[f>>2]=j;wu(n,65660,f)|0;a[(Tt(i,58)|0)>>0]=0;q=o}o=(a[p>>0]|0)==0?p:p+1|0;while(1){r=a[o>>0]|0;if(r<<24>>24==0|(r+-97&255)>25)break;else o=o+1|0}if(r<<24>>24!=0&(r+-97&255)>25){n=o;while(1){s=n+1|0;t=a[s>>0]|0;if(t<<24>>24!=0&(t+-97&255)>25)n=s;else{u=s;break}}}else u=o;if(!(xt(i,65077)|0))c[l>>2]=c[j>>2];if(!(xt(i,65082)|0))c[d>>2]=c[j>>2];if(!(xt(i,65086)|0))c[h>>2]=c[j>>2];if(!(xt(i,65091)|0))c[b>>2]=c[j>>2];if(!(xt(i,65102)|0))c[m>>2]=c[j>>2];if(!(xt(i,65109)|0))c[k>>2]=c[j>>2];if(!q){v=36;break}if(!(a[u>>0]|0)){v=36;break}else p=u}if((v|0)==36){Ia=e;return}}function Xm(){var a=0,b=0,d=0;c[584494]=0;if(!(c[584497]|0))return;a=0;do{b=c[1655072+(a<<2)>>2]|0;if(b|0){d=b;b=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(b|0))}a=a+1|0}while((a|0)!=4096);c[584500]=0;$p(c[584498]|0,0,262144);if(!(c[584497]|0))return;c[584500]=0;$p(c[584498]|0,0,262144);c[9023]=-1;c[584501]=0;c[584499]=0;a=c[584502]|0;if(!a)return;$p(a,0,32768);return}function Ym(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if(!(c[584497]|0))return;b=c[584500]|0;if((b|0)>0){e=(c[584499]|0)+((b+7|0)/8|0)|0;c[584499]=e;f=c[584498]|0;g=c[584501]|0;a[f+g>>0]=b;a[f+(g+1)>>0]=b>>>8;h=e}else h=c[584499]|0;if((h|0)>0){e=0;b=h;while(1){h=c[584498]|0;g=a[h+(e+1)>>0]|0;f=(g&255)<<8|(d[h+e>>0]|0);i=(d[h+(e+3)>>0]|0)<<8|(d[h+(e+2)>>0]|0);j=e+4|0;do if(!(g<<24>>24)){if((f|0)==255){k=e+6|0;l=b;break}m=(i+7|0)>>>3;if(m){Km(f,d[h+j>>0]|0);if((m|0)!=1){n=j;o=1;do{n=n+1|0;Km(f,d[(c[584498]|0)+n>>0]|0);o=o+1|0}while((o|0)!=(m|0))}k=j+m|0;l=c[584499]|0}else{k=j;l=b}}else{k=j;l=b}while(0);if((k|0)<(l|0)){e=k;b=l}else break}if(!(c[584497]|0))return}c[584500]=0;$p(c[584498]|0,0,262144);c[9023]=-1;c[584501]=0;c[584499]=0;l=c[584502]|0;if(!l)return;$p(l,0,32768);return}function Zm(a){a=a|0;var b=0,d=0,e=0;cq(c[584488]|0);b=a+16|0;d=c[b>>2]|0;c[584490]=d;e=_p(d)|0;c[584488]=e;zv(e|0,c[a+12>>2]|0,c[b>>2]|0)|0;c[584489]=0;return}function _m(b){b=b|0;var d=0,e=0,f=0;cq(c[584491]|0);d=b+4|0;e=(B(c[d>>2]|0,c[b>>2]|0)|0)+4|0;c[584493]=e;f=_p(e)|0;c[584491]=f;a[f>>0]=c[b>>2];a[(c[584491]|0)+1>>0]=(c[b>>2]|0)/256|0;a[(c[584491]|0)+2>>0]=c[d>>2];a[(c[584491]|0)+3>>0]=(c[d>>2]|0)/256|0;zv((c[584491]|0)+4|0,c[b+12>>2]|0,B(c[d>>2]|0,c[b>>2]|0)|0)|0;c[584492]=0;return}function $m(){return (c[584490]|0)-(c[584489]|0)|0}function an(){return (c[584493]|0)-(c[584492]|0)|0}function bn(){c[584489]=0;c[584490]=0;c[584492]=0;c[584493]=0;return}function cn(){var b=0,d=0,e=0,f=0,g=0,h=0;b=c[769375]|0;d=b+4|0;if((d|0)==1){e=0;do{f=e>>>5;g=(Yo(4)|0)+f&255;a[(c[(c[(c[769383]|0)+16>>2]|0)+(e<<2)>>2]|0)+2>>0]=g;g=(Yo(4)|0)+f&255;a[(c[(c[(c[769383]|0)+16>>2]|0)+(e<<2)>>2]|0)+10>>0]=g;g=(Yo(4)|0)+f&255;a[(c[(c[(c[769383]|0)+16>>2]|0)+(e<<2)>>2]|0)+18>>0]=g;g=(Yo(4)|0)+f&255;a[(c[(c[(c[769383]|0)+16>>2]|0)+(e<<2)>>2]|0)+26>>0]=g;g=(Yo(4)|0)+f&255;a[(c[(c[(c[769383]|0)+16>>2]|0)+(e<<2)>>2]|0)+34>>0]=g;g=(Yo(4)|0)+f&255;a[(c[(c[(c[769383]|0)+16>>2]|0)+(e<<2)>>2]|0)+42>>0]=g;g=(Yo(4)|0)+f&255;a[(c[(c[(c[769383]|0)+16>>2]|0)+(e<<2)>>2]|0)+50>>0]=g;g=(Yo(4)|0)+f&255;a[(c[(c[(c[769383]|0)+16>>2]|0)+(e<<2)>>2]|0)+58>>0]=g;g=(Yo(4)|0)+f&255;a[(c[(c[(c[769383]|0)+16>>2]|0)+(e<<2)>>2]|0)+66>>0]=g;g=(Yo(4)|0)+f&255;a[(c[(c[(c[769383]|0)+16>>2]|0)+(e<<2)>>2]|0)+74>>0]=g;g=(Yo(4)|0)+f&255;a[(c[(c[(c[769383]|0)+16>>2]|0)+(e<<2)>>2]|0)+82>>0]=g;g=(Yo(4)|0)+f&255;a[(c[(c[(c[769383]|0)+16>>2]|0)+(e<<2)>>2]|0)+90>>0]=g;g=(Yo(4)|0)+f&255;a[(c[(c[(c[769383]|0)+16>>2]|0)+(e<<2)>>2]|0)+98>>0]=g;g=(Yo(4)|0)+f&255;a[(c[(c[(c[769383]|0)+16>>2]|0)+(e<<2)>>2]|0)+106>>0]=g;g=(Yo(4)|0)+f&255;a[(c[(c[(c[769383]|0)+16>>2]|0)+(e<<2)>>2]|0)+114>>0]=g;g=(Yo(4)|0)+f&255;a[(c[(c[(c[769383]|0)+16>>2]|0)+(e<<2)>>2]|0)+122>>0]=g;e=e+1|0}while((e|0)!=128)}switch(b|0){case 0:{e=b;do{g=0;do{a[(c[(c[(c[769383]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=((g+e|0)>>>3&7)+6;g=g+4|0}while(g>>>0<128);e=e+2|0}while(e>>>0<128);h=31;break}case 3:{e=0;do{g=2;do{f=(Yo(4)|0)+10&255;a[(c[(c[(c[769383]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=f;g=g+4|0}while(g>>>0<128);e=e+3|0}while(e>>>0<128);switch(b|0){case 5:{h=14;break}case 8:{h=19;break}case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 36:{h=28;break}default:h=31}break}case 5:{h=14;break}case 8:{h=19;break}case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 36:{h=28;break}default:h=31}if((h|0)==14){e=0;do{g=1;do{f=c[(c[(c[769383]|0)+16>>2]|0)+(e<<2)>>2]|0;a[f+g>>0]=a[f+(g+1)>>0]|0;g=g+2|0}while(g>>>0<127);e=e+1|0}while((e|0)!=128);switch(b|0){case 8:{h=19;break}case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 36:{h=28;break}default:h=31}}if((h|0)==19){e=0;do{if(e&3|0){g=0;do{a[(c[(c[(c[769383]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=0;g=g+1|0}while((g|0)!=128)}e=e+1|0}while((e|0)!=128);switch(b|0){case 11:{h=25;break}case 26:{h=26;break}case 31:{h=27;break}case 36:{h=28;break}default:h=31}}do if((h|0)==25)sn(c[769383]|0);else if((h|0)==26){xo();sn(c[769383]|0);b=c[769400]|0;Dq(b+16|0,b);Gg(3300628);Gg(3300628);jp(c[(c[c[769401]>>2]|0)+8>>2]|0,c[769383]|0,0,0,1,1,40,10);c[807089]=6}else if((h|0)==27){Gg(65114);jp(c[(c[c[769401]>>2]|0)+8>>2]|0,c[769383]|0,0,0,1,1,40,10)}else if((h|0)==28){Gg(65128);Gg(3300628);c[807089]=6;if(!(c[473570]|0)){Gg(65214);Gg(3300628);break}else{Eg(65161,14);Gg(3300628);Gg(65193);break}}else if((h|0)==31?(d|0)==70&(c[473568]|0)!=0:0){c[806962]=0;c[807089]=6;Em();c[824858]=2}while(0);h=(c[473567]|0)!=0;b=c[473566]|0;if(h&((d|0)==90&(b|0)!=0)){c[806967]=1;return}e=(d|0)==80;if(!(e&(c[575493]|0)!=0)){if(!(h|((d|0)!=60|(b|0)==0))){c[806962]=0;return}if(!e){if((d|0)!=900)return;Gg(65534);return}}else c[806967]=1;hb();return}function dn(a){a=a|0;qs(2338028,a)|0;qs(3568,a)|0;return}function en(a){a=a|0;var b=0;if(!a)b=0;else{qs(2338284,a)|0;b=2338284}c[584635]=b;return}function fn(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a=Ia;Ia=Ia+96|0;b=a+88|0;d=a+80|0;e=a+72|0;f=a+64|0;g=a+56|0;h=a+48|0;i=a+40|0;j=a+32|0;k=a+24|0;l=a+16|0;m=a+8|0;n=a;if(c[585762]|0){Ia=a;return 0}c[584503]=0;$p(2338028,0,1700);qs(2338028,3568)|0;qs(2338284,3568)|0;c[584635]=2338284;wo();o=c[9024]|0;p=c[585763]|0;if((o|0)>0&(p|0)!=0)gn(o,p);c[n>>2]=65244;_u(65234,n)|0;n=c[9036]|0;ru(n)|0;c[m>>2]=65270;Xs(1671456,65256,m)|0;c[l>>2]=1671456;_u(65234,l)|0;ru(n)|0;l=c[9024]|0;m=c[585763]|0;if((l|0)>0&(m|0)!=0)gn(l,m);if(!0){c[k>>2]=65281;_u(65234,k)|0;ru(n)|0;lr()|0;c[j>>2]=65299;_u(65234,j)|0;ru(n)|0;yr()|0;c[i>>2]=65317;_u(65234,i)|0;ru(n)|0;Zn();c[h>>2]=65332;_u(65234,h)|0;ru(n)|0;Xn();c[g>>2]=65348;_u(65234,g)|0;ru(n)|0;eo();c[f>>2]=65364;_u(65234,f)|0;ru(n)|0;Zq()|0;c[e>>2]=65381;_u(65234,e)|0;ru(n)|0;Sn();c[d>>2]=65398;_u(65234,d)|0;ru(n)|0}Xo(0);c[584973]=(c[584973]|0)+1;c[b>>2]=65418;_u(65234,b)|0;ru(n)|0;c[585762]=1;Ia=a;return 0}function gn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;e=Ia;Ia=Ia+32|0;f=e+8|0;g=e;h=e+24|0;if((b|0)<=1){Ia=e;return}i=0;j=1;a:while(1){k=d+(j<<2)|0;l=c[k>>2]|0;b:do switch(a[l>>0]|0){case 62:case 124:case 38:{m=41;break a;break}case 45:{n=l+1|0;o=(Vs(n,65423,5)|0)==0;p=(Vs(n,65429,6)|0)==0;q=(Vs(n,66454,8)|0)==0;r=(Vs(n,66340,8)|0)==0;s=(Vs(n,65436,8)|0)==0;t=(Vs(n,65445,8)|0)==0;u=(Vs(n,66476,9)|0)==0;v=(Vs(n,66561,17)|0)==0;w=(Vs(n,66353,19)|0)==0;x=(Vs(n,66393,12)|0)==0;y=(Vs(n,66406,12)|0)==0;z=(Vs(n,65454,5)|0)==0;A=(Vs(n,65460,5)|0)==0;B=(Vs(n,66419,15)|0)==0;C=(Vs(n,65466,13)|0)==0|(Vs(n,65480,16)|0)==0;D=(Vs(n,65497,4)|0)==0;E=(Vs(n,65502,7)|0)==0;F=(Vs(n,65510,13)|0)==0;G=(Vs(n,65524,9)|0)==0;H=(Vs(n,65534,7)|0)==0;if(!(Vs(n,65542,8)|0)){c[584975]=1;I=0}else I=H?20:G?19:F?18:E?17:D?16:v?15:C?14:B?12:A?11:z?10:y?11:x?10:w?9:v?8:u?7:t?6:s?5:r?4:q?3:p?2:o?1:i;o=(Vs(n,65551,11)|0)==0;if(!(Vs(n,65563,11)|0)){c[584976]=1;J=0}else J=o?29:I;if((a[n>>0]|0)==120){c[584975]=1;K=0}else K=J;o=(Vs(n,66373,19)|0)==0;p=(Vs(n,65575,17)|0)==0;q=(Vs(n,65593,16)|0)==0;r=(Vs(n,65610,11)|0)==0;s=(Vs(n,65622,13)|0)==0;t=(Vs(n,65636,7)|0)==0;u=(Vs(n,65644,15)|0)==0;L=u?28:t?27:s?26:r?25:q?24:p?23:o?22:K;break}default:{c[h>>2]=0;c[g>>2]=h;wu(l,65660,g)|0;do switch(i|0){case 1:{c[584936]=c[h>>2];L=0;break b;break}case 2:{c[584937]=c[h>>2];L=0;break b;break}case 3:{c[584955]=c[h>>2];L=0;break b;break}case 4:{c[584938]=c[h>>2];L=0;break b;break}case 5:{c[584947]=c[h>>2];L=0;break b;break}case 6:{c[584948]=c[h>>2];L=0;break b;break}case 7:{c[584946]=c[h>>2];L=0;break b;break}case 8:{c[584962]=c[h>>2];L=0;break b;break}case 9:{c[584941]=c[h>>2];L=0;break b;break}case 10:{c[584939]=c[h>>2];L=0;break b;break}case 11:{c[584940]=c[h>>2];L=0;break b;break}case 12:{c[584952]=c[h>>2];L=0;break b;break}case 14:{c[584963]=c[h>>2];L=0;break b;break}case 15:{c[584962]=c[h>>2];L=0;break b;break}case 16:{qs(2339912,c[k>>2]|0)|0;L=0;break b;break}case 17:{qs(2340936,c[k>>2]|0)|0;L=0;break b;break}case 18:{c[584966]=c[h>>2];L=0;break b;break}case 19:{c[584969]=0;c[584970]=0;c[584971]=4096;c[584972]=4096;o=c[k>>2]|0;c[f>>2]=2339876;c[f+4>>2]=2339880;c[f+8>>2]=2339884;c[f+12>>2]=2339888;wu(o,65663,f)|0;L=0;break b;break}case 20:{o=c[h>>2]|0;p=(o|0)<240?o:240;c[584974]=(p|0)>1?p:1;L=0;break b;break}case 21:{c[584975]=1;L=0;break b;break}case 22:{c[584942]=c[h>>2];L=0;break b;break}case 23:{c[584944]=c[h>>2];L=0;break b;break}case 24:{c[585490]=c[h>>2];L=0;break b;break}case 25:{c[585491]=c[h>>2];L=0;break b;break}case 26:{p=c[h>>2]|0;o=(p|0)<8?p:8;c[584964]=(o|0)>0?o:0;L=0;break b;break}case 27:{c[584949]=c[h>>2];L=0;break b;break}case 28:{c[585493]=c[h>>2];L=0;break b;break}case 29:{c[584977]=c[h>>2];L=0;break b;break}default:{L=0;break b}}while(0)}}while(0);j=j+1|0;if((j|0)>=(b|0)){m=41;break}else i=L}if((m|0)==41){Ia=e;return}}function hn(a){a=a|0;var b=0,d=0;b=Ia;Ia=Ia+16|0;d=b;c[d>>2]=a;_u(65234,d)|0;ru(c[9036]|0)|0;Ia=b;return}function jn(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;a=Ia;Ia=Ia+96|0;b=a+80|0;d=a+72|0;e=a+64|0;f=a+56|0;g=a+48|0;h=a+40|0;i=a+32|0;j=a+24|0;k=a+16|0;l=a+8|0;m=a;if(!(c[585762]|0)){Ia=a;return 0}c[585762]=0;c[m>>2]=65675;_u(65234,m)|0;m=c[9036]|0;ru(m)|0;c[l>>2]=65687;_u(65234,l)|0;ru(m)|0;Qq(0,0);c[k>>2]=65700;_u(65234,k)|0;ru(m)|0;Hb();c[j>>2]=65716;_u(65234,j)|0;ru(m)|0;Ao();c[i>>2]=65734;_u(65234,i)|0;ru(m)|0;xq()|0;c[h>>2]=65751;_u(65234,h)|0;ru(m)|0;_q()|0;c[g>>2]=65768;_u(65234,g)|0;ru(m)|0;c[f>>2]=65788;_u(65234,f)|0;ru(m)|0;if(!0){fo();_n()}c[e>>2]=c[584503];Xs(1671456,65806,e)|0;c[d>>2]=1671456;_u(65234,d)|0;ru(m)|0;c[b>>2]=65418;_u(65234,b)|0;ru(m)|0;m=c[584636]|0;if(m|0)pu(m)|0;m=c[584637]|0;if(m|0)pu(m)|0;c[584636]=0;c[584637]=0;c[585762]=0;Ia=a;return 0}function kn(a){a=a|0;return}function ln(){var a=0;a=Dr()|0;if(!(c[585764]|0)){c[585764]=1;$n();c[585764]=0}Fr(2338020,2338024,0);Lq();return a|0}function mn(){var a=0;br();Dr()|0;if(!(c[585764]|0)){c[585764]=1;$n();c[585764]=0}Fr(2338020,2338024,0);Lq();c[585765]=0;Gb();if(!(c[585765]|0)){rb();dr();cr()}c[584656]=0;a=c[584672]|0;if(!a)return;if((a|0)<=(yr()|0))return;c[584672]=0;ka(25)|0;return}function nn(){c[585765]=1;return}function on(a,b){a=a|0;b=b|0;qs(1675552,c[b>>2]|0)|0;c[9024]=a;c[585763]=b;lb(a,b);wa(1,0,0);return 0}function pn(){var a=0;a=aq(768)|0;Av(a|0,0,768)|0;c[584503]=(c[584503]|0)+1;return a|0}function qn(a){a=a|0;if(!a)return;cq(a);c[584503]=(c[584503]|0)+-1;return}function rn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=aq((d<<2)+48|0)|0;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;c[e+40>>2]=0;c[e+32>>2]=0;c[e+24>>2]=0;c[e+28>>2]=a;c[e+36>>2]=b;c[e+44>>2]=d;f=B(b,a)|0;g=e+12|0;c[g>>2]=aq(B(f,d)|0)|0;h=e+16|0;c[h>>2]=e+48;if((d|0)<=0){i=c[584503]|0;j=i+1|0;c[584503]=j;return e|0}k=(b<<2)+52|0;if((b|0)<=0){l=0;do{m=aq(k)|0;c[m>>2]=a;c[m+4>>2]=b;c[m+36>>2]=0;c[m+28>>2]=0;c[m+32>>2]=a;c[m+40>>2]=b;c[m+8>>2]=8;c[m+20>>2]=0;c[m+12>>2]=(c[g>>2]|0)+(B(l,f)|0);c[m+16>>2]=m+52;c[(c[h>>2]|0)+(l<<2)>>2]=m;l=l+1|0}while((l|0)!=(d|0));i=c[584503]|0;j=i+1|0;c[584503]=j;return e|0}l=(b|0)==1;m=0;do{n=aq(k)|0;c[n>>2]=a;o=n+4|0;c[o>>2]=b;c[n+36>>2]=0;c[n+28>>2]=0;c[n+32>>2]=a;c[n+40>>2]=b;p=n+8|0;c[p>>2]=8;c[n+20>>2]=0;q=(c[g>>2]|0)+(B(m,f)|0)|0;r=n+12|0;c[r>>2]=q;s=n+52|0;t=n+16|0;c[t>>2]=s;c[s>>2]=q;if(!l){q=1;do{c[(c[t>>2]|0)+(q<<2)>>2]=(c[r>>2]|0)+(B(q,a)|0);q=q+1|0}while((q|0)!=(b|0))}if(3077396!=(n|0)?($p(c[c[t>>2]>>2]|0,0,a),(c[o>>2]|0)>1):0){q=1;do{$p(c[(c[t>>2]|0)+(q<<2)>>2]|0,0,B(c[p>>2]>>3,c[n>>2]|0)|0);q=q+1|0}while((q|0)<(c[o>>2]|0))}c[(c[h>>2]|0)+(m<<2)>>2]=n;m=m+1|0}while((m|0)!=(d|0));i=c[584503]|0;j=i+1|0;c[584503]=j;return e|0}function sn(a){a=a|0;var b=0,d=0,e=0,f=0;if(3077396==(a|0))return;b=a+4|0;if((c[b>>2]|0)<=0)return;d=a+16|0;e=a+8|0;f=0;do{$p(c[(c[d>>2]|0)+(f<<2)>>2]|0,0,B(c[e>>2]>>3,c[a>>2]|0)|0);f=f+1|0}while((f|0)<(c[b>>2]|0));return}function tn(a){a=a|0;var b=0,d=0,e=0;if(!a)return 0;b=c[a+12>>2]|0;if(b|0)cq(b);b=a+8|0;if((c[b>>2]|0)>0){d=a+16|0;e=0;do{cq(c[(c[d>>2]|0)+(e<<2)>>2]|0);e=e+1|0}while((e|0)<(c[b>>2]|0))}cq(a);c[584503]=(c[584503]|0)+-1;return 0}function un(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;i=(d|0)>(f|0);j=i?d:f;k=i?f:d;d=(e|0)>(g|0);f=d?e:g;i=d?g:e;e=b+8|0;g=c[e>>2]|0;if((g|0)==32){d=b+36|0;l=b+40|0;m=b+28|0;n=b+32|0;o=h&255;p=b+16|0;q=i;while(1){a:do if((3077396!=(b|0)?(c[d>>2]|0)<=(q|0):0)?(c[l>>2]|0)>(q|0):0){r=c[m>>2]|0;s=(k|0)<(r|0)?r:k;r=c[n>>2]|0;t=(j|0)<(r|0)?j:r+-1|0;switch(c[e>>2]|0){case 8:{if((s|0)>(t|0))break a;r=s;while(1){a[(c[(c[p>>2]|0)+(q<<2)>>2]|0)+r>>0]=o;if((r|0)<(t|0))r=r+1|0;else break}break}case 32:{r=1-s+t|0;if((r|0)<=0)break a;u=(c[(c[p>>2]|0)+(q<<2)>>2]|0)+(s<<2)|0;v=r;while(1){c[u>>2]=h;if((v|0)>1){u=u+4|0;v=v+-1|0}else break}break}default:break a}}while(0);if((q|0)<(f|0))q=q+1|0;else break}w=c[e>>2]|0}else w=g;if((w|0)!=8)return;w=c[b+28>>2]|0;g=(k|0)<(w|0)?w:k;k=c[b+32>>2]|0;w=c[b+36>>2]|0;e=c[b+40>>2]|0;q=(f|0)<(e|0)?f+1|0:e;e=((j|0)<(k|0)?j+1|0:k)-g|0;if((e|0)<=0)return;k=(i|0)<(w|0)?w:i;if((k|0)>=(q|0))return;i=b+16|0;b=k;do{$p((c[(c[i>>2]|0)+(b<<2)>>2]|0)+g|0,h,e);b=b+1|0}while((b|0)<(q|0));return}function vn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[a+28>>2]=(b|0)>0?b:0;b=c[a>>2]|0;c[a+32>>2]=(b|0)>(e|0)?e:b;c[a+36>>2]=(d|0)>0?d:0;d=c[a+4>>2]|0;c[a+40>>2]=(d|0)>(f|0)?f:d;return}function wn(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(!((a|0)!=0&(b|0)!=0))return;j=c[b+8>>2]|0;if((j|0)!=(c[a+8>>2]|0))return;k=c[a>>2]|0;if((k|0)<=(d|0))return;l=c[a+4>>2]|0;if((l|0)<=(e|0))return;m=c[b+32>>2]|0;if((m|0)<=(f|0))return;n=c[b+40>>2]|0;if((n|0)<=(g|0))return;o=(d|0)<0;p=o?d:0;q=p+h|0;h=f-p|0;p=o?0:d;d=(e|0)<0;o=d?e:0;f=o+i|0;i=g-o|0;o=d?0:e;e=c[b+28>>2]|0;d=(h|0)<(e|0);g=d?h-e|0:0;r=g+((q+p|0)>(k|0)?k-p|0:q)|0;q=d?e:h;h=p-g|0;g=c[b+36>>2]|0;p=(i|0)<(g|0);e=p?i-g|0:0;d=e+((f+o|0)>(l|0)?l-o|0:f)|0;f=p?g:i;i=o-e|0;e=(r+q|0)>(m|0)?m-q|0:r;r=(d+f|0)>(n|0)?n-f|0:d;if((e|0)<1|(r|0)<1)return;if(3077396==(b|0)){xr(a,b,h,i,q,f,e,r,1);return}switch(j|0){case 8:{kp(a,b,h,i,q,f,e,r);return}case 32:{lp(a,b,h,i,q,f,e,r);return}default:return}}function xn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((a|0)<1|(b|0)<1){e=0;return e|0}f=aq((b<<2)+52|0)|0;c[f>>2]=a;g=f+4|0;c[g>>2]=b;c[f+36>>2]=0;c[f+28>>2]=0;c[f+32>>2]=a;c[f+40>>2]=b;h=f+8|0;c[h>>2]=d;c[f+20>>2]=0;i=B(d>>3,a)|0;a=aq(B(i,b)|0)|0;d=f+12|0;c[d>>2]=a;j=f+52|0;k=f+16|0;c[k>>2]=j;c[j>>2]=a;if((b|0)!=1){a=1;do{c[(c[k>>2]|0)+(a<<2)>>2]=(c[d>>2]|0)+(B(i,a)|0);a=a+1|0}while((a|0)!=(b|0))}if(3077396!=(f|0)?(c[g>>2]|0)>0:0){b=0;do{$p(c[(c[k>>2]|0)+(b<<2)>>2]|0,0,B(c[h>>2]>>3,c[f>>2]|0)|0);b=b+1|0}while((b|0)<(c[g>>2]|0))}c[584503]=(c[584503]|0)+1;e=f;return e|0}function yn(a){a=a|0;var b=0;if(!a)return 0;b=c[a+12>>2]|0;if(b|0)cq(b);cq(a);c[584503]=(c[584503]|0)+-1;return 0}function zn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;if((c[b+28>>2]|0)>(d|0))return;if((c[b+36>>2]|0)>(e|0))return;if((c[b+32>>2]|0)<=(d|0))return;if((c[b+40>>2]|0)<=(e|0))return;switch(c[b+8>>2]|0){case 8:{a[(c[(c[b+16>>2]|0)+(e<<2)>>2]|0)+d>>0]=f;return}case 32:{c[(c[(c[b+16>>2]|0)+(e<<2)>>2]|0)+(d<<2)>>2]=f;return}default:return}}function An(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;j=c[d>>2]|0;do if((((j|0)<(c[a>>2]|0)?(k=c[e>>2]|0,l=a+4|0,(k|0)<(c[l>>2]|0)):0)?(m=b+32|0,(c[f>>2]|0)<(c[m>>2]|0)):0)?(n=b+40|0,(c[g>>2]|0)<(c[n>>2]|0)):0){if((j|0)<0){c[h>>2]=(c[h>>2]|0)+j;c[f>>2]=(c[f>>2]|0)-(c[d>>2]|0);c[d>>2]=0;o=c[e>>2]|0;p=0}else{o=k;p=j}if((o|0)<0){c[i>>2]=(c[i>>2]|0)+o;c[g>>2]=(c[g>>2]|0)-(c[e>>2]|0);c[e>>2]=0;q=c[d>>2]|0;r=0}else{q=p;r=o}k=c[a>>2]|0;if(((c[h>>2]|0)+q|0)>(k|0)){c[h>>2]=k-q;s=c[e>>2]|0}else s=r;k=c[l>>2]|0;if(((c[i>>2]|0)+s|0)>(k|0))c[i>>2]=k-s;k=c[f>>2]|0;l=b+28|0;t=c[l>>2]|0;if((k|0)<(t|0)){u=k-t|0;c[f>>2]=u;c[h>>2]=(c[h>>2]|0)+u;c[d>>2]=(c[d>>2]|0)-(c[f>>2]|0);u=c[l>>2]|0;c[f>>2]=u;v=u}else v=k;k=c[g>>2]|0;u=b+36|0;l=c[u>>2]|0;if((k|0)<(l|0)){t=k-l|0;c[g>>2]=t;c[i>>2]=(c[i>>2]|0)+t;c[e>>2]=(c[e>>2]|0)-(c[g>>2]|0);t=c[u>>2]|0;c[g>>2]=t;w=c[f>>2]|0;x=t}else{w=v;x=k}k=c[m>>2]|0;if(((c[h>>2]|0)+w|0)>(k|0)){c[h>>2]=k-w;y=c[g>>2]|0}else y=x;k=c[n>>2]|0;if(((c[i>>2]|0)+y|0)>(k|0)){z=k-y|0;break}else return}else z=0;while(0);c[i>>2]=z;return}function Bn(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;i=(b|0)==0;a:do if((!(i|3077396==(b|0))?(j=(g|0)<(e|0),k=j?e:g,l=j?g:e,(c[b+28>>2]|0)<=(d|0)):0)?(c[b+32>>2]|0)>(d|0):0){j=c[b+36>>2]|0;m=(l|0)<(j|0)?j:l;l=c[b+40>>2]|0;j=(k|0)<(l|0)?k:l+-1|0;switch(c[b+8>>2]|0){case 8:{if((m|0)>(j|0))break a;l=h&255;k=b+16|0;n=m;while(1){a[(c[(c[k>>2]|0)+(n<<2)>>2]|0)+d>>0]=l;if((n|0)<(j|0))n=n+1|0;else break}break}case 32:{if((m|0)>(j|0))break a;n=c[b+16>>2]|0;l=m;while(1){c[(c[n+(l<<2)>>2]|0)+(d<<2)>>2]=h;if((l|0)<(j|0))l=l+1|0;else break}break}default:break a}}while(0);b:do if((!(i|3077396==(b|0))?(l=(g|0)<(e|0),j=l?e:g,n=l?g:e,(c[b+28>>2]|0)<=(f|0)):0)?(c[b+32>>2]|0)>(f|0):0){l=c[b+36>>2]|0;m=(n|0)<(l|0)?l:n;n=c[b+40>>2]|0;l=(j|0)<(n|0)?j:n+-1|0;switch(c[b+8>>2]|0){case 8:{if((m|0)>(l|0))break b;n=h&255;j=b+16|0;k=m;while(1){a[(c[(c[j>>2]|0)+(k<<2)>>2]|0)+f>>0]=n;if((k|0)<(l|0))k=k+1|0;else break}break}case 32:{if((m|0)>(l|0))break b;k=c[b+16>>2]|0;n=m;while(1){c[(c[k+(n<<2)>>2]|0)+(f<<2)>>2]=h;if((n|0)<(l|0))n=n+1|0;else break}break}default:break b}}while(0);c:do if((!(i|3077396==(b|0))?(n=(f|0)<(d|0),l=n?d:f,k=n?f:d,(c[b+36>>2]|0)<=(e|0)):0)?(c[b+40>>2]|0)>(e|0):0){n=c[b+28>>2]|0;m=(k|0)<(n|0)?n:k;k=c[b+32>>2]|0;n=(l|0)<(k|0)?l:k+-1|0;switch(c[b+8>>2]|0){case 8:{if((m|0)>(n|0))break c;k=h&255;l=b+16|0;j=m;while(1){a[(c[(c[l>>2]|0)+(e<<2)>>2]|0)+j>>0]=k;if((j|0)<(n|0))j=j+1|0;else break}break}case 32:{j=1-m+n|0;if((j|0)<=0)break c;k=(c[(c[b+16>>2]|0)+(e<<2)>>2]|0)+(m<<2)|0;l=j;while(1){c[k>>2]=h;if((l|0)>1){k=k+4|0;l=l+-1|0}else break}break}default:break c}}while(0);if(i|3077396==(b|0))return;i=(f|0)<(d|0);e=i?d:f;l=i?f:d;if((c[b+36>>2]|0)>(g|0))return;if((c[b+40>>2]|0)<=(g|0))return;d=c[b+28>>2]|0;f=(l|0)<(d|0)?d:l;l=c[b+32>>2]|0;d=(e|0)<(l|0)?e:l+-1|0;switch(c[b+8>>2]|0){case 8:{if((f|0)>(d|0))return;l=h&255;e=b+16|0;i=f;while(1){a[(c[(c[e>>2]|0)+(g<<2)>>2]|0)+i>>0]=l;if((i|0)<(d|0))i=i+1|0;else break}return}case 32:{i=1-f+d|0;if((i|0)<=0)return;d=(c[(c[b+16>>2]|0)+(g<<2)>>2]|0)+(f<<2)|0;f=i;while(1){c[d>>2]=h;if((f|0)>1){d=d+4|0;f=f+-1|0}else break}return}default:return}} function ge(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0;f=Ia;Ia=Ia+96|0;g=f;h=f+64|0;i=f+48|0;j=f+32|0;k=f+16|0;l=e+4|0;m=c[l>>2]|0;c[9013]=m;n=e+28|0;o=c[n>>2]|0;p=e+32|0;q=(c[p>>2]|0)+38|0;r=(b[q>>1]|0)+1<<16>>16;b[q>>1]=r;if((r&65535)>200)xe(o,200,48791);r=e+12|0;do switch(c[r>>2]|0){case 59:{c[e+8>>2]=m;q=e+20|0;if((c[q>>2]|0)==286){c[r>>2]=fe(e,e+16|0)|0;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}else{A=q;B=c[A+4>>2]|0;C=e+12|0;c[C>>2]=c[A>>2];c[C+4>>2]=B;c[q>>2]=286;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}break}case 267:{c[i>>2]=-1;ye(e,i);a:while(1){switch(c[r>>2]|0){case 260:{D=10;break a;break}case 261:break;default:break a}ye(e,i)}if((D|0)==10){c[e+8>>2]=c[l>>2];q=e+20|0;if((c[q>>2]|0)==286){B=fe(e,e+16|0)|0;c[r>>2]=B;E=B}else{B=q;C=c[B>>2]|0;A=c[B+4>>2]|0;B=e+12|0;c[B>>2]=C;c[B+4>>2]=A;c[q>>2]=286;E=C}C=c[n>>2]|0;a[h+10>>0]=0;a[h+8>>0]=a[C+46>>0]|0;q=c[(c[C+12>>2]|0)+44>>2]|0;b[h+4>>1]=c[q+28>>2];b[h+6>>1]=c[q+16>>2];a[h+9>>0]=0;q=C+16|0;c[h>>2]=c[q>>2];c[q>>2]=h;q=E;b:while(1){switch(q|0){case 277:case 286:case 262:case 261:case 260:{break b;break}default:{}}ge(e);if((q|0)==274)break;q=c[r>>2]|0}ke(C)}ze(e,262,267,m);q=c[i>>2]|0;c[o+24>>2]=c[o+20>>2];A=o+28|0;do if((q|0)!=-1){B=c[A>>2]|0;if((B|0)==-1){c[A>>2]=q;break}F=c[(c[o>>2]|0)+12>>2]|0;G=B;while(1){H=F+(G<<2)|0;I=c[H>>2]|0;B=(I>>>14)+-131071|0;J=(B|0)==-1?-1:G+1+B|0;if((J|0)==-1)break;else G=J}F=q+~G|0;if((((F|0)>-1?F:0-F|0)|0)>131071)me(c[o+12>>2]|0,48423);else{c[H>>2]=(F<<14)+2147467264|I&16383;break}}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 278:{q=e+8|0;c[q>>2]=m;A=e+20|0;if((c[A>>2]|0)==286)c[r>>2]=fe(e,e+16|0)|0;else{C=A;F=c[C+4>>2]|0;J=e+12|0;c[J>>2]=c[C>>2];c[J+4>>2]=F;c[A>>2]=286}F=o+20|0;J=c[F>>2]|0;C=o+24|0;c[C>>2]=J;Ae(e,h,0)|0;if((c[h>>2]|0)==1)c[h>>2]=3;Be(c[n>>2]|0,h);B=c[h+12>>2]|0;a[i+10>>0]=1;a[i+8>>0]=a[o+46>>0]|0;K=o+12|0;L=c[(c[K>>2]|0)+44>>2]|0;b[i+4>>1]=c[L+28>>2];b[i+6>>1]=c[L+16>>2];a[i+9>>0]=0;L=o+16|0;c[i>>2]=c[L>>2];c[L>>2]=i;if((c[r>>2]|0)!=259)he(e,259);c[q>>2]=c[l>>2];if((c[A>>2]|0)==286){q=fe(e,e+16|0)|0;c[r>>2]=q;M=q}else{q=A;L=c[q>>2]|0;N=c[q+4>>2]|0;q=e+12|0;c[q>>2]=L;c[q+4>>2]=N;c[A>>2]=286;M=L}L=c[n>>2]|0;a[h+10>>0]=0;a[h+8>>0]=a[L+46>>0]|0;A=c[(c[L+12>>2]|0)+44>>2]|0;b[h+4>>1]=c[A+28>>2];b[h+6>>1]=c[A+16>>2];a[h+9>>0]=0;A=L+16|0;c[h>>2]=c[A>>2];c[A>>2]=h;A=M;c:while(1){switch(A|0){case 277:case 286:case 262:case 261:case 260:{break c;break}default:{}}ge(e);if((A|0)==274)break;A=c[r>>2]|0}ke(L);A=o+28|0;N=c[A>>2]|0;c[A>>2]=-1;q=je(o,2147450916)|0;do if((N|0)!=-1)if((q|0)!=-1){O=c[(c[o>>2]|0)+12>>2]|0;P=q;while(1){Q=O+(P<<2)|0;R=c[Q>>2]|0;S=(R>>>14)+-131071|0;T=(S|0)==-1?-1:P+1+S|0;if((T|0)==-1)break;else P=T}O=N+~P|0;if((((O|0)>-1?O:0-O|0)|0)>131071)me(c[K>>2]|0,48423);else{c[Q>>2]=(O<<14)+2147467264|R&16383;U=q;break}}else U=N;else U=q;while(0);ue(o,U,J);ze(e,262,278,m);ke(o);c[C>>2]=c[F>>2];do if((B|0)!=-1){q=c[A>>2]|0;if((q|0)==-1){c[A>>2]=B;break}N=c[(c[o>>2]|0)+12>>2]|0;L=q;while(1){V=N+(L<<2)|0;W=c[V>>2]|0;q=(W>>>14)+-131071|0;O=(q|0)==-1?-1:L+1+q|0;if((O|0)==-1)break;else L=O}N=B+~L|0;if((((N|0)>-1?N:0-N|0)|0)>131071)me(c[K>>2]|0,48423);else{c[V>>2]=(N<<14)+2147467264|W&16383;break}}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 259:{c[e+8>>2]=m;K=e+20|0;if((c[K>>2]|0)==286){B=fe(e,e+16|0)|0;c[r>>2]=B;X=B;Y=c[n>>2]|0}else{B=K;A=c[B>>2]|0;F=c[B+4>>2]|0;B=e+12|0;c[B>>2]=A;c[B+4>>2]=F;c[K>>2]=286;X=A;Y=o}a[h+10>>0]=0;a[h+8>>0]=a[Y+46>>0]|0;A=c[(c[Y+12>>2]|0)+44>>2]|0;b[h+4>>1]=c[A+28>>2];b[h+6>>1]=c[A+16>>2];a[h+9>>0]=0;A=Y+16|0;c[h>>2]=c[A>>2];c[A>>2]=h;A=X;d:while(1){switch(A|0){case 277:case 286:case 262:case 261:case 260:{break d;break}default:{}}ge(e);if((A|0)==274)break;A=c[r>>2]|0}ke(Y);ze(e,262,259,m);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 264:{a[i+10>>0]=1;a[i+8>>0]=a[o+46>>0]|0;A=c[(c[o+12>>2]|0)+44>>2]|0;b[i+4>>1]=c[A+28>>2];b[i+6>>1]=c[A+16>>2];a[i+9>>0]=0;A=o+16|0;c[i>>2]=c[A>>2];c[A>>2]=i;A=e+8|0;c[A>>2]=m;K=e+20|0;if((c[K>>2]|0)==286){F=fe(e,e+16|0)|0;c[r>>2]=F;Z=F}else{F=K;B=c[F>>2]|0;C=c[F+4>>2]|0;F=e+12|0;c[F>>2]=B;c[F+4>>2]=C;c[K>>2]=286;Z=B}if((Z|0)!=288)he(e,288);B=e+16|0;C=c[B>>2]|0;c[A>>2]=c[l>>2];if((c[K>>2]|0)==286){F=fe(e,B)|0;c[r>>2]=F;_=F}else{F=K;J=c[F>>2]|0;N=c[F+4>>2]|0;F=e+12|0;c[F>>2]=J;c[F+4>>2]=N;c[K>>2]=286;_=J}switch(_|0){case 61:{J=c[n>>2]|0;N=J+48|0;F=d[N>>0]|0;Ce(e,le(e,48800,11)|0);Ce(e,le(e,48812,11)|0);Ce(e,le(e,48824,10)|0);Ce(e,C);if((c[r>>2]|0)!=61)he(e,61);c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=fe(e,B)|0;else{P=K;O=c[P+4>>2]|0;q=e+12|0;c[q>>2]=c[P>>2];c[q+4>>2]=O;c[K>>2]=286}De(e);if((c[r>>2]|0)!=44)he(e,44);c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=fe(e,B)|0;else{O=K;q=c[O+4>>2]|0;P=e+12|0;c[P>>2]=c[O>>2];c[P+4>>2]=q;c[K>>2]=286}De(e);if((c[r>>2]|0)==44){c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=fe(e,B)|0;else{q=K;P=c[q+4>>2]|0;O=e+12|0;c[O>>2]=c[q>>2];c[O+4>>2]=P;c[K>>2]=286}De(e)}else{P=d[N>>0]|0;O=J+12|0;c[h>>2]=65536;c[h+4>>2]=3;q=Ee(J,h,h)|0;G=P<<6;if((q|0)<262144)je(J,G|q<<14|1)|0;else{je(J,G|2)|0;je(J,q<<6|52)|0}q=a[N>>0]|0;G=(q&255)+1|0;P=(c[J>>2]|0)+78|0;do if((q&255)>=(d[P>>0]|0))if((q&255)>248)me(c[O>>2]|0,48835);else{J=G&255;a[P>>0]=J;$=J;break}else $=G&255;while(0);a[N>>0]=$}Fe(e,F,m,1,1);break}case 268:case 44:{G=c[n>>2]|0;P=G+48|0;O=d[P>>0]|0;Ce(e,le(e,48870,15)|0);Ce(e,le(e,48886,11)|0);Ce(e,le(e,48898,13)|0);Ce(e,C);q=c[r>>2]|0;do if((q|0)==44){J=e+12|0;T=4;while(1){c[A>>2]=c[l>>2];if((c[K>>2]|0)==286){S=fe(e,B)|0;c[r>>2]=S;aa=S}else{S=K;ba=c[S>>2]|0;ca=c[S+4>>2]|0;S=J;c[S>>2]=ba;c[S+4>>2]=ca;c[K>>2]=286;aa=ba}if((aa|0)!=288){D=105;break}ba=c[B>>2]|0;c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=fe(e,B)|0;else{ca=K;S=c[ca+4>>2]|0;da=J;c[da>>2]=c[ca>>2];c[da+4>>2]=S;c[K>>2]=286}Ce(e,ba);ea=c[r>>2]|0;if((ea|0)==44)T=T+1|0;else{D=110;break}}if((D|0)==105)he(e,288);else if((D|0)==110){fa=T+-2|0;ga=ea;break}}else{fa=1;ga=q}while(0);if((ga|0)!=268)he(e,268);q=c[l>>2]|0;c[A>>2]=q;if((c[K>>2]|0)==286){c[r>>2]=fe(e,B)|0;ha=c[l>>2]|0}else{C=K;F=c[C+4>>2]|0;N=e+12|0;c[N>>2]=c[C>>2];c[N+4>>2]=F;c[K>>2]=286;ha=q}Ae(e,h,0)|0;e:do if((c[r>>2]|0)==44){q=e+12|0;F=h+4|0;N=1;while(1){c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=fe(e,B)|0;else{C=K;J=c[C+4>>2]|0;L=q;c[L>>2]=c[C>>2];c[L+4>>2]=J;c[K>>2]=286}ia=c[n>>2]|0;Ge(ia,h);if(((c[h>>2]|0)==6?(J=c[F>>2]|0,(J&256|0)==0):0)?(J|0)>=(d[ia+46>>0]|0):0){J=ia+48|0;a[J>>0]=(a[J>>0]|0)+-1<<24>>24}J=ia+48|0;L=a[J>>0]|0;C=(L&255)+1|0;ba=(c[ia>>2]|0)+78|0;if((L&255)<(d[ba>>0]|0))ja=C&255;else{if((L&255)>248)break;L=C&255;a[ba>>0]=L;ja=L}a[J>>0]=ja;He(ia,h,(ja&255)+-1|0);Ae(e,h,0)|0;J=N+1|0;if((c[r>>2]|0)==44)N=J;else{ka=J;break e}}me(c[ia+12>>2]|0,48835)}else ka=1;while(0);Ie(c[n>>2]|0,3,ka,h);K=(d[P>>0]|0)+3|0;B=(c[G>>2]|0)+78|0;do if(K>>>0>(d[B>>0]|0)>>>0)if(K>>>0>249)me(c[G+12>>2]|0,48835);else{a[B>>0]=K;break}while(0);Fe(e,O,ha,fa,0);break}default:me(e,48912)}ze(e,262,264,m);ke(o);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 273:{K=c[o+20>>2]|0;c[o+24>>2]=K;a[i+10>>0]=1;B=a[o+46>>0]|0;a[i+8>>0]=B;G=c[(c[o+12>>2]|0)+44>>2]|0;P=c[G+28>>2]&65535;b[i+4>>1]=P;A=c[G+16>>2]&65535;b[i+6>>1]=A;a[i+9>>0]=0;G=o+16|0;c[i>>2]=c[G>>2];a[j+10>>0]=0;N=j+8|0;a[N>>0]=B;b[j+4>>1]=P;b[j+6>>1]=A;A=j+9|0;a[A>>0]=0;c[j>>2]=i;c[G>>2]=j;c[e+8>>2]=m;G=e+20|0;if((c[G>>2]|0)==286){P=fe(e,e+16|0)|0;c[r>>2]=P;la=P}else{P=G;B=c[P>>2]|0;F=c[P+4>>2]|0;P=e+12|0;c[P>>2]=B;c[P+4>>2]=F;c[G>>2]=286;la=B}B=la;f:while(1){switch(B|0){case 277:case 286:case 262:case 261:case 260:{break f;break}default:{}}ge(e);if((B|0)==274)break;B=c[r>>2]|0}ze(e,277,273,m);Ae(e,h,0)|0;if((c[h>>2]|0)==1)c[h>>2]=3;Be(c[n>>2]|0,h);B=c[h+12>>2]|0;if(!((B|0)==-1|(a[A>>0]|0)==0)){O=c[(c[o>>2]|0)+12>>2]|0;G=(d[N>>0]<<6)+64&16320;F=B;do{P=O+(F<<2)|0;q=c[P>>2]|0;T=(q>>>14)+-131071|0;c[P>>2]=q&-16321|G;F=(T|0)==-1?-1:F+1+T|0}while((F|0)!=-1)}ke(o);ue(o,B,K);ke(o);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 265:{F=e+8|0;c[F>>2]=m;G=e+20|0;if((c[G>>2]|0)==286){O=e+16|0;c[r>>2]=fe(e,O)|0;ma=G;na=e+12|0;oa=O}else{O=e+12|0;N=G;A=c[N+4>>2]|0;T=O;c[T>>2]=c[N>>2];c[T+4>>2]=A;c[G>>2]=286;ma=G;na=O;oa=e+16|0}Je(e,j);O=j+8|0;A=j+12|0;T=h+4|0;N=i+8|0;q=i+12|0;P=i+4|0;J=j+4|0;L=J+2|0;ba=J+3|0;g:while(1){switch(c[r>>2]|0){case 58:{D=168;break g;break}case 46:break;default:{pa=0;break g}}C=c[n>>2]|0;if(!((c[j>>2]|0)==8?(c[O>>2]|0)==(c[A>>2]|0):0))Ke(C,j)|0;c[F>>2]=c[l>>2];if((c[G>>2]|0)==286){S=fe(e,oa)|0;c[r>>2]=S;qa=S}else{S=ma;da=c[S>>2]|0;ca=c[S+4>>2]|0;S=na;c[S>>2]=da;c[S+4>>2]=ca;c[G>>2]=286;qa=da}if((qa|0)!=288){D=163;break}da=c[oa>>2]|0;c[F>>2]=c[l>>2];if((c[G>>2]|0)==286)c[r>>2]=fe(e,oa)|0;else{ca=ma;S=c[ca+4>>2]|0;ra=na;c[ra>>2]=c[ca>>2];c[ra+4>>2]=S;c[G>>2]=286}S=c[n>>2]|0;c[h>>2]=da;c[T>>2]=(a[da+4>>0]|64)&255;da=Ee(S,h,h)|0;c[N>>2]=-1;c[q>>2]=-1;c[i>>2]=4;c[P>>2]=da;a[L>>0]=c[J>>2];b[J>>1]=Le(C,i)|0;a[ba>>0]=(c[j>>2]|0)==8?8:7;c[j>>2]=9}if((D|0)==163)he(e,288);if((D|0)==168){P=c[n>>2]|0;if(!((c[j>>2]|0)==8?(c[O>>2]|0)==(c[A>>2]|0):0))Ke(P,j)|0;c[F>>2]=c[l>>2];if((c[G>>2]|0)==286){q=fe(e,oa)|0;c[r>>2]=q;sa=q}else{q=ma;N=c[q>>2]|0;T=c[q+4>>2]|0;q=na;c[q>>2]=N;c[q+4>>2]=T;c[G>>2]=286;sa=N}if((sa|0)!=288)he(e,288);N=c[oa>>2]|0;c[F>>2]=c[l>>2];if((c[G>>2]|0)==286)c[r>>2]=fe(e,oa)|0;else{T=ma;q=c[T+4>>2]|0;K=na;c[K>>2]=c[T>>2];c[K+4>>2]=q;c[G>>2]=286}q=c[n>>2]|0;c[h>>2]=N;c[h+4>>2]=(a[N+4>>0]|64)&255;N=Ee(q,h,h)|0;c[i+8>>2]=-1;c[i+12>>2]=-1;c[i>>2]=4;c[i+4>>2]=N;a[L>>0]=c[J>>2];b[J>>1]=Le(P,i)|0;a[ba>>0]=(c[j>>2]|0)==8?8:7;c[j>>2]=9;pa=1}Me(e,k,pa,m);Ne(c[n>>2]|0,j,k);P=c[n>>2]|0;c[(c[(c[P>>2]|0)+20>>2]|0)+((c[P+20>>2]|0)+-1<<2)>>2]=m;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 269:{P=e+8|0;c[P>>2]=m;N=e+20|0;if((c[N>>2]|0)==286){q=fe(e,e+16|0)|0;c[r>>2]=q;ta=q}else{q=N;K=c[q>>2]|0;T=c[q+4>>2]|0;q=e+12|0;c[q>>2]=K;c[q+4>>2]=T;c[N>>2]=286;ta=K}if((ta|0)==265){c[P>>2]=c[l>>2];if((c[N>>2]|0)==286){K=fe(e,e+16|0)|0;c[r>>2]=K;ua=K}else{K=N;T=c[K>>2]|0;q=c[K+4>>2]|0;K=e+12|0;c[K>>2]=T;c[K+4>>2]=q;c[N>>2]=286;ua=T}T=c[n>>2]|0;if((ua|0)!=288)he(e,288);q=e+16|0;K=c[q>>2]|0;c[P>>2]=c[l>>2];if((c[N>>2]|0)==286)c[r>>2]=fe(e,q)|0;else{q=N;B=c[q+4>>2]|0;C=e+12|0;c[C>>2]=c[q>>2];c[C+4>>2]=B;c[N>>2]=286}Ce(e,K);K=c[n>>2]|0;B=K+46|0;C=a[B>>0]|0;a[B>>0]=(C&255)+1;c[(c[(c[K>>2]|0)+24>>2]|0)+((b[(c[c[(c[K+12>>2]|0)+44>>2]>>2]|0)+((c[K+40>>2]|0)+(C+1&255)+-1<<1)>>1]|0)*12|0)+4>>2]=c[K+20>>2];Me(e,h,0,c[l>>2]|0);c[(c[(c[T>>2]|0)+24>>2]|0)+((b[(c[c[(c[T+12>>2]|0)+44>>2]>>2]|0)+((c[T+40>>2]|0)+(c[h+4>>2]|0)<<1)>>1]|0)*12|0)+4>>2]=c[T+20>>2];s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}if((ta|0)!=288)he(e,288);T=e+16|0;K=e+12|0;C=0;h:while(1){B=c[T>>2]|0;c[P>>2]=c[l>>2];if((c[N>>2]|0)==286)c[r>>2]=fe(e,T)|0;else{q=N;da=c[q+4>>2]|0;S=K;c[S>>2]=c[q>>2];c[S+4>>2]=da;c[N>>2]=286}Ce(e,B);C=C+1|0;switch(c[r>>2]|0){case 61:{D=205;break h;break}case 44:break;default:{D=223;break h}}c[P>>2]=c[l>>2];if((c[N>>2]|0)==286){B=fe(e,T)|0;c[r>>2]=B;va=B}else{B=N;da=c[B>>2]|0;S=c[B+4>>2]|0;B=K;c[B>>2]=da;c[B+4>>2]=S;c[N>>2]=286;va=da}if((va|0)!=288){D=196;break}}i:do if((D|0)==196)he(e,288);else if((D|0)==205){c[P>>2]=c[l>>2];if((c[N>>2]|0)==286)c[r>>2]=fe(e,T)|0;else{ba=N;J=c[ba+4>>2]|0;L=K;c[L>>2]=c[ba>>2];c[L+4>>2]=J;c[N>>2]=286}Ae(e,h,0)|0;if((c[r>>2]|0)==44){J=h+4|0;L=1;while(1){c[P>>2]=c[l>>2];if((c[N>>2]|0)==286)c[r>>2]=fe(e,T)|0;else{ba=N;G=c[ba+4>>2]|0;F=K;c[F>>2]=c[ba>>2];c[F+4>>2]=G;c[N>>2]=286}wa=c[n>>2]|0;Ge(wa,h);if(((c[h>>2]|0)==6?(G=c[J>>2]|0,(G&256|0)==0):0)?(G|0)>=(d[wa+46>>0]|0):0){G=wa+48|0;a[G>>0]=(a[G>>0]|0)+-1<<24>>24}G=wa+48|0;F=a[G>>0]|0;ba=(F&255)+1|0;A=(c[wa>>2]|0)+78|0;if((F&255)<(d[A>>0]|0))xa=ba&255;else{if((F&255)>248)break;F=ba&255;a[A>>0]=F;xa=F}a[G>>0]=xa;He(wa,h,(xa&255)+-1|0);Ae(e,h,0)|0;G=L+1|0;if((c[r>>2]|0)==44)L=G;else{ya=G;break i}}me(c[wa+12>>2]|0,48835)}else ya=1}else if((D|0)==223){c[h>>2]=0;ya=0}while(0);Ie(c[n>>2]|0,C,ya,h);N=c[n>>2]|0;K=N+46|0;T=C+(d[K>>0]|0)|0;a[K>>0]=T;K=c[N+20>>2]|0;P=c[(c[N>>2]|0)+24>>2]|0;L=c[c[(c[N+12>>2]|0)+44>>2]>>2]|0;J=(c[N+40>>2]|0)+(T&255)|0;T=C;do{c[P+((b[L+(J-T<<1)>>1]|0)*12|0)+4>>2]=K;T=T+-1|0}while((T|0)!=0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 285:{T=e+8|0;c[T>>2]=m;K=e+20|0;if((c[K>>2]|0)==286){J=fe(e,e+16|0)|0;c[r>>2]=J;za=J}else{J=K;L=c[J>>2]|0;P=c[J+4>>2]|0;J=e+12|0;c[J>>2]=L;c[J+4>>2]=P;c[K>>2]=286;za=L}if((za|0)!=288)he(e,288);L=e+16|0;P=c[L>>2]|0;c[T>>2]=c[l>>2];if((c[K>>2]|0)==286){J=fe(e,L)|0;c[r>>2]=J;Aa=J}else{J=K;C=c[J>>2]|0;N=c[J+4>>2]|0;J=e+12|0;c[J>>2]=C;c[J+4>>2]=N;c[K>>2]=286;Aa=C}C=c[n>>2]|0;N=e+44|0;J=c[N>>2]|0;G=J+24|0;F=C+16|0;A=b[(c[F>>2]|0)+4>>1]|0;ba=J+28|0;O=c[ba>>2]|0;j:do if((O|0)>(A|0)){da=c[G>>2]|0;S=a[P+4>>0]|0;B=P+12|0;q=P+16|0;if(S<<24>>24==4){ra=A;while(1){ca=c[da+(ra<<4)>>2]|0;if((ca|0)==(P|0)&(a[ca+4>>0]|0)==4){Ba=ra;break}ra=ra+1|0;if((ra|0)>=(O|0))break j}Ca=C+12|0;Da=c[Ca>>2]|0;Ea=Da+32|0;Fa=c[Ea>>2]|0;Ga=da+(Ba<<4)+8|0;Ha=c[Ga>>2]|0;Ja=re(Ha)|0;Ka=c[G>>2]|0;La=Ka+(Ba<<4)+8|0;Ma=c[La>>2]|0;Na=se(Ma)|0;c[g>>2]=q;Oa=g+4|0;c[Oa>>2]=Ja;Pa=g+8|0;c[Pa>>2]=Na;Qa=sd(Fa,48933,g)|0;Ra=c[Ca>>2]|0;te(Ra,Qa)}ra=A;while(1){ca=c[da+(ra<<4)>>2]|0;if(S<<24>>24==(a[ca+4>>0]|0)){Sa=c[B>>2]|0;if((ca|0)==(P|0)){Ba=ra;D=245;break}if((Sa|0)==(c[ca+12>>2]|0)?(Us(q,ca+16|0,Sa)|0)==0:0){Ba=ra;D=245;break}}ra=ra+1|0;if((ra|0)>=(O|0))break j}if((D|0)==245){Ca=C+12|0;Da=c[Ca>>2]|0;Ea=Da+32|0;Fa=c[Ea>>2]|0;Ga=da+(Ba<<4)+8|0;Ha=c[Ga>>2]|0;Ja=re(Ha)|0;Ka=c[G>>2]|0;La=Ka+(Ba<<4)+8|0;Ma=c[La>>2]|0;Na=se(Ma)|0;c[g>>2]=q;Oa=g+4|0;c[Oa>>2]=Ja;Pa=g+8|0;c[Pa>>2]=Na;Qa=sd(Fa,48933,g)|0;Ra=c[Ca>>2]|0;te(Ra,Qa)}}while(0);if((Aa|0)!=285)he(e,285);c[T>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=fe(e,L)|0;else{O=K;A=c[O+4>>2]|0;ra=e+12|0;c[ra>>2]=c[O>>2];c[ra+4>>2]=A;c[K>>2]=286}A=c[C+20>>2]|0;ra=c[ba>>2]|0;O=J+32|0;if((ra|0)<(c[O>>2]|0)){Ta=c[G>>2]|0;Ua=ra}else{B=ne(c[p>>2]|0,c[G>>2]|0,O,16,32767,48450)|0;c[G>>2]=B;Ta=B;Ua=c[ba>>2]|0}c[Ta+(ra<<4)>>2]=P;c[Ta+(ra<<4)+8>>2]=m;a[Ta+(ra<<4)+12>>0]=a[(c[n>>2]|0)+46>>0]|0;c[Ta+(ra<<4)+4>>2]=A;c[ba>>2]=Ua+1;k:while(1){switch(c[r>>2]|0){case 286:case 262:case 261:case 260:{D=259;break k;break}case 285:case 59:break;default:{D=258;break k}}ge(e)}if((D|0)==258)Va=c[G>>2]|0;else if((D|0)==259){ba=c[G>>2]|0;a[ba+(ra<<4)+12>>0]=a[(c[F>>2]|0)+8>>0]|0;Va=ba}ba=Va+(ra<<4)|0;P=c[N>>2]|0;J=b[(c[(c[n>>2]|0)+16>>2]|0)+6>>1]|0;C=P+16|0;K=c[C>>2]|0;if((K|0)<=(J|0)){s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}L=P+12|0;P=J;J=K;while(1){K=c[(c[L>>2]|0)+(P<<4)>>2]|0;T=c[ba>>2]|0;A=a[K+4>>0]|0;do if(A<<24>>24==(a[T+4>>0]|0)){if(A<<24>>24==4){if((K|0)!=(T|0)){D=269;break}}else{B=c[K+12>>2]|0;if((K|0)!=(T|0)){if((B|0)!=(c[T+12>>2]|0)){D=269;break}if(Us(K+16|0,T+16|0,B)|0){D=269;break}}}oe(e,P,ba);Wa=P;Xa=c[C>>2]|0}else D=269;while(0);if((D|0)==269){D=0;Wa=P+1|0;Xa=J}if((Wa|0)<(Xa|0)){P=Wa;J=Xa}else break}s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 274:{J=e+8|0;c[J>>2]=m;P=e+20|0;if((c[P>>2]|0)==286){C=fe(e,e+16|0)|0;c[r>>2]=C;Ya=C;Za=c[n>>2]|0}else{C=P;ba=c[C>>2]|0;L=c[C+4>>2]|0;C=e+12|0;c[C>>2]=ba;c[C+4>>2]=L;c[P>>2]=286;Ya=ba;Za=o}l:do switch(Ya|0){case 59:case 277:case 286:case 262:case 261:case 260:{_a=0;$a=0;break}default:{Ae(e,h,0)|0;m:do if((c[r>>2]|0)==44){ba=e+16|0;L=e+12|0;C=h+4|0;N=1;while(1){c[J>>2]=c[l>>2];if((c[P>>2]|0)==286)c[r>>2]=fe(e,ba)|0;else{ra=P;F=c[ra+4>>2]|0;G=L;c[G>>2]=c[ra>>2];c[G+4>>2]=F;c[P>>2]=286}ab=c[n>>2]|0;Ge(ab,h);if(((c[h>>2]|0)==6?(F=c[C>>2]|0,(F&256|0)==0):0)?(F|0)>=(d[ab+46>>0]|0):0){F=ab+48|0;a[F>>0]=(a[F>>0]|0)+-1<<24>>24}F=ab+48|0;G=a[F>>0]|0;ra=(G&255)+1|0;T=(c[ab>>2]|0)+78|0;if((G&255)<(d[T>>0]|0))bb=ra&255;else{if((G&255)>248)break;G=ra&255;a[T>>0]=G;bb=G}a[F>>0]=bb;He(ab,h,(bb&255)+-1|0);Ae(e,h,0)|0;F=N+1|0;if((c[r>>2]|0)==44)N=F;else{cb=F;db=h;break m}}me(c[ab+12>>2]|0,48835)}else{cb=1;db=h}while(0);N=c[db>>2]|0;if((N&-2|0)==12){switch(N|0){case 12:{N=(c[(c[Za>>2]|0)+12>>2]|0)+(c[h+4>>2]<<2)|0;c[N>>2]=c[N>>2]&-8372225;if((cb|0)==1){N=(c[(c[Za>>2]|0)+12>>2]|0)+(c[h+4>>2]<<2)|0;c[N>>2]=c[N>>2]&-64|43}break}case 13:{N=c[Za>>2]|0;C=c[N+12>>2]|0;L=h+4|0;ba=C+(c[L>>2]<<2)|0;c[ba>>2]=c[ba>>2]&8388607;ba=C+(c[L>>2]<<2)|0;L=Za+48|0;C=a[L>>0]|0;F=C&255;c[ba>>2]=F<<6|c[ba>>2]&-16321;ba=F+1|0;F=N+78|0;do if((C&255)>=(d[F>>0]|0))if((C&255)>248)me(c[Za+12>>2]|0,48835);else{N=ba&255;a[F>>0]=N;eb=N;break}else eb=ba&255;while(0);a[L>>0]=eb;break}default:{}}_a=-1;$a=d[Za+46>>0]|0;break l}if((cb|0)==1){_a=1;$a=Ke(Za,h)|0;break l}Ge(Za,h);if(((c[db>>2]|0)==6?(ba=c[h+4>>2]|0,(ba&256|0)==0):0)?(ba|0)>=(d[Za+46>>0]|0):0){ba=Za+48|0;a[ba>>0]=(a[ba>>0]|0)+-1<<24>>24}ba=Za+48|0;F=a[ba>>0]|0;C=(F&255)+1|0;N=(c[Za>>2]|0)+78|0;do if((F&255)>=(d[N>>0]|0))if((F&255)>248)me(c[Za+12>>2]|0,48835);else{G=C&255;a[N>>0]=G;fb=G;break}else fb=C&255;while(0);a[ba>>0]=fb;He(Za,h,(fb&255)+-1|0);_a=cb;$a=d[Za+46>>0]|0}}while(0);je(Za,$a<<6|(_a<<23)+8388608|44)|0;do if((c[r>>2]|0)==59){c[J>>2]=c[l>>2];if((c[P>>2]|0)==286){c[r>>2]=fe(e,e+16|0)|0;break}else{C=P;N=c[C+4>>2]|0;F=e+12|0;c[F>>2]=c[C>>2];c[F+4>>2]=N;c[P>>2]=286;break}}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}case 266:case 258:{P=o+28|0;J=c[P>>2]|0;c[P>>2]=-1;P=je(o,2147450916)|0;do if((J|0)!=-1)if((P|0)!=-1){N=c[(c[o>>2]|0)+12>>2]|0;F=P;while(1){gb=N+(F<<2)|0;hb=c[gb>>2]|0;C=(hb>>>14)+-131071|0;L=(C|0)==-1?-1:F+1+C|0;if((L|0)==-1)break;else F=L}N=J+~F|0;if((((N|0)>-1?N:0-N|0)|0)>131071)me(c[o+12>>2]|0,48423);else{c[gb>>2]=(N<<14)+2147467264|hb&16383;ib=P;break}}else ib=J;else ib=P;while(0);P=c[l>>2]|0;J=(c[r>>2]|0)==266;N=e+8|0;c[N>>2]=P;ba=e+20|0;L=(c[ba>>2]|0)==286;do if(J){if(L){C=fe(e,e+16|0)|0;c[r>>2]=C;jb=C}else{C=ba;G=c[C>>2]|0;T=c[C+4>>2]|0;C=e+12|0;c[C>>2]=G;c[C+4>>2]=T;c[ba>>2]=286;jb=G}if((jb|0)!=288)he(e,288);G=e+16|0;T=c[G>>2]|0;c[N>>2]=c[l>>2];if((c[ba>>2]|0)==286){c[r>>2]=fe(e,G)|0;kb=T;break}else{G=ba;C=c[G+4>>2]|0;ra=e+12|0;c[ra>>2]=c[G>>2];c[ra+4>>2]=C;c[ba>>2]=286;kb=T;break}}else{if(L)c[r>>2]=fe(e,e+16|0)|0;else{T=ba;C=c[T+4>>2]|0;ra=e+12|0;c[ra>>2]=c[T>>2];c[ra+4>>2]=C;c[ba>>2]=286}kb=td(c[p>>2]|0,59018,5)|0}while(0);ba=c[e+44>>2]|0;L=ba+12|0;N=ba+16|0;J=c[N>>2]|0;C=ba+20|0;if((J|0)<(c[C>>2]|0)){lb=c[L>>2]|0;mb=J}else{ba=ne(c[p>>2]|0,c[L>>2]|0,C,16,32767,48450)|0;c[L>>2]=ba;lb=ba;mb=c[N>>2]|0}c[lb+(J<<4)>>2]=kb;c[lb+(J<<4)+8>>2]=P;a[lb+(J<<4)+12>>0]=a[(c[n>>2]|0)+46>>0]|0;c[lb+(J<<4)+4>>2]=ib;c[N>>2]=mb+1;pe(e,J)|0;s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}default:{J=h+4|0;Oe(e,J);n:do switch(c[r>>2]|0){case 44:case 61:{c[h>>2]=0;Pe(e,h,1);break}default:if((c[J>>2]|0)==12){N=(c[(c[o>>2]|0)+12>>2]|0)+(c[h+8>>2]<<2)|0;c[N>>2]=c[N>>2]&-8372225|16384;break n}else me(e,58441)}while(0);s=c[n>>2]|0;t=s+46|0;u=a[t>>0]|0;v=s+48|0;a[v>>0]=u;w=c[p>>2]|0;x=w+38|0;y=b[x>>1]|0;z=y+-1<<16>>16;b[x>>1]=z;Ia=f;return}}while(0)}function he(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ia;Ia=Ia+16|0;e=d;d=c[a+32>>2]|0;c[e>>2]=we(a,b)|0;me(a,sd(d,48779,e)|0)}function ie(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;f=c[e+32>>2]|0;g=e+28|0;h=c[g>>2]|0;i=c[h>>2]|0;je(h,8388652)|0;ke(h);j=h+20|0;k=c[j>>2]|0;if((k+1|0)>>>0>1073741823)Hc(f);l=i+12|0;m=c[l>>2]|0;n=i+48|0;o=c[n>>2]<<2;p=k<<2;k=f+12|0;q=c[k>>2]|0;r=(m|0)==0;s=q+4|0;t=Pa[c[q>>2]&1](c[s>>2]|0,m,o,p)|0;if((p|0)!=0&(t|0)==0){if(!(a[q+51>>0]|0))uc(f,4);Gc(f,1);u=Pa[c[q>>2]&1](c[s>>2]|0,m,o,p)|0;if(!u)uc(f,4);else v=u}else v=t;t=q+12|0;c[t>>2]=(r?0:0-o|0)+p+(c[t>>2]|0);c[l>>2]=v;v=c[j>>2]|0;c[n>>2]=v;if((v+1|0)>>>0>1073741823)Hc(f);n=i+20|0;l=c[n>>2]|0;t=i+52|0;p=c[t>>2]<<2;o=v<<2;v=c[k>>2]|0;r=(l|0)==0;q=v+4|0;u=Pa[c[v>>2]&1](c[q>>2]|0,l,p,o)|0;if((o|0)!=0&(u|0)==0){if(!(a[v+51>>0]|0))uc(f,4);Gc(f,1);m=Pa[c[v>>2]&1](c[q>>2]|0,l,p,o)|0;if(!m)uc(f,4);else w=m}else w=u;u=v+12|0;c[u>>2]=(r?0:0-p|0)+o+(c[u>>2]|0);c[n>>2]=w;c[t>>2]=c[j>>2];j=h+32|0;t=c[j>>2]|0;if((t+1|0)>>>0>536870911)Hc(f);w=i+8|0;n=c[w>>2]|0;u=i+44|0;o=c[u>>2]<<3;p=t<<3;t=c[k>>2]|0;r=(n|0)==0;v=t+4|0;m=Pa[c[t>>2]&1](c[v>>2]|0,n,o,p)|0;if((p|0)!=0&(m|0)==0){if(!(a[t+51>>0]|0))uc(f,4);Gc(f,1);l=Pa[c[t>>2]&1](c[v>>2]|0,n,o,p)|0;if(!l)uc(f,4);else x=l}else x=m;m=t+12|0;c[m>>2]=(r?0:0-o|0)+p+(c[m>>2]|0);c[w>>2]=x;c[u>>2]=c[j>>2];j=h+36|0;u=c[j>>2]|0;if((u+1|0)>>>0>1073741823)Hc(f);x=i+16|0;w=c[x>>2]|0;m=i+56|0;p=c[m>>2]<<2;o=u<<2;u=c[k>>2]|0;r=(w|0)==0;t=u+4|0;l=Pa[c[u>>2]&1](c[t>>2]|0,w,p,o)|0;if((o|0)!=0&(l|0)==0){if(!(a[u+51>>0]|0))uc(f,4);Gc(f,1);n=Pa[c[u>>2]&1](c[t>>2]|0,w,p,o)|0;if(!n)uc(f,4);else y=n}else y=l;l=u+12|0;c[l>>2]=(r?0:0-p|0)+o+(c[l>>2]|0);c[x>>2]=y;c[m>>2]=c[j>>2];j=h+44|0;m=b[j>>1]|0;y=m<<16>>16;if((y+1|0)>>>0>357913941)Hc(f);x=i+24|0;l=c[x>>2]|0;o=i+60|0;p=(c[o>>2]|0)*12|0;r=y*12|0;y=c[k>>2]|0;u=(l|0)==0;n=y+4|0;w=Pa[c[y>>2]&1](c[n>>2]|0,l,p,r)|0;if(m<<16>>16!=0&(w|0)==0){if(!(a[y+51>>0]|0))uc(f,4);Gc(f,1);m=Pa[c[y>>2]&1](c[n>>2]|0,l,p,r)|0;if(!m)uc(f,4);else z=m}else z=w;w=y+12|0;c[w>>2]=(u?0:0-p|0)+r+(c[w>>2]|0);c[x>>2]=z;c[o>>2]=b[j>>1];j=h+47|0;o=a[j>>0]|0;z=i+28|0;x=c[z>>2]|0;w=i+40|0;i=c[w>>2]<<3;r=(o&255)<<3;p=c[k>>2]|0;u=(x|0)==0;y=p+4|0;m=Pa[c[p>>2]&1](c[y>>2]|0,x,i,r)|0;if(o<<24>>24!=0&(m|0)==0){if(!(a[p+51>>0]|0))uc(f,4);Gc(f,1);o=Pa[c[p>>2]&1](c[y>>2]|0,x,i,r)|0;if(!o)uc(f,4);else A=o}else A=m;m=p+12|0;c[m>>2]=(u?0:0-i|0)+r+(c[m>>2]|0);c[z>>2]=A;c[w>>2]=d[j>>0];c[g>>2]=c[h+8>>2];if((c[e+12>>2]&-2|0)==288){h=c[e+16>>2]|0;le(e,h+16|0,c[h+12>>2]|0)|0}h=f+8|0;c[h>>2]=(c[h>>2]|0)+-8;h=c[k>>2]|0;k=h+12|0;e=c[k>>2]|0;if((e|0)<=0)return;if(!(a[h+51>>0]|0)){g=h+8|0;c[g>>2]=e+1600+(c[g>>2]|0);c[k>>2]=-1600;return}else{Kc(f);return}}function je(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;d=c[a>>2]|0;e=a+28|0;f=c[e>>2]|0;g=a+20|0;h=c[g>>2]|0;do if((f|0)!=-1){i=c[d+12>>2]|0;j=f;while(1){k=i+(j<<2)|0;l=c[k>>2]|0;m=(l>>>14)+-131071|0;n=j;j=(m|0)==-1?-1:j+1+m|0;if((n|0)>0?(m=k+-4|0,o=c[m>>2]|0,((o&63)+-37|0)>>>0<5):0){p=m;q=o}else{p=k;q=l}if((q&63|0)==41){c[p>>2]=q&8372224|q>>>23<<6|40;o=h+~n|0;if((((o|0)>-1?o:0-o|0)|0)>131071){r=8;break}s=c[k>>2]&16383;t=(o<<14)+2147467264|0}else{o=h+~n|0;if((((o|0)>-1?o:0-o|0)|0)>131071){r=11;break}s=(o<<14)+2147467264|0;t=l&16383}c[k>>2]=s|t;if((j|0)==-1){r=14;break}}if((r|0)==8)me(c[a+12>>2]|0,48423);else if((r|0)==11)me(c[a+12>>2]|0,48423);else if((r|0)==14){u=c[g>>2]|0;break}}else u=h;while(0);c[e>>2]=-1;e=d+48|0;if((u|0)<(c[e>>2]|0)){v=c[d+12>>2]|0;w=u}else{u=d+12|0;h=ne(c[(c[a+12>>2]|0)+32>>2]|0,c[u>>2]|0,e,4,2147483645,48771)|0;c[u>>2]=h;v=h;w=c[g>>2]|0}c[v+(w<<2)>>2]=b;b=c[g>>2]|0;w=d+52|0;v=a+12|0;if((b|0)<(c[w>>2]|0)){x=d+20|0;y=b;z=c[v>>2]|0;A=z+8|0;B=c[A>>2]|0;C=c[x>>2]|0;D=C+(y<<2)|0;c[D>>2]=B;E=c[g>>2]|0;F=E+1|0;c[g>>2]=F;return E|0}else{b=d+20|0;c[b>>2]=ne(c[(c[v>>2]|0)+32>>2]|0,c[b>>2]|0,w,4,2147483645,48771)|0;x=b;y=c[g>>2]|0;z=c[v>>2]|0;A=z+8|0;B=c[A>>2]|0;C=c[x>>2]|0;D=C+(y<<2)|0;c[D>>2]=B;E=c[g>>2]|0;F=E+1|0;c[g>>2]=F;return E|0}return 0}function ke(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;f=e+16|0;g=c[f>>2]|0;h=e+12|0;i=c[h>>2]|0;do if(c[g>>2]|0?a[g+9>>0]|0:0){j=e+28|0;k=c[j>>2]|0;c[j>>2]=-1;l=je(e,2147450916)|0;do if((k|0)!=-1){if((l|0)==-1){m=k;n=d[g+8>>0]|0;break}o=c[(c[e>>2]|0)+12>>2]|0;p=l;while(1){q=o+(p<<2)|0;r=c[q>>2]|0;s=(r>>>14)+-131071|0;t=(s|0)==-1?-1:p+1+s|0;if((t|0)==-1)break;else p=t}o=k+~p|0;if((((o|0)>-1?o:0-o|0)|0)>131071)me(c[h>>2]|0,48423);else{c[q>>2]=(o<<14)+2147467264|r&16383;u=11;break}}else u=11;while(0);if((u|0)==11){k=d[g+8>>0]|0;if((l|0)==-1){c[e+24>>2]=c[e+20>>2];break}else{m=l;n=k}}k=c[(c[e>>2]|0)+12>>2]|0;o=(n<<6)+64&16320;t=m;do{s=k+(t<<2)|0;v=c[s>>2]|0;w=(v>>>14)+-131071|0;c[s>>2]=v&-16321|o;t=(w|0)==-1?-1:t+1+w|0}while((t|0)!=-1);c[e+24>>2]=c[e+20>>2];t=c[j>>2]|0;if((t|0)==-1){c[j>>2]=m;break}o=t;while(1){x=k+(o<<2)|0;y=c[x>>2]|0;t=(y>>>14)+-131071|0;l=(t|0)==-1?-1:o+1+t|0;if((l|0)==-1)break;else o=l}k=m+~o|0;if((((k|0)>-1?k:0-k|0)|0)>131071)me(c[h>>2]|0,48423);else{c[x>>2]=(k<<14)+2147467264|y&16383;break}}while(0);if(a[g+10>>0]|0){y=i+32|0;x=Zc(c[y>>2]|0,59018,5)|0;m=i+44|0;n=c[m>>2]|0;r=n+24|0;q=i+28|0;k=c[q>>2]|0;j=c[k+20>>2]|0;l=n+28|0;t=c[l>>2]|0;w=n+32|0;if((t|0)<(c[w>>2]|0)){z=k;A=t;B=n;C=c[r>>2]|0}else{n=ne(c[y>>2]|0,c[r>>2]|0,w,16,32767,48450)|0;c[r>>2]=n;z=c[q>>2]|0;A=c[l>>2]|0;B=c[m>>2]|0;C=n}c[C+(t<<4)>>2]=x;c[C+(t<<4)+8>>2]=0;a[C+(t<<4)+12>>0]=a[z+46>>0]|0;c[C+(t<<4)+4>>2]=j;c[l>>2]=A+1;A=(c[B+24>>2]|0)+(t<<4)|0;t=b[(c[z+16>>2]|0)+6>>1]|0;z=B+16|0;l=c[z>>2]|0;if((l|0)>(t|0)){j=B+12|0;B=t;t=l;while(1){l=c[(c[j>>2]|0)+(B<<4)>>2]|0;C=c[A>>2]|0;x=a[l+4>>0]|0;do if(x<<24>>24==(a[C+4>>0]|0)){if(x<<24>>24==4){if((l|0)!=(C|0)){u=35;break}}else{n=c[l+12>>2]|0;if((l|0)!=(C|0)){if((n|0)!=(c[C+12>>2]|0)){u=35;break}if(Us(l+16|0,C+16|0,n)|0){u=35;break}}}oe(i,B,A);D=B;E=c[z>>2]|0}else u=35;while(0);if((u|0)==35){u=0;D=B+1|0;E=t}if((D|0)<(E|0)){B=D;t=E}else break}}}E=c[g>>2]|0;c[f>>2]=E;f=g+8|0;t=a[f>>0]|0;D=e+46|0;B=a[D>>0]|0;u=B&255;z=c[(c[h>>2]|0)+44>>2]|0;A=z+4|0;c[A>>2]=(t&255)-u+(c[A>>2]|0);if((t&255)<(B&255)){A=c[e+20>>2]|0;j=c[e+40>>2]|0;C=c[(c[e>>2]|0)+24>>2]|0;l=c[z>>2]|0;x=u;while(1){u=(x&255)+-1<<24>>24;c[C+((b[l+(j+(u&255)<<1)>>1]|0)*12|0)+8>>2]=A;if((u&255)>(t&255))x=x+-1|0;else break}a[D>>0]=t;F=t}else F=B;a[e+48>>0]=F;F=c[i+44>>2]|0;c[F+28>>2]=b[g+4>>1];B=b[g+6>>1]|0;if(!E)if((c[F+16>>2]|0)>(B|0))qe(i,(c[F+12>>2]|0)+(B<<4)|0);else return;F=z+16|0;if((c[F>>2]|0)<=(B|0))return;i=z+12|0;z=g+9|0;g=B;B=t;while(1){t=c[i>>2]|0;E=t+(g<<4)+12|0;D=B&255;if((d[E>>0]|0)>(B&255)){if(a[z>>0]|0?(x=c[t+(g<<4)+4>>2]|0,(x|0)!=-1):0){t=c[(c[e>>2]|0)+12>>2]|0;A=(D<<6)+64&16320;D=x;do{x=t+(D<<2)|0;j=c[x>>2]|0;l=(j>>>14)+-131071|0;c[x>>2]=j&-16321|A;D=(l|0)==-1?-1:D+1+l|0}while((D|0)!=-1)}a[E>>0]=B}D=g+((pe(c[h>>2]|0,g)|0)==0&1)|0;if((D|0)>=(c[F>>2]|0))break;g=D;B=a[f>>0]|0}return}function le(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=c[b+32>>2]|0;g=td(f,d,e)|0;e=f+8|0;d=c[e>>2]|0;c[e>>2]=d+8;c[d>>2]=g;c[d+4>>2]=(a[g+4>>0]|64)&255;d=c[(c[b+28>>2]|0)+4>>2]|0;b=(c[e>>2]|0)+-8|0;h=Ic(d,b)|0;if((h|0)==2336224)i=Jc(f,d,b)|0;else i=h;h=i+4|0;do if(!(c[h>>2]|0)){c[i>>2]=1;c[h>>2]=1;b=c[f+12>>2]|0;d=b+12|0;j=c[d>>2]|0;if((j|0)>0)if(!(a[b+51>>0]|0)){k=b+8|0;c[k>>2]=j+1600+(c[k>>2]|0);c[d>>2]=-1600;l=g;break}else{Kc(f);l=g;break}else l=g}else l=c[i+8>>2]|0;while(0);c[e>>2]=(c[e>>2]|0)+-8;return l|0}function me(a,b){a=a|0;b=b|0;ve(a,b,c[a+12>>2]|0)}function ne(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=Ia;Ia=Ia+16|0;j=i;k=c[e>>2]|0;if((k|0)>=((g|0)/2|0|0))if((k|0)<(g|0))l=g;else{c[j>>2]=h;c[j+4>>2]=g;wc(b,48615,j)}else{j=k<<1;l=(j|0)>4?j:4}if((l+1|0)>>>0>(4294967293/(f>>>0)|0)>>>0)Hc(b);j=B(k,f)|0;k=B(l,f)|0;f=c[b+12>>2]|0;g=(d|0)==0;h=f+4|0;m=Pa[c[f>>2]&1](c[h>>2]|0,d,j,k)|0;if(!((k|0)!=0&(m|0)==0)){n=m;o=f+12|0;p=c[o>>2]|0;q=0-j|0;r=g?0:q;s=k+r|0;t=s+p|0;c[o>>2]=t;c[e>>2]=l;Ia=i;return n|0}if(!(a[f+51>>0]|0))uc(b,4);Gc(b,1);m=Pa[c[f>>2]&1](c[h>>2]|0,d,j,k)|0;if(!m)uc(b,4);else{n=m;o=f+12|0;p=c[o>>2]|0;q=0-j|0;r=g?0:q;s=k+r|0;t=s+p|0;c[o>>2]=t;c[e>>2]=l;Ia=i;return n|0}return 0}function oe(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=Ia;Ia=Ia+16|0;i=h;j=c[e+28>>2]|0;k=c[e+44>>2]|0;l=k+12|0;m=c[l>>2]|0;n=a[m+(f<<4)+12>>0]|0;if((n&255)<(d[g+12>>0]|0)){o=c[(c[(c[j>>2]|0)+24>>2]|0)+((b[(c[c[(c[j+12>>2]|0)+44>>2]>>2]|0)+((c[j+40>>2]|0)+(n&255)<<1)>>1]|0)*12|0)>>2]|0;n=c[e+32>>2]|0;p=(c[m+(f<<4)>>2]|0)+16|0;q=m+(f<<4)+8|0;r=re(c[q>>2]|0)|0;s=se(c[q>>2]|0)|0;c[i>>2]=p;c[i+4>>2]=r;c[i+8>>2]=s;c[i+12>>2]=o+16;te(e,sd(n,48550,i)|0)}ue(j,c[m+(f<<4)+4>>2]|0,c[g+4>>2]|0);g=k+16|0;k=(c[g>>2]|0)+-1|0;if((k|0)<=(f|0)){t=k;c[g>>2]=t;Ia=h;return}k=f;do{f=c[l>>2]|0;m=f+(k<<4)|0;k=k+1|0;j=f+(k<<4)|0;c[m>>2]=c[j>>2];c[m+4>>2]=c[j+4>>2];c[m+8>>2]=c[j+8>>2];c[m+12>>2]=c[j+12>>2];j=(c[g>>2]|0)+-1|0}while((k|0)<(j|0));t=j;c[g>>2]=t;Ia=h;return}function pe(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=c[e+28>>2]|0;h=c[e+44>>2]|0;i=c[h+12>>2]|0;j=b[(c[g+16>>2]|0)+4>>1]|0;k=c[h+28>>2]|0;if((k|0)<=(j|0)){l=0;return l|0}m=c[h+24>>2]|0;h=c[i+(f<<4)>>2]|0;n=a[h+4>>0]|0;o=h+12|0;p=h+16|0;q=n<<24>>24==4;r=j;a:while(1){s=m+(r<<4)|0;j=c[s>>2]|0;do if((a[j+4>>0]|0)==n<<24>>24){if(q)if((j|0)==(h|0))break a;else break;t=c[j+12>>2]|0;if((j|0)==(h|0))break a;if((t|0)==(c[o>>2]|0)?(Us(j+16|0,p,t)|0)==0:0)break a}while(0);j=r+1|0;if((j|0)<(k|0))r=j;else{l=0;u=15;break}}if((u|0)==15)return l|0;u=a[m+(r<<4)+12>>0]|0;if((d[i+(f<<4)+12>>0]|0)>(u&255)?(r=c[i+(f<<4)+4>>2]|0,(r|0)!=-1):0){i=c[(c[g>>2]|0)+12>>2]|0;g=((u&255)<<6)+64&16320;u=r;do{r=i+(u<<2)|0;m=c[r>>2]|0;k=(m>>>14)+-131071|0;c[r>>2]=m&-16321|g;u=(k|0)==-1?-1:u+1+k|0}while((u|0)!=-1)}oe(e,f,s);l=1;return l|0}function qe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Ia;Ia=Ia+16|0;f=e;e=c[d>>2]|0;if((a[e+4>>0]|0)==4)g=(a[e+6>>0]|0)==0?48463:48516;else g=48463;h=c[b+32>>2]|0;i=d+8|0;d=re(c[i>>2]|0)|0;j=se(c[i>>2]|0)|0;c[f>>2]=e+16;c[f+4>>2]=d;c[f+8>>2]=j;te(b,sd(h,g,f)|0)}function re(a){a=a|0;return (Vg(a,0)|0)<<16|0}function se(a){a=a|0;var b=0,d=0;b=Ia;Ia=Ia+16|0;d=b;Vg(a,d)|0;Ia=b;return c[d>>2]<<16|0}function te(a,b){a=a|0;b=b|0;c[a+12>>2]=0;me(a,b)}function ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;if((c[a+20>>2]|0)==(d|0)){c[a+24>>2]=d;e=a+28|0;if((b|0)==-1)return;f=c[e>>2]|0;if((f|0)==-1){c[e>>2]=b;return}e=c[(c[a>>2]|0)+12>>2]|0;g=f;while(1){h=e+(g<<2)|0;i=c[h>>2]|0;f=(i>>>14)+-131071|0;j=(f|0)==-1?-1:g+1+f|0;if((j|0)==-1)break;else g=j}e=~g+b|0;if((((e|0)>-1?e:0-e|0)|0)>131071)me(c[a+12>>2]|0,48423);c[h>>2]=(e<<14)+2147467264|i&16383;return}if((b|0)==-1)return;i=c[(c[a>>2]|0)+12>>2]|0;e=b;while(1){b=i+(e<<2)|0;h=c[b>>2]|0;g=(h>>>14)+-131071|0;j=e;e=(g|0)==-1?-1:e+1+g|0;if((j|0)>0?(g=b+-4|0,f=c[g>>2]|0,((f&63)+-37|0)>>>0<5):0){k=g;l=f}else{k=b;l=h}if((l&63|0)!=41){f=~j+d|0;if((((f|0)>-1?f:0-f|0)|0)>131071){m=20;break}else{n=f;o=h}}else{c[k>>2]=l&8372224|l>>>23<<6|40;h=~j+d|0;if((((h|0)>-1?h:0-h|0)|0)>131071){m=17;break}n=h;o=c[b>>2]|0}c[b>>2]=o&16383|(n<<14)+2147467264;if((e|0)==-1){m=22;break}}if((m|0)==17)me(c[a+12>>2]|0,48423);else if((m|0)==20)me(c[a+12>>2]|0,48423);else if((m|0)==22)return}function ve(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;f=Ia;Ia=Ia+96|0;g=f+88|0;h=f+80|0;i=f+64|0;j=f;f=(c[b+48>>2]|0)+16|0;k=Ht(f)|0;a:do switch(a[f>>0]|0){case 61:{l=f+1|0;if(k>>>0>60){m=j;n=l;o=m+59|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));a[j+59>>0]=0;break a}else{zv(j|0,l|0,k|0)|0;break a}break}case 64:{if(k>>>0>60){a[j>>0]=a[48275]|0;a[j+1>>0]=a[48276]|0;a[j+2>>0]=a[48277]|0;m=j+3|0;n=f+1+k+-57|0;o=m+57|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));break a}else{zv(j|0,f+1|0,k|0)|0;break a}break}default:{l=Tt(f,10)|0;m=j;n=48279;o=m+9|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0));p=j+9|0;q=(l|0)==0;if(k>>>0<45&q){zv(p|0,f|0,k|0)|0;r=p+k|0}else{s=q?k:l-f|0;q=s>>>0<45?s:45;zv(p|0,f|0,q|0)|0;s=p+q|0;a[s>>0]=a[48275]|0;a[s+1>>0]=a[48276]|0;a[s+2>>0]=a[48277]|0;r=s+3|0};a[r>>0]=a[48289]|0;a[r+1>>0]=a[48290]|0;a[r+2>>0]=a[48291]|0}}while(0);r=b+32|0;f=c[r>>2]|0;k=c[b+4>>2]|0;c[i>>2]=j;c[i+4>>2]=k;c[i+8>>2]=d;d=sd(f,48641,i)|0;if(!e){t=c[r>>2]|0;uc(t,3)}i=c[r>>2]|0;if((e+-287|0)>>>0<3){f=b+40|0;k=c[f>>2]|0;j=k+4|0;n=c[j>>2]|0;m=n+1|0;o=k+8|0;s=c[o>>2]|0;if(m>>>0>s>>>0){if(s>>>0>2147483645)ve(b,48651,0);q=s<<1;if((q|0)==-2)Hc(i);p=c[k>>2]|0;u=c[i+12>>2]|0;v=(p|0)==0;w=u+4|0;x=Pa[c[u>>2]&1](c[w>>2]|0,p,s,q)|0;if((q|0)!=0&(x|0)==0){if(!(a[u+51>>0]|0))uc(i,4);Gc(i,1);y=Pa[c[u>>2]&1](c[w>>2]|0,p,s,q)|0;if(!y)uc(i,4);else z=y}else z=x;x=u+12|0;c[x>>2]=(v?0:0-s|0)+q+(c[x>>2]|0);c[k>>2]=z;c[o>>2]=q;q=c[j>>2]|0;A=q+1|0;B=z;C=q}else{A=m;B=c[k>>2]|0;C=n}c[j>>2]=A;a[B+C>>0]=0;C=c[r>>2]|0;c[h>>2]=c[c[f>>2]>>2];D=sd(C,48676,h)|0}else D=we(b,e)|0;c[g>>2]=d;c[g+4>>2]=D;sd(i,48681,g)|0;t=c[r>>2]|0;uc(t,3)}function we(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=Ia;Ia=Ia+128|0;e=d+112|0;f=d+104|0;g=d+96|0;h=d+88|0;i=d+80|0;j=d+72|0;k=d+64|0;l=d+56|0;m=d+48|0;n=d+40|0;o=d+32|0;p=d+24|0;q=d+16|0;r=d+8|0;s=d;do switch(b|0){case 38:{t=c[a+32>>2]|0;c[s>>2]=48692;u=sd(t,48676,s)|0;Ia=d;return u|0}case 124:{t=c[a+32>>2]|0;c[r>>2]=48694;u=sd(t,48676,r)|0;Ia=d;return u|0}case 295:{t=c[a+32>>2]|0;c[q>>2]=48696;u=sd(t,48676,q)|0;Ia=d;return u|0}case 290:{t=c[a+32>>2]|0;c[p>>2]=48699;u=sd(t,48676,p)|0;Ia=d;return u|0}case 291:{t=c[a+32>>2]|0;c[o>>2]=48702;u=sd(t,48676,o)|0;Ia=d;return u|0}case 292:{t=c[a+32>>2]|0;c[n>>2]=48705;u=sd(t,48676,n)|0;Ia=d;return u|0}case 293:{t=c[a+32>>2]|0;c[m>>2]=48709;u=sd(t,48676,m)|0;Ia=d;return u|0}case 294:{t=c[a+32>>2]|0;c[l>>2]=48713;u=sd(t,48676,l)|0;Ia=d;return u|0}case 126:{t=c[a+32>>2]|0;c[k>>2]=66716;u=sd(t,48676,k)|0;Ia=d;return u|0}case 92:{t=c[a+32>>2]|0;c[j>>2]=48717;u=sd(t,48676,j)|0;Ia=d;return u|0}case 64:{t=c[a+32>>2]|0;c[i>>2]=48719;u=sd(t,48676,i)|0;Ia=d;return u|0}case 296:{t=c[a+32>>2]|0;c[h>>2]=48721;u=sd(t,48676,h)|0;Ia=d;return u|0}case 36:{t=c[a+32>>2]|0;c[g>>2]=48724;u=sd(t,48676,g)|0;Ia=d;return u|0}default:{if((b|0)<257){t=c[a+32>>2]|0;c[f>>2]=b;u=sd(t,48726,f)|0;Ia=d;return u|0}t=c[656+(b+-257<<2)>>2]|0;if((b|0)>=286){u=t;Ia=d;return u|0}v=c[a+32>>2]|0;c[e>>2]=t;u=sd(v,48676,e)|0;Ia=d;return u|0}}while(0);return 0}function xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Ia;Ia=Ia+32|0;f=e+8|0;g=e;h=e+20|0;e=a+12|0;i=c[(c[e>>2]|0)+32>>2]|0;j=c[(c[a>>2]|0)+64>>2]|0;if(!j)k=49233;else{a=(Vg(j,0)|0)<<16;Vg(j,h)|0;j=c[h>>2]<<16;c[g>>2]=a;c[g+4>>2]=j;k=sd(i,49204,g)|0}c[f>>2]=d;c[f+4>>2]=b<<16;c[f+8>>2]=k;k=sd(i,49247,f)|0;me(c[e>>2]|0,k)}function ye(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;f=Ia;Ia=Ia+32|0;g=f+16|0;h=f;i=d+28|0;j=c[i>>2]|0;k=d+4|0;l=d+8|0;c[l>>2]=c[k>>2];m=d+20|0;if((c[m>>2]|0)==286){n=d+12|0;c[n>>2]=fe(d,d+16|0)|0;o=n}else{n=m;p=c[n+4>>2]|0;q=d+12|0;c[q>>2]=c[n>>2];c[q+4>>2]=p;c[m>>2]=286;o=d+12|0}Ae(d,h,0)|0;if((c[o>>2]|0)!=275)he(d,275);c[l>>2]=c[k>>2];if((c[m>>2]|0)==286){p=fe(d,d+16|0)|0;c[o>>2]=p;r=p}else{p=m;q=c[p>>2]|0;n=c[p+4>>2]|0;p=d+12|0;c[p>>2]=q;c[p+4>>2]=n;c[m>>2]=286;r=q}a:do switch(r|0){case 258:case 266:{$e(c[i>>2]|0,h);a[g+10>>0]=0;a[g+8>>0]=a[j+46>>0]|0;q=j+12|0;n=c[(c[q>>2]|0)+44>>2]|0;b[g+4>>1]=c[n+28>>2];b[g+6>>1]=c[n+16>>2];a[g+9>>0]=0;n=j+16|0;c[g>>2]=c[n>>2];c[n>>2]=g;n=c[h+8>>2]|0;p=c[k>>2]|0;s=(c[o>>2]|0)==266;c[l>>2]=p;t=(c[m>>2]|0)==286;do if(s){if(t){u=fe(d,d+16|0)|0;c[o>>2]=u;v=u}else{u=m;w=c[u>>2]|0;x=c[u+4>>2]|0;u=d+12|0;c[u>>2]=w;c[u+4>>2]=x;c[m>>2]=286;v=w}if((v|0)!=288)he(d,288);w=d+16|0;x=c[w>>2]|0;c[l>>2]=c[k>>2];if((c[m>>2]|0)==286){c[o>>2]=fe(d,w)|0;y=x;break}else{w=m;u=c[w+4>>2]|0;z=d+12|0;c[z>>2]=c[w>>2];c[z+4>>2]=u;c[m>>2]=286;y=x;break}}else{if(t)c[o>>2]=fe(d,d+16|0)|0;else{x=m;u=c[x+4>>2]|0;z=d+12|0;c[z>>2]=c[x>>2];c[z+4>>2]=u;c[m>>2]=286}y=td(c[d+32>>2]|0,59018,5)|0}while(0);t=c[d+44>>2]|0;s=t+12|0;u=t+16|0;z=c[u>>2]|0;x=t+20|0;if((z|0)<(c[x>>2]|0)){A=c[s>>2]|0;B=z}else{t=ne(c[d+32>>2]|0,c[s>>2]|0,x,16,32767,48450)|0;c[s>>2]=t;A=t;B=c[u>>2]|0}c[A+(z<<4)>>2]=y;c[A+(z<<4)+8>>2]=p;a[A+(z<<4)+12>>0]=a[(c[i>>2]|0)+46>>0]|0;c[A+(z<<4)+4>>2]=n;c[u>>2]=B+1;pe(d,z)|0;b:while(1){switch(c[o>>2]|0){case 286:case 262:case 261:case 260:{C=29;break b;break}case 285:case 59:break;default:break b}ge(d)}if((C|0)==29){ke(j);Ia=f;return}n=j+28|0;p=c[n>>2]|0;c[n>>2]=-1;n=je(j,2147450916)|0;if((p|0)!=-1)if((n|0)!=-1){z=c[(c[j>>2]|0)+12>>2]|0;u=n;while(1){D=z+(u<<2)|0;E=c[D>>2]|0;t=(E>>>14)+-131071|0;s=(t|0)==-1?-1:u+1+t|0;if((s|0)==-1)break;else u=s}z=p+~u|0;if((((z|0)>-1?z:0-z|0)|0)>131071)me(c[q>>2]|0,48423);else{c[D>>2]=(z<<14)+2147467264|E&16383;F=n;break a}}else F=p;else F=n;break}default:{Be(c[i>>2]|0,h);a[g+10>>0]=0;a[g+8>>0]=a[j+46>>0]|0;z=c[(c[j+12>>2]|0)+44>>2]|0;b[g+4>>1]=c[z+28>>2];b[g+6>>1]=c[z+16>>2];a[g+9>>0]=0;z=j+16|0;c[g>>2]=c[z>>2];c[z>>2]=g;F=c[h+12>>2]|0}}while(0);c:do{h=c[o>>2]|0;switch(h|0){case 277:case 286:case 262:case 261:case 260:{break c;break}default:{}}ge(d)}while((h|0)!=274);ke(j);d=j+28|0;do if((c[o>>2]&-2|0)==260){h=c[d>>2]|0;c[d>>2]=-1;g=je(j,2147450916)|0;do if((h|0)!=-1)if((g|0)!=-1){i=c[(c[j>>2]|0)+12>>2]|0;E=g;while(1){G=i+(E<<2)|0;H=c[G>>2]|0;D=(H>>>14)+-131071|0;B=(D|0)==-1?-1:E+1+D|0;if((B|0)==-1)break;else E=B}i=h+~E|0;if((((i|0)>-1?i:0-i|0)|0)>131071)me(c[j+12>>2]|0,48423);else{c[G>>2]=(i<<14)+2147467264|H&16383;C=49;break}}else I=h;else C=49;while(0);if((C|0)==49)if((g|0)==-1)break;else I=g;h=c[e>>2]|0;if((h|0)==-1){c[e>>2]=I;break}n=c[(c[j>>2]|0)+12>>2]|0;p=h;while(1){J=n+(p<<2)|0;K=c[J>>2]|0;h=(K>>>14)+-131071|0;q=(h|0)==-1?-1:p+1+h|0;if((q|0)==-1)break;else p=q}n=I+~p|0;if((((n|0)>-1?n:0-n|0)|0)>131071)me(c[j+12>>2]|0,48423);else{c[J>>2]=(n<<14)+2147467264|K&16383;break}}while(0);c[j+24>>2]=c[j+20>>2];if((F|0)==-1){Ia=f;return}K=c[d>>2]|0;if((K|0)==-1){c[d>>2]=F;Ia=f;return}d=c[(c[j>>2]|0)+12>>2]|0;J=K;while(1){L=d+(J<<2)|0;M=c[L>>2]|0;K=(M>>>14)+-131071|0;I=(K|0)==-1?-1:J+1+K|0;if((I|0)==-1)break;else J=I}d=F+~J|0;if((((d|0)>-1?d:0-d|0)|0)>131071)me(c[j+12>>2]|0,48423);c[L>>2]=(d<<14)+2147467264|M&16383;Ia=f;return}function ze(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=Ia;Ia=Ia+16|0;g=f;h=a+12|0;i=c[a+4>>2]|0;if((c[h>>2]|0)!=(b|0))if((i|0)==(e|0))he(a,b);else{j=c[a+32>>2]|0;k=we(a,b)|0;b=we(a,d)|0;d=re(e)|0;l=se(e)|0;c[g>>2]=k;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=l;me(a,sd(j,49158,g)|0)}c[a+8>>2]=i;i=a+20|0;if((c[i>>2]|0)==286){c[h>>2]=fe(a,a+16|0)|0;Ia=f;return}else{h=i;g=c[h+4>>2]|0;j=a+12|0;c[j>>2]=c[h>>2];c[j+4>>2]=g;c[i>>2]=286;Ia=f;return}}function Ae(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;h=Ia;Ia=Ia+16|0;i=h;j=e+28|0;k=c[j>>2]|0;l=e+32|0;m=(c[l>>2]|0)+38|0;n=(b[m>>1]|0)+1<<16>>16;b[m>>1]=n;if((n&65535)>200)xe(k,200,48791);n=e+12|0;a:do switch(c[n>>2]|0){case 271:{o=1;p=10;break}case 45:{o=0;p=10;break}case 35:{o=2;p=10;break}case 126:{o=14;p=10;break}case 64:{o=16;p=10;break}case 37:{o=17;p=10;break}case 36:{o=18;p=10;break}case 287:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=5;m=f+4|0;c[m>>2]=0;c[m>>2]=c[e+16>>2];p=28;break}case 289:{m=c[e+16>>2]|0;c[i>>2]=m;c[i+4>>2]=(a[m+4>>0]|64)&255;m=Ee(k,i,i)|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=4;c[f+4>>2]=m;p=28;break}case 270:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=1;c[f+4>>2]=0;p=28;break}case 276:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=2;c[f+4>>2]=0;p=28;break}case 263:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=3;c[f+4>>2]=0;p=28;break}case 280:{if(!(a[(c[k>>2]|0)+77>>0]|0))me(e,49115);else{m=je(k,8388659)|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=13;c[f+4>>2]=m;p=28;break a}break}case 123:{Se(e,f);p=31;break}case 265:{m=e+4|0;q=c[m>>2]|0;c[e+8>>2]=q;r=e+20|0;if((c[r>>2]|0)==286){c[n>>2]=fe(e,e+16|0)|0;s=c[m>>2]|0}else{m=r;t=c[m+4>>2]|0;u=e+12|0;c[u>>2]=c[m>>2];c[u+4>>2]=t;c[r>>2]=286;s=q}Me(e,f,0,s);p=31;break}default:{Oe(e,f);p=31}}while(0);do if((p|0)==10){s=c[e+4>>2]|0;c[e+8>>2]=s;k=e+20|0;if((c[k>>2]|0)==286)c[n>>2]=fe(e,e+16|0)|0;else{q=k;r=c[q+4>>2]|0;t=e+12|0;c[t>>2]=c[q>>2];c[t+4>>2]=r;c[k>>2]=286}Ae(e,f,18)|0;We(c[j>>2]|0,o,f,s);p=31}else if((p|0)==28){c[e+8>>2]=c[e+4>>2];s=e+20|0;if((c[s>>2]|0)==286){k=fe(e,e+16|0)|0;c[n>>2]=k;v=k;break}else{k=s;r=c[k+4>>2]|0;t=e+12|0;c[t>>2]=c[k>>2];c[t+4>>2]=r;c[s>>2]=286;p=31;break}}while(0);if((p|0)==31)v=c[n>>2]|0;do switch(v|0){case 43:{w=0;break}case 45:{w=1;break}case 42:{w=2;break}case 47:{w=3;break}case 37:{w=4;break}case 94:{w=5;break}case 38:{w=6;break}case 124:{w=7;break}case 295:{w=8;break}case 290:{w=9;break}case 291:{w=10;break}case 292:{w=11;break}case 293:{w=12;break}case 294:{w=13;break}case 92:{w=15;break}case 279:{w=19;break}case 284:{w=23;break}case 281:{w=20;break}case 60:{w=21;break}case 283:{w=22;break}case 62:{w=24;break}case 282:{w=25;break}case 257:{w=26;break}case 272:{w=27;break}default:{x=28;y=c[l>>2]|0;z=y+38|0;A=b[z>>1]|0;B=A+-1<<16>>16;b[z>>1]=B;Ia=h;return x|0}}while(0);v=e+4|0;o=e+8|0;s=e+20|0;r=e+16|0;t=e+12|0;k=w;while(1){if((d[800+(k<<1)>>0]|0)<=(g|0)){x=k;p=62;break}w=c[v>>2]|0;c[o>>2]=w;if((c[s>>2]|0)==286)c[n>>2]=fe(e,r)|0;else{q=s;u=c[q+4>>2]|0;m=t;c[m>>2]=c[q>>2];c[m+4>>2]=u;c[s>>2]=286}Xe(c[j>>2]|0,k,f);u=k;k=Ae(e,i,d[800+(k<<1)+1>>0]|0)|0;Ye(c[j>>2]|0,u,f,i,w);if((k|0)==28){x=28;p=62;break}}if((p|0)==62){y=c[l>>2]|0;z=y+38|0;A=b[z>>1]|0;B=A+-1<<16>>16;b[z>>1]=B;Ia=h;return x|0}return 0}function Be(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;Ge(b,e);f=c[e>>2]|0;a:do switch(f|0){case 10:{g=e+4|0;h=c[g>>2]|0;i=(c[(c[b>>2]|0)+12>>2]|0)+(h<<2)|0;if((h|0)>0?(h=i+-4|0,j=c[h>>2]|0,((j&63)+-37|0)>>>0<5):0){k=h;l=j}else{k=i;l=c[i>>2]|0}c[k>>2]=((l&16320|0)==0&1)<<6|l&-16321;m=c[g>>2]|0;n=32;break}case 2:case 5:case 4:break;case 11:{g=c[b>>2]|0;i=e+4|0;j=c[(c[g+12>>2]|0)+(c[i>>2]<<2)>>2]|0;h=b+20|0;if((j&63|0)==33){c[h>>2]=(c[h>>2]|0)+-1;je(b,j>>>23<<6|16424)|0;j=b+28|0;h=c[j>>2]|0;c[j>>2]=-1;j=je(b,2147450916)|0;if((h|0)!=-1)if((j|0)!=-1){o=c[(c[b>>2]|0)+12>>2]|0;p=j;while(1){q=o+(p<<2)|0;r=c[q>>2]|0;s=(r>>>14)+-131071|0;t=(s|0)==-1?-1:p+1+s|0;if((t|0)==-1)break;else p=t}o=h+~p|0;if((((o|0)>-1?o:0-o|0)|0)>131071)me(c[b+12>>2]|0,48423);else{c[q>>2]=(o<<14)+2147467264|r&16383;m=j;n=32;break a}}else{u=h;n=33}else{m=j;n=32}}else{v=i;w=g;n=16}break}default:{o=e+4|0;if((f|0)==6){x=o;n=22}else{v=o;w=c[b>>2]|0;n=16}}}while(0);if((n|0)==16){f=b+48|0;r=a[f>>0]|0;q=(r&255)+1|0;l=w+78|0;do if((r&255)>=(d[l>>0]|0))if((r&255)>248)me(c[b+12>>2]|0,48835);else{w=q&255;a[l>>0]=w;y=w;break}else y=q&255;while(0);a[f>>0]=y;Ve(b,e,(y&255)+-1|0);if((c[e>>2]|0)==6){x=v;n=22}else{z=v;n=25}}if((n|0)==22){v=c[e+4>>2]|0;if((v&256|0)==0?(v|0)>=(d[b+46>>0]|0|0):0){v=b+48|0;a[v>>0]=(a[v>>0]|0)+-1<<24>>24;z=x;n=25}else{z=x;n=25}}do if((n|0)==25){je(b,c[z>>2]<<23|16361)|0;x=b+28|0;v=c[x>>2]|0;c[x>>2]=-1;x=je(b,2147450916)|0;if((v|0)!=-1)if((x|0)!=-1){y=c[(c[b>>2]|0)+12>>2]|0;f=x;while(1){A=y+(f<<2)|0;B=c[A>>2]|0;q=(B>>>14)+-131071|0;l=(q|0)==-1?-1:f+1+q|0;if((l|0)==-1)break;else f=l}y=v+~f|0;if((((y|0)>-1?y:0-y|0)|0)>131071)me(c[b+12>>2]|0,48423);else{c[A>>2]=(y<<14)+2147467264|B&16383;m=x;n=32;break}}else{u=v;n=33}else{m=x;n=32}}while(0);if((n|0)==32?(m|0)!=-1:0){u=m;n=33}do if((n|0)==33){m=e+12|0;B=c[m>>2]|0;if((B|0)==-1){c[m>>2]=u;break}m=c[(c[b>>2]|0)+12>>2]|0;A=B;while(1){C=m+(A<<2)|0;D=c[C>>2]|0;B=(D>>>14)+-131071|0;z=(B|0)==-1?-1:A+1+B|0;if((z|0)==-1)break;else A=z}m=u+~A|0;if((((m|0)>-1?m:0-m|0)|0)>131071)me(c[b+12>>2]|0,48423);else{c[C>>2]=(m<<14)+2147467264|D&16383;break}}while(0);D=e+8|0;e=c[D>>2]|0;c[b+24>>2]=c[b+20>>2];C=b+28|0;if((e|0)==-1){c[D>>2]=-1;return}u=c[C>>2]|0;if((u|0)==-1){c[C>>2]=e;c[D>>2]=-1;return}C=c[(c[b>>2]|0)+12>>2]|0;n=u;while(1){E=C+(n<<2)|0;F=c[E>>2]|0;u=(F>>>14)+-131071|0;m=(u|0)==-1?-1:n+1+u|0;if((m|0)==-1)break;else n=m}C=e+~n|0;if((((C|0)>-1?C:0-C|0)|0)>131071)me(c[b+12>>2]|0,48423);c[E>>2]=(C<<14)+2147467264|F&16383;c[D>>2]=-1;return}function Ce(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=c[e+28>>2]|0;h=c[e+44>>2]|0;i=c[g>>2]|0;j=i+60|0;k=c[j>>2]|0;l=g+44|0;if((k|0)>(b[l>>1]|0)){m=k;n=c[i+24>>2]|0}else{o=i+24|0;p=ne(c[e+32>>2]|0,c[o>>2]|0,j,12,32767,49099)|0;c[o>>2]=p;m=c[j>>2]|0;n=p}if((k|0)<(m|0)?(p=k+1|0,c[n+(k*12|0)>>2]=0,(p|0)<(m|0)):0){k=p;do{c[n+(k*12|0)>>2]=0;k=k+1|0}while((k|0)!=(m|0))}c[n+((b[l>>1]|0)*12|0)>>2]=f;do if(a[f+5>>0]&3?(n=i+5|0,m=a[n>>0]|0,m&4):0){k=c[(c[e+32>>2]|0)+12>>2]|0;if((d[k+49>>0]|0)<2){Fc(k,f);break}else{a[n>>0]=a[k+48>>0]&3|m&-72;break}}while(0);f=b[l>>1]|0;b[l>>1]=f+1<<16>>16;l=h+4|0;i=c[l>>2]|0;m=i+1|0;if((m-(c[g+40>>2]|0)|0)>200)xe(g,200,49099);g=h+8|0;if((i+2|0)>(c[g>>2]|0)){k=ne(c[e+32>>2]|0,c[h>>2]|0,g,2,2147483645,49099)|0;c[h>>2]=k;g=c[l>>2]|0;q=g+1|0;r=k;s=g;c[l>>2]=q;t=r+(s<<1)|0;b[t>>1]=f;return}else{q=m;r=c[h>>2]|0;s=i;c[l>>2]=q;t=r+(s<<1)|0;b[t>>1]=f;return}}function De(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ia;Ia=Ia+16|0;f=e;Ae(b,f,0)|0;g=c[b+28>>2]|0;Ge(g,f);if(((c[f>>2]|0)==6?(b=c[f+4>>2]|0,(b&256|0)==0):0)?(b|0)>=(d[g+46>>0]|0|0):0){b=g+48|0;a[b>>0]=(a[b>>0]|0)+-1<<24>>24}b=g+48|0;h=a[b>>0]|0;i=(h&255)+1|0;j=(c[g>>2]|0)+78|0;if((h&255)<(d[j>>0]|0)){k=i&255;a[b>>0]=k;l=k&255;m=l+-1|0;He(g,f,m);Ia=e;return}if((h&255)>248)me(c[g+12>>2]|0,48835);h=i&255;a[j>>0]=h;k=h;a[b>>0]=k;l=k&255;m=l+-1|0;He(g,f,m);Ia=e;return}function Ee(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[(c[b+12>>2]|0)+32>>2]|0;h=c[b>>2]|0;i=c[b+4>>2]|0;j=Ic(i,e)|0;if((j|0)==2336224)k=Jc(g,i,e)|0;else k=j;j=k+4|0;if(((c[j>>2]|0)==3?(e=c[k>>2]>>16,i=c[h+8>>2]|0,(c[i+(e<<3)+4>>2]|0)==(c[f+4>>2]|0)):0)?Pc(0,i+(e<<3)|0,f)|0:0){l=e;return l|0}e=h+44|0;i=c[e>>2]|0;m=b+32|0;b=c[m>>2]|0;c[k>>2]=b;c[j>>2]=3;j=c[e>>2]|0;k=h+8|0;if((b|0)<(j|0)){n=j;o=c[k>>2]|0}else{j=ne(g,c[k>>2]|0,e,8,67108863,49089)|0;c[k>>2]=j;n=c[e>>2]|0;o=j}if((i|0)<(n|0)?(j=i+1|0,c[o+(i<<3)+4>>2]=0,(j|0)<(n|0)):0){i=j;do{c[o+(i<<3)+4>>2]=0;i=i+1|0}while((i|0)<(n|0))}c[o+(b<<3)>>2]=c[f>>2];n=f+4|0;c[o+(b<<3)+4>>2]=c[n>>2];c[m>>2]=(c[m>>2]|0)+1;if(!(c[n>>2]&64)){l=b;return l|0}n=c[f>>2]|0;if(!(a[n+5>>0]&3)){l=b;return l|0}f=h+5|0;h=a[f>>0]|0;if(!(h&4)){l=b;return l|0}m=c[g+12>>2]|0;if((d[m+49>>0]|0)<2){Fc(m,n);l=b;return l|0}else{a[f>>0]=a[m+48>>0]&3|h&-72;l=b;return l|0}return 0}function Fe(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;j=Ia;Ia=Ia+32|0;k=j+12|0;l=j;m=e+28|0;n=c[m>>2]|0;o=n+46|0;p=a[o>>0]|0;a[o>>0]=(p&255)+3;q=n+20|0;r=c[q>>2]|0;s=n+12|0;t=c[(c[n>>2]|0)+24>>2]|0;u=c[c[(c[s>>2]|0)+44>>2]>>2]|0;v=(c[n+40>>2]|0)+(p+3&255)|0;c[t+((b[u+(v+-3<<1)>>1]|0)*12|0)+4>>2]=r;c[t+((b[u+(v+-2<<1)>>1]|0)*12|0)+4>>2]=r;c[t+((b[u+(v+-1<<1)>>1]|0)*12|0)+4>>2]=r;r=e+12|0;if((c[r>>2]|0)!=259)he(e,259);c[e+8>>2]=c[e+4>>2];v=e+20|0;if((c[v>>2]|0)==286)c[r>>2]=fe(e,e+16|0)|0;else{u=v;t=c[u+4>>2]|0;p=e+12|0;c[p>>2]=c[u>>2];c[p+4>>2]=t;c[v>>2]=286}v=(i|0)!=0;do if(!v){i=n+28|0;t=c[i>>2]|0;c[i>>2]=-1;i=je(n,2147450916)|0;if((t|0)!=-1)if((i|0)!=-1){p=c[(c[n>>2]|0)+12>>2]|0;u=i;while(1){w=p+(u<<2)|0;x=c[w>>2]|0;y=(x>>>14)+-131071|0;z=(y|0)==-1?-1:u+1+y|0;if((z|0)==-1)break;else u=z}p=t+~u|0;if((((p|0)>-1?p:0-p|0)|0)>131071)me(c[s>>2]|0,48423);else{c[w>>2]=(p<<14)+2147467264|x&16383;A=i;break}}else A=t;else A=i}else A=je(n,f<<6|2147450926)|0;while(0);a[l+10>>0]=0;a[l+8>>0]=a[o>>0]|0;o=c[s>>2]|0;x=c[o+44>>2]|0;b[l+4>>1]=c[x+28>>2];b[l+6>>1]=c[x+16>>2];a[l+9>>0]=0;x=n+16|0;c[l>>2]=c[x>>2];c[x>>2]=l;l=c[m>>2]|0;m=l+46|0;x=(d[m>>0]|0)+h|0;w=x&255;a[m>>0]=w;if(h|0){m=c[l+20>>2]|0;p=c[(c[l>>2]|0)+24>>2]|0;z=c[c[(c[l+12>>2]|0)+44>>2]>>2]|0;y=(c[l+40>>2]|0)+(x&255)|0;x=h;do{c[p+((b[z+(y-x<<1)>>1]|0)*12|0)+4>>2]=m;x=x+-1|0}while((x|0)!=0)}x=n+48|0;m=(d[x>>0]|0)+h|0;y=(c[n>>2]|0)+78|0;do if((m|0)>(d[y>>0]|0))if((m|0)>249)me(o,48835);else{z=m&255;a[y>>0]=z;B=z;break}else B=m&255;while(0);a[x>>0]=B;a[k+10>>0]=0;a[k+8>>0]=w;w=c[(c[l+12>>2]|0)+44>>2]|0;b[k+4>>1]=c[w+28>>2];b[k+6>>1]=c[w+16>>2];a[k+9>>0]=0;w=l+16|0;c[k>>2]=c[w>>2];c[w>>2]=k;a:do{k=c[r>>2]|0;switch(k|0){case 277:case 286:case 262:case 261:case 260:{break a;break}default:{}}ge(e)}while((k|0)!=274);ke(l);ke(n);c[n+24>>2]=c[q>>2];l=n+28|0;do if((A|0)!=-1){e=c[l>>2]|0;if((e|0)==-1){c[l>>2]=A;break}r=c[(c[n>>2]|0)+12>>2]|0;k=e;while(1){C=r+(k<<2)|0;D=c[C>>2]|0;e=(D>>>14)+-131071|0;w=(e|0)==-1?-1:k+1+e|0;if((w|0)==-1)break;else k=w}r=A+~k|0;if((((r|0)>-1?r:0-r|0)|0)>131071)me(c[s>>2]|0,48423);else{c[C>>2]=(r<<14)+2147467264|D&16383;break}}while(0);D=f<<6;if(v){E=D|2147450925;F=je(n,E)|0;G=A+1|0;ue(n,F,G);H=c[n>>2]|0;I=H+20|0;J=c[I>>2]|0;K=c[q>>2]|0;L=K+-1|0;M=J+(L<<2)|0;c[M>>2]=g;Ia=j;return}else{je(n,D|h<<14|47)|0;c[(c[(c[n>>2]|0)+20>>2]|0)+((c[q>>2]|0)+-1<<2)>>2]=g;E=D+128|2147450928;F=je(n,E)|0;G=A+1|0;ue(n,F,G);H=c[n>>2]|0;I=H+20|0;J=c[I>>2]|0;K=c[q>>2]|0;L=K+-1|0;M=J+(L<<2)|0;c[M>>2]=g;Ia=j;return}}function Ge(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;switch(c[f>>2]|0){case 7:{c[f>>2]=6;return}case 8:{g=f+4|0;c[g>>2]=je(e,c[g>>2]<<23|5)|0;c[f>>2]=11;return}case 9:{g=f+4|0;h=b[g>>1]|0;if((h&256|0)==0?(d[e+46>>0]|0)<=(h|0):0){h=e+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}h=g+2|0;if((a[g+3>>0]|0)==7)if((d[e+46>>0]|0)>(d[h>>0]|0))i=7;else{j=e+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24;i=7}else i=6;c[g>>2]=je(e,d[h>>0]<<23|i|b[g>>1]<<14)|0;c[f>>2]=11;return}case 12:{c[f>>2]=6;g=f+4|0;c[g>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>6&255;return}case 13:{g=(c[(c[e>>2]|0)+12>>2]|0)+(c[f+4>>2]<<2)|0;c[g>>2]=c[g>>2]&8388607|16777216;c[f>>2]=11;return}default:return}}function He(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;Ve(a,b,d);e=(c[b>>2]|0)==10;f=b+8|0;do if(e?(g=c[b+4>>2]|0,(g|0)!=-1):0){h=c[f>>2]|0;if((h|0)==-1){c[f>>2]=g;i=g;break}j=c[(c[a>>2]|0)+12>>2]|0;k=h;while(1){l=j+(k<<2)|0;m=c[l>>2]|0;h=(m>>>14)+-131071|0;n=(h|0)==-1?-1:k+1+h|0;if((n|0)==-1)break;else k=n}j=g+~k|0;if((((j|0)>-1?j:0-j|0)|0)>131071)me(c[a+12>>2]|0,48423);else{c[l>>2]=(j<<14)+2147467264|m&16383;o=10;break}}else o=10;while(0);if((o|0)==10)i=c[f>>2]|0;m=b+12|0;l=c[m>>2]|0;if((i|0)==(l|0)){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}a:do if((i|0)==-1)o=19;else{j=c[(c[a>>2]|0)+12>>2]|0;n=i;while(1){h=j+(n<<2)|0;if((n|0)>0?(q=c[h+-4>>2]|0,((q&63)+-37|0)>>>0<5):0)r=q;else r=c[h>>2]|0;if((r&63|0)!=41){o=26;break a}q=((c[h>>2]|0)>>>14)+-131071|0;n=(q|0)==-1?-1:n+1+q|0;if((n|0)==-1){o=19;break}}}while(0);b:do if((o|0)==19)if((l|0)==-1){s=-1;t=-1}else{r=c[(c[a>>2]|0)+12>>2]|0;i=l;while(1){n=r+(i<<2)|0;if((i|0)>0?(j=c[n+-4>>2]|0,((j&63)+-37|0)>>>0<5):0)u=j;else u=c[n>>2]|0;if((u&63|0)!=41){o=26;break b}j=((c[n>>2]|0)>>>14)+-131071|0;i=(j|0)==-1?-1:i+1+j|0;if((i|0)==-1){s=-1;t=-1;break}}}while(0);do if((o|0)==26){u=a+28|0;do if(!e){l=c[u>>2]|0;c[u>>2]=-1;i=je(a,2147450916)|0;if((l|0)!=-1)if((i|0)!=-1){r=c[(c[a>>2]|0)+12>>2]|0;j=i;while(1){v=r+(j<<2)|0;w=c[v>>2]|0;n=(w>>>14)+-131071|0;k=(n|0)==-1?-1:j+1+n|0;if((k|0)==-1)break;else j=k}r=l+~j|0;if((((r|0)>-1?r:0-r|0)|0)>131071)me(c[a+12>>2]|0,48423);else{c[v>>2]=(r<<14)+2147467264|w&16383;x=i;break}}else x=l;else x=i}else x=-1;while(0);r=a+20|0;k=a+24|0;c[k>>2]=c[r>>2];n=d<<6;g=je(a,n|16387)|0;c[k>>2]=c[r>>2];q=je(a,n|8388611)|0;c[k>>2]=c[r>>2];if((x|0)!=-1){r=c[u>>2]|0;if((r|0)==-1){c[u>>2]=x;s=g;t=q;break}k=c[(c[a>>2]|0)+12>>2]|0;n=r;while(1){y=k+(n<<2)|0;z=c[y>>2]|0;r=(z>>>14)+-131071|0;h=(r|0)==-1?-1:n+1+r|0;if((h|0)==-1)break;else n=h}k=x+~n|0;if((((k|0)>-1?k:0-k|0)|0)>131071)me(c[a+12>>2]|0,48423);else{c[y>>2]=(k<<14)+2147467264|z&16383;s=g;t=q;break}}else{s=g;t=q}}while(0);z=c[a+20>>2]|0;c[a+24>>2]=z;y=c[m>>2]|0;c:do if((y|0)!=-1){x=c[(c[a>>2]|0)+12>>2]|0;w=d<<6;v=w&16320;if((d|0)==255){e=y;while(1){k=x+(e<<2)|0;u=c[k>>2]|0;h=(u>>>14)+-131071|0;r=e;e=(h|0)==-1?-1:e+1+h|0;if((r|0)>0?(h=k+-4|0,A=c[h>>2]|0,((A&63)+-37|0)>>>0<5):0){B=h;C=A}else{B=k;C=u}if((C&63|0)!=41){A=s+~r|0;if((((A|0)>-1?A:0-A|0)|0)>131071){o=65;break}else{D=A;E=u}}else{c[B>>2]=C&8372224|C>>>23<<6|40;u=z+~r|0;if((((u|0)>-1?u:0-u|0)|0)>131071){o=62;break}D=u;E=c[k>>2]|0}c[k>>2]=E&16383|(D<<14)+2147467264;if((e|0)==-1)break c}if((o|0)==62){F=a+12|0;G=c[F>>2]|0;me(G,48423)}else if((o|0)==65){H=a+12|0;I=c[H>>2]|0;me(I,48423)}}e=y;while(1){q=x+(e<<2)|0;g=c[q>>2]|0;n=(g>>>14)+-131071|0;k=e;e=(n|0)==-1?-1:e+1+n|0;if((k|0)>0?(n=q+-4|0,u=c[n>>2]|0,((u&63)+-37|0)>>>0<5):0){J=n;K=u}else{J=q;K=g}if((K&63|0)!=41){u=s+~k|0;if((((u|0)>-1?u:0-u|0)|0)>131071){o=65;break}else{L=u;M=g}}else{if((K>>>23|0)==(d|0))N=K&8372224|w|40;else N=K&-16321|v;c[J>>2]=N;g=z+~k|0;if((((g|0)>-1?g:0-g|0)|0)>131071){o=62;break}L=g;M=c[q>>2]|0}c[q>>2]=M&16383|(L<<14)+2147467264;if((e|0)==-1)break c}if((o|0)==62){F=a+12|0;G=c[F>>2]|0;me(G,48423)}else if((o|0)==65){H=a+12|0;I=c[H>>2]|0;me(I,48423)}}while(0);I=c[f>>2]|0;if((I|0)==-1){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}H=c[(c[a>>2]|0)+12>>2]|0;G=d<<6;F=G&16320;if((d|0)==255){L=I;while(1){M=H+(L<<2)|0;N=c[M>>2]|0;J=(N>>>14)+-131071|0;K=L;L=(J|0)==-1?-1:L+1+J|0;if((K|0)>0?(J=M+-4|0,s=c[J>>2]|0,((s&63)+-37|0)>>>0<5):0){O=J;P=s}else{O=M;P=N}if((P&63|0)!=41){s=t+~K|0;if((((s|0)>-1?s:0-s|0)|0)>131071){o=90;break}else{Q=s;R=N}}else{c[O>>2]=P&8372224|P>>>23<<6|40;N=z+~K|0;if((((N|0)>-1?N:0-N|0)|0)>131071){o=87;break}Q=N;R=c[M>>2]|0}c[M>>2]=R&16383|(Q<<14)+2147467264;if((L|0)==-1){o=92;break}}if((o|0)==87){S=a+12|0;T=c[S>>2]|0;me(T,48423)}else if((o|0)==90){U=a+12|0;V=c[U>>2]|0;me(V,48423)}else if((o|0)==92){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}}L=I;while(1){I=H+(L<<2)|0;Q=c[I>>2]|0;R=(Q>>>14)+-131071|0;P=L;L=(R|0)==-1?-1:L+1+R|0;if((P|0)>0?(R=I+-4|0,O=c[R>>2]|0,((O&63)+-37|0)>>>0<5):0){W=R;X=O}else{W=I;X=Q}if((X&63|0)!=41){O=t+~P|0;if((((O|0)>-1?O:0-O|0)|0)>131071){o=90;break}else{Y=O;Z=Q}}else{if((X>>>23|0)==(d|0))_=X&8372224|G|40;else _=X&-16321|F;c[W>>2]=_;Q=z+~P|0;if((((Q|0)>-1?Q:0-Q|0)|0)>131071){o=87;break}Y=Q;Z=c[I>>2]|0}c[I>>2]=Z&16383|(Y<<14)+2147467264;if((L|0)==-1){o=92;break}}if((o|0)==87){S=a+12|0;T=c[S>>2]|0;me(T,48423)}else if((o|0)==90){U=a+12|0;V=c[U>>2]|0;me(V,48423)}else if((o|0)==92){c[f>>2]=-1;c[m>>2]=-1;p=b+4|0;c[p>>2]=d;c[b>>2]=6;return}}function Ie(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=e-f|0;f=c[g>>2]|0;switch(f|0){case 13:case 12:{e=h+1|0;i=(e|0)>0?e:0;switch(f|0){case 12:{f=(c[(c[b>>2]|0)+12>>2]|0)+(c[g+4>>2]<<2)|0;c[f>>2]=c[f>>2]&-8372225|(i<<14)+16384&8372224;break}case 13:{f=c[b>>2]|0;e=c[f+12>>2]|0;j=g+4|0;k=e+(c[j>>2]<<2)|0;c[k>>2]=c[k>>2]&8388607|(i<<23)+8388608;k=e+(c[j>>2]<<2)|0;j=b+48|0;e=a[j>>0]|0;l=e&255;c[k>>2]=l<<6|c[k>>2]&-16321;k=l+1|0;l=f+78|0;do if((e&255)>=(d[l>>0]|0))if((e&255)>248)me(c[b+12>>2]|0,48835);else{f=k&255;a[l>>0]=f;m=f;break}else m=k&255;while(0);a[j>>0]=m;break}default:{}}if((i|0)<=1)return;m=b+48|0;j=i+-1+(d[m>>0]|0)|0;i=(c[b>>2]|0)+78|0;do if((j|0)>(d[i>>0]|0|0))if((j|0)>249)me(c[b+12>>2]|0,48835);else{k=j&255;a[i>>0]=k;n=k;break}else n=j&255;while(0);a[m>>0]=n;return}case 0:break;default:{Ge(b,g);if(((c[g>>2]|0)==6?(n=c[g+4>>2]|0,(n&256|0)==0):0)?(n|0)>=(d[b+46>>0]|0|0):0){n=b+48|0;a[n>>0]=(a[n>>0]|0)+-1<<24>>24}n=b+48|0;m=a[n>>0]|0;j=(m&255)+1|0;i=(c[b>>2]|0)+78|0;do if((m&255)>=(d[i>>0]|0))if((m&255)>248)me(c[b+12>>2]|0,48835);else{k=j&255;a[i>>0]=k;o=k;break}else o=j&255;while(0);a[n>>0]=o;He(b,g,(o&255)+-1|0)}}if((h|0)<=0)return;o=b+48|0;g=d[o>>0]|0;n=h+g|0;j=c[b>>2]|0;i=j+78|0;do if((n|0)>(d[i>>0]|0|0))if((n|0)>249)me(c[b+12>>2]|0,48835);else{m=n&255;a[i>>0]=m;p=m;break}else p=n&255;while(0);a[o>>0]=p;p=n+511|0;o=c[b+20>>2]|0;do if((o|0)>(c[b+24>>2]|0)?(i=(c[j+12>>2]|0)+(o+-1<<2)|0,m=c[i>>2]|0,(m&63|0)==4):0){k=m>>>6&255;l=k+(m>>>23)|0;if(k>>>0>g>>>0|(l+1|0)>>>0>>0?k>>>0>>0|(k|0)>(n|0):0)break;e=k>>>0>>0?k:g;c[i>>2]=e<<6|m&8372287|((l|0)<(n|0)?p:l)-e<<23;return}while(0);je(b,(h<<23)+-8388608|g<<6|4)|0;return}function Je(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=Ia;Ia=Ia+32|0;g=f+16|0;h=f;i=d+12|0;if((c[i>>2]|0)!=288)he(d,288);j=d+16|0;k=c[j>>2]|0;c[d+8>>2]=c[d+4>>2];l=d+20|0;if((c[l>>2]|0)==286)c[i>>2]=fe(d,j)|0;else{j=l;i=c[j+4>>2]|0;m=d+12|0;c[m>>2]=c[j>>2];c[m+4>>2]=i;c[l>>2]=286}l=d+28|0;i=c[l>>2]|0;if(Ue(i,k,e,1)|0){Ia=f;return}Ue(i,c[d+52>>2]|0,e,1)|0;d=c[l>>2]|0;c[g>>2]=k;c[g+4>>2]=(a[k+4>>0]|64)&255;k=Ee(d,g,g)|0;c[h+8>>2]=-1;c[h+12>>2]=-1;c[h>>2]=4;c[h+4>>2]=k;k=e+4|0;a[k+2>>0]=c[k>>2];b[k>>1]=Le(i,h)|0;a[k+3>>0]=(c[e>>2]|0)==8?8:7;c[e>>2]=9;Ia=f;return}function Ke(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;Ge(b,e);if((c[e>>2]|0)==6){f=e+4|0;g=c[f>>2]|0;if((c[e+8>>2]|0)==(c[e+12>>2]|0)){h=g;return h|0}if((g|0)>=(d[b+46>>0]|0|0)){He(b,e,g);i=f}else j=5}else j=5;if((j|0)==5){Ge(b,e);if(((c[e>>2]|0)==6?(j=c[e+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}j=b+48|0;f=a[j>>0]|0;g=(f&255)+1|0;k=(c[b>>2]|0)+78|0;do if((f&255)>=(d[k>>0]|0))if((f&255)>248)me(c[b+12>>2]|0,48835);else{l=g&255;a[k>>0]=l;m=l;break}else m=g&255;while(0);a[j>>0]=m;He(b,e,(m&255)+-1|0);i=e+4|0}h=c[i>>2]|0;return h|0}function Le(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=Ia;Ia=Ia+16|0;f=e+8|0;g=e;if((c[d+8>>2]|0)==(c[d+12>>2]|0))Ge(b,d);else Ke(b,d)|0;h=c[d>>2]|0;switch(h|0){case 1:case 3:case 2:{if((c[b+32>>2]|0)<256){if((h|0)==1){c[g+4>>2]=0;c[f>>2]=c[b+4>>2];c[f+4>>2]=69;i=Ee(b,f,g)|0}else{c[f>>2]=(h|0)==2&1;c[f+4>>2]=1;i=Ee(b,f,f)|0}c[d+4>>2]=i;c[d>>2]=4;j=i|256;Ia=e;return j|0}break}case 5:{i=d+4|0;h=c[i>>2]|0;c[f>>2]=h;k=c[(c[b+12>>2]|0)+32>>2]|0;c[g>>2]=h;c[g+4>>2]=3;if(!h){h=k+8|0;l=c[h>>2]|0;c[h>>2]=l+8;m=Zc(k,f,4)|0;c[l>>2]=m;c[l+4>>2]=(a[m+4>>0]|64)&255;m=Ee(b,(c[h>>2]|0)+-8|0,g)|0;c[h>>2]=(c[h>>2]|0)+-8;n=m}else n=Ee(b,g,g)|0;c[i>>2]=n;c[d>>2]=4;o=n;p=15;break}case 4:{o=c[d+4>>2]|0;p=15;break}default:{}}if((p|0)==15?(o|0)<256:0){j=o|256;Ia=e;return j|0}j=Ke(b,d)|0;Ia=e;return j|0}function Me(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;i=Ia;Ia=Ia+80|0;j=i;k=i+16|0;l=i+4|0;m=e+28|0;n=c[m>>2]|0;o=e+32|0;p=c[o>>2]|0;q=c[n>>2]|0;r=n+36|0;n=q+56|0;s=c[n>>2]|0;if(((c[r>>2]|0)>=(s|0)?(t=q+16|0,u=ne(p,c[t>>2]|0,n,4,262143,49049)|0,c[t>>2]=u,v=c[n>>2]|0,(s|0)<(v|0)):0)?(n=s+1|0,c[u+(s<<2)>>2]=0,(n|0)<(v|0)):0){s=n;do{c[(c[t>>2]|0)+(s<<2)>>2]=0;s=s+1|0}while((s|0)!=(v|0))}v=p+12|0;s=c[v>>2]|0;t=s+4|0;n=Pa[c[s>>2]&1](c[t>>2]|0,0,9,80)|0;if(!n){if(!(a[s+51>>0]|0))uc(p,4);Gc(p,1);u=Pa[c[s>>2]&1](c[t>>2]|0,0,9,80)|0;if(!u)uc(p,4);else w=u}else w=n;n=s+12|0;c[n>>2]=(c[n>>2]|0)+80;n=s+56|0;u=w+5|0;a[u>>0]=a[s+48>>0]&3;a[w+4>>0]=9;c[w>>2]=c[n>>2];c[n>>2]=w;a[w+76>>0]=0;a[w+77>>0]=0;n=w+78|0;a[n>>0]=0;s=w+8|0;p=s+64|0;do{c[s>>2]=0;s=s+4|0}while((s|0)<(p|0));s=c[q+16>>2]|0;p=c[r>>2]|0;c[r>>2]=p+1;c[s+(p<<2)>>2]=w;do if(a[u>>0]&3?(p=q+5|0,s=a[p>>0]|0,s&4):0){r=c[v>>2]|0;if((d[r+49>>0]|0)<2){Fc(r,w);break}else{a[p>>0]=a[r+48>>0]&3|s&-72;break}}while(0);c[k>>2]=w;c[w+64>>2]=h;v=c[o>>2]|0;c[k+8>>2]=c[m>>2];o=k+12|0;c[o>>2]=e;c[m>>2]=k;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=-1;c[k+32>>2]=0;c[k+36>>2]=0;q=k+44|0;c[q>>2]=0;a[q+4>>0]=0;c[k+40>>2]=c[(c[e+44>>2]|0)+4>>2];q=k+16|0;c[q>>2]=0;c[w+36>>2]=c[e+48>>2];a[n>>0]=2;n=c[v+12>>2]|0;w=n+4|0;u=Pa[c[n>>2]&1](c[w>>2]|0,0,5,32)|0;if(!u){if(!(a[n+51>>0]|0))uc(v,4);Gc(v,1);s=Pa[c[n>>2]&1](c[w>>2]|0,0,5,32)|0;if(!s)uc(v,4);else x=s}else x=u;u=n+12|0;c[u>>2]=(c[u>>2]|0)+32;u=n+56|0;a[x+5>>0]=a[n+48>>0]&3;a[x+4>>0]=5;c[x>>2]=c[u>>2];c[u>>2]=x;c[x+8>>2]=0;a[x+6>>0]=-1;c[x+12>>2]=0;c[x+28>>2]=0;c[x+16>>2]=2336252;a[x+7>>0]=0;c[x+20>>2]=2336252;c[k+4>>2]=x;u=v+8|0;n=c[u>>2]|0;c[n>>2]=x;c[n+4>>2]=69;n=(c[u>>2]|0)+8|0;c[u>>2]=n;u=n;do if(((c[v+24>>2]|0)-u|0)<8){n=c[v+32>>2]|0;if((n|0)>1e6)uc(v,6);x=(u-(c[v+28>>2]|0)>>3)+5|0;s=n<<1;n=(s|0)<1e6?s:1e6;s=(n|0)<(x|0)?x:n;if((s|0)>1e6){vc(v,1000200);wc(v,47670,j)}else{vc(v,s);break}}while(0);a[l+10>>0]=0;a[l+8>>0]=a[k+46>>0]|0;v=c[(c[o>>2]|0)+44>>2]|0;b[l+4>>1]=c[v+28>>2];b[l+6>>1]=c[v+16>>2];a[l+9>>0]=0;c[l>>2]=c[q>>2];c[q>>2]=l;l=e+12|0;if((c[l>>2]|0)!=40)he(e,40);q=e+4|0;v=e+8|0;c[v>>2]=c[q>>2];o=e+20|0;if((c[o>>2]|0)==286){j=fe(e,e+16|0)|0;c[l>>2]=j;y=j}else{j=o;u=c[j>>2]|0;s=c[j+4>>2]|0;j=e+12|0;c[j>>2]=u;c[j+4>>2]=s;c[o>>2]=286;y=u}if(!g){g=c[m>>2]|0;z=g;A=c[g>>2]|0;B=y;C=g}else{Ce(e,le(e,49059,4)|0);g=c[m>>2]|0;y=g+46|0;u=a[y>>0]|0;a[y>>0]=(u&255)+1;y=c[g>>2]|0;c[(c[y+24>>2]|0)+((b[(c[c[(c[g+12>>2]|0)+44>>2]>>2]|0)+((c[g+40>>2]|0)+(u+1&255)+-1<<1)>>1]|0)*12|0)+4>>2]=c[g+20>>2];z=g;A=y;B=c[l>>2]|0;C=g}g=A+77|0;a[g>>0]=0;a:do if((B|0)==41)D=0;else{y=e+16|0;u=e+12|0;s=0;j=B;b:while(1){switch(j|0){case 280:{break b;break}case 288:break;default:{E=43;break b}}n=c[y>>2]|0;c[v>>2]=c[q>>2];if((c[o>>2]|0)==286)c[l>>2]=fe(e,y)|0;else{x=o;w=c[x+4>>2]|0;r=u;c[r>>2]=c[x>>2];c[r+4>>2]=w;c[o>>2]=286}Ce(e,n);n=s+1|0;if(a[g>>0]|0){D=n;break a}if((c[l>>2]|0)!=44){D=n;break a}c[v>>2]=c[q>>2];if((c[o>>2]|0)==286){w=fe(e,y)|0;c[l>>2]=w;F=w}else{w=o;r=c[w>>2]|0;x=c[w+4>>2]|0;w=u;c[w>>2]=r;c[w+4>>2]=x;c[o>>2]=286;F=r}s=n;j=F}if((E|0)==43)me(e,49064);c[v>>2]=c[q>>2];if((c[o>>2]|0)==286)c[l>>2]=fe(e,y)|0;else{j=o;n=c[j+4>>2]|0;r=u;c[r>>2]=c[j>>2];c[r+4>>2]=n;c[o>>2]=286}a[g>>0]=1;D=s}while(0);g=c[m>>2]|0;E=g+46|0;F=D+(d[E>>0]|0)|0;a[E>>0]=F;if(D|0){E=c[g+20>>2]|0;B=c[(c[g>>2]|0)+24>>2]|0;n=c[c[(c[g+12>>2]|0)+44>>2]>>2]|0;r=(c[g+40>>2]|0)+(F&255)|0;F=D;do{c[B+((b[n+(r-F<<1)>>1]|0)*12|0)+4>>2]=E;F=F+-1|0}while((F|0)!=0)}F=a[C+46>>0]|0;a[A+76>>0]=F;A=C+48|0;E=(d[A>>0]|0)+(F&255)|0;F=(c[z>>2]|0)+78|0;do if(E>>>0>(d[F>>0]|0)>>>0)if(E>>>0>249)me(c[C+12>>2]|0,48835);else{z=E&255;a[F>>0]=z;G=z;break}else G=E&255;while(0);a[A>>0]=G;if((c[l>>2]|0)!=41)he(e,41);c[v>>2]=c[q>>2];if((c[o>>2]|0)==286){v=fe(e,e+16|0)|0;c[l>>2]=v;H=v}else{v=o;G=c[v>>2]|0;A=c[v+4>>2]|0;v=e+12|0;c[v>>2]=G;c[v+4>>2]=A;c[o>>2]=286;H=G}G=H;c:while(1){switch(G|0){case 277:case 286:case 262:case 261:case 260:{break c;break}default:{}}ge(e);if((G|0)==274)break;G=c[l>>2]|0}c[(c[k>>2]|0)+68>>2]=c[q>>2];ze(e,262,265,h);h=c[(c[m>>2]|0)+8>>2]|0;m=je(h,(c[h+36>>2]<<14)+-16384|50)|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=11;q=f+4|0;c[q>>2]=m;Ge(h,f);if(((c[f>>2]|0)==6?(m=c[q>>2]|0,(m&256|0)==0):0)?(m|0)>=(d[h+46>>0]|0):0){m=h+48|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24}m=h+48|0;q=a[m>>0]|0;k=(q&255)+1|0;l=(c[h>>2]|0)+78|0;if((q&255)<(d[l>>0]|0)){I=k&255;a[m>>0]=I;J=I&255;K=J+-1|0;He(h,f,K);ie(e);Ia=i;return}if((q&255)>248)me(c[h+12>>2]|0,48835);q=k&255;a[l>>0]=q;I=q;a[m>>0]=I;J=I&255;K=J+-1|0;He(h,f,K);ie(e);Ia=i;return}function Ne(b,f,g){b=b|0;f=f|0;g=g|0;var h=0;switch(c[f>>2]|0){case 7:{if(((c[g>>2]|0)==6?(h=c[g+4>>2]|0,(h&256|0)==0):0)?(h|0)>=(d[b+46>>0]|0):0){h=b+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}He(b,g,c[f+4>>2]|0);return}case 8:{je(b,(Ke(b,g)|0)<<6|c[f+4>>2]<<23|9)|0;break}case 9:{h=f+4|0;f=(a[h+3>>0]|0)==7?10:8;je(b,(Le(b,g)|0)<<14|f|d[h+2>>0]<<6|e[h>>1]<<23)|0;break}default:{}}if((c[g>>2]|0)!=6)return;h=c[g+4>>2]|0;if(h&256|0)return;if((h|0)<(d[b+46>>0]|0))return;h=b+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24;return}function Oe(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;g=Ia;Ia=Ia+32|0;h=g+16|0;i=g;j=e+28|0;k=c[j>>2]|0;l=e+4|0;m=c[l>>2]|0;n=e+12|0;switch(c[n>>2]|0){case 40:{o=e+8|0;c[o>>2]=m;p=e+20|0;if((c[p>>2]|0)==286)c[n>>2]=fe(e,e+16|0)|0;else{q=p;r=c[q+4>>2]|0;s=e+12|0;c[s>>2]=c[q>>2];c[s+4>>2]=r;c[p>>2]=286}Ae(e,f,0)|0;ze(e,41,40,m);Ge(c[j>>2]|0,f);t=p;u=p;v=o;break}case 288:{Je(e,f);o=e+20|0;t=o;u=o;v=e+8|0;break}default:me(e,48980)}o=f+8|0;p=f+12|0;r=e+16|0;s=e+12|0;q=f+4|0;w=k+48|0;x=h+8|0;y=h+12|0;z=k+46|0;A=h+4|0;B=i+8|0;C=i+12|0;D=i+4|0;E=h+4|0;F=i+8|0;G=i+12|0;H=i+4|0;I=f+4|0;J=I+2|0;K=I+3|0;a:while(1)switch(c[n>>2]|0){case 46:{L=c[j>>2]|0;if(!((c[f>>2]|0)==8?(c[o>>2]|0)==(c[p>>2]|0):0))Ke(L,f)|0;c[v>>2]=c[l>>2];if((c[u>>2]|0)==286){M=fe(e,r)|0;c[n>>2]=M;N=M}else{M=t;O=c[M>>2]|0;P=c[M+4>>2]|0;M=s;c[M>>2]=O;c[M+4>>2]=P;c[u>>2]=286;N=O}if((N|0)!=288){Q=17;break a}O=c[r>>2]|0;c[v>>2]=c[l>>2];if((c[u>>2]|0)==286)c[n>>2]=fe(e,r)|0;else{P=t;M=c[P+4>>2]|0;R=s;c[R>>2]=c[P>>2];c[R+4>>2]=M;c[u>>2]=286}M=c[j>>2]|0;c[h>>2]=O;c[E>>2]=(a[O+4>>0]|64)&255;O=Ee(M,h,h)|0;c[F>>2]=-1;c[G>>2]=-1;c[i>>2]=4;c[H>>2]=O;a[J>>0]=c[I>>2];b[I>>1]=Le(L,i)|0;a[K>>0]=(c[f>>2]|0)==8?8:7;c[f>>2]=9;break}case 91:{if(!((c[f>>2]|0)==8?(c[o>>2]|0)==(c[p>>2]|0):0))Ke(k,f)|0;c[v>>2]=c[l>>2];if((c[u>>2]|0)==286)c[n>>2]=fe(e,r)|0;else{L=t;O=c[L+4>>2]|0;M=s;c[M>>2]=c[L>>2];c[M+4>>2]=O;c[u>>2]=286}Ae(e,h,0)|0;O=c[j>>2]|0;if((c[x>>2]|0)==(c[y>>2]|0))Ge(O,h);else Ke(O,h)|0;if((c[n>>2]|0)!=93){Q=32;break a}c[v>>2]=c[l>>2];if((c[u>>2]|0)==286)c[n>>2]=fe(e,r)|0;else{O=t;M=c[O+4>>2]|0;L=s;c[L>>2]=c[O>>2];c[L+4>>2]=M;c[u>>2]=286}a[J>>0]=c[I>>2];b[I>>1]=Le(k,h)|0;a[K>>0]=(c[f>>2]|0)==8?8:7;c[f>>2]=9;break}case 58:{c[v>>2]=c[l>>2];if((c[u>>2]|0)==286){M=fe(e,r)|0;c[n>>2]=M;S=M}else{M=t;L=c[M>>2]|0;O=c[M+4>>2]|0;M=s;c[M>>2]=L;c[M+4>>2]=O;c[u>>2]=286;S=L}if((S|0)!=288){Q=41;break a}L=c[r>>2]|0;c[v>>2]=c[l>>2];if((c[u>>2]|0)==286)c[n>>2]=fe(e,r)|0;else{O=t;M=c[O+4>>2]|0;R=s;c[R>>2]=c[O>>2];c[R+4>>2]=M;c[u>>2]=286}M=c[j>>2]|0;c[h>>2]=L;c[A>>2]=(a[L+4>>0]|64)&255;L=Ee(M,h,h)|0;c[B>>2]=-1;c[C>>2]=-1;c[i>>2]=4;c[D>>2]=L;Qe(k,f,i);Re(e,f,m);break}case 123:case 289:case 40:{Ge(k,f);if(((c[f>>2]|0)==6?(L=c[q>>2]|0,(L&256|0)==0):0)?(L|0)>=(d[z>>0]|0|0):0){L=(a[w>>0]|0)+-1<<24>>24;a[w>>0]=L;T=L}else T=a[w>>0]|0;L=(T&255)+1|0;M=(c[k>>2]|0)+78|0;if((T&255)<(d[M>>0]|0))U=L&255;else{if((T&255)>248){Q=54;break a}R=L&255;a[M>>0]=R;U=R}a[w>>0]=U;He(k,f,(U&255)+-1|0);Re(e,f,m);break}default:{Q=58;break a}}if((Q|0)==17)he(e,288);else if((Q|0)==32)he(e,93);else if((Q|0)==41)he(e,288);else if((Q|0)==54)me(c[k+12>>2]|0,48835);else if((Q|0)==58){Ia=g;return}}function Pe(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;i=Ia;Ia=Ia+48|0;j=i+24|0;k=i;l=g+4|0;if(((c[l>>2]|0)+-7|0)>>>0>=3)me(f,58441);m=f+12|0;a:do switch(c[m>>2]|0){case 44:{c[f+8>>2]=c[f+4>>2];n=f+20|0;if((c[n>>2]|0)==286)c[m>>2]=fe(f,f+16|0)|0;else{o=n;p=c[o+4>>2]|0;q=f+12|0;c[q>>2]=c[o>>2];c[q+4>>2]=p;c[n>>2]=286}c[k>>2]=g;n=k+4|0;Oe(f,n);p=c[n>>2]|0;if((p|0)!=9){n=c[f+28>>2]|0;q=n+48|0;o=a[q>>0]|0;r=k+8|0;s=o&255;t=(p|0)==7;u=g;v=0;while(1){if((c[u+4>>2]|0)==9){w=u+8|0;x=w+3|0;if((p|0)==(d[x>>0]|0)?(y=w+2|0,(c[r>>2]|0)==(d[y>>0]|0)):0){a[x>>0]=7;a[y>>0]=o;z=1}else z=v;if(t?(c[r>>2]|0)==(b[w>>1]|0):0){b[w>>1]=s;A=1}else A=z}else A=v;u=c[u>>2]|0;if(!u)break;else v=A}if(A|0){je(n,(o&255)<<6|((p|0)==7?0:5)|c[r>>2]<<23)|0;v=a[q>>0]|0;u=(v&255)+1|0;s=(c[n>>2]|0)+78|0;do if((v&255)>=(d[s>>0]|0))if((v&255)>248)me(c[n+12>>2]|0,48835);else{t=u&255;a[s>>0]=t;B=t;break}else B=u&255;while(0);a[q>>0]=B}}if(((e[(c[f+32>>2]|0)+38>>1]|0)+h|0)>200)xe(c[f+28>>2]|0,200,48791);else{Pe(f,k,h+1|0);C=f+28|0;break a}break}case 61:{u=f+4|0;s=f+8|0;c[s>>2]=c[u>>2];n=f+20|0;if((c[n>>2]|0)==286)c[m>>2]=fe(f,f+16|0)|0;else{v=n;r=c[v+4>>2]|0;p=f+12|0;c[p>>2]=c[v>>2];c[p+4>>2]=r;c[n>>2]=286}Ae(f,j,0)|0;b:do if((c[m>>2]|0)==44){r=f+16|0;p=f+28|0;v=f+12|0;o=j+4|0;t=1;while(1){c[s>>2]=c[u>>2];if((c[n>>2]|0)==286)c[m>>2]=fe(f,r)|0;else{w=n;y=c[w+4>>2]|0;x=v;c[x>>2]=c[w>>2];c[x+4>>2]=y;c[n>>2]=286}D=c[p>>2]|0;Ge(D,j);if(((c[j>>2]|0)==6?(y=c[o>>2]|0,(y&256|0)==0):0)?(y|0)>=(d[D+46>>0]|0):0){y=D+48|0;a[y>>0]=(a[y>>0]|0)+-1<<24>>24}y=D+48|0;x=a[y>>0]|0;w=(x&255)+1|0;E=(c[D>>2]|0)+78|0;if((x&255)<(d[E>>0]|0))F=w&255;else{if((x&255)>248)break;x=w&255;a[E>>0]=x;F=x}a[y>>0]=F;He(D,j,(F&255)+-1|0);Ae(f,j,0)|0;y=t+1|0;if((c[m>>2]|0)==44)t=y;else{G=y;H=p;break b}}me(c[D+12>>2]|0,48835)}else{G=1;H=f+28|0}while(0);n=c[H>>2]|0;if((G|0)!=(h|0)){Ie(n,h,G,j);if((G|0)<=(h|0)){C=H;break a}u=(c[H>>2]|0)+48|0;a[u>>0]=h-G+(d[u>>0]|0);C=H;break a}switch(c[j>>2]|0){case 12:{c[j>>2]=6;u=j+4|0;c[u>>2]=(c[(c[(c[n>>2]|0)+12>>2]|0)+(c[u>>2]<<2)>>2]|0)>>>6&255;break}case 13:{u=(c[(c[n>>2]|0)+12>>2]|0)+(c[j+4>>2]<<2)|0;c[u>>2]=c[u>>2]&8388607|16777216;c[j>>2]=11;break}default:{}}Ne(n,l,j);Ia=i;return}default:he(f,61)}while(0);f=c[C>>2]|0;C=(d[f+48>>0]|0)+-1|0;c[j+8>>2]=-1;c[j+12>>2]=-1;c[j>>2]=6;c[j+4>>2]=C;Ne(f,l,j);Ia=i;return}function Qe(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;Ke(b,e)|0;g=e+4|0;h=c[g>>2]|0;if((c[e>>2]|0)==6&(h&256|0)==0?(h|0)>=(d[b+46>>0]|0|0):0){i=b+48|0;a[i>>0]=(a[i>>0]|0)+-1<<24>>24}i=b+48|0;c[g>>2]=d[i>>0];c[e>>2]=6;e=(d[i>>0]|0)+2|0;j=(c[b>>2]|0)+78|0;do if(e>>>0>(d[j>>0]|0)>>>0)if(e>>>0>249)me(c[b+12>>2]|0,48835);else{k=e&255;a[j>>0]=k;l=k;break}else l=e&255;while(0);a[i>>0]=l;l=c[g>>2]|0;je(b,h<<23|l<<6|(Le(b,f)|0)<<14|12)|0;if((c[f>>2]|0)!=6)return;l=c[f+4>>2]|0;if(l&256|0)return;if((l|0)<(d[b+46>>0]|0|0))return;a[i>>0]=(a[i>>0]|0)+-1<<24>>24;return}function Re(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;g=Ia;Ia=Ia+32|0;h=g+16|0;i=g;j=b+28|0;k=c[j>>2]|0;l=b+12|0;a:do switch(c[l>>2]|0){case 40:{m=b+4|0;n=b+8|0;c[n>>2]=c[m>>2];o=b+20|0;if((c[o>>2]|0)==286){p=fe(b,b+16|0)|0;c[l>>2]=p;q=p}else{p=o;r=c[p>>2]|0;s=c[p+4>>2]|0;p=b+12|0;c[p>>2]=r;c[p+4>>2]=s;c[o>>2]=286;q=r}b:do if((q|0)==41)c[i>>2]=0;else{Ae(b,i,0)|0;c:do if((c[l>>2]|0)==44){r=b+16|0;s=b+12|0;p=i+4|0;while(1){c[n>>2]=c[m>>2];if((c[o>>2]|0)==286)c[l>>2]=fe(b,r)|0;else{t=o;u=c[t+4>>2]|0;v=s;c[v>>2]=c[t>>2];c[v+4>>2]=u;c[o>>2]=286}w=c[j>>2]|0;Ge(w,i);if(((c[i>>2]|0)==6?(u=c[p>>2]|0,(u&256|0)==0):0)?(u|0)>=(d[w+46>>0]|0|0):0){u=w+48|0;a[u>>0]=(a[u>>0]|0)+-1<<24>>24}u=w+48|0;v=a[u>>0]|0;t=(v&255)+1|0;x=(c[w>>2]|0)+78|0;if((v&255)<(d[x>>0]|0))y=t&255;else{if((v&255)>248)break;v=t&255;a[x>>0]=v;y=v}a[u>>0]=y;He(w,i,(y&255)+-1|0);Ae(b,i,0)|0;if((c[l>>2]|0)!=44){z=i;break c}}me(c[w+12>>2]|0,48835)}else z=i;while(0);switch(c[z>>2]|0){case 12:{p=(c[(c[k>>2]|0)+12>>2]|0)+(c[i+4>>2]<<2)|0;c[p>>2]=c[p>>2]&-8372225;break b;break}case 13:break;default:break b}p=c[k>>2]|0;s=c[p+12>>2]|0;r=i+4|0;u=s+(c[r>>2]<<2)|0;c[u>>2]=c[u>>2]&8388607;u=s+(c[r>>2]<<2)|0;r=k+48|0;s=a[r>>0]|0;v=s&255;c[u>>2]=v<<6|c[u>>2]&-16321;u=v+1|0;v=p+78|0;do if((s&255)>=(d[v>>0]|0))if((s&255)>248)me(c[k+12>>2]|0,48835);else{p=u&255;a[v>>0]=p;A=p;break}else A=u&255;while(0);a[r>>0]=A}while(0);ze(b,41,40,f);break}case 123:{Se(b,i);break}case 289:{o=b+16|0;m=c[o>>2]|0;c[h>>2]=m;c[h+4>>2]=(a[m+4>>0]|64)&255;m=Ee(k,h,h)|0;c[i+8>>2]=-1;c[i+12>>2]=-1;c[i>>2]=4;c[i+4>>2]=m;c[b+8>>2]=c[b+4>>2];m=b+20|0;if((c[m>>2]|0)==286){c[l>>2]=fe(b,o)|0;break a}else{o=m;n=c[o+4>>2]|0;u=b+12|0;c[u>>2]=c[o>>2];c[u+4>>2]=n;c[m>>2]=286;break a}break}default:me(b,48998)}while(0);b=e+4|0;l=c[b>>2]|0;switch(c[i>>2]|0){case 0:{B=k+48|0;break}case 13:case 12:{C=0;D=l<<6;E=D|C;F=E|32810;G=je(k,F)|0;H=e+8|0;c[H>>2]=-1;I=e+12|0;c[I>>2]=-1;c[e>>2]=12;c[b>>2]=G;J=c[k>>2]|0;K=J+20|0;L=c[K>>2]|0;M=k+20|0;N=c[M>>2]|0;O=N+-1|0;P=L+(O<<2)|0;c[P>>2]=f;Q=l+1|0;R=Q&255;S=k+48|0;a[S>>0]=R;Ia=g;return}default:{Ge(k,i);if(((c[i>>2]|0)==6?(h=c[i+4>>2]|0,(h&256|0)==0):0)?(h|0)>=(d[k+46>>0]|0|0):0){h=k+48|0;a[h>>0]=(a[h>>0]|0)+-1<<24>>24}h=k+48|0;A=a[h>>0]|0;z=(A&255)+1|0;w=(c[k>>2]|0)+78|0;do if((A&255)>=(d[w>>0]|0))if((A&255)>248)me(c[k+12>>2]|0,48835);else{y=z&255;a[w>>0]=y;T=y;break}else T=z&255;while(0);a[h>>0]=T;He(k,i,(T&255)+-1|0);B=h}}C=((l^511)+(d[B>>0]|0)<<23)+8388608|0;D=l<<6;E=D|C;F=E|32810;G=je(k,F)|0;H=e+8|0;c[H>>2]=-1;I=e+12|0;c[I>>2]=-1;c[e>>2]=12;c[b>>2]=G;J=c[k>>2]|0;K=J+20|0;L=c[K>>2]|0;M=k+20|0;N=c[M>>2]|0;O=N+-1|0;P=L+(O<<2)|0;c[P>>2]=f;Q=l+1|0;R=Q&255;S=k+48|0;a[S>>0]=R;Ia=g;return}function Se(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0;f=Ia;Ia=Ia+32|0;g=f;h=b+28|0;i=c[h>>2]|0;j=b+4|0;k=c[j>>2]|0;l=je(i,11)|0;m=g+28|0;c[m>>2]=0;n=g+20|0;c[n>>2]=0;o=g+24|0;c[o>>2]=0;p=g+16|0;c[p>>2]=e;c[e+8>>2]=-1;c[e+12>>2]=-1;c[e>>2]=11;q=e+4|0;c[q>>2]=l;c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=0;r=g+4|0;c[r>>2]=0;s=c[h>>2]|0;Ge(s,e);if(((c[e>>2]|0)==6?(t=c[q>>2]|0,(t&256|0)==0):0)?(t|0)>=(d[s+46>>0]|0|0):0){t=s+48|0;a[t>>0]=(a[t>>0]|0)+-1<<24>>24}t=s+48|0;q=a[t>>0]|0;u=(q&255)+1|0;v=(c[s>>2]|0)+78|0;do if((q&255)>=(d[v>>0]|0))if((q&255)>248)me(c[s+12>>2]|0,48835);else{w=u&255;a[v>>0]=w;x=w;break}else x=u&255;while(0);a[t>>0]=x;He(s,e,(x&255)+-1|0);x=b+12|0;if((c[x>>2]|0)!=123)he(b,123);e=b+8|0;c[e>>2]=c[j>>2];s=b+20|0;if((c[s>>2]|0)==286){t=fe(b,b+16|0)|0;c[x>>2]=t;y=t}else{t=s;u=c[t>>2]|0;v=c[t+4>>2]|0;t=b+12|0;c[t>>2]=u;c[t+4>>2]=v;c[s>>2]=286;y=u}a:do if((y|0)!=125){u=b+24|0;v=b+20|0;t=i+48|0;q=i+46|0;w=b+16|0;z=b+12|0;A=0;b:while(1){if(A|0){Ge(i,g);if(((c[g>>2]|0)==6?(B=c[r>>2]|0,(B&256|0)==0):0)?(B|0)>=(d[q>>0]|0|0):0){B=(a[t>>0]|0)+-1<<24>>24;a[t>>0]=B;C=B}else C=a[t>>0]|0;B=(C&255)+1|0;D=(c[i>>2]|0)+78|0;if((C&255)<(d[D>>0]|0))E=B&255;else{if((C&255)>248){F=28;break}G=B&255;a[D>>0]=G;E=G}a[t>>0]=E;He(i,g,(E&255)+-1|0);c[g>>2]=0;if((c[m>>2]|0)==50){G=c[(c[p>>2]|0)+4>>2]|0;D=c[o>>2]|0;B=((D+-1|0)/50|0)+1|0;H=G<<6|419430449;if((D|0)<25551)je(i,B<<14|H)|0;else{je(i,H)|0;je(i,B<<6|52)|0}a[t>>0]=G+1;c[m>>2]=0}}c:do switch(c[x>>2]|0){case 288:{G=fe(b,u)|0;c[v>>2]=G;if((G|0)==61){Te(b,g);break c}Ae(b,g,0)|0;G=c[o>>2]|0;if((G|0)>2147483645){F=38;break b}c[o>>2]=G+1;c[m>>2]=(c[m>>2]|0)+1;break}case 91:{Te(b,g);break}default:{Ae(b,g,0)|0;G=c[o>>2]|0;if((G|0)>2147483645){F=43;break b}c[o>>2]=G+1;c[m>>2]=(c[m>>2]|0)+1}}while(0);d:do switch(c[x>>2]|0){case 44:{c[e>>2]=c[j>>2];if((c[s>>2]|0)==286){G=fe(b,w)|0;c[x>>2]=G;I=G;break d}else{G=s;B=c[G>>2]|0;H=c[G+4>>2]|0;G=z;c[G>>2]=B;c[G+4>>2]=H;c[s>>2]=286;I=B;break d}break}case 59:{c[e>>2]=c[j>>2];if((c[s>>2]|0)==286){B=fe(b,w)|0;c[x>>2]=B;I=B;break d}else{B=s;H=c[B>>2]|0;G=c[B+4>>2]|0;B=z;c[B>>2]=H;c[B+4>>2]=G;c[s>>2]=286;I=H;break d}break}default:break a}while(0);if((I|0)==125)break a;A=c[g>>2]|0}if((F|0)==28)me(c[i+12>>2]|0,48835);else if((F|0)==38)xe(c[h>>2]|0,2147483645,49026);else if((F|0)==43)xe(c[h>>2]|0,2147483645,49026)}while(0);ze(b,125,123,k);k=c[m>>2]|0;do if(k|0){switch(c[g>>2]|0){case 0:{J=k;F=75;break}case 12:{b=(c[(c[i>>2]|0)+12>>2]|0)+(c[r>>2]<<2)|0;c[b>>2]=c[b>>2]&-8372225;F=61;break}case 13:{b=c[i>>2]|0;h=c[b+12>>2]|0;I=h+(c[r>>2]<<2)|0;c[I>>2]=c[I>>2]&8388607;I=h+(c[r>>2]<<2)|0;h=i+48|0;s=a[h>>0]|0;x=s&255;c[I>>2]=x<<6|c[I>>2]&-16321;I=x+1|0;x=b+78|0;do if((s&255)>=(d[x>>0]|0))if((s&255)>248)me(c[i+12>>2]|0,48835);else{b=I&255;a[x>>0]=b;K=b;break}else K=I&255;while(0);a[h>>0]=K;F=61;break}default:{Ge(i,g);if(((c[g>>2]|0)==6?(I=c[r>>2]|0,(I&256|0)==0):0)?(I|0)>=(d[i+46>>0]|0|0):0){I=i+48|0;a[I>>0]=(a[I>>0]|0)+-1<<24>>24}I=i+48|0;x=a[I>>0]|0;s=(x&255)+1|0;b=(c[i>>2]|0)+78|0;do if((x&255)>=(d[b>>0]|0))if((x&255)>248)me(c[i+12>>2]|0,48835);else{j=s&255;a[b>>0]=j;L=j;break}else L=s&255;while(0);a[I>>0]=L;He(i,g,(L&255)+-1|0);J=c[m>>2]|0;F=75}}if((F|0)==61){s=c[(c[p>>2]|0)+4>>2]|0;b=c[o>>2]|0;x=((b+-1|0)/50|0)+1|0;h=s<<6|49;if((b|0)<25551)je(i,x<<14|h)|0;else{je(i,h)|0;je(i,x<<6|52)|0}a[i+48>>0]=s+1;c[o>>2]=(c[o>>2]|0)+-1;break}else if((F|0)==75){s=c[(c[p>>2]|0)+4>>2]|0;x=c[o>>2]|0;h=((x+-1|0)/50|0)+1|0;b=((J|0)==-1?49:J<<23|49)|s<<6;if((x|0)<25551)je(i,h<<14|b)|0;else{je(i,b)|0;je(i,h<<6|52)|0}a[i+48>>0]=s+1;break}}while(0);J=(c[(c[i>>2]|0)+12>>2]|0)+(l<<2)|0;l=c[J>>2]&8388607;i=c[o>>2]|0;if(i>>>0<8)M=i;else{if(i>>>0>15){o=1;p=i;do{F=p+1|0;p=F>>>1;o=o+1|0}while(F>>>0>31);N=o<<3;O=p}else{N=8;O=i}M=N|O+-8}O=M<<23|l;c[J>>2]=O;l=O&-8372225;O=c[n>>2]|0;if(O>>>0<8){P=O;Q=P<<14;R=Q&8372224;S=R|l;c[J>>2]=S;Ia=f;return}if(O>>>0>15){n=1;M=O;do{N=M+1|0;M=N>>>1;n=n+1|0}while(N>>>0>31);T=n<<3;U=M}else{T=8;U=O}P=T|U+-8;Q=P<<14;R=Q&8372224;S=R|l;c[J>>2]=S;Ia=f;return}function Te(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;e=Ia;Ia=Ia+48|0;f=e+32|0;g=e+16|0;h=e;i=b+28|0;j=c[i>>2]|0;k=j+48|0;l=a[k>>0]|0;m=b+12|0;do if((c[m>>2]|0)!=288){n=b+4|0;o=b+8|0;c[o>>2]=c[n>>2];p=b+20|0;if((c[p>>2]|0)==286)c[m>>2]=fe(b,b+16|0)|0;else{q=p;r=c[q+4>>2]|0;s=b+12|0;c[s>>2]=c[q>>2];c[s+4>>2]=r;c[p>>2]=286}Ae(b,g,0)|0;r=c[i>>2]|0;if((c[g+8>>2]|0)==(c[g+12>>2]|0))Ge(r,g);else Ke(r,g)|0;if((c[m>>2]|0)!=93)he(b,93);c[o>>2]=c[n>>2];if((c[p>>2]|0)==286){n=fe(b,b+16|0)|0;c[m>>2]=n;t=n;break}else{n=p;o=c[n>>2]|0;r=c[n+4>>2]|0;n=b+12|0;c[n>>2]=o;c[n+4>>2]=r;c[p>>2]=286;t=o;break}}else{if((c[d+20>>2]|0)>2147483645)xe(j,2147483645,49026);o=b+16|0;p=c[o>>2]|0;c[b+8>>2]=c[b+4>>2];r=b+20|0;if((c[r>>2]|0)==286){c[m>>2]=fe(b,o)|0;u=c[i>>2]|0}else{o=r;n=c[o+4>>2]|0;s=b+12|0;c[s>>2]=c[o>>2];c[s+4>>2]=n;c[r>>2]=286;u=j}c[f>>2]=p;c[f+4>>2]=(a[p+4>>0]|64)&255;p=Ee(u,f,f)|0;c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=4;c[g+4>>2]=p;t=c[m>>2]|0}while(0);f=d+20|0;c[f>>2]=(c[f>>2]|0)+1;if((t|0)!=61)he(b,61);c[b+8>>2]=c[b+4>>2];t=b+20|0;if((c[t>>2]|0)==286){c[m>>2]=fe(b,b+16|0)|0;v=Le(j,g)|0;Ae(b,h,0)|0;w=d+16|0;x=c[w>>2]|0;y=x+4|0;z=c[y>>2]|0;A=Le(j,h)|0;B=z<<6;C=v<<23;D=A<<14;E=C|B;F=E|D;G=F|10;je(j,G)|0;a[k>>0]=l;Ia=e;return}else{m=t;f=c[m+4>>2]|0;u=b+12|0;c[u>>2]=c[m>>2];c[u+4>>2]=f;c[t>>2]=286;v=Le(j,g)|0;Ae(b,h,0)|0;w=d+16|0;x=c[w>>2]|0;y=x+4|0;z=c[y>>2]|0;A=Le(j,h)|0;B=z<<6;C=v<<23;D=A<<14;E=C|B;F=E|D;G=F|10;je(j,G)|0;a[k>>0]=l;Ia=e;return}}function Ue(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;if(!e){i=0;return i|0}j=a[e+46>>0]|0;k=f+12|0;l=(j&255)+-1|0;m=c[e>>2]|0;a:do if(j<<24>>24){n=c[e+40>>2]|0;o=c[m+24>>2]|0;p=c[c[(c[e+12>>2]|0)+44>>2]>>2]|0;q=a[f+4>>0]|0;r=f+16|0;b:do if(q<<24>>24==4){s=l;while(1){t=c[o+((b[p+(s+n<<1)>>1]|0)*12|0)>>2]|0;if((t|0)==(f|0)&(a[t+4>>0]|0)==4){u=s;break b}if((s|0)>0)s=s+-1|0;else break a}}else{s=l;while(1){t=c[o+((b[p+(s+n<<1)>>1]|0)*12|0)>>2]|0;if(q<<24>>24==(a[t+4>>0]|0)){v=c[k>>2]|0;if((t|0)==(f|0)){u=s;break b}if((v|0)==(c[t+12>>2]|0)?(Us(r,t+16|0,v)|0)==0:0){u=s;break b}}if((s|0)>0)s=s+-1|0;else break a}}while(0);if((u|0)>-1){c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=7;c[g+4>>2]=u;if(h|0){i=7;return i|0}r=e+16|0;do r=c[r>>2]|0;while((u|0)<(d[r+8>>0]|0));a[r+9>>0]=1;i=7;return i|0}}while(0);u=c[m+28>>2]|0;m=a[e+47>>0]|0;c:do if(!(m<<24>>24))w=29;else{h=a[f+4>>0]|0;l=f+16|0;j=m&255;if(h<<24>>24==4){q=0;while(1){n=c[u+(q<<3)>>2]|0;if((a[n+4>>0]|0)==4&(n|0)==(f|0)){x=q;break c}q=q+1|0;if(q>>>0>=j>>>0){w=29;break c}}}q=0;while(1){r=c[u+(q<<3)>>2]|0;if((a[r+4>>0]|0)==h<<24>>24){n=c[r+12>>2]|0;if((r|0)==(f|0)){x=q;break c}if((n|0)==(c[k>>2]|0)?(Us(r+16|0,l,n)|0)==0:0){x=q;break c}}q=q+1|0;if(q>>>0>=j>>>0){w=29;break}}}while(0);do if((w|0)==29)if(!(Ue(c[e+8>>2]|0,f,g,0)|0)){i=0;return i|0}else{x=ee(e,f,g)|0;break}while(0);c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=8;c[g+4>>2]=x;i=8;return i|0}function Ve(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=Ia;Ia=Ia+16|0;g=f+8|0;h=f;Ge(b,d);i=c[d>>2]|0;a:do switch(i|0){case 1:{j=e+1|0;k=c[b+20>>2]|0;do if((k|0)>(c[b+24>>2]|0)?(l=(c[(c[b>>2]|0)+12>>2]|0)+(k+-1<<2)|0,m=c[l>>2]|0,(m&63|0)==4):0){n=m>>>6&255;o=n+(m>>>23)|0;if((n|0)>(e|0)|(o+1|0)<(e|0)?(n|0)<(e|0)|(n|0)>(j|0):0)break;p=(n|0)<(e|0)?n:e;c[l>>2]=p<<6&16320|m&8372287|((o|0)>(e|0)?o:e)-p<<23;break a}while(0);je(b,e<<6|4)|0;break}case 2:case 3:{je(b,e<<6|((i|0)==2&1)<<23|3)|0;break}case 4:{j=c[d+4>>2]|0;k=e<<6;if((j|0)<262144){je(b,k|j<<14|1)|0;break a}else{je(b,k|2)|0;je(b,j<<6|52)|0;break a}break}case 5:{j=c[d+4>>2]|0;c[g>>2]=j;k=c[(c[b+12>>2]|0)+32>>2]|0;c[h>>2]=j;c[h+4>>2]=3;if(!j){j=k+8|0;p=c[j>>2]|0;c[j>>2]=p+8;o=Zc(k,g,4)|0;c[p>>2]=o;c[p+4>>2]=(a[o+4>>0]|64)&255;o=Ee(b,(c[j>>2]|0)+-8|0,h)|0;c[j>>2]=(c[j>>2]|0)+-8;q=o}else q=Ee(b,h,h)|0;o=e<<6;if((q|0)<262144){je(b,o|q<<14|1)|0;break a}else{je(b,o|2)|0;je(b,q<<6|52)|0;break a}break}case 11:{o=(c[(c[b>>2]|0)+12>>2]|0)+(c[d+4>>2]<<2)|0;c[o>>2]=c[o>>2]&-16321|e<<6&16320;break}case 6:{o=c[d+4>>2]|0;if((o|0)!=(e|0))je(b,o<<23|e<<6)|0;break}default:{Ia=f;return}}while(0);c[d+4>>2]=e;c[d>>2]=6;Ia=f;return}function We(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=Ia;Ia=Ia+16|0;i=h;c[i+12>>2]=-1;c[i+8>>2]=-1;c[i>>2]=5;c[i+4>>2]=0;switch(e|0){case 0:{if(((c[f>>2]|0)==5?(c[f+8>>2]|0)==-1:0)?(c[f+12>>2]|0)==-1:0){e=f+4|0;c[e>>2]=0-(c[e>>2]|0);Ia=h;return}Ke(b,f)|0;Ze(b,32,f,i,g);Ia=h;return}case 14:{Ke(b,f)|0;Ze(b,27,f,i,g);Ia=h;return}case 16:{Ke(b,f)|0;Ze(b,29,f,i,g);Ia=h;return}case 17:{Ke(b,f)|0;Ze(b,30,f,i,g);Ia=h;return}case 18:{Ke(b,f)|0;Ze(b,31,f,i,g);Ia=h;return}case 1:{Ge(b,f);switch(c[f>>2]|0){case 3:case 1:{c[f>>2]=2;break}case 2:case 5:case 4:{c[f>>2]=3;break}case 10:{e=c[f+4>>2]|0;j=(c[(c[b>>2]|0)+12>>2]|0)+(e<<2)|0;if((e|0)>0?(e=j+-4|0,k=c[e>>2]|0,((k&63)+-37|0)>>>0<5):0){l=e;m=k}else{l=j;m=c[j>>2]|0}c[l>>2]=((m&16320|0)==0&1)<<6|m&-16321;break}case 6:{n=25;break}case 11:{m=b+48|0;l=a[m>>0]|0;j=(l&255)+1|0;k=(c[b>>2]|0)+78|0;do if((l&255)>=(d[k>>0]|0))if((l&255)>248)me(c[b+12>>2]|0,48835);else{e=j&255;a[k>>0]=e;o=e;break}else o=j&255;while(0);a[m>>0]=o;Ve(b,f,(o&255)+-1|0);if((c[f>>2]|0)==6)n=25;else{p=f+4|0;n=28}break}default:{}}if((n|0)==25){o=f+4|0;m=c[o>>2]|0;if((m&256|0)==0?(m|0)>=(d[b+46>>0]|0|0):0){m=b+48|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24;p=o;n=28}else{p=o;n=28}}if((n|0)==28){c[p>>2]=je(b,c[p>>2]<<23|33)|0;c[f>>2]=11}p=f+12|0;n=c[p>>2]|0;o=f+8|0;m=c[o>>2]|0;c[p>>2]=m;c[o>>2]=n;if((m|0)==-1)q=n;else{n=c[(c[b>>2]|0)+12>>2]|0;p=m;do{m=n+(p<<2)|0;if((p|0)>0?(j=m+-4|0,k=c[j>>2]|0,((k&63)+-37|0)>>>0<5):0){r=j;s=k}else{r=m;s=c[m>>2]|0}if((s&63|0)==41)c[r>>2]=s&8372224|s>>>23<<6|40;k=((c[m>>2]|0)>>>14)+-131071|0;p=(k|0)==-1?-1:p+1+k|0}while((p|0)!=-1);q=c[o>>2]|0}if((q|0)==-1){Ia=h;return}o=c[(c[b>>2]|0)+12>>2]|0;p=q;do{q=o+(p<<2)|0;if((p|0)>0?(s=q+-4|0,r=c[s>>2]|0,((r&63)+-37|0)>>>0<5):0){t=s;u=r}else{t=q;u=c[q>>2]|0}if((u&63|0)==41)c[t>>2]=u&8372224|u>>>23<<6|40;r=((c[q>>2]|0)>>>14)+-131071|0;p=(r|0)==-1?-1:p+1+r|0}while((p|0)!=-1);Ia=h;return}case 2:{Ke(b,f)|0;Ze(b,34,f,i,g);Ia=h;return}default:{Ia=h;return}}}function Xe(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;switch(e|0){case 26:{Be(b,f);return}case 27:{$e(b,f);return}case 19:{Ge(b,f);if(((c[f>>2]|0)==6?(e=c[f+4>>2]|0,(e&256|0)==0):0)?(e|0)>=(d[b+46>>0]|0|0):0){e=b+48|0;a[e>>0]=(a[e>>0]|0)+-1<<24>>24}e=b+48|0;g=a[e>>0]|0;h=(g&255)+1|0;i=(c[b>>2]|0)+78|0;do if((g&255)>=(d[i>>0]|0))if((g&255)>248)me(c[b+12>>2]|0,48835);else{j=h&255;a[i>>0]=j;k=j;break}else k=h&255;while(0);a[e>>0]=k;He(b,f,(k&255)+-1|0);return}case 18:case 17:case 16:case 15:case 14:case 13:case 12:case 11:case 10:case 9:case 8:case 7:case 6:case 5:case 4:case 3:case 2:case 1:case 0:{if(((c[f>>2]|0)==5?(c[f+8>>2]|0)==-1:0)?(c[f+12>>2]|0)==-1:0)return;Le(b,f)|0;return}default:{Le(b,f)|0;return}}}function Ye(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;switch(e|0){case 26:{Ge(b,g);i=g+12|0;j=c[f+12>>2]|0;do if((j|0)!=-1){k=c[i>>2]|0;if((k|0)==-1){c[i>>2]=j;break}l=c[(c[b>>2]|0)+12>>2]|0;m=k;while(1){n=l+(m<<2)|0;o=c[n>>2]|0;k=(o>>>14)+-131071|0;p=(k|0)==-1?-1:m+1+k|0;if((p|0)==-1)break;else m=p}l=j+~m|0;if((((l|0)>-1?l:0-l|0)|0)>131071)me(c[b+12>>2]|0,48423);else{c[n>>2]=(l<<14)+2147467264|o&16383;break}}while(0);c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];return}case 27:{Ge(b,g);o=g+8|0;n=c[f+8>>2]|0;do if((n|0)!=-1){j=c[o>>2]|0;if((j|0)==-1){c[o>>2]=n;break}i=c[(c[b>>2]|0)+12>>2]|0;l=j;while(1){q=i+(l<<2)|0;r=c[q>>2]|0;j=(r>>>14)+-131071|0;p=(j|0)==-1?-1:l+1+j|0;if((p|0)==-1)break;else l=p}i=n+~l|0;if((((i|0)>-1?i:0-i|0)|0)>131071)me(c[b+12>>2]|0,48423);else{c[q>>2]=(i<<14)+2147467264|r&16383;break}}while(0);c[f>>2]=c[g>>2];c[f+4>>2]=c[g+4>>2];c[f+8>>2]=c[g+8>>2];c[f+12>>2]=c[g+12>>2];return}case 19:{if((c[g+8>>2]|0)==(c[g+12>>2]|0))Ge(b,g);else Ke(b,g)|0;if((c[g>>2]|0)==11?(r=c[(c[b>>2]|0)+12>>2]|0,q=g+4|0,n=r+(c[q>>2]<<2)|0,o=c[n>>2]|0,(o&63|0)==35):0){i=f+4|0;if(((c[f>>2]|0)==6?(m=c[i>>2]|0,(m&256|0)==0):0)?(m|0)>=(d[b+46>>0]|0|0):0){m=b+48|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24;m=r+(c[q>>2]<<2)|0;s=m;t=c[m>>2]|0}else{s=n;t=o}c[s>>2]=c[i>>2]<<23|t&8388607;c[f>>2]=11;c[i>>2]=c[q>>2];return}Ge(b,g);if(((c[g>>2]|0)==6?(q=c[g+4>>2]|0,(q&256|0)==0):0)?(q|0)>=(d[b+46>>0]|0|0):0){q=b+48|0;a[q>>0]=(a[q>>0]|0)+-1<<24>>24}q=b+48|0;i=a[q>>0]|0;t=(i&255)+1|0;s=(c[b>>2]|0)+78|0;do if((i&255)>=(d[s>>0]|0))if((i&255)>248)me(c[b+12>>2]|0,48835);else{o=t&255;a[s>>0]=o;u=o;break}else u=t&255;while(0);a[q>>0]=u;He(b,g,(u&255)+-1|0);Ze(b,35,f,g,h);return}case 18:case 17:case 16:case 15:case 14:case 13:case 12:case 11:case 10:case 9:case 8:case 7:case 6:case 5:case 4:case 3:case 2:case 1:case 0:{Ze(b,e+13|0,f,g,h);return}case 22:case 21:case 20:{_e(b,e+17|0,1,f,g);return}case 25:case 24:case 23:{_e(b,e+14|0,0,f,g);return}default:return}}function Ze(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;if(((((((c[f>>2]|0)==5?(c[f+8>>2]|0)==-1:0)?(c[f+12>>2]|0)==-1:0)?(c[g>>2]|0)==5:0)?(c[g+8>>2]|0)==-1:0)?(c[g+12>>2]|0)==-1:0)?(i=c[g+4>>2]|0,j=f+4|0,!((e|1|0)==17&(i|0)==0)):0){c[j>>2]=od(e+-13|0,c[j>>2]|0,i)|0;return}if((e|2|0)==34)k=0;else k=Le(b,g)|0;i=Le(b,f)|0;if((i|0)>(k|0)){if(((c[f>>2]|0)==6?(j=c[f+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}if(((c[g>>2]|0)==6?(j=c[g+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}}else{if(((c[g>>2]|0)==6?(j=c[g+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}if(((c[f>>2]|0)==6?(j=c[f+4>>2]|0,(j&256|0)==0):0)?(j|0)>=(d[b+46>>0]|0|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24}}c[f+4>>2]=je(b,k<<14|e|i<<23)|0;c[f>>2]=11;c[(c[(c[b>>2]|0)+20>>2]|0)+((c[b+20>>2]|0)+-1<<2)>>2]=h;return}function _e(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=Le(b,g)|0;j=Le(b,h)|0;if(((c[h>>2]|0)==6?(k=c[h+4>>2]|0,(k&256|0)==0):0)?(k|0)>=(d[b+46>>0]|0|0):0){k=b+48|0;a[k>>0]=(a[k>>0]|0)+-1<<24>>24}if(((c[g>>2]|0)==6?(k=c[g+4>>2]|0,(k&256|0)==0):0)?(k|0)>=(d[b+46>>0]|0|0):0){k=b+48|0;a[k>>0]=(a[k>>0]|0)+-1<<24>>24}k=(e|0)!=37&(f|0)==0;je(b,(k?64:f<<6)|e|(k?j:i)<<23|(k?i:j)<<14)|0;j=b+28|0;i=c[j>>2]|0;c[j>>2]=-1;j=je(b,2147450916)|0;if((i|0)==-1){l=j;m=g+4|0;c[m>>2]=l;c[g>>2]=10;return}if((j|0)==-1){l=i;m=g+4|0;c[m>>2]=l;c[g>>2]=10;return}k=c[(c[b>>2]|0)+12>>2]|0;e=j;while(1){n=k+(e<<2)|0;o=c[n>>2]|0;f=(o>>>14)+-131071|0;h=(f|0)==-1?-1:e+1+f|0;if((h|0)==-1)break;else e=h}k=i+~e|0;if((((k|0)>-1?k:0-k|0)|0)>131071)me(c[b+12>>2]|0,48423);c[n>>2]=(k<<14)+2147467264|o&16383;l=j;m=g+4|0;c[m>>2]=l;c[g>>2]=10;return}function $e(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;Ge(b,e);f=c[e>>2]|0;a:do switch(f|0){case 10:{g=c[e+4>>2]|0;h=29;break}case 3:case 1:break;case 11:{i=c[b>>2]|0;j=e+4|0;k=c[(c[i+12>>2]|0)+(c[j>>2]<<2)>>2]|0;l=b+20|0;if((k&63|0)==33){c[l>>2]=(c[l>>2]|0)+-1;je(b,k>>>23<<6|40)|0;k=b+28|0;l=c[k>>2]|0;c[k>>2]=-1;k=je(b,2147450916)|0;if((l|0)!=-1)if((k|0)!=-1){m=c[(c[b>>2]|0)+12>>2]|0;n=k;while(1){o=m+(n<<2)|0;p=c[o>>2]|0;q=(p>>>14)+-131071|0;r=(q|0)==-1?-1:n+1+q|0;if((r|0)==-1)break;else n=r}m=l+~n|0;if((((m|0)>-1?m:0-m|0)|0)>131071)me(c[b+12>>2]|0,48423);else{c[o>>2]=(m<<14)+2147467264|p&16383;g=k;h=29;break a}}else{s=l;h=30}else{g=k;h=29}}else{t=j;u=i;h=13}break}default:{m=e+4|0;if((f|0)==6){v=m;h=19}else{t=m;u=c[b>>2]|0;h=13}}}while(0);if((h|0)==13){f=b+48|0;p=a[f>>0]|0;o=(p&255)+1|0;m=u+78|0;do if((p&255)>=(d[m>>0]|0))if((p&255)>248)me(c[b+12>>2]|0,48835);else{u=o&255;a[m>>0]=u;w=u;break}else w=o&255;while(0);a[f>>0]=w;Ve(b,e,(w&255)+-1|0);if((c[e>>2]|0)==6){v=t;h=19}else{x=t;h=22}}if((h|0)==19){t=c[e+4>>2]|0;if((t&256|0)==0?(t|0)>=(d[b+46>>0]|0|0):0){t=b+48|0;a[t>>0]=(a[t>>0]|0)+-1<<24>>24;x=v;h=22}else{x=v;h=22}}do if((h|0)==22){je(b,c[x>>2]<<23|32745)|0;v=b+28|0;t=c[v>>2]|0;c[v>>2]=-1;v=je(b,2147450916)|0;if((t|0)!=-1)if((v|0)!=-1){w=c[(c[b>>2]|0)+12>>2]|0;f=v;while(1){y=w+(f<<2)|0;z=c[y>>2]|0;o=(z>>>14)+-131071|0;m=(o|0)==-1?-1:f+1+o|0;if((m|0)==-1)break;else f=m}w=t+~f|0;if((((w|0)>-1?w:0-w|0)|0)>131071)me(c[b+12>>2]|0,48423);else{c[y>>2]=(w<<14)+2147467264|z&16383;g=v;h=29;break}}else{s=t;h=30}else{g=v;h=29}}while(0);if((h|0)==29?(g|0)!=-1:0){s=g;h=30}do if((h|0)==30){g=e+8|0;z=c[g>>2]|0;if((z|0)==-1){c[g>>2]=s;break}g=c[(c[b>>2]|0)+12>>2]|0;y=z;while(1){A=g+(y<<2)|0;B=c[A>>2]|0;z=(B>>>14)+-131071|0;x=(z|0)==-1?-1:y+1+z|0;if((x|0)==-1)break;else y=x}g=s+~y|0;if((((g|0)>-1?g:0-g|0)|0)>131071)me(c[b+12>>2]|0,48423);else{c[A>>2]=(g<<14)+2147467264|B&16383;break}}while(0);B=e+12|0;e=c[B>>2]|0;c[b+24>>2]=c[b+20>>2];A=b+28|0;if((e|0)==-1){c[B>>2]=-1;return}s=c[A>>2]|0;if((s|0)==-1){c[A>>2]=e;c[B>>2]=-1;return}A=c[(c[b>>2]|0)+12>>2]|0;h=s;while(1){C=A+(h<<2)|0;D=c[C>>2]|0;s=(D>>>14)+-131071|0;g=(s|0)==-1?-1:h+1+s|0;if((g|0)==-1)break;else h=g}A=e+~h|0;if((((A|0)>-1?A:0-A|0)|0)>131071)me(c[b+12>>2]|0,48423);c[C>>2]=(A<<14)+2147467264|D&16383;c[B>>2]=-1;return}function af(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=Ia;Ia=Ia+16|0;e=b;f=c[a>>2]|0;g=a+36|0;h=c[g>>2]|0;i=c[h>>2]|0;c[h>>2]=i+-1;if(!i){i=Oa[c[h+8>>2]&7](c[h+16>>2]|0,c[h+12>>2]|0,e)|0;j=c[e>>2]|0;if((i|0)==0|(j|0)==0)k=-1;else{c[h>>2]=j+-1;c[h+4>>2]=i+1;k=d[i>>0]|0}l=k}else{k=h+4|0;h=c[k>>2]|0;c[k>>2]=h+1;l=d[h>>0]|0}c[a>>2]=l;switch(l|0){case 13:case 10:{if((l|0)!=(f|0)){f=c[g>>2]|0;g=c[f>>2]|0;c[f>>2]=g+-1;if(!g){g=Oa[c[f+8>>2]&7](c[f+16>>2]|0,c[f+12>>2]|0,e)|0;l=c[e>>2]|0;if((g|0)==0|(l|0)==0)m=-1;else{c[f>>2]=l+-1;c[f+4>>2]=g+1;m=d[g>>0]|0}n=m}else{m=f+4|0;f=c[m>>2]|0;c[m>>2]=f+1;n=d[f>>0]|0}c[a>>2]=n}break}default:{}}n=a+4|0;f=c[n>>2]|0;c[n>>2]=f+1;if((f|0)>2147483643)me(a,49479);else{Ia=b;return}}function bf(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;e=Ia;Ia=Ia+16|0;f=e;g=c[b>>2]|0;h=b+40|0;i=c[h>>2]|0;j=i+4|0;k=c[j>>2]|0;l=k+1|0;m=i+8|0;n=c[m>>2]|0;if(l>>>0>n>>>0){if(n>>>0>2147483645)ve(b,48651,0);o=n<<1;p=c[b+32>>2]|0;if((o|0)==-2)Hc(p);q=c[i>>2]|0;r=c[p+12>>2]|0;s=(q|0)==0;t=r+4|0;u=Pa[c[r>>2]&1](c[t>>2]|0,q,n,o)|0;if((o|0)!=0&(u|0)==0){if(!(a[r+51>>0]|0))uc(p,4);Gc(p,1);v=Pa[c[r>>2]&1](c[t>>2]|0,q,n,o)|0;if(!v)uc(p,4);else w=v}else w=u;u=r+12|0;c[u>>2]=(s?0:0-n|0)+o+(c[u>>2]|0);c[i>>2]=w;c[m>>2]=o;o=c[j>>2]|0;x=o+1|0;y=w;z=o}else{x=l;y=c[i>>2]|0;z=k}c[j>>2]=x;a[y+z>>0]=g;z=b+36|0;y=c[z>>2]|0;x=c[y>>2]|0;c[y>>2]=x+-1;if(!x){x=Oa[c[y+8>>2]&7](c[y+16>>2]|0,c[y+12>>2]|0,f)|0;j=c[f>>2]|0;if((x|0)==0|(j|0)==0)A=-1;else{c[y>>2]=j+-1;c[y+4>>2]=x+1;A=d[x>>0]|0}B=A}else{A=y+4|0;y=c[A>>2]|0;c[A>>2]=y+1;B=d[y>>0]|0}c[b>>2]=B;if((B|0)!=61){C=0;D=B;E=(D|0)!=(g|0);F=E<<31>>31;G=C^F;Ia=e;return G|0}B=b+32|0;y=0;while(1){A=c[h>>2]|0;x=A+4|0;j=c[x>>2]|0;k=j+1|0;i=A+8|0;l=c[i>>2]|0;if(k>>>0>l>>>0){if(l>>>0>2147483645){H=22;break}o=l<<1;I=c[B>>2]|0;if((o|0)==-2){H=24;break}w=c[A>>2]|0;m=c[I+12>>2]|0;u=(w|0)==0;n=m+4|0;s=Pa[c[m>>2]&1](c[n>>2]|0,w,l,o)|0;if((o|0)!=0&(s|0)==0){if(!(a[m+51>>0]|0)){H=28;break}Gc(I,1);r=Pa[c[m>>2]&1](c[n>>2]|0,w,l,o)|0;if(!r){H=28;break}else J=r}else J=s;s=m+12|0;c[s>>2]=(u?0:0-l|0)+o+(c[s>>2]|0);c[A>>2]=J;c[i>>2]=o;o=c[x>>2]|0;K=o+1|0;L=J;M=o}else{K=k;L=c[A>>2]|0;M=j}c[x>>2]=K;a[L+M>>0]=61;x=c[z>>2]|0;j=c[x>>2]|0;c[x>>2]=j+-1;if(!j){j=Oa[c[x+8>>2]&7](c[x+16>>2]|0,c[x+12>>2]|0,f)|0;A=c[f>>2]|0;if((j|0)==0|(A|0)==0)N=-1;else{c[x>>2]=A+-1;c[x+4>>2]=j+1;N=d[j>>0]|0}O=N}else{j=x+4|0;x=c[j>>2]|0;c[j>>2]=x+1;O=d[x>>0]|0}c[b>>2]=O;x=y+1|0;if((O|0)==61)y=x;else{C=x;D=O;H=36;break}}if((H|0)==22)ve(b,48651,0);else if((H|0)==24)Hc(I);else if((H|0)==28)uc(I,4);else if((H|0)==36){E=(D|0)!=(g|0);F=E<<31>>31;G=C^F;Ia=e;return G|0}return 0}function cf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;g=Ia;Ia=Ia+16|0;h=g;i=c[b>>2]|0;j=b+40|0;k=c[j>>2]|0;l=k+4|0;m=c[l>>2]|0;n=m+1|0;o=k+8|0;p=c[o>>2]|0;if(n>>>0>p>>>0){if(p>>>0>2147483645)ve(b,48651,0);q=p<<1;r=c[b+32>>2]|0;if((q|0)==-2)Hc(r);s=c[k>>2]|0;t=c[r+12>>2]|0;u=(s|0)==0;v=t+4|0;w=Pa[c[t>>2]&1](c[v>>2]|0,s,p,q)|0;if((q|0)!=0&(w|0)==0){if(!(a[t+51>>0]|0))uc(r,4);Gc(r,1);x=Pa[c[t>>2]&1](c[v>>2]|0,s,p,q)|0;if(!x)uc(r,4);else y=x}else y=w;w=t+12|0;c[w>>2]=(u?0:0-p|0)+q+(c[w>>2]|0);c[k>>2]=y;c[o>>2]=q;q=c[l>>2]|0;z=q+1|0;A=y;B=q}else{z=n;A=c[k>>2]|0;B=m}c[l>>2]=z;a[A+B>>0]=i;i=b+36|0;B=c[i>>2]|0;A=c[B>>2]|0;c[B>>2]=A+-1;if(!A){A=Oa[c[B+8>>2]&7](c[B+16>>2]|0,c[B+12>>2]|0,h)|0;z=c[h>>2]|0;if((A|0)==0|(z|0)==0)C=-1;else{c[B>>2]=z+-1;c[B+4>>2]=A+1;C=d[A>>0]|0}D=C}else{C=B+4|0;B=c[C>>2]|0;c[C>>2]=B+1;D=d[B>>0]|0}c[b>>2]=D;switch(D|0){case 13:case 10:{af(b);break}default:{}}D=(e|0)==0;B=b+32|0;a:while(1){C=c[b>>2]|0;b:do switch(C|0){case -1:{E=21;break a;break}case 93:{if((bf(b)|0)==(f|0)){E=23;break a}break}case 13:case 10:{A=c[j>>2]|0;z=A+4|0;l=c[z>>2]|0;m=l+1|0;k=A+8|0;n=c[k>>2]|0;if(m>>>0>n>>>0){if(n>>>0>2147483645){E=43;break a}q=n<<1;F=c[B>>2]|0;if((q|0)==-2){E=45;break a}y=c[A>>2]|0;o=c[F+12>>2]|0;w=(y|0)==0;p=o+4|0;u=Pa[c[o>>2]&1](c[p>>2]|0,y,n,q)|0;if((q|0)!=0&(u|0)==0){if(!(a[o+51>>0]|0)){E=49;break a}Gc(F,1);t=Pa[c[o>>2]&1](c[p>>2]|0,y,n,q)|0;if(!t){E=49;break a}else G=t}else G=u;u=o+12|0;c[u>>2]=(w?0:0-n|0)+q+(c[u>>2]|0);c[A>>2]=G;c[k>>2]=q;q=c[z>>2]|0;H=q+1|0;I=G;J=q}else{H=m;I=c[A>>2]|0;J=l}c[z>>2]=H;a[I+J>>0]=10;af(b);if(D)c[(c[j>>2]|0)+4>>2]=0;break}default:{if(D){z=c[i>>2]|0;l=c[z>>2]|0;c[z>>2]=l+-1;if(!l){l=Oa[c[z+8>>2]&7](c[z+16>>2]|0,c[z+12>>2]|0,h)|0;A=c[h>>2]|0;if((l|0)==0|(A|0)==0)K=-1;else{c[z>>2]=A+-1;c[z+4>>2]=l+1;K=d[l>>0]|0}L=K}else{l=z+4|0;z=c[l>>2]|0;c[l>>2]=z+1;L=d[z>>0]|0}c[b>>2]=L;break b}z=c[j>>2]|0;l=z+4|0;A=c[l>>2]|0;m=A+1|0;q=z+8|0;k=c[q>>2]|0;if(m>>>0>k>>>0){if(k>>>0>2147483645){E=58;break a}u=k<<1;M=c[B>>2]|0;if((u|0)==-2){E=60;break a}n=c[z>>2]|0;w=c[M+12>>2]|0;o=(n|0)==0;t=w+4|0;y=Pa[c[w>>2]&1](c[t>>2]|0,n,k,u)|0;if((u|0)!=0&(y|0)==0){if(!(a[w+51>>0]|0)){E=64;break a}Gc(M,1);p=Pa[c[w>>2]&1](c[t>>2]|0,n,k,u)|0;if(!p){E=64;break a}else N=p}else N=y;y=w+12|0;c[y>>2]=(o?0:0-k|0)+u+(c[y>>2]|0);c[z>>2]=N;c[q>>2]=u;u=c[l>>2]|0;O=u+1|0;P=N;Q=u}else{O=m;P=c[z>>2]|0;Q=A}c[l>>2]=O;a[P+Q>>0]=C;l=c[i>>2]|0;A=c[l>>2]|0;c[l>>2]=A+-1;if(!A){A=Oa[c[l+8>>2]&7](c[l+16>>2]|0,c[l+12>>2]|0,h)|0;z=c[h>>2]|0;if((A|0)==0|(z|0)==0)R=-1;else{c[l>>2]=z+-1;c[l+4>>2]=A+1;R=d[A>>0]|0}S=R}else{A=l+4|0;l=c[A>>2]|0;c[A>>2]=l+1;S=d[l>>0]|0}c[b>>2]=S}}while(0)}if((E|0)==21)ve(b,D?49432:49456,286);else if((E|0)==23){S=c[b>>2]|0;R=c[j>>2]|0;Q=R+4|0;P=c[Q>>2]|0;O=P+1|0;N=R+8|0;L=c[N>>2]|0;if(O>>>0>L>>>0){if(L>>>0>2147483645)ve(b,48651,0);K=L<<1;J=c[B>>2]|0;if((K|0)==-2)Hc(J);B=c[R>>2]|0;I=c[J+12>>2]|0;H=(B|0)==0;G=I+4|0;C=Pa[c[I>>2]&1](c[G>>2]|0,B,L,K)|0;if((K|0)!=0&(C|0)==0){if(!(a[I+51>>0]|0))uc(J,4);Gc(J,1);l=Pa[c[I>>2]&1](c[G>>2]|0,B,L,K)|0;if(!l)uc(J,4);else T=l}else T=C;C=I+12|0;c[C>>2]=(H?0:0-L|0)+K+(c[C>>2]|0);c[R>>2]=T;c[N>>2]=K;K=c[Q>>2]|0;U=K+1|0;V=T;W=K}else{U=O;V=c[R>>2]|0;W=P}c[Q>>2]=U;a[V+W>>0]=S;S=c[i>>2]|0;i=c[S>>2]|0;c[S>>2]=i+-1;if(!i){i=Oa[c[S+8>>2]&7](c[S+16>>2]|0,c[S+12>>2]|0,h)|0;W=c[h>>2]|0;if((i|0)==0|(W|0)==0)X=-1;else{c[S>>2]=W+-1;c[S+4>>2]=i+1;X=d[i>>0]|0}Y=X}else{X=S+4|0;S=c[X>>2]|0;c[X>>2]=S+1;Y=d[S>>0]|0}c[b>>2]=Y;if(D){Ia=g;return}D=c[j>>2]|0;j=f+2|0;c[e>>2]=le(b,(c[D>>2]|0)+j|0,(c[D+4>>2]|0)-(j<<1)|0)|0;Ia=g;return}else if((E|0)==43)ve(b,48651,0);else if((E|0)==45)Hc(F);else if((E|0)==49)uc(F,4);else if((E|0)==58)ve(b,48651,0);else if((E|0)==60)Hc(M);else if((E|0)==64)uc(M,4)}function df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;c[(c[a+40>>2]|0)+4>>2]=0;ef(a,92);a:do if((d|0)>0){f=0;do{g=c[b+(f<<2)>>2]|0;if((g|0)==-1)break a;ef(a,g);f=f+1|0}while((f|0)<(d|0))}while(0);ve(a,e,289)}function ef(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c[b+40>>2]|0;f=e+4|0;g=c[f>>2]|0;h=g+1|0;i=e+8|0;j=c[i>>2]|0;if(h>>>0<=j>>>0){k=h;l=c[e>>2]|0;m=g;n=d&255;c[f>>2]=k;o=l+m|0;a[o>>0]=n;return}if(j>>>0>2147483645)ve(b,48651,0);g=j<<1;h=c[b+32>>2]|0;if((g|0)==-2)Hc(h);b=ff(h,c[e>>2]|0,j,g)|0;c[e>>2]=b;c[i>>2]=g;g=c[f>>2]|0;k=g+1|0;l=b;m=g;n=d&255;c[f>>2]=k;o=l+m|0;a[o>>0]=n;return}function ff(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;g=c[b+12>>2]|0;h=(d|0)==0;i=g+4|0;j=Pa[c[g>>2]&1](c[i>>2]|0,d,e,f)|0;if((f|0)!=0&(j|0)==0){if(!(a[g+51>>0]|0))uc(b,4);Gc(b,1);k=Pa[c[g>>2]&1](c[i>>2]|0,d,e,f)|0;if(!k)uc(b,4);else l=k}else l=j;j=g+12|0;c[j>>2]=(h?0:0-e|0)+f+(c[j>>2]|0);return l|0}function gf(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ia;Ia=Ia+16|0;e=d;d=c[a>>2]|0;c[e>>2]=c[a+12>>2];c[e+4>>2]=b;sd(d,49586,e)|0;uc(c[a>>2]|0,3)}function hf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0;e=Ia;Ia=Ia+16|0;f=e+4|0;g=e;h=b+4|0;i=c[h>>2]|0;j=i+16|0;k=i+8|0;l=i+12|0;m=i+4|0;n=4;o=g;p=c[i>>2]|0;while(1){if(!p){q=Oa[c[k>>2]&7](c[j>>2]|0,c[l>>2]|0,f)|0;r=c[f>>2]|0;if((q|0)==0|(r|0)==0){s=7;break}c[i>>2]=r;c[m>>2]=q;t=r;u=q}else{t=p;u=c[m>>2]|0}q=n>>>0>t>>>0?t:n;zv(o|0,u|0,q|0)|0;p=(c[i>>2]|0)-q|0;c[i>>2]=p;c[m>>2]=(c[m>>2]|0)+q;n=n-q|0;if(!n)break;else o=o+q|0}if((s|0)==7)gf(b,49527);o=c[g>>2]|0;if((o|0)<0)gf(b,49576);c[d+64>>2]=o;o=c[h>>2]|0;n=o+16|0;m=o+8|0;p=o+12|0;i=o+4|0;u=4;t=g;l=c[o>>2]|0;while(1){if(!l){j=Oa[c[m>>2]&7](c[n>>2]|0,c[p>>2]|0,f)|0;k=c[f>>2]|0;if((j|0)==0|(k|0)==0){s=16;break}c[o>>2]=k;c[i>>2]=j;v=k;w=j}else{v=l;w=c[i>>2]|0}j=u>>>0>v>>>0?v:u;zv(t|0,w|0,j|0)|0;l=(c[o>>2]|0)-j|0;c[o>>2]=l;c[i>>2]=(c[i>>2]|0)+j;u=u-j|0;if(!u)break;else t=t+j|0}if((s|0)==16)gf(b,49527);t=c[g>>2]|0;if((t|0)<0)gf(b,49576);c[d+68>>2]=t;t=c[h>>2]|0;u=t+16|0;i=t+8|0;l=t+12|0;o=t+4|0;w=1;v=g;p=c[t>>2]|0;while(1){if(!p){n=Oa[c[i>>2]&7](c[u>>2]|0,c[l>>2]|0,f)|0;m=c[f>>2]|0;if((n|0)==0|(m|0)==0){s=25;break}c[t>>2]=m;c[o>>2]=n;x=m;y=n}else{x=p;y=c[o>>2]|0}n=w>>>0>x>>>0?x:w;zv(v|0,y|0,n|0)|0;p=(c[t>>2]|0)-n|0;c[t>>2]=p;c[o>>2]=(c[o>>2]|0)+n;w=w-n|0;if(!w)break;else v=v+n|0}if((s|0)==25)gf(b,49527);a[d+76>>0]=a[g>>0]|0;v=c[h>>2]|0;w=v+16|0;o=v+8|0;p=v+12|0;t=v+4|0;y=1;x=g;l=c[v>>2]|0;while(1){if(!l){u=Oa[c[o>>2]&7](c[w>>2]|0,c[p>>2]|0,f)|0;i=c[f>>2]|0;if((u|0)==0|(i|0)==0){s=32;break}c[v>>2]=i;c[t>>2]=u;z=i;A=u}else{z=l;A=c[t>>2]|0}u=y>>>0>z>>>0?z:y;zv(x|0,A|0,u|0)|0;l=(c[v>>2]|0)-u|0;c[v>>2]=l;c[t>>2]=(c[t>>2]|0)+u;y=y-u|0;if(!y)break;else x=x+u|0}if((s|0)==32)gf(b,49527);a[d+77>>0]=a[g>>0]|0;x=c[h>>2]|0;y=x+16|0;t=x+8|0;l=x+12|0;v=x+4|0;A=1;z=g;p=c[x>>2]|0;while(1){if(!p){w=Oa[c[t>>2]&7](c[y>>2]|0,c[l>>2]|0,f)|0;o=c[f>>2]|0;if((w|0)==0|(o|0)==0){s=39;break}c[x>>2]=o;c[v>>2]=w;B=o;C=w}else{B=p;C=c[v>>2]|0}w=A>>>0>B>>>0?B:A;zv(z|0,C|0,w|0)|0;p=(c[x>>2]|0)-w|0;c[x>>2]=p;c[v>>2]=(c[v>>2]|0)+w;A=A-w|0;if(!A)break;else z=z+w|0}if((s|0)==39)gf(b,49527);a[d+78>>0]=a[g>>0]|0;z=c[h>>2]|0;A=z+16|0;v=z+8|0;p=z+12|0;x=z+4|0;C=4;B=g;l=c[z>>2]|0;while(1){if(!l){y=Oa[c[v>>2]&7](c[A>>2]|0,c[p>>2]|0,f)|0;t=c[f>>2]|0;if((y|0)==0|(t|0)==0){s=46;break}c[z>>2]=t;c[x>>2]=y;D=t;E=y}else{D=l;E=c[x>>2]|0}y=C>>>0>D>>>0?D:C;zv(B|0,E|0,y|0)|0;l=(c[z>>2]|0)-y|0;c[z>>2]=l;c[x>>2]=(c[x>>2]|0)+y;C=C-y|0;if(!C)break;else B=B+y|0}if((s|0)==46)gf(b,49527);B=c[g>>2]|0;if((B|0)<0)gf(b,49576);C=c[b>>2]|0;if((B+1|0)>>>0>1073741823)Hc(C);x=B<<2;l=c[C+12>>2]|0;z=l+4|0;E=Pa[c[l>>2]&1](c[z>>2]|0,0,0,x)|0;if((x|0)!=0&(E|0)==0){if(!(a[l+51>>0]|0))uc(C,4);Gc(C,1);D=Pa[c[l>>2]&1](c[z>>2]|0,0,0,x)|0;if(!D)uc(C,4);else F=D}else F=E;E=l+12|0;c[E>>2]=(c[E>>2]|0)+x;c[d+12>>2]=F;c[d+48>>2]=B;B=c[h>>2]|0;do if(x){E=B+16|0;l=B+8|0;D=B+12|0;C=B+4|0;z=x;p=F;A=c[B>>2]|0;while(1){if(!A){v=Oa[c[l>>2]&7](c[E>>2]|0,c[D>>2]|0,f)|0;y=c[f>>2]|0;if((v|0)==0|(y|0)==0){s=62;break}c[B>>2]=y;c[C>>2]=v;G=y;H=v}else{G=A;H=c[C>>2]|0}v=z>>>0>G>>>0?G:z;zv(p|0,H|0,v|0)|0;A=(c[B>>2]|0)-v|0;c[B>>2]=A;c[C>>2]=(c[C>>2]|0)+v;z=z-v|0;if(!z){s=63;break}else p=p+v|0}if((s|0)==62)gf(b,49527);else if((s|0)==63){I=c[h>>2]|0;break}}else I=B;while(0);B=I+16|0;H=I+8|0;G=I+12|0;F=I+4|0;x=4;p=g;z=c[I>>2]|0;while(1){if(!z){C=Oa[c[H>>2]&7](c[B>>2]|0,c[G>>2]|0,f)|0;A=c[f>>2]|0;if((C|0)==0|(A|0)==0){s=70;break}c[I>>2]=A;c[F>>2]=C;J=A;K=C}else{J=z;K=c[F>>2]|0}C=x>>>0>J>>>0?J:x;zv(p|0,K|0,C|0)|0;z=(c[I>>2]|0)-C|0;c[I>>2]=z;c[F>>2]=(c[F>>2]|0)+C;x=x-C|0;if(!x)break;else p=p+C|0}if((s|0)==70)gf(b,49527);p=c[g>>2]|0;if((p|0)<0)gf(b,49576);x=c[b>>2]|0;if((p+1|0)>>>0>536870911)Hc(x);F=p<<3;z=c[x+12>>2]|0;I=z+4|0;K=Pa[c[z>>2]&1](c[I>>2]|0,0,0,F)|0;if((F|0)!=0&(K|0)==0){if(!(a[z+51>>0]|0))uc(x,4);Gc(x,1);J=Pa[c[z>>2]&1](c[I>>2]|0,0,0,F)|0;if(!J)uc(x,4);else L=J}else L=K;K=z+12|0;c[K>>2]=(c[K>>2]|0)+F;F=d+8|0;c[F>>2]=L;c[d+44>>2]=p;K=(p|0)>0;a:do if(K){z=0;do{c[L+(z<<3)+4>>2]=0;z=z+1|0}while((z|0)!=(p|0));if(K){z=b+8|0;J=0;x=L;b:while(1){I=x+(J<<3)|0;G=c[h>>2]|0;B=G+16|0;H=G+8|0;C=G+12|0;A=G+4|0;D=1;E=g;l=c[G>>2]|0;while(1){if(!l){v=Oa[c[H>>2]&7](c[B>>2]|0,c[C>>2]|0,f)|0;y=c[f>>2]|0;if((v|0)==0|(y|0)==0){s=90;break b}c[G>>2]=y;c[A>>2]=v;M=y;N=v}else{M=l;N=c[A>>2]|0}v=D>>>0>M>>>0?M:D;zv(E|0,N|0,v|0)|0;l=(c[G>>2]|0)-v|0;c[G>>2]=l;c[A>>2]=(c[A>>2]|0)+v;D=D-v|0;if(!D)break;else E=E+v|0}E=a[g>>0]|0;switch(E|0){case 0:{O=E;s=125;break}case 1:{E=c[h>>2]|0;D=E+16|0;A=E+8|0;l=E+12|0;G=E+4|0;C=1;B=g;H=c[E>>2]|0;while(1){if(!H){v=Oa[c[A>>2]&7](c[D>>2]|0,c[l>>2]|0,f)|0;y=c[f>>2]|0;if((v|0)==0|(y|0)==0){s=98;break b}c[E>>2]=y;c[G>>2]=v;P=y;Q=v}else{P=H;Q=c[G>>2]|0}v=C>>>0>P>>>0?P:C;zv(B|0,Q|0,v|0)|0;H=(c[E>>2]|0)-v|0;c[E>>2]=H;c[G>>2]=(c[G>>2]|0)+v;C=C-v|0;if(!C)break;else B=B+v|0}c[I>>2]=a[g>>0];O=1;s=125;break}case 3:{B=c[h>>2]|0;C=B+16|0;G=B+8|0;H=B+12|0;E=B+4|0;l=4;D=g;A=c[B>>2]|0;while(1){if(!A){v=Oa[c[G>>2]&7](c[C>>2]|0,c[H>>2]|0,f)|0;y=c[f>>2]|0;if((v|0)==0|(y|0)==0){s=106;break b}c[B>>2]=y;c[E>>2]=v;R=y;S=v}else{R=A;S=c[E>>2]|0}v=l>>>0>R>>>0?R:l;zv(D|0,S|0,v|0)|0;A=(c[B>>2]|0)-v|0;c[B>>2]=A;c[E>>2]=(c[E>>2]|0)+v;l=l-v|0;if(!l)break;else D=D+v|0}c[I>>2]=c[g>>2];O=3;s=125;break}case 4:{D=c[h>>2]|0;l=D+16|0;E=D+8|0;A=D+12|0;B=D+4|0;H=4;C=g;G=c[D>>2]|0;while(1){if(!G){v=Oa[c[E>>2]&7](c[l>>2]|0,c[A>>2]|0,f)|0;y=c[f>>2]|0;if((v|0)==0|(y|0)==0){s=114;break b}c[D>>2]=y;c[B>>2]=v;T=y;U=v}else{T=G;U=c[B>>2]|0}v=H>>>0>T>>>0?T:H;zv(C|0,U|0,v|0)|0;G=(c[D>>2]|0)-v|0;c[D>>2]=G;c[B>>2]=(c[B>>2]|0)+v;H=H-v|0;if(!H)break;else C=C+v|0}C=c[g>>2]|0;if(!C)V=0;else{H=jf(c[b>>2]|0,c[z>>2]|0,C)|0;B=c[h>>2]|0;G=B+16|0;D=B+8|0;A=B+12|0;l=B+4|0;E=C;v=H;y=c[B>>2]|0;while(1){if(!y){t=Oa[c[D>>2]&7](c[G>>2]|0,c[A>>2]|0,f)|0;w=c[f>>2]|0;if((t|0)==0|(w|0)==0){s=122;break b}c[B>>2]=w;c[l>>2]=t;W=w;X=t}else{W=y;X=c[l>>2]|0}t=E>>>0>W>>>0?W:E;zv(v|0,X|0,t|0)|0;y=(c[B>>2]|0)-t|0;c[B>>2]=y;c[l>>2]=(c[l>>2]|0)+t;E=E-t|0;if(!E)break;else v=v+t|0}V=td(c[b>>2]|0,H,C+-1|0)|0}c[I>>2]=V;O=(a[V+4>>0]|64)&255;s=125;break}default:{}}if((s|0)==125){s=0;c[x+(J<<3)+4>>2]=O}v=J+1|0;if((v|0)>=(p|0))break a;J=v;x=c[F>>2]|0}if((s|0)==90)gf(b,49527);else if((s|0)==98)gf(b,49527);else if((s|0)==106)gf(b,49527);else if((s|0)==114)gf(b,49527);else if((s|0)==122)gf(b,49527)}}while(0);F=c[h>>2]|0;p=F+16|0;O=F+8|0;V=F+12|0;X=F+4|0;W=4;U=g;T=c[F>>2]|0;while(1){if(!T){S=Oa[c[O>>2]&7](c[p>>2]|0,c[V>>2]|0,f)|0;R=c[f>>2]|0;if((S|0)==0|(R|0)==0){s=134;break}c[F>>2]=R;c[X>>2]=S;Y=R;Z=S}else{Y=T;Z=c[X>>2]|0}S=W>>>0>Y>>>0?Y:W;zv(U|0,Z|0,S|0)|0;T=(c[F>>2]|0)-S|0;c[F>>2]=T;c[X>>2]=(c[X>>2]|0)+S;W=W-S|0;if(!W)break;else U=U+S|0}if((s|0)==134)gf(b,49527);U=c[g>>2]|0;if((U|0)<0)gf(b,49576);W=c[b>>2]|0;if((U+1|0)>>>0>1073741823)Hc(W);X=U<<2;T=c[W+12>>2]|0;F=T+4|0;Z=Pa[c[T>>2]&1](c[F>>2]|0,0,0,X)|0;if((X|0)!=0&(Z|0)==0){if(!(a[T+51>>0]|0))uc(W,4);Gc(W,1);Y=Pa[c[T>>2]&1](c[F>>2]|0,0,0,X)|0;if(!Y)uc(W,4);else _=Y}else _=Z;Z=T+12|0;c[Z>>2]=(c[Z>>2]|0)+X;X=d+16|0;c[X>>2]=_;c[d+56>>2]=U;Z=(U|0)>0;c:do if(Z){c[_>>2]=0;if((U|0)!=1){T=1;do{c[(c[X>>2]|0)+(T<<2)>>2]=0;T=T+1|0}while((T|0)!=(U|0))}if(Z){T=0;while(1){$=c[b>>2]|0;Y=c[$+12>>2]|0;W=Y+4|0;F=Pa[c[Y>>2]&1](c[W>>2]|0,0,9,80)|0;if(!F){if(!(a[Y+51>>0]|0)){s=152;break}Gc($,1);V=Pa[c[Y>>2]&1](c[W>>2]|0,0,9,80)|0;if(!V){s=152;break}else aa=V}else aa=F;F=Y+12|0;c[F>>2]=(c[F>>2]|0)+80;F=Y+56|0;a[aa+5>>0]=a[Y+48>>0]&3;a[aa+4>>0]=9;c[aa>>2]=c[F>>2];c[F>>2]=aa;a[aa+76>>0]=0;a[aa+77>>0]=0;a[aa+78>>0]=0;F=aa+8|0;Y=F+64|0;do{c[F>>2]=0;F=F+4|0}while((F|0)<(Y|0));c[(c[X>>2]|0)+(T<<2)>>2]=aa;hf(b,c[(c[X>>2]|0)+(T<<2)>>2]|0);T=T+1|0;if((T|0)>=(U|0))break c}if((s|0)==152)uc($,4)}}while(0);$=c[h>>2]|0;U=$+16|0;X=$+8|0;aa=$+12|0;Z=$+4|0;_=4;T=g;F=c[$>>2]|0;while(1){if(!F){Y=Oa[c[X>>2]&7](c[U>>2]|0,c[aa>>2]|0,f)|0;I=c[f>>2]|0;if((Y|0)==0|(I|0)==0){s=160;break}c[$>>2]=I;c[Z>>2]=Y;ba=I;ca=Y}else{ba=F;ca=c[Z>>2]|0}Y=_>>>0>ba>>>0?ba:_;zv(T|0,ca|0,Y|0)|0;F=(c[$>>2]|0)-Y|0;c[$>>2]=F;c[Z>>2]=(c[Z>>2]|0)+Y;_=_-Y|0;if(!_)break;else T=T+Y|0}if((s|0)==160)gf(b,49527);T=c[g>>2]|0;if((T|0)<0)gf(b,49576);_=c[b>>2]|0;if((T+1|0)>>>0>536870911)Hc(_);Z=T<<3;F=c[_+12>>2]|0;$=F+4|0;ca=Pa[c[F>>2]&1](c[$>>2]|0,0,0,Z)|0;if((Z|0)!=0&(ca|0)==0){if(!(a[F+51>>0]|0))uc(_,4);Gc(_,1);ba=Pa[c[F>>2]&1](c[$>>2]|0,0,0,Z)|0;if(!ba)uc(_,4);else da=ba}else da=ca;ca=F+12|0;c[ca>>2]=(c[ca>>2]|0)+Z;Z=d+28|0;c[Z>>2]=da;c[d+40>>2]=T;d:do if((T|0)>0){ca=0;do{c[da+(ca<<3)>>2]=0;ca=ca+1|0}while((ca|0)!=(T|0));ca=0;e:while(1){F=c[h>>2]|0;ba=F+16|0;_=F+8|0;$=F+12|0;aa=F+4|0;U=1;X=g;Y=c[F>>2]|0;while(1){if(!Y){I=Oa[c[_>>2]&7](c[ba>>2]|0,c[$>>2]|0,f)|0;C=c[f>>2]|0;if((I|0)==0|(C|0)==0){s=179;break e}c[F>>2]=C;c[aa>>2]=I;ea=C;fa=I}else{ea=Y;fa=c[aa>>2]|0}I=U>>>0>ea>>>0?ea:U;zv(X|0,fa|0,I|0)|0;Y=(c[F>>2]|0)-I|0;c[F>>2]=Y;c[aa>>2]=(c[aa>>2]|0)+I;U=U-I|0;if(!U)break;else X=X+I|0}a[(c[Z>>2]|0)+(ca<<3)+4>>0]=a[g>>0]|0;X=c[h>>2]|0;U=X+16|0;aa=X+8|0;Y=X+12|0;F=X+4|0;$=1;ba=g;_=c[X>>2]|0;while(1){if(!_){I=Oa[c[aa>>2]&7](c[U>>2]|0,c[Y>>2]|0,f)|0;C=c[f>>2]|0;if((I|0)==0|(C|0)==0){s=186;break e}c[X>>2]=C;c[F>>2]=I;ga=C;ha=I}else{ga=_;ha=c[F>>2]|0}I=$>>>0>ga>>>0?ga:$;zv(ba|0,ha|0,I|0)|0;_=(c[X>>2]|0)-I|0;c[X>>2]=_;c[F>>2]=(c[F>>2]|0)+I;$=$-I|0;if(!$)break;else ba=ba+I|0}a[(c[Z>>2]|0)+(ca<<3)+5>>0]=a[g>>0]|0;ca=ca+1|0;if((ca|0)>=(T|0))break d}if((s|0)==179)gf(b,49527);else if((s|0)==186)gf(b,49527)}while(0);T=c[h>>2]|0;ha=T+16|0;ga=T+8|0;fa=T+12|0;ea=T+4|0;da=4;ca=g;ba=c[T>>2]|0;while(1){if(!ba){$=Oa[c[ga>>2]&7](c[ha>>2]|0,c[fa>>2]|0,f)|0;F=c[f>>2]|0;if(($|0)==0|(F|0)==0){s=194;break}c[T>>2]=F;c[ea>>2]=$;ia=F;ja=$}else{ia=ba;ja=c[ea>>2]|0}$=da>>>0>ia>>>0?ia:da;zv(ca|0,ja|0,$|0)|0;ba=(c[T>>2]|0)-$|0;c[T>>2]=ba;c[ea>>2]=(c[ea>>2]|0)+$;da=da-$|0;if(!da)break;else ca=ca+$|0}if((s|0)==194)gf(b,49527);ca=c[g>>2]|0;do if(ca){da=jf(c[b>>2]|0,c[b+8>>2]|0,ca)|0;ea=c[h>>2]|0;ba=ea+16|0;T=ea+8|0;ja=ea+12|0;ia=ea+4|0;fa=ca;ha=da;ga=c[ea>>2]|0;while(1){if(!ga){$=Oa[c[T>>2]&7](c[ba>>2]|0,c[ja>>2]|0,f)|0;F=c[f>>2]|0;if(($|0)==0|(F|0)==0){s=202;break}c[ea>>2]=F;c[ia>>2]=$;ka=F;la=$}else{ka=ga;la=c[ia>>2]|0}$=fa>>>0>ka>>>0?ka:fa;zv(ha|0,la|0,$|0)|0;ga=(c[ea>>2]|0)-$|0;c[ea>>2]=ga;c[ia>>2]=(c[ia>>2]|0)+$;fa=fa-$|0;if(!fa){s=203;break}else ha=ha+$|0}if((s|0)==202)gf(b,49527);else if((s|0)==203){ma=td(c[b>>2]|0,da,ca+-1|0)|0;break}}else ma=0;while(0);c[d+36>>2]=ma;ma=c[h>>2]|0;ca=ma+16|0;la=ma+8|0;ka=ma+12|0;ha=ma+4|0;fa=4;ia=g;ga=c[ma>>2]|0;while(1){if(!ga){ea=Oa[c[la>>2]&7](c[ca>>2]|0,c[ka>>2]|0,f)|0;ja=c[f>>2]|0;if((ea|0)==0|(ja|0)==0){s=210;break}c[ma>>2]=ja;c[ha>>2]=ea;na=ja;oa=ea}else{na=ga;oa=c[ha>>2]|0}ea=fa>>>0>na>>>0?na:fa;zv(ia|0,oa|0,ea|0)|0;ga=(c[ma>>2]|0)-ea|0;c[ma>>2]=ga;c[ha>>2]=(c[ha>>2]|0)+ea;fa=fa-ea|0;if(!fa)break;else ia=ia+ea|0}if((s|0)==210)gf(b,49527);ia=c[g>>2]|0;if((ia|0)<0)gf(b,49576);fa=c[b>>2]|0;if((ia+1|0)>>>0>1073741823)Hc(fa);ha=ia<<2;ga=c[fa+12>>2]|0;ma=ga+4|0;oa=Pa[c[ga>>2]&1](c[ma>>2]|0,0,0,ha)|0;do if((ha|0)!=0&(oa|0)==0){if(!(a[ga+51>>0]|0))uc(fa,4);Gc(fa,1);na=Pa[c[ga>>2]&1](c[ma>>2]|0,0,0,ha)|0;if(na|0){pa=na;break}uc(fa,4)}else pa=oa;while(0);oa=ga+12|0;c[oa>>2]=(c[oa>>2]|0)+ha;c[d+20>>2]=pa;c[d+52>>2]=ia;ia=c[h>>2]|0;do if(ha){oa=ia+16|0;ga=ia+8|0;fa=ia+12|0;ma=ia+4|0;na=ha;ka=pa;ca=c[ia>>2]|0;while(1){if(!ca){la=Oa[c[ga>>2]&7](c[oa>>2]|0,c[fa>>2]|0,f)|0;ea=c[f>>2]|0;if((la|0)==0|(ea|0)==0){s=226;break}c[ia>>2]=ea;c[ma>>2]=la;qa=ea;ra=la}else{qa=ca;ra=c[ma>>2]|0}la=na>>>0>qa>>>0?qa:na;zv(ka|0,ra|0,la|0)|0;ca=(c[ia>>2]|0)-la|0;c[ia>>2]=ca;c[ma>>2]=(c[ma>>2]|0)+la;na=na-la|0;if(!na){s=227;break}else ka=ka+la|0}if((s|0)==226)gf(b,49527);else if((s|0)==227){sa=c[h>>2]|0;break}}else sa=ia;while(0);ia=sa+16|0;ra=sa+8|0;qa=sa+12|0;pa=sa+4|0;ha=4;ka=g;na=c[sa>>2]|0;while(1){if(!na){ma=Oa[c[ra>>2]&7](c[ia>>2]|0,c[qa>>2]|0,f)|0;ca=c[f>>2]|0;if((ma|0)==0|(ca|0)==0){s=234;break}c[sa>>2]=ca;c[pa>>2]=ma;ta=ca;ua=ma}else{ta=na;ua=c[pa>>2]|0}ma=ha>>>0>ta>>>0?ta:ha;zv(ka|0,ua|0,ma|0)|0;na=(c[sa>>2]|0)-ma|0;c[sa>>2]=na;c[pa>>2]=(c[pa>>2]|0)+ma;ha=ha-ma|0;if(!ha)break;else ka=ka+ma|0}if((s|0)==234)gf(b,49527);ka=c[g>>2]|0;if((ka|0)<0)gf(b,49576);ha=c[b>>2]|0;if((ka+1|0)>>>0>357913941)Hc(ha);pa=ka*12|0;na=c[ha+12>>2]|0;sa=na+4|0;ua=Pa[c[na>>2]&1](c[sa>>2]|0,0,0,pa)|0;do if((pa|0)!=0&(ua|0)==0){if(!(a[na+51>>0]|0))uc(ha,4);Gc(ha,1);ta=Pa[c[na>>2]&1](c[sa>>2]|0,0,0,pa)|0;if(ta|0){va=ta;break}uc(ha,4)}else va=ua;while(0);ua=na+12|0;c[ua>>2]=(c[ua>>2]|0)+pa;pa=d+24|0;c[pa>>2]=va;c[d+60>>2]=ka;f:do if((ka|0)>0){d=0;do{c[va+(d*12|0)>>2]=0;d=d+1|0}while((d|0)!=(ka|0));d=b+8|0;ua=0;g:while(1){na=c[h>>2]|0;ha=na+16|0;sa=na+8|0;ta=na+12|0;qa=na+4|0;ia=4;ra=g;ma=c[na>>2]|0;while(1){if(!ma){ca=Oa[c[sa>>2]&7](c[ha>>2]|0,c[ta>>2]|0,f)|0;fa=c[f>>2]|0;if((ca|0)==0|(fa|0)==0){s=253;break g}c[na>>2]=fa;c[qa>>2]=ca;wa=fa;xa=ca}else{wa=ma;xa=c[qa>>2]|0}ca=ia>>>0>wa>>>0?wa:ia;zv(ra|0,xa|0,ca|0)|0;ma=(c[na>>2]|0)-ca|0;c[na>>2]=ma;c[qa>>2]=(c[qa>>2]|0)+ca;ia=ia-ca|0;if(!ia)break;else ra=ra+ca|0}ra=c[g>>2]|0;if(!ra)ya=0;else{ia=jf(c[b>>2]|0,c[d>>2]|0,ra)|0;qa=c[h>>2]|0;ma=qa+16|0;na=qa+8|0;ta=qa+12|0;ha=qa+4|0;sa=ra;ca=ia;fa=c[qa>>2]|0;while(1){if(!fa){oa=Oa[c[na>>2]&7](c[ma>>2]|0,c[ta>>2]|0,f)|0;ga=c[f>>2]|0;if((oa|0)==0|(ga|0)==0){s=261;break g}c[qa>>2]=ga;c[ha>>2]=oa;za=ga;Aa=oa}else{za=fa;Aa=c[ha>>2]|0}oa=sa>>>0>za>>>0?za:sa;zv(ca|0,Aa|0,oa|0)|0;fa=(c[qa>>2]|0)-oa|0;c[qa>>2]=fa;c[ha>>2]=(c[ha>>2]|0)+oa;sa=sa-oa|0;if(!sa)break;else ca=ca+oa|0}ya=td(c[b>>2]|0,ia,ra+-1|0)|0}c[(c[pa>>2]|0)+(ua*12|0)>>2]=ya;ca=c[h>>2]|0;sa=ca+16|0;ha=ca+8|0;fa=ca+12|0;qa=ca+4|0;ta=4;ma=g;na=c[ca>>2]|0;while(1){if(!na){oa=Oa[c[ha>>2]&7](c[sa>>2]|0,c[fa>>2]|0,f)|0;ga=c[f>>2]|0;if((oa|0)==0|(ga|0)==0){s=269;break g}c[ca>>2]=ga;c[qa>>2]=oa;Ba=ga;Ca=oa}else{Ba=na;Ca=c[qa>>2]|0}oa=ta>>>0>Ba>>>0?Ba:ta;zv(ma|0,Ca|0,oa|0)|0;na=(c[ca>>2]|0)-oa|0;c[ca>>2]=na;c[qa>>2]=(c[qa>>2]|0)+oa;ta=ta-oa|0;if(!ta)break;else ma=ma+oa|0}ma=c[g>>2]|0;if((ma|0)<0){s=271;break}c[(c[pa>>2]|0)+(ua*12|0)+4>>2]=ma;ma=c[h>>2]|0;ta=ma+16|0;qa=ma+8|0;na=ma+12|0;ca=ma+4|0;fa=4;sa=g;ha=c[ma>>2]|0;while(1){if(!ha){ra=Oa[c[qa>>2]&7](c[ta>>2]|0,c[na>>2]|0,f)|0;ia=c[f>>2]|0;if((ra|0)==0|(ia|0)==0){s=278;break g}c[ma>>2]=ia;c[ca>>2]=ra;Da=ia;Ea=ra}else{Da=ha;Ea=c[ca>>2]|0}ra=fa>>>0>Da>>>0?Da:fa;zv(sa|0,Ea|0,ra|0)|0;ha=(c[ma>>2]|0)-ra|0;c[ma>>2]=ha;c[ca>>2]=(c[ca>>2]|0)+ra;fa=fa-ra|0;if(!fa)break;else sa=sa+ra|0}sa=c[g>>2]|0;if((sa|0)<0){s=280;break}c[(c[pa>>2]|0)+(ua*12|0)+8>>2]=sa;ua=ua+1|0;if((ua|0)>=(ka|0))break f}if((s|0)==253)gf(b,49527);else if((s|0)==261)gf(b,49527);else if((s|0)==269)gf(b,49527);else if((s|0)==271)gf(b,49576);else if((s|0)==278)gf(b,49527);else if((s|0)==280)gf(b,49576)}while(0);ka=c[h>>2]|0;pa=ka+16|0;Ea=ka+8|0;Da=ka+12|0;Ca=ka+4|0;Ba=4;ya=g;Aa=c[ka>>2]|0;while(1){if(!Aa){za=Oa[c[Ea>>2]&7](c[pa>>2]|0,c[Da>>2]|0,f)|0;xa=c[f>>2]|0;if((za|0)==0|(xa|0)==0){s=288;break}c[ka>>2]=xa;c[Ca>>2]=za;Fa=xa;Ga=za}else{Fa=Aa;Ga=c[Ca>>2]|0}za=Ba>>>0>Fa>>>0?Fa:Ba;zv(ya|0,Ga|0,za|0)|0;Aa=(c[ka>>2]|0)-za|0;c[ka>>2]=Aa;c[Ca>>2]=(c[Ca>>2]|0)+za;Ba=Ba-za|0;if(!Ba)break;else ya=ya+za|0}if((s|0)==288)gf(b,49527);ya=c[g>>2]|0;if((ya|0)<0)gf(b,49576);if(!ya){Ia=e;return}Ba=b+8|0;Ca=0;h:while(1){Aa=c[h>>2]|0;ka=Aa+16|0;Ga=Aa+8|0;Fa=Aa+12|0;Da=Aa+4|0;pa=4;Ea=g;za=c[Aa>>2]|0;while(1){if(!za){xa=Oa[c[Ga>>2]&7](c[ka>>2]|0,c[Fa>>2]|0,f)|0;wa=c[f>>2]|0;if((xa|0)==0|(wa|0)==0){s=299;break h}c[Aa>>2]=wa;c[Da>>2]=xa;Ha=wa;Ja=xa}else{Ha=za;Ja=c[Da>>2]|0}xa=pa>>>0>Ha>>>0?Ha:pa;zv(Ea|0,Ja|0,xa|0)|0;za=(c[Aa>>2]|0)-xa|0;c[Aa>>2]=za;c[Da>>2]=(c[Da>>2]|0)+xa;pa=pa-xa|0;if(!pa)break;else Ea=Ea+xa|0}Ea=c[g>>2]|0;if(!Ea)Ka=0;else{pa=jf(c[b>>2]|0,c[Ba>>2]|0,Ea)|0;Da=c[h>>2]|0;za=Da+16|0;Aa=Da+8|0;Fa=Da+12|0;ka=Da+4|0;Ga=Ea;xa=pa;wa=c[Da>>2]|0;while(1){if(!wa){va=Oa[c[Aa>>2]&7](c[za>>2]|0,c[Fa>>2]|0,f)|0;ua=c[f>>2]|0;if((va|0)==0|(ua|0)==0){s=307;break h}c[Da>>2]=ua;c[ka>>2]=va;La=ua;Ma=va}else{La=wa;Ma=c[ka>>2]|0}va=Ga>>>0>La>>>0?La:Ga;zv(xa|0,Ma|0,va|0)|0;wa=(c[Da>>2]|0)-va|0;c[Da>>2]=wa;c[ka>>2]=(c[ka>>2]|0)+va;Ga=Ga-va|0;if(!Ga)break;else xa=xa+va|0}Ka=td(c[b>>2]|0,pa,Ea+-1|0)|0}c[(c[Z>>2]|0)+(Ca<<3)>>2]=Ka;Ca=Ca+1|0;if((Ca|0)>=(ya|0)){s=310;break}}if((s|0)==299)gf(b,49527);else if((s|0)==307)gf(b,49527);else if((s|0)==310){Ia=e;return}}function jf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=d+8|0;g=c[f>>2]|0;if(g>>>0>=e>>>0){h=c[d>>2]|0;return h|0}i=e>>>0>32?e:32;if((i+1|0)>>>0>4294967293)Hc(b);e=c[d>>2]|0;j=c[b+12>>2]|0;k=(e|0)==0;l=j+4|0;m=Pa[c[j>>2]&1](c[l>>2]|0,e,g,i)|0;if(!m){if(!(a[j+51>>0]|0))uc(b,4);Gc(b,1);n=Pa[c[j>>2]&1](c[l>>2]|0,e,g,i)|0;if(!n)uc(b,4);else o=n}else o=m;m=j+12|0;c[m>>2]=(k?0:0-g|0)+i+(c[m>>2]|0);c[d>>2]=o;c[f>>2]=i;h=o;return h|0}function kf(b){b=b|0;a[b+6>>0]=0;c[b+16>>2]=b+72;return}function lf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+12|0;h=c[g>>2]|0;do switch(e|0){case 0:{a[h+51>>0]=0;i=0;return i|0}case 1:{j=h+12|0;k=h+8|0;c[k>>2]=(c[k>>2]|0)+(c[j>>2]|0);c[j>>2]=0;a[h+51>>0]=1;i=0;return i|0}case 2:{Gc(b,0);i=0;return i|0}case 3:{i=((c[h+12>>2]|0)+(c[h+8>>2]|0)|0)>>>10;return i|0}case 4:{i=(c[h+12>>2]|0)+(c[h+8>>2]|0)&1023;return i|0}case 5:{if((a[h+50>>0]|0)==2){j=(c[h+20>>2]|0)==0&1;Kc(b);i=j;return i|0}else{j=h+12|0;k=c[j>>2]|0;l=(f<<10)+-1600+((a[h+51>>0]|0)==0?0:k)|0;m=h+8|0;c[m>>2]=k-l+(c[m>>2]|0);c[j>>2]=l;Kc(b);i=(a[h+49>>0]|0)==5&1;return i|0}break}case 6:{l=h+128|0;j=c[l>>2]|0;c[l>>2]=f;i=j;return i|0}case 8:{j=h+132|0;l=c[j>>2]|0;c[j>>2]=f;i=l;return i|0}case 7:{l=h+136|0;j=c[l>>2]|0;c[l>>2]=f;i=j;return i|0}case 9:{i=d[h+51>>0]|0;return i|0}case 10:{j=h+50|0;if((a[j>>0]|0)==2){i=0;return i|0}l=h+49|0;if(a[l>>0]|0)do cd(b)|0;while((a[l>>0]|0)!=0);c[h+20>>2]=(c[h+12>>2]|0)+(c[h+8>>2]|0);a[j>>0]=2;i=0;return i|0}case 11:{l=h+50|0;if(!(a[l>>0]|0)){i=0;return i|0}a[l>>0]=0;hd(b)|0;l=(c[g>>2]|0)+49|0;if(1<>0]&-29|0){i=0;return i|0}do cd(b)|0;while(!(1<>0]&-29|0));i=0;return i|0}default:{i=-1;return i|0}}while(0);return 0}function mf(a){a=a|0;zc(a);return 0}function nf(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)f=2336224;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2336224:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2336224}while(0);b=c[f>>2]|0;f=a+8|0;e=c[f>>2]|0;g=e+-8|0;i=of(a,b,g)|0;a=i+1|0;h=c[b+28>>2]|0;a:do if((a|0)<(h|0)){j=b+12|0;k=c[j>>2]|0;l=i;m=a;while(1){if(c[k+(m<<3)+4>>2]|0)break;n=m+1|0;if((n|0)<(h|0)){o=m;m=n;l=o}else{p=n;q=14;break a}}c[g>>2]=(l<<16)+131072;c[e+-4>>2]=3;k=c[j>>2]|0;c[e>>2]=c[k+(m<<3)>>2];r=k+(m<<3)+4|0}else{p=a;q=14}while(0);do if((q|0)==14){a=p-h|0;i=1<<(d[b+7>>0]|0);if((a|0)>=(i|0)){s=0;t=-1;u=c[f>>2]|0;v=u+(t<<3)|0;c[f>>2]=v;return s|0}k=b+16|0;n=c[k>>2]|0;o=a;while(1){if(c[n+(o*20|0)+4>>2]|0){q=17;break}a=o+1|0;if((a|0)<(i|0))o=a;else{s=0;t=-1;q=20;break}}if((q|0)==17){c[g>>2]=c[n+(o*20|0)+8>>2];c[e+-4>>2]=c[n+(o*20|0)+12>>2];i=c[k>>2]|0;c[e>>2]=c[i+(o*20|0)>>2];r=i+(o*20|0)+4|0;break}else if((q|0)==20){u=c[f>>2]|0;v=u+(t<<3)|0;c[f>>2]=v;return s|0}}while(0);c[e+4>>2]=c[r>>2];s=1;t=1;u=c[f>>2]|0;v=u+(t<<3)|0;c[f>>2]=v;return s|0}function of(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=Ia;Ia=Ia+16|0;f=e;g=d+4|0;switch(c[g>>2]|0){case 3:{h=2;break}case 0:{i=-1;Ia=e;return i|0}default:{}}if(((h|0)==2?(j=c[d>>2]|0,k=j>>16,(j|0)>65535&((j+-65536|0)>>>0<2147352577&(j&65535|0)==0)):0)?(k|0)<=(c[b+28>>2]|0):0){i=k+-1|0;Ia=e;return i|0}k=rd(b,d)|0;while(1){j=k+8|0;l=k+12|0;m=c[l>>2]|0;if((m|0)==(c[g>>2]|0)){if(Pc(0,j,d)|0)break;n=c[l>>2]|0}else n=m;if(((n|0)==11?c[g>>2]&64|0:0)?(c[j>>2]|0)==(c[d>>2]|0):0)break;j=c[k+16>>2]|0;if(!j){h=14;break}else k=j}if((h|0)==14)wc(a,49611,f);i=((k-(c[b+16>>2]|0)|0)/20|0)+(c[b+28>>2]|0)|0;Ia=e;return i|0}function pf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;if((d|0)<=1){if(d|0)return;e=b+8|0;f=c[e>>2]|0;g=Zc(b,3300628,0)|0;c[f>>2]=g;c[f+4>>2]=(a[g+4>>0]|64)&255;c[e>>2]=(c[e>>2]|0)+8;return}e=c[b+12>>2]|0;g=e+12|0;f=c[g>>2]|0;do if((f|0)>0)if(!(a[e+51>>0]|0)){h=e+8|0;c[h>>2]=f+1600+(c[h>>2]|0);c[g>>2]=-1600;break}else{Kc(b);break}while(0);Nc(b,d);return} function Yp(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;j=Ia;Ia=Ia+64|0;k=j;switch(h|0){case 3:case 0:{l=1;break}case 2:{l=3;break}case 4:{l=2;break}case 6:{l=4;break}default:l=0}m=B(l,i)|0;l=((B(m,f)|0)+7|0)>>>3;f=(m+7|0)>>>3;if(!m){n=31;Ia=j;return n|0}if((h|0)==3|i>>>0<8){if(!g){n=0;Ia=j;return n|0}i=l+1|0;if(!l){h=0;do{a[b+(B(h,i)|0)>>0]=0;h=h+1|0}while((h|0)!=(g|0));n=0;Ia=j;return n|0}h=0;do{m=B(h,i)|0;o=B(h,l)|0;a[b+m>>0]=0;p=b+(m+1)|0;m=e+o|0;o=0;do{a[p+o>>0]=a[m+o>>0]|0;o=o+1|0}while((o|0)!=(l|0));h=h+1|0}while((h|0)!=(g|0));n=0;Ia=j;return n|0}h=k;i=h+60|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));h=l<<1;i=k+8|0;do if(!l){c[k+4>>2]=l;c[k+16>>2]=l;c[k+28>>2]=l;c[k+40>>2]=l;q=k+56|0;r=k+44|0;s=k+32|0;t=k+20|0;u=0;v=0;w=0;x=0;y=0;z=89}else{o=bq(0,h)|0;if(o){c[i>>2]=h;c[k>>2]=o;c[k+4>>2]=l;m=k+20|0;p=bq(0,h)|0;if(p){c[m>>2]=h;c[k+12>>2]=p;c[k+16>>2]=l;A=k+32|0;C=bq(0,h)|0;if(C){c[A>>2]=h;c[k+24>>2]=C;c[k+28>>2]=l;D=k+44|0;E=bq(0,h)|0;if(E){c[D>>2]=h;c[k+36>>2]=E;c[k+40>>2]=l;F=k+56|0;G=bq(0,h)|0;if(!G){H=m;I=E;J=C;K=p;L=o}else{c[F>>2]=h;c[k+48>>2]=G;q=F;r=D;s=A;t=m;u=E;v=p;w=o;x=C;y=G;z=89;break}}else{H=m;I=0;J=C;K=p;L=o}}else{H=m;I=0;J=0;K=p;L=o}}else{H=m;I=0;J=0;K=0;L=o}}else{H=k+20|0;I=0;J=0;K=0;L=0}M=9949;N=k+32|0;O=k+44|0;P=k+56|0;Q=H;R=L;S=K;T=J;U=I;V=0}while(0);if((z|0)==89){c[k+52>>2]=l;if(!g){M=0;N=s;O=r;P=q;Q=t;R=w;S=v;T=x;U=u;V=y}else{y=(l|0)==0;u=(f|0)!=0;x=(l|0)!=0;v=f>>>0>>0;w=l+1|0;z=0;I=0;J=0;K=0;while(1){L=J;J=e+(B(K,l)|0)|0;H=(L|0)==0;h=z;i=I;o=0;do{m=c[k+(o*12|0)>>2]|0;a:do switch((o&255)<<24>>24){case 0:{if(!y){p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(l|0))}break}case 1:{if(H){if(u){p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{a[m+p>>0]=(d[J+p>>0]|0)-(d[J+(p-f)>>0]|0);p=p+1|0}while((p|0)!=(l|0))}else{if(u){p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{a[m+p>>0]=(d[J+p>>0]|0)-(d[J+(p-f)>>0]|0);p=p+1|0}while((p|0)!=(l|0))}break}case 2:{if(H){if(!x)break a;p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(l|0))}else{if(!x)break a;p=0;do{a[m+p>>0]=(d[J+p>>0]|0)-(d[L+p>>0]|0);p=p+1|0}while((p|0)!=(l|0))}break}case 3:{if(H){if(u){p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{a[m+p>>0]=(d[J+p>>0]|0)-((d[J+(p-f)>>0]|0)>>>1&255);p=p+1|0}while((p|0)!=(l|0))}else{if(u){p=0;do{a[m+p>>0]=(d[J+p>>0]|0)-((d[L+p>>0]|0)>>>1&255);p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{a[m+p>>0]=(d[J+p>>0]|0)-(((d[L+p>>0]|0)+(d[J+(p-f)>>0]|0)|0)>>>1);p=p+1|0}while((p|0)!=(l|0))}break}case 4:{if(H){if(u){p=0;do{a[m+p>>0]=a[J+p>>0]|0;p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{a[m+p>>0]=(d[J+p>>0]|0)-(d[J+(p-f)>>0]|0);p=p+1|0}while((p|0)!=(l|0))}else{if(u){p=0;do{a[m+p>>0]=(d[J+p>>0]|0)-(d[L+p>>0]|0);p=p+1|0}while((p|0)!=(f|0))}if(!v)break a;p=f;do{C=p-f|0;G=a[J+C>>0]|0;E=a[L+p>>0]|0;A=a[L+C>>0]|0;C=E&255;D=A&255;F=C-D|0;W=(F|0)>-1?F:0-F|0;F=G&255;X=F-D|0;Y=(X|0)>-1?X:0-X|0;X=C+F+(B(D,-2)|0)|0;D=(X|0)>-1?X:0-X|0;a[m+p>>0]=(d[J+p>>0]|0)-(((W|0)>(Y|0)|(W|0)>(D|0)?((Y|0)>(D|0)?A:E):G)&255);p=p+1|0}while((p|0)!=(l|0))}break}default:{}}while(0);p=c[k+(o*12|0)+4>>2]|0;if(!p)Z=0;else{G=0;E=0;while(1){A=E+(d[m+G>>0]|0)|0;G=G+3|0;if(G>>>0>=p>>>0){Z=A;break}else E=A}}E=(o|0)==0|Z>>>0>>0;h=E?Z:h;i=E?o:i;o=o+1|0}while((o|0)!=5);o=B(K,w)|0;a[b+o>>0]=i;if(!y){L=c[k+(i*12|0)>>2]|0;H=0;do{E=H;H=H+1|0;a[b+(H+o)>>0]=a[L+E>>0]|0}while((H|0)!=(l|0))}K=K+1|0;if((K|0)==(g|0))break;else{z=h;I=i}}M=0;N=s;O=r;P=q;Q=t;R=c[k>>2]|0;S=c[k+12>>2]|0;T=c[k+24>>2]|0;U=c[k+36>>2]|0;V=c[k+48>>2]|0}}cq(R);c[Q>>2]=0;cq(S);c[N>>2]=0;cq(T);c[O>>2]=0;cq(U);c[P>>2]=0;cq(V);n=M;Ia=j;return n|0}function Zp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=Ia;Ia=Ia+240|0;j=i+8|0;k=i+4|0;l=i;c[j>>2]=2;c[j+4>>2]=1;c[j+8>>2]=2048;c[j+12>>2]=1;c[j+16>>2]=0;c[j+20>>2]=1;c[j+24>>2]=0;c[j+32>>2]=0;c[j+28>>2]=0;m=j+64|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[j+48>>2]=6;c[j+52>>2]=8;c[j+56>>2]=0;c[j+60>>2]=0;c[j+44>>2]=0;c[j+36>>2]=0;c[j+40>>2]=0;m=j+80|0;c[j+144>>2]=0;n=j+160|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;n=m;o=n+48|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(o|0));a[m+48>>0]=0;m=j+192|0;n=j+216|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[n>>2]=1;c[j+184>>2]=g;c[j+188>>2]=h;Tp(j,k,l,d,e,f);f=c[n>>2]|0;Lp(j+28|0);j=c[m>>2]|0;if(j|0)cq(j);j=c[k>>2]|0;k=c[l>>2]|0;l=ju(b,74590)|0;if(!l){cq(j);Ia=i;return f|0}Nu(j,1,k,l)|0;pu(l)|0;cq(j);Ia=i;return f|0}function _p(a){a=a|0;var b=0,d=0;if(a>>>0<=1073741824?(c[585786]=(c[585786]|0)+1,(a|0)!=0):0){b=ws(a+8|0)|0;c[b>>2]=-1060065012;c[b+4>>2]=a;c[585788]=(c[585788]|0)+a;d=b+8|0}else d=0;Av(d|0,0,a|0)|0;return d|0}function $p(a,b,c){a=a|0;b=b|0;c=c|0;Av(a|0,b&255|0,c|0)|0;return}function aq(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;if(b>>>0<=1073741824?(c[585786]=(c[585786]|0)+1,(b|0)!=0):0){d=ws(a+24|0)|0;c[d>>2]=-1060065012;c[d+4>>2]=b;c[585788]=(c[585788]|0)+b;e=d+8|0}else e=0;Av(e|0,0,b|0)|0;return e|0}function bq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(a|0){c[585788]=b-(c[a+-4>>2]|0)+(c[585788]|0);d=zs(a+-8|0,b+8|0)|0;c[d+4>>2]=b;e=d+8|0;return e|0}d=b+16|0;if(d>>>0<=1073741824?(c[585786]=(c[585786]|0)+1,(d|0)!=0):0){a=ws(b+24|0)|0;c[a>>2]=-1060065012;c[a+4>>2]=d;c[585788]=(c[585788]|0)+d;f=a+8|0}else f=0;Av(f|0,0,d|0)|0;e=f;return e|0}function cq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Ia;Ia=Ia+16|0;d=b+8|0;e=b;if(c[585490]|0){Ia=b;return}if(!a){Ia=b;return}c[585787]=(c[585787]|0)+1;f=a+-8|0;g=c[f>>2]|0;h=a+-4|0;i=c[h>>2]|0;if((g|0)!=-1060065012){c[e>>2]=g;c[e+4>>2]=i;_u(66935,e)|0;ru(c[9036]|0)|0;e=c[h>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=e;Xs(1671456,66935,d)|0;hn(1671456);Ia=b;return}if(i>>>0>3){d=i>>>2;e=0;do{c[a+(e<<2)>>2]=-559038737;e=e+1|0}while(e>>>0>>0)}c[585788]=(c[585788]|0)-i;c[f>>2]=11254272;c[h>>2]=13491200;xs(f);Ia=b;return}function dq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[585786]|0;c[585786]=d+1;e=ws(100)|0;c[e>>2]=-1060065012;c[e+4>>2]=92;f=(c[585788]|0)+92|0;c[585788]=f;g=e+8|0;h=e+12|0;i=h+84|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(i|0));c[g>>2]=1;h=e+20|0;c[h>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;i=(b|0)>4?b:4;c[e+96>>2]=i;if(i>>>0>1073741824){j=0;Av(j|0,0,i|0)|0;c[h>>2]=j;return g|0}c[585786]=d+2;if(!i){j=0;Av(j|0,0,i|0)|0;c[h>>2]=j;return g|0}d=ws(i+8|0)|0;c[d>>2]=-1060065012;c[d+4>>2]=i;c[585788]=f+i;j=d+8|0;Av(j|0,0,i|0)|0;c[h>>2]=j;return g|0}function eq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=a+88|0;e=c[d>>2]|0;if((e|0)>=(b|0))return 0;f=b<<1;c[d>>2]=f;b=a+12|0;a=c[b>>2]|0;if(!a){g=f+16|0;if(g>>>0<=1073741824?(c[585786]=(c[585786]|0)+1,(g|0)!=0):0){h=ws(f+24|0)|0;c[h>>2]=-1060065012;c[h+4>>2]=g;c[585788]=(c[585788]|0)+g;i=h+8|0}else i=0;Av(i|0,0,g|0)|0;j=i;k=f}else{c[585788]=f-(c[a+-4>>2]|0)+(c[585788]|0);i=zs(a+-8|0,f+8|0)|0;c[i+4>>2]=f;j=i+8|0;k=c[d>>2]|0}c[b>>2]=j;Av(j+e|0,0,k-e|0)|0;return 0}function fq(a){a=a|0;uo(a);return}function gq(a){a=a|0;if(!a)return;c[a+16>>2]=0;c[a+20>>2]=0;return}function hq(b){b=b|0;var d=0,e=0,f=0,g=0;d=b+92|0;e=c[d>>2]|0;c[d>>2]=e+1;a[b+28+e>>0]=-128;f=c[d>>2]|0;if((e|0)>55){if((f|0)<64){e=f;do{c[d>>2]=e+1;a[b+28+e>>0]=0;e=c[d>>2]|0}while((e|0)<64)}iq(b);e=c[d>>2]|0;if((e|0)<56){g=e;do{c[d>>2]=g+1;a[b+28+g>>0]=0;g=c[d>>2]|0}while((g|0)<56)}}else if((f|0)<56){g=f;do{c[d>>2]=g+1;a[b+28+g>>0]=0;g=c[d>>2]|0}while((g|0)<56)}g=c[b+24>>2]|0;a[b+84>>0]=g>>>24;a[b+85>>0]=g>>>16;a[b+86>>0]=g>>>8;a[b+87>>0]=g;g=c[b+20>>2]|0;a[b+88>>0]=g>>>24;a[b+89>>0]=g>>>16;a[b+90>>0]=g>>>8;a[b+91>>0]=g;iq(b);return}function iq(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;b=Ia;Ia=Ia+320|0;e=b;f=0;do{g=f<<2;c[e+(f<<2)>>2]=(d[(g|2)+(a+28)>>0]|0)<<8|((d[(g|1)+(a+28)>>0]|0)<<16|(d[a+28+g>>0]|0)<<24)|(d[(g|3)+(a+28)>>0]|0);f=f+1|0}while((f|0)!=16);f=16;do{g=c[e+(f+-8<<2)>>2]^c[e+(f+-3<<2)>>2]^c[e+(f+-14<<2)>>2]^c[e+(f+-16<<2)>>2];c[e+(f<<2)>>2]=g<<1|g>>>31;f=f+1|0}while((f|0)!=80);f=c[a>>2]|0;g=a+4|0;h=c[g>>2]|0;i=a+8|0;j=c[i>>2]|0;k=a+12|0;l=c[k>>2]|0;m=a+16|0;n=c[m>>2]|0;o=l;p=j;q=h;r=f;s=n;t=0;while(1){u=(r<<5|r>>>27)+1518500249+s+(o&~q|p&q)+(c[e+(t<<2)>>2]|0)|0;v=q<<30|q>>>2;t=t+1|0;if((t|0)==20)break;else{w=r;x=p;p=v;r=u;s=o;q=w;o=x}}q=p;p=v;v=r;r=u;u=o;o=20;while(1){y=(r<<5|r>>>27)+1859775393+(p^v^q)+u+(c[e+(o<<2)>>2]|0)|0;z=v<<30|v>>>2;o=o+1|0;if((o|0)==40)break;else{s=r;t=p;p=z;r=y;u=q;v=s;q=t}}v=p;p=z;z=r;r=y;y=q;q=40;while(1){A=(r<<5|r>>>27)+-1894007588+y+((v|p)&z|v&p)+(c[e+(q<<2)>>2]|0)|0;B=z<<30|z>>>2;q=q+1|0;if((q|0)==60)break;else{u=r;o=p;p=B;r=A;y=v;z=u;v=o}}z=p;p=B;B=r;r=A;A=v;v=60;while(1){C=(r<<5|r>>>27)+-899497514+(p^B^z)+A+(c[e+(v<<2)>>2]|0)|0;D=B<<30|B>>>2;v=v+1|0;if((v|0)==80)break;else{y=r;q=p;p=D;r=C;A=z;B=y;z=q}}c[a>>2]=C+f;c[g>>2]=r+h;c[i>>2]=D+j;c[k>>2]=p+l;c[m>>2]=z+n;c[a+92>>2]=0;Ia=b;return}function jq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;f=Ia;Ia=Ia+128|0;g=f;h=f+24|0;i=h+20|0;c[i>>2]=0;j=h+24|0;c[j>>2]=0;k=h+92|0;c[k>>2]=0;c[h>>2]=1732584193;l=h+4|0;c[l>>2]=-271733879;m=h+8|0;c[m>>2]=-1732584194;n=h+12|0;c[n>>2]=271733878;o=h+16|0;c[o>>2]=-1009589776;p=h+96|0;c[p>>2]=0;q=h+100|0;c[q>>2]=0;a:do if(d){r=b;s=d;t=0;u=0;while(1){v=s+-1|0;w=a[r>>0]|0;c[k>>2]=t+1;a[h+28+t>>0]=w;w=u+8|0;c[i>>2]=w;if((w|0)==0?(w=(c[j>>2]|0)+1|0,c[j>>2]=w,(w|0)==0):0)c[q>>2]=1;if((c[k>>2]|0)==64)iq(h);x=(c[q>>2]|0)==0;if(!v)break;if(!x){y=0;break a}r=r+1|0;s=v;t=c[k>>2]|0;u=c[i>>2]|0}if(x)if(!(c[p>>2]|0))z=13;else y=1;else y=0}else z=13;while(0);if((z|0)==13){hq(h);c[p>>2]=1;y=1}p=c[l>>2]|0;l=c[m>>2]|0;m=c[n>>2]|0;n=c[o>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=p;c[g+8>>2]=l;c[g+12>>2]=m;c[g+16>>2]=n;Xs(e,66957,g)|0;Ia=f;return y|0}function kq(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;h=b+f|0;i=e+g|0;j=i+-12|0;if(!g){if((f|0)!=1){k=-1;return k|0}k=((a[b>>0]|0)!=0)<<31>>31;return k|0}f=i+-8|0;g=h+-8|0;l=h+-6|0;m=i+-5|0;n=b;o=e;while(1){p=o;q=n+1|0;r=d[n>>0]|0;s=r>>>4;if((s|0)==15)if(q>>>0>>0){t=15;u=q;while(1){v=u+1|0;w=a[u>>0]|0;x=t+(w&255)|0;if(w<<24>>24==-1&v>>>0>>0){t=x;u=v}else{y=x;z=v;break}}}else{y=15;z=q}else{y=s;z=q}A=o+y|0;B=z+y|0;if(A>>>0>j>>>0|B>>>0>g>>>0){C=10;break}u=o+8|0;t=(A>>>0>u>>>0?A:u)+-1+(0-p)&-8;v=o;x=z;while(1){w=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[v>>0]=w;a[v+1>>0]=w>>8;a[v+2>>0]=w>>16;a[v+3>>0]=w>>24;w=v+4|0;D=x+4|0;E=d[D>>0]|d[D+1>>0]<<8|d[D+2>>0]<<16|d[D+3>>0]<<24;a[w>>0]=E;a[w+1>>0]=E>>8;a[w+2>>0]=E>>16;a[w+3>>0]=E>>24;v=v+8|0;if(v>>>0>=A>>>0)break;else x=x+8|0}x=z+8+t+(A-(u+t))|0;v=d[x>>0]|d[x+1>>0]<<8;p=A+(0-(v&65535))|0;q=x+2|0;if(p>>>0>>0){F=q;break}x=r&15;a:do if((x|0)==15){s=15;E=q;while(1){if(E>>>0>=l>>>0){G=s;H=E;break a}w=E+1|0;D=a[E>>0]|0;I=s+(D&255)|0;if(D<<24>>24==-1){s=I;E=w}else{G=I;H=w;break}}}else{G=x;H=q}while(0);if((v&65535)<4){a[A>>0]=a[p>>0]|0;a[A+1>>0]=a[p+1>>0]|0;a[A+2>>0]=a[p+2>>0]|0;a[A+3>>0]=a[p+3>>0]|0;q=A+4|0;x=p+4|0;r=q;t=x+(0-(c[29632+(r-x<<2)>>2]|0))|0;x=d[t>>0]|d[t+1>>0]<<8|d[t+2>>0]<<16|d[t+3>>0]<<24;a[q>>0]=x;a[q+1>>0]=x>>8;a[q+2>>0]=x>>16;a[q+3>>0]=x>>24;J=t;K=q;L=r}else{r=d[p>>0]|d[p+1>>0]<<8|d[p+2>>0]<<16|d[p+3>>0]<<24;a[A>>0]=r;a[A+1>>0]=r>>8;a[A+2>>0]=r>>16;a[A+3>>0]=r>>24;r=A+4|0;J=p+4|0;K=r;L=r}r=A+4+G|0;if(r>>>0>f>>>0){if(r>>>0>m>>>0){F=H;break}q=A+12|0;t=(f>>>0>q>>>0?f:q)+-1+(0-L)&-8;x=J;u=K;while(1){E=d[x>>0]|d[x+1>>0]<<8|d[x+2>>0]<<16|d[x+3>>0]<<24;a[u>>0]=E;a[u+1>>0]=E>>8;a[u+2>>0]=E>>16;a[u+3>>0]=E>>24;E=u+4|0;s=x+4|0;w=d[s>>0]|d[s+1>>0]<<8|d[s+2>>0]<<16|d[s+3>>0]<<24;a[E>>0]=w;a[E+1>>0]=w>>8;a[E+2>>0]=w>>16;a[E+3>>0]=w>>24;u=u+8|0;if(u>>>0>=f>>>0)break;else x=x+8|0}x=q+t|0;if(x>>>0>>0){u=J+8+t|0;p=x;while(1){a[p>>0]=a[u>>0]|0;p=p+1|0;if((p|0)==(r|0))break;else u=u+1|0}}}else{u=J;p=K;while(1){t=d[u>>0]|d[u+1>>0]<<8|d[u+2>>0]<<16|d[u+3>>0]<<24;a[p>>0]=t;a[p+1>>0]=t>>8;a[p+2>>0]=t>>16;a[p+3>>0]=t>>24;t=p+4|0;q=u+4|0;x=d[q>>0]|d[q+1>>0]<<8|d[q+2>>0]<<16|d[q+3>>0]<<24;a[t>>0]=x;a[t+1>>0]=x>>8;a[t+2>>0]=x>>16;a[t+3>>0]=x>>24;p=p+8|0;if(p>>>0>=r>>>0)break;else u=u+8|0}}n=H;o=r}if((C|0)==10)if(A>>>0>i>>>0|(B|0)!=(h|0))F=z;else{zv(o|0,z|0,y|0)|0;k=A-e|0;return k|0}k=b+-1-F|0;return k|0}function lq(a,b,d){a=a|0;b=b|0;d=d|0;if(!d)return;if(c[584657]|c[584655]|0){Av(b|0,0,d|0)|0;return}if((c[584670]|0)==(c[584668]|0)?(c[584671]|0)==(c[584669]|0):0){mq(0,b,d);return}if((d|0)<=0)return;Av(b|0,0,d|0)|0;return}function mq(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;c[9029]=e;if(ka(28)|0){Av(d|0,0,e|0)|0;return}a=c[584656]|0;c[584656]=a+1;if((a|0)>2){Av(d|0,0,e|0)|0;return}c[769341]=1;a=c[584669]|0;f=(e|0)/(((a|0)==0?1:a<<1)|0)|0;a=(c[584668]|0)==44100?(f|0)/2|0:f;f=(c[9028]|0)==-1;g=yr()|0;if(!f){f=(g-(c[9028]|0)|0)>500;c[9028]=yr()|0;if(f){if((a|0)<=0)return;Av(d|0,0,a<<1|0)|0;return}}else c[9028]=g;c[585794]=0;nq(2868788,a);nq(2881824,a);nq(2894860,a);nq(2907896,a);nq(2920932,a);nq(2933968,a);nq(2947004,a);nq(2960040,a);nq(2973076,a);nq(2986112,a);nq(2999148,a);nq(3012184,a);nq(3025220,a);nq(3038256,a);nq(3051292,a);nq(3064328,a);if(c[585794]|0)c[584663]=(c[584663]|0)+1;g=(c[584959]|0)==0;if(!g){if(c[719253]|0)Av(2920932,0,e|0)|0;if(c[722512]|0)Av(2933968,0,e|0)|0;if(c[725771]|0)Av(2947004,0,e|0)|0;if(c[729030]|0)Av(2960040,0,e|0)|0}f=g?16:8;g=(a|0)>0;if(g){h=2;do{i=(h|0)/2|0;j=0;do{k=j+i|0;l=0;do{m=2868788+(j*13036|0)+(l<<1)|0;n=(b[2868788+(k*13036|0)+(l<<1)>>1]|0)+(b[m>>1]|0)|0;if((n|0)<=24575)if((n|0)<-24575)o=((n+24576|0)/5|0)+-24576|0;else o=n;else o=((n+-24576|0)/5|0)+24576|0;b[m>>1]=o;l=l+1|0}while((l|0)!=(a|0));j=j+h|0}while(j>>>0>>0);h=h<<1}while(h>>>0<=f>>>0)}else{h=2;do{o=0;do o=o+h|0;while(o>>>0>>0);h=h<<1}while(h>>>0<=f>>>0)}f=c[584939]|0;if((f|0)!=256&g){h=0;do{o=2868788+(h<<1)|0;b[o>>1]=(B(f,b[o>>1]|0)|0)>>>8;h=h+1|0}while((h|0)!=(a|0))}if(!((c[717196]|0)==0|(c[585795]|0)==0)?(h=c[585793]|0,h|0):0){f=(B(c[584940]|0,h)|0)>>16;if(0)vs(2343180,1683872,a);if(g){h=0;do{o=1683872+(h<<1)|0;b[o>>1]=(B(f,b[o>>1]|0)|0)>>>8;h=h+1|0}while((h|0)!=(a|0));h=0;do{f=2868788+(h<<1)|0;o=(b[1683872+(h<<1)>>1]|0)+(b[f>>1]|0)|0;if((o|0)<=24575)if((o|0)<-24575)p=((o+24576|0)/5|0)+-24576|0;else p=o;else p=((o+-24576|0)/5|0)+24576|0;b[f>>1]=p;h=h+1|0}while((h|0)!=(a|0))}}h=c[584668]|0;p=c[584669]|0;if((h|0)==22050&(p|0)==1){if(g){f=0;do{b[d+(f<<1)>>1]=b[2868788+(f<<1)>>1]|0;f=f+1|0}while((f|0)!=(a|0))}}else if((h|0)==44100&(p|0)==2?(p=a<<2,g):0){f=0;do{b[d+(f<<1)>>1]=b[2868788+(f>>>2<<1)>>1]|0;f=f+1|0}while((f|0)<(p|0))}p=c[769347]|0;if(!p)q=h;else{Sa[p&7](d,(e|0)/2|0);q=c[584668]|0}if((q|0)==22050&(c[584669]|0)==1&(c[584662]|0)!=0&g){g=0;do{oo(b[d+(g<<1)>>1]|0,c[769348]|0);g=g+1|0}while((g|0)!=(a|0))}c[769341]=0;return}function nq(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;$p(a,0,8192);if(1<>2]&c[807447]){oq(a,((d|0)/2|0)+1|0);if((d|0)>0){e=d;do{f=e;e=e+-1|0;b[a+(e<<1)>>1]=b[a+(((e|0)/2|0)<<1)>>1]|0}while((f|0)>1)}}else oq(a,d);e=a+8208|0;f=c[e>>2]|0;if(!((f|0)!=0&(d|0)>0))return;g=c[f>>2]|0;h=a+8216|0;i=f+28|0;j=f+20|0;f=~d;k=~g;l=0;m=c[h>>2]|0;while(1){n=d-l|0;o=g-m|0;p=(n|0)<(o|0)?n:o;if((p|0)<1)break;o=c[j>>2]|0;n=l+f|0;q=m+k|0;r=(n|0)>(q|0)?n:q;q=l+-1|0;n=0;s=l;t=m;while(1){b[a+(s<<1)>>1]=b[o+(t<<1)>>1]|0;n=n+1|0;if((n|0)>=(p|0))break;else{s=s+1|0;t=t+1|0}}t=m+-1-r|0;l=q-r|0;c[h>>2]=t;s=(c[i>>2]|0)==0|(t|0)<(g|0);c[h>>2]=s?t:0;if((l|0)>=(d|0)){u=14;break}else m=s?t:0}if((u|0)==14)return;if((g|0)>(m|0))return;c[a+11544>>2]=0;c[e>>2]=0;c[a+8232>>2]=0;e=a+8220|0;c[e>>2]=0;c[e+4>>2]=0;return}function oq(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;f=a+11752|0;c[a+11748>>2]=c[f>>2];g=c[584669]|0;h=(((d<<1|0)/(((g|0)==0?1:g<<1)|0)|0)*1e3|0)/(c[584668]|0)|0;g=yr()|0;i=((((c[f>>2]|0)+h|0)*6|0)+(g<<1)|0)/8|0;h=g+-200|0;c[f>>2]=(i|0)>(h|0)?i:h;h=a+11744|0;c[h>>2]=0;Av(a+11756|0,0,1280)|0;if((d|0)>0){i=a+11540|0;f=a+8228|0;g=a+8224|0;j=a+11548|0;k=a+8240|0;l=a+8604|0;m=a+11624|0;n=a+8236|0;o=a+11732|0;p=a+11736|0;q=a+11536|0;r=a;s=d;while(1){d=b[i>>1]|0;t=d<<16>>16;if(d<<16>>16<183){d=183-t|0;u=(d|0)<(s|0)?d:s;zv(r|0,a+8240+(t<<1)|0,u<<1|0)|0;b[i>>1]=u+(e[i>>1]|0);v=s-u|0;w=r+(u<<1)|0}else{v=s;w=r}u=c[h>>2]|0;if((u|0)<64){t=c[f>>2]|0;c[a+11756+(u*20|0)>>2]=t;d=c[g>>2]|0;c[a+11756+(u*20|0)+4>>2]=d;x=a+11756+(u*20|0)+8|0;c[x>>2]=0;if(d|0){y=c[d+8>>2]|0;c[x>>2]=(t|0)/(((y|0)>1?y:1)|0)|0}c[a+11756+(u*20|0)+12>>2]=c[j>>2];c[a+11756+(u*20|0)+16>>2]=c[584663];c[h>>2]=u+1}u=(v|0)>0;if(!u)break;y=b[l>>1]|0;t=c[g>>2]|0;x=(t|0)==0;if(x)z=0;else z=((c[t>>2]>>3|0)/3|0|0)%3|0;d=c[m>>2]>>3;A=((d|0)/3|0|0)%3|0;C=(z|0)>(A|0)?z:A;A=c[807448]|0;D=c[n>>2]|0;E=1<>2]=(F&A|0)==0?((E&A|0)==0|(C|0)>1?C:1):2;if(x)G=0;else G=((c[t>>2]>>3|0)/9|0|0)%3|0;t=((d|0)/9|0|0)%3|0;d=(G|0)>(t|0)?G:t;t=(d|0)==2?12:d;d=(t|0)==1?8:t;c[p>>2]=d;t=c[807450]|0;if(!(t&E))H=d;else{E=(d|0)>8?d:8;c[p>>2]=E;H=E}if(!(t&F))I=H;else{F=(H|0)>12?H:12;c[p>>2]=F;I=F}F=17<>2]=(I|0)>15?I:15;pq(a,k);F=c[807449]|0;t=c[n>>2]|0;if(!(1<>1]=b[t>>1]&-4089;F=F+1|0}while((F|0)!=183)}}else{F=0;do{t=a+8240+(F<<1)|0;D=b[t>>1]|0;E=D<<16>>16;if(D<<16>>16>-1)J=E&-4096;else J=0-((0-(E<<16)|0)>>>16&61440)|0;b[t>>1]=J;F=F+1|0}while((F|0)!=183)}F=c[p>>2]|0;if((F|0)>0){t=16-F|0;E=((B(t,b[k>>1]|0)|0)+(B(F,y<<16>>16)|0)|0)/16|0;b[k>>1]=E;D=1;d=E;do{E=a+8240+(D<<1)|0;d=((B(F,d<<16>>16)|0)+(B(t,b[E>>1]|0)|0)|0)/16|0;b[E>>1]=d;D=D+1|0}while((D|0)!=183)}b[i>>1]=0;zv(a+8606+(((c[q>>2]|0)%8|0)*366|0)|0,k|0,366)|0;c[q>>2]=((c[q>>2]|0)+1|0)%8|0;if(u){r=w;s=v}else break}v=c[h>>2]|0;if((v|0)<64)K=v;else return}else K=0;v=c[a+8228>>2]|0;c[a+11756+(K*20|0)>>2]=v;s=c[a+8224>>2]|0;c[a+11756+(K*20|0)+4>>2]=s;w=a+11756+(K*20|0)+8|0;c[w>>2]=0;if(s|0){r=c[s+8>>2]|0;c[w>>2]=(v|0)/(((r|0)>1?r:1)|0)|0}c[a+11756+(K*20|0)+12>>2]=c[a+11548>>2];c[a+11756+(K*20|0)+16>>2]=c[584663];c[h>>2]=K+1;return}function pq(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;e=Ia;Ia=Ia+96|0;f=e;Av(d|0,0,366)|0;g=a+8224|0;h=c[g>>2]|0;i=(h|0)!=0;if(i){j=c[h+8>>2]|0;k=(j|0)>1?j:1;j=a+8228|0;l=c[j>>2]|0;m=(l+1|0)/(k|0)|0;n=(l|0)%(k|0)|0;l=a+11552|0;o=f;p=l;q=o+96|0;do{c[o>>2]=c[p>>2];o=o+4|0;p=p+4|0}while((o|0)<(q|0));if(!n){c[a+11652>>2]=c[a+11616>>2];c[a+11648>>2]=c[a+11612>>2];c[a+11656>>2]=c[a+11608>>2]}rq(a,l);qq(l,d,183,a);o=1692064;q=o+128|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(q|0));qq(f,1692064,64,a);f=0;do{o=d+(f<<1)|0;q=B(f,b[o>>1]|0)|0;b[o>>1]=((B(64-f|0,b[1692064+(f<<1)>>1]|0)|0)+q|0)/64|0;f=f+1|0}while((f|0)!=64);f=a+11728|0;r=k;s=f;t=j;u=c[f>>2]|0;v=m}else{m=a+8228|0;f=c[m>>2]|0;Av(d|0,0,366)|0;j=f+1|0;f=a+11552|0;k=a+11580|0;if(c[a+11560>>2]|0?c[k>>2]|0:0){qq(f,d,64,a);f=0;do{q=d+(f<<1)|0;b[q>>1]=(B(64-f|0,b[q>>1]|0)|0)/64|0;f=f+1|0}while((f|0)!=64)}c[k>>2]=0;k=a+11728|0;c[k>>2]=0;r=1;s=k;t=m;u=0;v=j}j=(c[t>>2]|0)+1|0;c[t>>2]=j;m=a+11740|0;k=(c[m>>2]|0)+-1|0;c[m>>2]=k;c[s>>2]=u+1;if((i?(c[a+8232>>2]|0)!=0:0)?(i=c[h+16>>2]|0,u=c[h+12>>2]|0,!((i|0)<=(u|0)|(j|0)<(B(i,r)|0))):0){i=B(u,r)|0;c[t>>2]=i;w=i}else w=j;a:do if(c[g>>2]|0?(c[a+11544>>2]|0)==0:0){if(!k){c[g>>2]=0;break}j=c[h+16>>2]|0;i=c[h+12>>2]|0;if((j|0)<=(i|0)){do if((v|0)<(((j|0)==0&(i|0)>0?i:32)|0)){if((v|0)<32){r=0;u=v;while(1){r=(c[h+20+(u*20|0)+8>>2]|0)>0?1:r;if((u|0)>=31)break;else u=u+1|0}if((v|0)<31)x=(c[h+20+(v*20|0)+12>>2]|0)==1?1:r;else x=r}else x=0;if(!(c[a+11732>>2]|0))if(!x)break;else break a;else{u=c[h+8>>2]|0;if((x|0)==0?(w|0)>=((((u|0)>1?u:1)<<5)+128|0):0)break;else break a}}while(0);c[g>>2]=0}}while(0);w=a+8220|0;x=c[w>>2]|0;if(!x){Ia=e;return}h=a+11544|0;if(!((k|0)==0&(c[h>>2]|0)!=0)){Ia=e;return}k=a+11548|0;v=c[k>>2]|0;if(v>>>0>=64){Ia=e;return}c[585794]=1;i=c[x+43280+(v<<2)>>2]|0;do if(!(i&4)){b:do if(i&2){if((v|0)<=0){c[584664]=v;y=0;break}if(!(i&1)){j=v;while(1){u=j+-1|0;c[k>>2]=u;if((j|0)<=1){z=u;A=44;break b}if(!(c[x+43280+(u<<2)>>2]&1))j=u;else{z=u;A=44;break}}}else{z=v;A=44}}else{j=v+1|0;c[k>>2]=j;z=j;A=44}while(0);if((A|0)==44){c[584664]=z;if(z>>>0>63)break;else y=z}j=x+42256+(y<<4)|0;if((((c[j>>2]|0)>63?(c[x+42256+(y<<4)+4>>2]|0)>63:0)?(c[x+42256+(y<<4)+8>>2]|0)>63:0)?(c[x+42256+(y<<4)+12>>2]|0)>63:0){c[h>>2]=0;c[a+8208>>2]=0;c[a+8232>>2]=0;r=w;c[r>>2]=0;c[r+4>>2]=0;Ia=e;return}r=c[x+42256+(y<<4)+(c[a+8236>>2]<<2)>>2]|0;if((r|0)>63)C=0;else C=x+16+(((r|0)>0?r:0)*660|0)|0;c[g>>2]=C;c[t>>2]=0;b[a+11540>>1]=183;c[m>>2]=sq(x,j)|0;Ia=e;return}else{c[k>>2]=-1;c[584664]=-1}while(0);c[h>>2]=0;c[a+8208>>2]=0;c[a+8232>>2]=0;a=w;c[a>>2]=0;c[a+4>>2]=0;Ia=e;return}function qq(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;g=c[a+84>>2]|0;h=c[a+80>>2]|0;i=c[a+28>>2]|0;if((i|0)==0?(c[f+11732>>2]|0)==0:0){c[a+4>>2]=0;Av(d|0,0,e<<1|0)|0;return}j=a+4|0;k=c[j>>2]|0;l=a+12|0;m=c[a+8>>2]|0;n=c[a+16>>2]|0;o=(m|0)==(n|0)?k:c[l>>2]|0;p=(i*3|0)/2|0;i=c[a>>2]|0;switch(i|0){case 7:case 0:{if((e|0)>0){q=(g|0)==0;r=k;s=0;t=o;while(1){u=(r&32768|0)==0?(r*3|0)+-49152|0:(49152-r|0)*3|0;if(q){v=t&65535;w=u;x=(t&32768|0)==0?(v*3|0)+-49152|0:(49152-v|0)*3|0}else{v=(r|0)>57343;y=t&65535;if(y>>>0>57343)z=((y^65535)*24572|0)>>>13;else z=((y*24572|0)>>>0)/57344|0;w=(((u|0)/4|0)*3|0)+-12286+(((v?65535-r|0:r)*24572|0)/((v?8192:57344)|0)|0)|0;x=(((((t&32768|0)==0?(y*3|0)+-49152|0:(49152-y|0)*3|0)|0)/4|0)*3|0)+-12286+z|0}y=r+m&65535;v=t+n&131071;b[d+(s<<1)>>1]=(B(((w|0)/4|0)+((x|0)/8|0)|0,p)|0)/3072|0;s=s+1|0;if((s|0)==(e|0)){A=y;C=v;D=14;break}else{r=y;t=v}}}else{E=k;F=o;G=0}break}default:{A=k;C=o;D=14}}if((D|0)==14){o=(e|0)>0;if((i|0)==1&o){k=(h|0)==2&1;t=(g|0)==0;r=0;s=A;x=C;while(1){w=x<57343;q=((z?65535-s|0:s)*24572|0)/((z?8192:57344)|0)|0;z=w&65535;if(z>>>0>57343){H=q;I=((z^65535)*24572|0)>>>13;break}else{H=q;I=((z*24572|0)>>>0)/57344|0;break}}else{z=(s|0)>61439;q=((z?65535-s|0:s)*24572|0)/((z?4096:61440)|0)|0;z=w&65535;if(z>>>0>61439){H=q;I=((z^65535)*24572|0)>>>12;break}else{H=q;I=((z*24572|0)>>>0)/61440|0;break}}while(0);w=s+m&65535;z=x+n&131071;b[d+(r<<1)>>1]=(B(H+-12286+((I+-12286|0)/2|0)|0,p)|0)/3072|0;r=r+1|0;if((r|0)==(e|0)){E=w;F=z;G=o;break}else{s=w;x=z}}}else{E=A;F=C;G=o}}if((i|0)==2&G){o=(h|0)==2&1;C=(g|0)==0;A=0;x=E;s=F;while(1){r=s<>1]=(B((((K|0)/(L|0)|0|0)/2|0)+J|0,p)|0)/3072|0;A=A+1|0;if((A|0)==(e|0)){M=r;N=I;break}else{x=r;s=I}}}else{M=E;N=F}if((i+-3|0)>>>0<2){F=(i|0)==3?32768:45056;E=(g|0)==0?F:F+6144|0;if(G)if((h|0)==2){F=0;s=M;x=N;while(1){A=s+m&65535;J=x+n&131071;b[d+(F<<1)>>1]=(B(((x<<1&65534)>>>0>>0?-3071:3071)+((s|0)<(E|0)?-6143:6143)|0,p)|0)/3072|0;F=F+1|0;if((F|0)==(e|0)){O=A;P=J;D=37;break}else{s=A;x=J}}}else{x=0;s=M;F=N;while(1){J=s+m&65535;A=F+n&131071;b[d+(x<<1)>>1]=(B(((F&65535)>>>0>>0?-3071:3071)+((s|0)<(E|0)?-6143:6143)|0,p)|0)/3072|0;x=x+1|0;if((x|0)==(e|0)){O=J;P=A;D=37;break}else{s=J;F=A}}}else{Q=N;R=M;S=0}}else{O=M;P=N;D=37}a:do if((D|0)==37){b:do if((i|0)==5&G){N=(h|0)==2&1;if(g|0){M=32768>>>N;F=0;s=O;x=P;while(1){E=(s&16384|0)!=0;if(!(s&32768))T=E?32768-s|0:s;else T=((E?65536-s|0:s+-32768|0)<<1|0)/3|0;E=s+m&65535;A=x+n&131071;b[d+(F<<1)>>1]=(B(T+-8192+((x&M|0)==0?-1535:1535)|0,p)|0)/3072|0;F=F+1|0;if((F|0)==(e|0)){U=A;V=E;break b}else{s=E;x=A}}}x=0;s=O;F=P;while(1){M=(s&16384|0)!=0;if(!(s&32768))W=M?32768-s|0:s;else W=((M?65536-s|0:s+-32768|0)<<1|0)/3|0;M=F<>1]=(B(W+-8192+((X+-8192|0)/2|0)|0,p)|0)/3072|0;x=x+1|0;if((x|0)==(e|0)){U=E;V=A;break}else{s=A;F=E}}}else{U=P;V=O}while(0);if((i|0)==6){F=a+88|0;if(c[F>>2]|0?(s=64-(c[a+32>>2]>>16)|0,x=(s|0)>1?s:1,s=(x|0)>63?(x<<2)+-192|0:x,G):0){x=a+44|0;N=a+52|0;E=a+48|0;A=0;M=c[x>>2]|0;do{do if(M)if((c[F>>2]|0)>1){J=(B(s-M|0,p)|0)/(s|0)|0;L=(B(M,p)|0)/(s|0)|0;K=B(c[E>>2]|0,J)|0;b[d+(A<<1)>>1]=((B(c[N>>2]|0,L)|0)+K|0)/2048|0;Y=M;break}else{b[d+(A<<1)>>1]=(B(c[E>>2]|0,p)|0)/2048|0;Y=M;break}else{c[E>>2]=c[N>>2];c[N>>2]=(Yo(12286)|0)+-6143;b[d+(A<<1)>>1]=(B(c[E>>2]|0,p)|0)/2048|0;Y=c[x>>2]|0}while(0);M=(Y+1|0)%(s|0)|0;c[x>>2]=M;A=A+1|0}while((A|0)!=(e|0));if((c[a>>2]|0)!=6){Q=U;R=V;S=G;break}}if(!(c[a+88>>2]|0)){if((m|0)>78)Z=(m<<3)+1120|0;else Z=(B(79-m|0,-60)|0)+1752|0;A=(Z|0)>0?Z:0;M=(g|0)==0?c[a+40>>2]|0:0;if(G){x=a+24|0;s=A>>>1;E=a+20|0;N=a+36|0;F=(m+500|0)/3|0;if(!M){K=V;L=0;while(1){J=c[x>>2]&1^1;c[x>>2]=J;if(!J)_=c[E>>2]|0;else{J=(Yo(A)|0)-s|0;C=J+(c[E>>2]|0)|0;c[E>>2]=C;_=C}C=c[N>>2]|0;J=(2048/(((C|0)<48?64:C+16|0)|0)|0)+48|0;C=(_|0)<6143?_:6143;c[E>>2]=(C|0)>-6143?C:-6143;b[d+(L<<1)>>1]=(B(B(_>>6,p)|0,(J|0)>64?J:64)|0)/2048|0;J=K+m&65535;L=L+1|0;if((L|0)==(e|0)){Q=U;R=J;S=G;break a}else K=J}}K=V;L=0;while(1){J=c[x>>2]&1^1;c[x>>2]=J;if(J|0){J=(Yo(A)|0)-s|0;c[E>>2]=J+(c[E>>2]|0)}if(((B(K+101|0,K+317|0)|0)&8191|0)<(F|0)){J=(B((Yo(12286)|0)+-6143|0,M)|0)/1792|0;C=J+(c[E>>2]|0)|0;c[E>>2]=C;$=C}else $=c[E>>2]|0;C=c[N>>2]|0;J=(2048/(((C|0)<48?64:C+16|0)|0)|0)+48|0;C=($|0)<6143?$:6143;c[E>>2]=(C|0)>-6143?C:-6143;b[d+(L<<1)>>1]=(B(B($>>6,p)|0,(J|0)>64?J:64)|0)/2048|0;J=K+m&65535;L=L+1|0;if((L|0)==(e|0)){Q=U;R=J;S=G;break}else K=J}}else{Q=U;R=V;S=0}}else{Q=U;R=V;S=G}}else{Q=U;R=V;S=G}}while(0);c[j>>2]=R;c[l>>2]=Q;Q=c[a+92>>2]|0;if((Q|0)<=0)return;a=(c[f+11536>>2]|0)-((Q|0)==1?2:4)|0;if((a|0)>-1)aa=a;else aa=8-((0-a|0)%8|0)|0;a=(aa|0)%8|0;if(!S)return;S=0;do{aa=d+(S<<1)|0;b[aa>>1]=((b[f+8606+(a*366|0)+(S<<1)>>1]<<1)+(b[aa>>1]<<2)|0)/4|0;S=S+1|0}while((S|0)!=(e|0));return}function rq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;d=a+8224|0;e=c[d>>2]|0;f=(e|0)==0;if(!f?(g=c[e+8>>2]|0,h=(g|0)>1?g:1,g=a+8228|0,i=c[g>>2]|0,j=(i|0)/(h|0)|0,k=i-(B(j,h)|0)|0,!(f|j>>>0>31)):0){f=(c[e+8>>2]|0)<9;l=e+20+(j*20|0)|0;m=c[e+20+(j*20|0)+4>>2]|0;c[b>>2]=m;n=c[e+20+(j*20|0)+8>>2]|0;o=n<<8;p=b+28|0;c[p>>2]=o;q=c[l>>2]|0;r=q<<16;s=b+32|0;c[s>>2]=r;c[b+60>>2]=q;c[b+64>>2]=m;c[b+56>>2]=n;n=e+20+(j*20|0)+12|0;t=c[n>>2]|0;switch(t|0){case 1:{if((j|0)>0){u=c[a+11648>>2]|0;v=c[a+11656>>2]<<8}else{u=24;v=o}w=h-k|0;x=((B(w<<16,u)|0)+(B(r,k)|0)|0)/(h|0)|0;c[s>>2]=x;u=((B(v,w)|0)+(B(o,k)|0)|0)/(h|0)|0;c[p>>2]=u;y=x;z=0;A=u;break}case 4:{u=(B(o,k)|0)/(h|0)|0;c[p>>2]=u;y=r;z=1;A=u;break}case 5:{u=(B(o,h-k|0)|0)/(h|0)|0;c[p>>2]=u;y=r;z=0;A=u;break}case 6:{u=c[e+20+(((((i|0)/((f?2:4)|0)|0|0)%4|0)+(j&28)|0)*20|0)>>2]<<16;c[s>>2]=u;y=u;z=0;A=o;break}case 7:{u=c[e+20+(((((i|0)/((f?4:8)|0)|0|0)%4|0)+(j&28)|0)*20|0)>>2]<<16;c[s>>2]=u;y=u;z=0;A=o;break}default:{y=r;z=0;A=o}}c[b+36>>2]=q;c[b+40>>2]=A;A=b+68|0;c[A>>2]=0;o=b+72|0;c[o>>2]=0;r=e+20+(j*20|0)+16|0;if(!(c[r>>2]|0)){c[a+11728>>2]=0;C=y}else{do if(!k){y=a+11728|0;u=c[a+8220>>2]|0;f=(m|0)<7?m:7;i=(f|0)>0?f:0;f=c[u+16+(i*660|0)+16>>2]|0;x=c[u+16+(i*660|0)+12>>2]|0;if((f|0)>(x|0))D=16777216;else{w=c[u+16+(i*660|0)+8>>2]|0;D=B((w|0)>1?w:1,(f|0)==0&(x|0)>0?x:32)|0}x=(t|0)==3;if((t|0)!=1&((j|0)==0?1:(q|0)!=(c[a+11648>>2]|0))|(c[y>>2]|0)>=(D|0)){if(!(z|x^1))E=19}else if(!(x|z))E=19;if((E|0)==19?(m|0)==(c[a+11652>>2]|0):0)break;c[y>>2]=0}while(0);tq(a,l,b);C=c[s>>2]|0}l=c[a+8236>>2]|0;m=1<>2]=z;F=z}z=F&65535;s=F>>16;C=((s+48|0)/12|0)+-4|0;if((F|0)>-1)G=s;else G=12-((0-s|0)%12|0)|0;s=(G|0)%12|0;G=B(c[29664+(s<<2)>>2]|0,65536-z|0)|0;D=((B(c[29664+(s+1<<2)>>2]|0,z)|0)+G|0)/22050|0;if((F|0)<2359296){F=D;G=C;while(1){z=G+1|0;s=(F|0)/2|0;if((G|0)<2){F=s;G=z}else{H=z;I=s;break}}}else{H=C;I=D}if((H|0)>3){D=I;C=H;while(1){H=D<<1;if((C|0)>4){D=H;C=C+-1|0}else{J=H;break}}}else J=I;I=(J|0)<32768?J:32768;J=(I|0)>8?I:8;I=b+8|0;c[I>>2]=J;C=c[n>>2]|0;n=c[A>>2]|0;A=(n|0)==2;a:do if((C|0)==2)if(A)switch((c[g>>2]|0)>>>1&7){case 1:{D=(J*130|0)>>>7;c[I>>2]=D;K=D;break a;break}case 2:{D=(J*132|0)>>>7;c[I>>2]=D;K=D;break a;break}case 3:{D=(J*130|0)>>>7;c[I>>2]=D;K=D;break a;break}case 5:{D=(J*126|0)>>>7;c[I>>2]=D;K=D;break a;break}case 6:{D=(J*124|0)>>>7;c[I>>2]=D;K=D;break a;break}case 7:{D=(J*126|0)>>>7;c[I>>2]=D;K=D;break a;break}default:{K=J;break a}}else E=43;else if(A)E=43;else{L=J;E=50}while(0);b:do if((E|0)==43)switch((c[g>>2]|0)>>>1&7){case 1:{A=(J*129|0)>>>7;c[I>>2]=A;L=A;E=50;break b;break}case 2:{A=(J*130|0)>>>7;c[I>>2]=A;L=A;E=50;break b;break}case 3:{A=(J*129|0)>>>7;c[I>>2]=A;L=A;E=50;break b;break}case 5:{A=(J*127|0)>>>7;c[I>>2]=A;L=A;E=50;break b;break}case 6:{A=(J*126|0)>>>7;c[I>>2]=A;L=A;E=50;break b;break}case 7:{A=(J*127|0)>>>7;c[I>>2]=A;L=A;E=50;break b;break}default:{L=J;E=50;break b}}while(0);if((E|0)==50){if((C|0)==3&(c[r>>2]|0)==0){r=(B(L,h-k|0)|0)/(h|0)|0;c[I>>2]=r;M=r}else M=L;if((n|0)==3){n=(B(c[b+76>>2]|0,M)|0)/256|0;c[I>>2]=n;K=n}else K=M}if(c[a+11544>>2]|0){M=(B(c[585793]>>8,c[p>>2]|0)|0)/256|0;c[p>>2]=(B(M,c[584940]|0)|0)/256|0}M=c[e>>2]|0;e=(M>>3|0)%3|0;n=M>>>2&1;I=c[o>>2]|0;o=(I>>3|0)%3|0;L=(e|0)>(o|0)?e:o;c[b+80>>2]=L;o=I>>>2&1;c[b+84>>2]=n>>>0>o>>>0?n:o;o=M>>>1&1;M=b+88|0;n=I>>>1&1;I=o>>>0>n>>>0?o:n;c[M>>2]=I;n=c[b>>2]|0;c:do if((n|0)!=6|(I|0)==0){o=(L|0)==0;e=b+16|0;c[e>>2]=(B(K,o?256:255)|0)/256|0;d:do switch(n|0){case 0:{switch(L|0){case 1:{c[e>>2]=(K*193|0)/256|0;break d;break}case 2:{c[e>>2]=(K*384|0)/256|0;break d;break}default:break d}break}case 7:{if(o){c[e>>2]=(K*254|0)/256|0;break c}switch(L|0){case 1:{c[e>>2]=(K*250|0)/256|0;break c;break}case 2:{c[e>>2]=(K*508|0)/256|0;break c;break}default:break c}break}default:{}}while(0);if(n>>>0<6&(L|0)>0)c[p>>2]=((c[p>>2]|0)*5|0)/4|0}else{e=a+11736|0;if((c[e>>2]|0)>11){c[M>>2]=2;c[e>>2]=0}c[b+16>>2]=(B(K,(L|0)==0?256:255)|0)/256|0}while(0);L=c[d>>2]|0;if(!L)N=0;else N=((c[L>>2]>>3|0)/3|0|0)%3|0;L=b+92|0;d=((c[a+11624>>2]>>3|0)/3|0|0)%3|0;a=(N|0)>(d|0)?N:d;c[L>>2]=a;d=c[807448]|0;if(!(d&m))O=a;else{m=(a|0)>1?a:1;c[L>>2]=m;O=m}if(!(d&1<>2]=(O|0)>2?O:2;return}c[b+28>>2]=0;c[b>>2]=0;c[b+8>>2]=0;return}function sq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0;d=c[b>>2]|0;e=d>>>0<64;if(e?(f=c[a+16+(d*660|0)+16>>2]|0,g=c[a+16+(d*660|0)+12>>2]|0,(f|0)<=(g|0)):0){h=d;i=f;j=g}else k=4;do if((k|0)==4){g=c[b+4>>2]|0;f=g>>>0<64;if(f?(l=c[a+16+(g*660|0)+16>>2]|0,m=c[a+16+(g*660|0)+12>>2]|0,(l|0)<=(m|0)):0){h=g;i=l;j=m;break}m=c[b+8>>2]|0;l=m>>>0<64;if(l?(n=c[a+16+(m*660|0)+16>>2]|0,o=c[a+16+(m*660|0)+12>>2]|0,(n|0)<=(o|0)):0){h=m;i=n;j=o;break}o=c[b+12>>2]|0;n=o>>>0<64;if(n?(p=c[a+16+(o*660|0)+16>>2]|0,q=c[a+16+(o*660|0)+12>>2]|0,(p|0)<=(q|0)):0){h=o;i=p;j=q;break}if(e){q=c[a+16+(d*660|0)+8>>2]|0;p=(q|0)>1?q:1;q=(c[a+16+(d*660|0)+16>>2]|0)==0;if(q?(r=c[a+16+(d*660|0)+12>>2]|0,(r|0)>0):0)s=r;else s=32;if((B(s,p)|0)>=0){if(q?(q=c[a+16+(d*660|0)+12>>2]|0,(q|0)>0):0)t=q;else t=32;u=B(t,p)|0}else u=0}else u=0;if(f){f=c[a+16+(g*660|0)+8>>2]|0;p=(f|0)>1?f:1;f=(c[a+16+(g*660|0)+16>>2]|0)==0;if(f?(q=c[a+16+(g*660|0)+12>>2]|0,(q|0)>0):0)v=q;else v=32;if((u|0)<=(B(v,p)|0)){if(f?(f=c[a+16+(g*660|0)+12>>2]|0,(f|0)>0):0)w=f;else w=32;x=B(w,p)|0}else x=u}else x=u;if(l){l=c[a+16+(m*660|0)+8>>2]|0;p=(l|0)>1?l:1;l=(c[a+16+(m*660|0)+16>>2]|0)==0;if(l?(f=c[a+16+(m*660|0)+12>>2]|0,(f|0)>0):0)y=f;else y=32;if((x|0)<=(B(y,p)|0)){if(l?(l=c[a+16+(m*660|0)+12>>2]|0,(l|0)>0):0)z=l;else z=32;A=B(z,p)|0}else A=x}else A=x;if(!n){C=A;return C|0}n=c[a+16+(o*660|0)+8>>2]|0;p=(n|0)>1?n:1;n=(c[a+16+(o*660|0)+16>>2]|0)==0;if(n?(l=c[a+16+(o*660|0)+12>>2]|0,(l|0)>0):0)D=l;else D=32;if((A|0)>(B(D,p)|0)){C=A;return C|0}if(n?(n=c[a+16+(o*660|0)+12>>2]|0,(n|0)>0):0)E=n;else E=32;C=B(E,p)|0;return C|0}while(0);E=c[a+16+(h*660|0)+8>>2]|0;C=B((i|0)==0&(j|0)>0?j:32,(E|0)>1?E:1)|0;return C|0}function tq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=c[a+8220>>2]|0;if(!e)return;f=c[b+4>>2]|0;b=(f|0)<7?f:7;f=(b|0)>0?b:0;b=c[e+16+(f*660|0)+8>>2]|0;g=(b|0)>1?b:1;h=(b|0)<9;b=h?4:8;i=h?2:4;h=c[e+16+(f*660|0)+16>>2]|0;j=c[e+16+(f*660|0)+12>>2]|0;k=a+11728|0;l=c[k>>2]|0;if((h|0)<=(j|0)|(l|0)<(B(g,h)|0))m=l;else{l=B(j,g)|0;c[k>>2]=l;m=l}l=(m|0)/(g|0)|0;k=m-(B(l,g)|0)|0;if((l|0)<=31?(l|0)<(((h|0)==0&(j|0)>0?j:32)|0):0){j=(l|0)<31?l:31;h=(j|0)>0?j:0;j=e+16+(f*660|0)+20+(h*20|0)|0;n=c[j>>2]|0;o=n<<16;p=e+16+(f*660|0)+20+(h*20|0)+8|0;q=c[p>>2]|0;r=q<<8;if((k|0)==(g+-1|0)){c[a+11668>>2]=n;c[a+11676>>2]=q;c[a+11672>>2]=c[e+16+(f*660|0)+20+(h*20|0)+4>>2]}q=c[e+16+(f*660|0)+20+(h*20|0)+12>>2]|0;switch(q|0){case 1:{if((l|0)>0){s=c[a+11668>>2]<<16;t=c[a+11676>>2]<<8}else{s=1572864;t=r}a=g-k|0;u=((B(s,a)|0)+(B(k<<16,c[j>>2]|0)|0)|0)/(g|0)|0;v=((B(t,a)|0)+(B(r,k)|0)|0)/(g|0)|0;break}case 3:{c[d+76>>2]=(g-k<<8|0)/(g|0)|0;u=o;v=r;break}case 4:{u=o;v=(B(r,k)|0)/(g|0)|0;break}case 5:{u=o;v=(B(r,g-k|0)|0)/(g|0)|0;break}case 6:{u=c[e+16+(f*660|0)+20+(((((m|0)/(i|0)|0|0)%4|0)+(l&28)|0)*20|0)>>2]<<16;v=r;break}case 7:{u=c[e+16+(f*660|0)+20+(((((m|0)/(b|0)|0|0)%4|0)+(l&28)|0)*20|0)>>2]<<16;v=r;break}default:{u=o;v=r}}c[d>>2]=c[e+16+(f*660|0)+20+(h*20|0)+4>>2];h=d+32|0;c[h>>2]=u+-1572864+(c[h>>2]|0);h=d+36|0;c[h>>2]=(c[j>>2]|0)+-24+(c[h>>2]|0);h=c[p>>2]|0;c[d+40>>2]=(v*7|0)/(((h|0)>1?h:1)|0)|0;h=d+28|0;c[h>>2]=(B(c[h>>2]|0,v)|0)/1792|0;c[d+68>>2]=q;c[d+72>>2]=c[e+16+(f*660|0)>>2];return}c[d+28>>2]=0;c[d>>2]=0;return}function uq(){sr();return}function vq(){tr();return}function wq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Ia;Ia=Ia+16|0;e=d;$p(1683872,0,8192);c[585795]=0;$p(2868788,0,208576);c[e>>2]=c[584952];Xs(1671456,67014,e)|0;hn(1671456);if(c[584975]|0){f=0;Ia=d;return f|0}c[584668]=a;c[584669]=b;e=qr(a,b)|0;if(!e){f=0;Ia=d;return f|0}c[584668]=0;c[584669]=0;f=e;Ia=d;return f|0}function xq(){return rr()|0}function yq(a){a=a|0;c[769347]=a;return}function zq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=aq(40)|0;if(!d){e=0;return e|0}c[d>>2]=a;c[d+8>>2]=22050;c[d+4>>2]=b;c[d+12>>2]=1;c[d+28>>2]=0;c[d+32>>2]=256;f=aq(B((b|0)/8|0,a)|0)|0;c[d+16>>2]=f;c[d+20>>2]=f;c[d+36>>2]=-1;c[584503]=(c[584503]|0)+1;e=d;return e|0}function Aq(a){a=a|0;var b=0,d=0,e=0;if(!a)return;sr();if(0){sr();b=a+36|0;d=c[b>>2]|0;if(d>>>0<16?(e=2868788+(d*13036|0)+8208|0,(c[e>>2]|0)==(a|0)):0){c[2868788+(d*13036|0)+11544>>2]=0;c[e>>2]=0;c[2868788+(d*13036|0)+8232>>2]=0;e=2868788+(d*13036|0)+8220|0;c[e>>2]=0;c[e+4>>2]=0;c[b>>2]=-1}tr()}cq(c[a+16>>2]|0);cq(a);c[584503]=(c[584503]|0)+-1;tr();return}function Bq(a){a=a|0;var b=0,d=0,e=0;if(!((a|0)!=0&0!=0))return;sr();b=a+36|0;d=c[b>>2]|0;if(d>>>0<16?(e=2868788+(d*13036|0)+8208|0,(c[e>>2]|0)==(a|0)):0){c[2868788+(d*13036|0)+11544>>2]=0;c[e>>2]=0;c[2868788+(d*13036|0)+8232>>2]=0;e=2868788+(d*13036|0)+8220|0;c[e>>2]=0;c[e+4>>2]=0;c[b>>2]=-1}tr();return}function Cq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;sr();g=(d|0)==0?-1:d;a:do if((f+1|0)>>>0<=16){if(!a){if((f|0)!=-1){c[2868788+(f*13036|0)+11544>>2]=0;c[2868788+(f*13036|0)+8208>>2]=0;c[2868788+(f*13036|0)+8232>>2]=0;d=2868788+(f*13036|0)+8220|0;c[d>>2]=0;c[d+4>>2]=0;break}d=(c[584959]|0)==0?16:4;h=0;while(1){c[2868788+(h*13036|0)+11544>>2]=0;c[2868788+(h*13036|0)+8208>>2]=0;c[2868788+(h*13036|0)+8232>>2]=0;i=2868788+(h*13036|0)+8220|0;c[i>>2]=0;c[i+4>>2]=0;h=h+1|0;if(h>>>0>=d>>>0)break a}}d=(f|0)==-1;do if(!(c[584959]|0))if(d)if(!((c[745321]|0)==0&(c[745325]|0)==0&(c[746155]|0)==0))if(!((c[748580]|0)==0&(c[748584]|0)==0&(c[749414]|0)==0))if(!((c[751839]|0)==0&(c[751843]|0)==0&(c[752673]|0)==0))if(!((c[755098]|0)==0&(c[755102]|0)==0&(c[755932]|0)==0))if(!((c[758357]|0)==0&(c[758361]|0)==0&(c[759191]|0)==0))if(!((c[761616]|0)==0&(c[761620]|0)==0&(c[762450]|0)==0))if(!((c[764875]|0)==0&(c[764879]|0)==0&(c[765709]|0)==0))if((c[768134]|0)==0&(c[768138]|0)==0&(c[768968]|0)==0)j=15;else{h=c[745325]|0;if((h|0)!=0&(c[746155]|0)==0){k=c[h+8>>2]|0;l=8}else{k=256;l=-1}h=c[748584]|0;if((h|0)!=0&(c[749414]|0)==0){i=c[h+8>>2]|0;h=(l|0)==-1|(i|0)<(k|0);m=h?i:k;n=h?9:l}else{m=k;n=l}h=c[751843]|0;if((h|0)!=0&(c[752673]|0)==0){i=c[h+8>>2]|0;h=(n|0)==-1|(i|0)<(m|0);o=h?i:m;p=h?10:n}else{o=m;p=n}h=c[755102]|0;if((h|0)!=0&(c[755932]|0)==0){i=c[h+8>>2]|0;h=(p|0)==-1|(i|0)<(o|0);q=h?i:o;r=h?11:p}else{q=o;r=p}h=c[758361]|0;if((h|0)!=0&(c[759191]|0)==0){i=c[h+8>>2]|0;h=(r|0)==-1|(i|0)<(q|0);s=h?i:q;t=h?12:r}else{s=q;t=r}h=c[761620]|0;if((h|0)!=0&(c[762450]|0)==0){i=c[h+8>>2]|0;h=(t|0)==-1|(i|0)<(s|0);u=h?i:s;v=h?13:t}else{u=s;v=t}h=c[764879]|0;if((h|0)!=0&(c[765709]|0)==0){i=c[h+8>>2]|0;h=(v|0)==-1|(i|0)<(u|0);w=h?i:u;x=h?14:v}else{w=u;x=v}h=c[768138]|0;if(!((h|0)!=0&(c[768968]|0)==0)){y=x;z=26;break}if((x|0)!=-1?(c[h+8>>2]|0)>=(w|0):0){j=x;break}j=15}else j=14;else j=13;else j=12;else j=11;else j=10;else j=9;else j=8;else j=f;else if(d){h=(c[719249]|0)==0;if(!(h&(c[719253]|0)==0&(c[720083]|0)==0&(c[732285]|0)==0&(c[732289]|0)==0&(c[733119]|0)==0)){i=(c[722508]|0)==0;if(!(i&(c[722512]|0)==0&(c[723342]|0)==0&(c[735544]|0)==0&(c[735548]|0)==0&(c[736378]|0)==0)){A=(c[725767]|0)==0;if(!(A&(c[725771]|0)==0&(c[726601]|0)==0&(c[738803]|0)==0&(c[738807]|0)==0&(c[739637]|0)==0)){C=(c[729026]|0)==0;if(!(C&(c[729030]|0)==0&(c[729860]|0)==0&(c[742062]|0)==0&(c[742066]|0)==0&(c[742896]|0)==0)){D=c[807446]|0;if(!(h&(c[719253]|0)==0&(c[720083]|0)==0&(c[732285]|0)==0&(c[732289]|0)==0&(D&1|0)==0))if(!(i&(c[722512]|0)==0&(c[723342]|0)==0&(c[735544]|0)==0&(c[735548]|0)==0&(D&2|0)==0))if(!(A&(c[725771]|0)==0&(c[726601]|0)==0&(c[738803]|0)==0&(c[738807]|0)==0&(D&4|0)==0))if(!(C&(c[729030]|0)==0&(c[729860]|0)==0&(c[742062]|0)==0&(c[742066]|0)==0&(D&8|0)==0))if(!((c[720083]|D&1|0)==0&(h&(c[719253]|0)==0)))if(!((c[723342]|D&2|0)==0&(i&(c[722512]|0)==0)))if(!((c[726601]|D&4|0)==0&(A&(c[725771]|0)==0)))if((c[729860]|D&8|0)==0&(C&(c[729030]|0)==0))j=3;else{if((D&1|0)!=0?!((c[732285]|0)==0&(c[732289]|0)==0&(c[733119]|0)==0):0){E=256;F=-1}else z=17;do if((z|0)==17){C=c[719253]|0;if(!C){E=256;F=-1;break}E=c[C+8>>2]|0;F=0}while(0);if((D&2|0)!=0?!((c[735544]|0)==0&(c[735548]|0)==0&(c[736378]|0)==0):0){G=E;H=F}else z=52;do if((z|0)==52){C=c[722512]|0;if(!C){G=E;H=F;break}A=(F|0)!=-1;i=c[C+8>>2]|0;C=(i|0)>(E|0);G=A&C?E:i;H=(A&C^1)&1}while(0);if((D&4|0)!=0?!((c[738803]|0)==0&(c[738807]|0)==0&(c[739637]|0)==0):0){I=G;J=H}else z=56;do if((z|0)==56){C=c[725771]|0;if(!C){I=G;J=H;break}A=c[C+8>>2]|0;C=(H|0)!=-1&(A|0)>(G|0);I=C?G:A;J=C?H:2}while(0);if(D&8|0?!((c[742062]|0)==0&(c[742066]|0)==0&(c[742896]|0)==0):0){y=J;z=26;break}C=c[729030]|0;if(!C){y=J;z=26;break}if((J|0)!=-1?(c[C+8>>2]|0)>(I|0):0){j=J;break}j=3}else j=2;else j=1;else j=0;else j=3;else j=2;else j=1;else j=0}else j=3}else j=2}else j=1}else j=0}else j=f;while(0);if((z|0)==26)if(y>>>0>15)break;else j=y;d=c[a+8>>2]|0;C=(d|0)>1?d:1;c[2868788+(j*13036|0)+8224>>2]=a;c[2868788+(j*13036|0)+8236>>2]=j&3;c[2868788+(j*13036|0)+8228>>2]=B(C,b)|0;c[2868788+(j*13036|0)+11740>>2]=B(C,g)|0;c[2868788+(j*13036|0)+8220>>2]=e;c[2868788+(j*13036|0)+11544>>2]=0;c[2868788+(j*13036|0)+8232>>2]=1;tr();K=j;return K|0}while(0);tr();K=-1;return K|0}function Dq(a,b){a=a|0;b=b|0;var d=0,e=0;Eq(a);d=c[a+16>>2]|0;e=c[a+12>>2]|0;Cq(a,0,(d|0)>(e|0)?-1:(d|0)==0&(e|0)>0?e:32,b,-1)|0;return}function Eq(a){a=a|0;var b=0;sr();if(!a){if(!(c[720083]|0)){c[720083]=0;c[719249]=0;c[719255]=0;b=2877008;c[b>>2]=0;c[b+4>>2]=0}if(!(c[723342]|0)){c[723342]=0;c[722508]=0;c[722514]=0;b=2890044;c[b>>2]=0;c[b+4>>2]=0}if(!(c[726601]|0)){c[726601]=0;c[725767]=0;c[725773]=0;b=2903080;c[b>>2]=0;c[b+4>>2]=0}if(!(c[729860]|0)){c[729860]=0;c[729026]=0;c[729032]=0;b=2916116;c[b>>2]=0;c[b+4>>2]=0}if(!(c[733119]|0)){c[733119]=0;c[732285]=0;c[732291]=0;b=2929152;c[b>>2]=0;c[b+4>>2]=0}if(!(c[736378]|0)){c[736378]=0;c[735544]=0;c[735550]=0;b=2942188;c[b>>2]=0;c[b+4>>2]=0}if(!(c[739637]|0)){c[739637]=0;c[738803]=0;c[738809]=0;b=2955224;c[b>>2]=0;c[b+4>>2]=0}if(!(c[742896]|0)){c[742896]=0;c[742062]=0;c[742068]=0;b=2968260;c[b>>2]=0;c[b+4>>2]=0}if(!(c[746155]|0)){c[746155]=0;c[745321]=0;c[745327]=0;b=2981296;c[b>>2]=0;c[b+4>>2]=0}if(!(c[749414]|0)){c[749414]=0;c[748580]=0;c[748586]=0;b=2994332;c[b>>2]=0;c[b+4>>2]=0}if(!(c[752673]|0)){c[752673]=0;c[751839]=0;c[751845]=0;b=3007368;c[b>>2]=0;c[b+4>>2]=0}if(!(c[755932]|0)){c[755932]=0;c[755098]=0;c[755104]=0;b=3020404;c[b>>2]=0;c[b+4>>2]=0}if(!(c[759191]|0)){c[759191]=0;c[758357]=0;c[758363]=0;b=3033440;c[b>>2]=0;c[b+4>>2]=0}if(!(c[762450]|0)){c[762450]=0;c[761616]=0;c[761622]=0;b=3046476;c[b>>2]=0;c[b+4>>2]=0}if(!(c[765709]|0)){c[765709]=0;c[764875]=0;c[764881]=0;b=3059512;c[b>>2]=0;c[b+4>>2]=0}if(c[768968]|0){tr();return}c[768968]=0;c[768134]=0;c[768140]=0;b=3072548;c[b>>2]=0;c[b+4>>2]=0;tr();return}else{if((c[719253]|0)==(a|0)){c[720083]=0;c[719249]=0;c[719255]=0;b=2877008;c[b>>2]=0;c[b+4>>2]=0}if((c[722512]|0)==(a|0)){c[723342]=0;c[722508]=0;c[722514]=0;b=2890044;c[b>>2]=0;c[b+4>>2]=0}if((c[725771]|0)==(a|0)){c[726601]=0;c[725767]=0;c[725773]=0;b=2903080;c[b>>2]=0;c[b+4>>2]=0}if((c[729030]|0)==(a|0)){c[729860]=0;c[729026]=0;c[729032]=0;b=2916116;c[b>>2]=0;c[b+4>>2]=0}if((c[732289]|0)==(a|0)){c[733119]=0;c[732285]=0;c[732291]=0;b=2929152;c[b>>2]=0;c[b+4>>2]=0}if((c[735548]|0)==(a|0)){c[736378]=0;c[735544]=0;c[735550]=0;b=2942188;c[b>>2]=0;c[b+4>>2]=0}if((c[738807]|0)==(a|0)){c[739637]=0;c[738803]=0;c[738809]=0;b=2955224;c[b>>2]=0;c[b+4>>2]=0}if((c[742066]|0)==(a|0)){c[742896]=0;c[742062]=0;c[742068]=0;b=2968260;c[b>>2]=0;c[b+4>>2]=0}if((c[745325]|0)==(a|0)){c[746155]=0;c[745321]=0;c[745327]=0;b=2981296;c[b>>2]=0;c[b+4>>2]=0}if((c[748584]|0)==(a|0)){c[749414]=0;c[748580]=0;c[748586]=0;b=2994332;c[b>>2]=0;c[b+4>>2]=0}if((c[751843]|0)==(a|0)){c[752673]=0;c[751839]=0;c[751845]=0;b=3007368;c[b>>2]=0;c[b+4>>2]=0}if((c[755102]|0)==(a|0)){c[755932]=0;c[755098]=0;c[755104]=0;b=3020404;c[b>>2]=0;c[b+4>>2]=0}if((c[758361]|0)==(a|0)){c[759191]=0;c[758357]=0;c[758363]=0;b=3033440;c[b>>2]=0;c[b+4>>2]=0}if((c[761620]|0)==(a|0)){c[762450]=0;c[761616]=0;c[761622]=0;b=3046476;c[b>>2]=0;c[b+4>>2]=0}if((c[764879]|0)==(a|0)){c[765709]=0;c[764875]=0;c[764881]=0;b=3059512;c[b>>2]=0;c[b+4>>2]=0}if((c[768138]|0)!=(a|0)){tr();return}c[768968]=0;c[768134]=0;c[768140]=0;a=3072548;c[a>>2]=0;c[a+4>>2]=0;tr();return}}function Fq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;sr();b=(c[720083]|0)==0;do if(!a)if(b|(c[719252]|0)==0)if((c[723342]|0)==0|(c[722511]|0)==0)if((c[726601]|0)==0|(c[725770]|0)==0)if((c[729860]|0)==0|(c[729029]|0)==0)if((c[733119]|0)==0|(c[732288]|0)==0)if((c[736378]|0)==0|(c[735547]|0)==0)if((c[739637]|0)==0|(c[738806]|0)==0)if((c[742896]|0)==0|(c[742065]|0)==0)if((c[746155]|0)==0|(c[745324]|0)==0)if((c[749414]|0)==0|(c[748583]|0)==0)if((c[752673]|0)==0|(c[751842]|0)==0)if((c[755932]|0)==0|(c[755101]|0)==0)if((c[759191]|0)==0|(c[758360]|0)==0)if((c[762450]|0)==0|(c[761619]|0)==0)if((c[765709]|0)==0|(c[764878]|0)==0)if((c[768968]|0)==0|(c[768137]|0)==0)d=8;else{e=15;d=6}else{e=14;d=6}else{e=13;d=6}else{e=12;d=6}else{e=11;d=6}else{e=10;d=6}else{e=9;d=6}else{e=8;d=6}else{e=7;d=6}else{e=6;d=6}else{e=5;d=6}else{e=4;d=6}else{e=3;d=6}else{e=2;d=6}else{e=1;d=6}else{e=0;d=6}else{if(!b?(f=c[719252]|0,(f|0)!=0&(f|0)==(a|0)):0){e=0;d=6;break}if(c[723342]|0?(f=c[722511]|0,(f|0)!=0&(f|0)==(a|0)):0){e=1;d=6;break}if(c[726601]|0?(f=c[725770]|0,(f|0)!=0&(f|0)==(a|0)):0){e=2;d=6;break}if(c[729860]|0?(f=c[729029]|0,(f|0)!=0&(f|0)==(a|0)):0){e=3;d=6;break}if(c[733119]|0?(f=c[732288]|0,(f|0)!=0&(f|0)==(a|0)):0){e=4;d=6;break}if(c[736378]|0?(f=c[735547]|0,(f|0)!=0&(f|0)==(a|0)):0){e=5;d=6;break}if(c[739637]|0?(f=c[738806]|0,(f|0)!=0&(f|0)==(a|0)):0){e=6;d=6;break}if(c[742896]|0?(f=c[742065]|0,(f|0)!=0&(f|0)==(a|0)):0){e=7;d=6;break}if(c[746155]|0?(f=c[745324]|0,(f|0)!=0&(f|0)==(a|0)):0){e=8;d=6;break}if(c[749414]|0?(f=c[748583]|0,(f|0)!=0&(f|0)==(a|0)):0){e=9;d=6;break}if(c[752673]|0?(f=c[751842]|0,(f|0)!=0&(f|0)==(a|0)):0){e=10;d=6;break}if(c[755932]|0?(f=c[755101]|0,(f|0)!=0&(f|0)==(a|0)):0){e=11;d=6;break}if(c[759191]|0?(f=c[758360]|0,(f|0)!=0&(f|0)==(a|0)):0){e=12;d=6;break}if(c[762450]|0?(f=c[761619]|0,(f|0)!=0&(f|0)==(a|0)):0){e=13;d=6;break}if(c[765709]|0?(f=c[764878]|0,(f|0)!=0&(f|0)==(a|0)):0){e=14;d=6;break}if((c[768968]|0)!=0?(f=c[768137]|0,(f|0)!=0&(f|0)==(a|0)):0){e=15;d=6}else d=8}while(0);if((d|0)==6){tr();g=c[2868788+(e*13036|0)+11548>>2]|0;return g|0}else if((d|0)==8){tr();g=-1;return g|0}return 0}function Gq(a){a=a|0;var b=0,d=0,e=0;sr();if((c[719253]|0)!=(a|0))if((c[722512]|0)!=(a|0))if((c[725771]|0)!=(a|0))if((c[729030]|0)!=(a|0))if((c[732289]|0)!=(a|0))if((c[735548]|0)!=(a|0))if((c[738807]|0)!=(a|0))if((c[742066]|0)!=(a|0))if((c[745325]|0)!=(a|0))if((c[748584]|0)!=(a|0))if((c[751843]|0)!=(a|0))if((c[755102]|0)!=(a|0))if((c[758361]|0)!=(a|0))if((c[761620]|0)!=(a|0))if((c[764879]|0)!=(a|0))if((c[768138]|0)==(a|0))b=15;else{tr();d=-1;return d|0}else b=14;else b=13;else b=12;else b=11;else b=10;else b=9;else b=8;else b=7;else b=6;else b=5;else b=4;else b=3;else b=2;else b=1;else b=0;e=c[a+8>>2]|0;a=(c[2868788+(b*13036|0)+8228>>2]|0)/(((e|0)>1?e:1)|0)|0;tr();d=a;return d|0}function Hq(a){a=a|0;var b=0;sr();b=c[2868788+(a*13036|0)+8224>>2]|0;tr();return b|0}function Iq(a){a=a|0;var b=0;if((a+1|0)>>>0>16)return;sr();if((a|0)==-1){c[719255]=0;c[722514]=0;c[725773]=0;c[729032]=0;c[732291]=0;c[735550]=0;c[738809]=0;c[742068]=0;c[745327]=0;c[748586]=0;c[751845]=0;c[755104]=0;c[758363]=0;c[761622]=0;c[764881]=0;b=3072560}else b=2868788+(a*13036|0)+8232|0;c[b>>2]=0;tr();return}function Jq(a){a=a|0;var b=0,d=0;sr();b=(c[720083]|0)==0;if(!a){if(!b){c[720083]=0;c[719249]=0;c[719255]=0;d=2877008;c[d>>2]=0;c[d+4>>2]=0}if(c[723342]|0){c[723342]=0;c[722508]=0;c[722514]=0;d=2890044;c[d>>2]=0;c[d+4>>2]=0}if(c[726601]|0){c[726601]=0;c[725767]=0;c[725773]=0;d=2903080;c[d>>2]=0;c[d+4>>2]=0}if(c[729860]|0){c[729860]=0;c[729026]=0;c[729032]=0;d=2916116;c[d>>2]=0;c[d+4>>2]=0}if(c[733119]|0){c[733119]=0;c[732285]=0;c[732291]=0;d=2929152;c[d>>2]=0;c[d+4>>2]=0}if(c[736378]|0){c[736378]=0;c[735544]=0;c[735550]=0;d=2942188;c[d>>2]=0;c[d+4>>2]=0}if(c[739637]|0){c[739637]=0;c[738803]=0;c[738809]=0;d=2955224;c[d>>2]=0;c[d+4>>2]=0}if(c[742896]|0){c[742896]=0;c[742062]=0;c[742068]=0;d=2968260;c[d>>2]=0;c[d+4>>2]=0}if(c[746155]|0){c[746155]=0;c[745321]=0;c[745327]=0;d=2981296;c[d>>2]=0;c[d+4>>2]=0}if(c[749414]|0){c[749414]=0;c[748580]=0;c[748586]=0;d=2994332;c[d>>2]=0;c[d+4>>2]=0}if(c[752673]|0){c[752673]=0;c[751839]=0;c[751845]=0;d=3007368;c[d>>2]=0;c[d+4>>2]=0}if(c[755932]|0){c[755932]=0;c[755098]=0;c[755104]=0;d=3020404;c[d>>2]=0;c[d+4>>2]=0}if(c[759191]|0){c[759191]=0;c[758357]=0;c[758363]=0;d=3033440;c[d>>2]=0;c[d+4>>2]=0}if(c[762450]|0){c[762450]=0;c[761616]=0;c[761622]=0;d=3046476;c[d>>2]=0;c[d+4>>2]=0}if(c[765709]|0){c[765709]=0;c[764875]=0;c[764881]=0;d=3059512;c[d>>2]=0;c[d+4>>2]=0}if(!(c[768968]|0)){tr();return}c[768968]=0;c[768134]=0;c[768140]=0;d=3072548;c[d>>2]=0;c[d+4>>2]=0;tr();return}if(!b?(b=c[719252]|0,(b|0)!=0&(b|0)==(a|0)):0){c[720083]=0;c[719249]=0;c[719255]=0;b=2877008;c[b>>2]=0;c[b+4>>2]=0}if(c[723342]|0?(b=c[722511]|0,(b|0)!=0&(b|0)==(a|0)):0){c[723342]=0;c[722508]=0;c[722514]=0;b=2890044;c[b>>2]=0;c[b+4>>2]=0}if(c[726601]|0?(b=c[725770]|0,(b|0)!=0&(b|0)==(a|0)):0){c[726601]=0;c[725767]=0;c[725773]=0;b=2903080;c[b>>2]=0;c[b+4>>2]=0}if(c[729860]|0?(b=c[729029]|0,(b|0)!=0&(b|0)==(a|0)):0){c[729860]=0;c[729026]=0;c[729032]=0;b=2916116;c[b>>2]=0;c[b+4>>2]=0}if(c[733119]|0?(b=c[732288]|0,(b|0)!=0&(b|0)==(a|0)):0){c[733119]=0;c[732285]=0;c[732291]=0;b=2929152;c[b>>2]=0;c[b+4>>2]=0}if(c[736378]|0?(b=c[735547]|0,(b|0)!=0&(b|0)==(a|0)):0){c[736378]=0;c[735544]=0;c[735550]=0;b=2942188;c[b>>2]=0;c[b+4>>2]=0}if(c[739637]|0?(b=c[738806]|0,(b|0)!=0&(b|0)==(a|0)):0){c[739637]=0;c[738803]=0;c[738809]=0;b=2955224;c[b>>2]=0;c[b+4>>2]=0}if(c[742896]|0?(b=c[742065]|0,(b|0)!=0&(b|0)==(a|0)):0){c[742896]=0;c[742062]=0;c[742068]=0;b=2968260;c[b>>2]=0;c[b+4>>2]=0}if(c[746155]|0?(b=c[745324]|0,(b|0)!=0&(b|0)==(a|0)):0){c[746155]=0;c[745321]=0;c[745327]=0;b=2981296;c[b>>2]=0;c[b+4>>2]=0}if(c[749414]|0?(b=c[748583]|0,(b|0)!=0&(b|0)==(a|0)):0){c[749414]=0;c[748580]=0;c[748586]=0;b=2994332;c[b>>2]=0;c[b+4>>2]=0}if(c[752673]|0?(b=c[751842]|0,(b|0)!=0&(b|0)==(a|0)):0){c[752673]=0;c[751839]=0;c[751845]=0;b=3007368;c[b>>2]=0;c[b+4>>2]=0}if(c[755932]|0?(b=c[755101]|0,(b|0)!=0&(b|0)==(a|0)):0){c[755932]=0;c[755098]=0;c[755104]=0;b=3020404;c[b>>2]=0;c[b+4>>2]=0}if(c[759191]|0?(b=c[758360]|0,(b|0)!=0&(b|0)==(a|0)):0){c[759191]=0;c[758357]=0;c[758363]=0;b=3033440;c[b>>2]=0;c[b+4>>2]=0}if(c[762450]|0?(b=c[761619]|0,(b|0)!=0&(b|0)==(a|0)):0){c[762450]=0;c[761616]=0;c[761622]=0;b=3046476;c[b>>2]=0;c[b+4>>2]=0}if(c[765709]|0?(b=c[764878]|0,(b|0)!=0&(b|0)==(a|0)):0){c[765709]=0;c[764875]=0;c[764881]=0;b=3059512;c[b>>2]=0;c[b+4>>2]=0}if(!(c[768968]|0)){tr();return}b=c[768137]|0;if(!((b|0)!=0&(b|0)==(a|0))){tr();return}c[768968]=0;c[768134]=0;c[768140]=0;a=3072548;c[a>>2]=0;c[a+4>>2]=0;tr();return}function Kq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;sr();Jq(a);if(!((a|0)!=0&b>>>0<64)){tr();return}e=a+42256+(b<<4)|0;if(!(sq(a,e)|0)){tr();return}c[584663]=0;c[584664]=b;f=c[e>>2]|0;g=(f|0)<63?f:63;f=Cq(a+16+(((g|0)>0?g:0)*660|0)|0,0,32,a,4)|0;if((f|0)!=-1){if((c[e>>2]|0)>63)c[2868788+(f*13036|0)+8224>>2]=0;c[2868788+(f*13036|0)+11544>>2]=1;c[2868788+(f*13036|0)+8220>>2]=a;c[2868788+(f*13036|0)+11548>>2]=b;c[2868788+(f*13036|0)+8236>>2]=0;c[2868788+(f*13036|0)+11740>>2]=sq(a,e)|0;c[2868788+(f*13036|0)+11744>>2]=0}f=a+42256+(b<<4)+4|0;g=c[f>>2]|0;h=(g|0)<63?g:63;g=Cq(a+16+(((h|0)>0?h:0)*660|0)|0,0,32,a,5)|0;if((g|0)!=-1){if((c[f>>2]|0)>63)c[2868788+(g*13036|0)+8224>>2]=0;c[2868788+(g*13036|0)+11544>>2]=1;c[2868788+(g*13036|0)+8220>>2]=a;c[2868788+(g*13036|0)+11548>>2]=b;c[2868788+(g*13036|0)+8236>>2]=1;c[2868788+(g*13036|0)+11740>>2]=sq(a,e)|0;c[2868788+(g*13036|0)+11744>>2]=0}g=a+42256+(b<<4)+8|0;f=c[g>>2]|0;h=(f|0)<63?f:63;f=Cq(a+16+(((h|0)>0?h:0)*660|0)|0,0,32,a,6)|0;if((f|0)!=-1){if((c[g>>2]|0)>63)c[2868788+(f*13036|0)+8224>>2]=0;c[2868788+(f*13036|0)+11544>>2]=1;c[2868788+(f*13036|0)+8220>>2]=a;c[2868788+(f*13036|0)+11548>>2]=b;c[2868788+(f*13036|0)+8236>>2]=2;c[2868788+(f*13036|0)+11740>>2]=sq(a,e)|0;c[2868788+(f*13036|0)+11744>>2]=0}f=a+42256+(b<<4)+12|0;g=c[f>>2]|0;h=(g|0)<63?g:63;g=Cq(a+16+(((h|0)>0?h:0)*660|0)|0,0,32,a,7)|0;if((g|0)!=-1){if((c[f>>2]|0)>63)c[2868788+(g*13036|0)+8224>>2]=0;c[2868788+(g*13036|0)+11544>>2]=1;c[2868788+(g*13036|0)+8220>>2]=a;c[2868788+(g*13036|0)+11548>>2]=b;c[2868788+(g*13036|0)+8236>>2]=3;c[2868788+(g*13036|0)+11740>>2]=sq(a,e)|0;c[2868788+(g*13036|0)+11744>>2]=0}c[585790]=d;c[585789]=yr()|0;c[585791]=0;c[585792]=65536;Lq();tr();return}function Lq(){var a=0,b=0,d=0,e=0;sr();a=c[585793]|0;b=c[585792]|0;if((a|0)==(b|0)){if(!a){sr();c[717196]=0;Jq(0);tr()}tr();return}if(!(c[585790]|0)){c[585793]=b;if(!b){sr();c[717196]=0;Jq(0);tr()}tr();return}b=yr()|0;a=b-(c[585789]|0)|0;b=c[585790]|0;if((b|0)>(a|0)){d=B(c[585791]|0,b-a|0)|0;e=((B(c[585792]|0,a)|0)+d|0)/(b|0)|0;b=(e|0)<65536?e:65536;c[585793]=(b|0)>0?b:0;tr();return}b=c[585792]|0;c[585793]=b;if(!b){sr();c[717196]=0;Jq(0);tr()}tr();return}function Mq(a){a=a|0;return c[a+16>>2]|0}function Nq(a){a=a|0;return}function Oq(a,b){a=a|0;b=b|0;if(!a)return;c[a+8>>2]=b;return}function Pq(a){a=a|0;if(!0)return;c[584939]=a;return}function Qq(a,b){a=a|0;b=b|0;c[585791]=c[585793];c[585792]=0;c[585789]=yr()|0;c[585790]=b;Lq();return}function Rq(a){a=a|0;c[584940]=a;return}function Sq(){var a=0;if((Fq(0)|0)!=-1){a=1;return a|0}if(0==0|(c[585795]|0)==0){a=0;return a|0}if(!(c[585793]|c[585792])){a=0;return a|0}a=(c[717196]|0)!=0&1;return a|0}function Tq(){var a=0;sr();c[720083]=0;c[719249]=0;c[719255]=0;a=2877008;c[a>>2]=0;c[a+4>>2]=0;c[723342]=0;c[722508]=0;c[722514]=0;a=2890044;c[a>>2]=0;c[a+4>>2]=0;c[726601]=0;c[725767]=0;c[725773]=0;a=2903080;c[a>>2]=0;c[a+4>>2]=0;c[729860]=0;c[729026]=0;c[729032]=0;a=2916116;c[a>>2]=0;c[a+4>>2]=0;c[733119]=0;c[732285]=0;c[732291]=0;a=2929152;c[a>>2]=0;c[a+4>>2]=0;c[736378]=0;c[735544]=0;c[735550]=0;a=2942188;c[a>>2]=0;c[a+4>>2]=0;c[739637]=0;c[738803]=0;c[738809]=0;a=2955224;c[a>>2]=0;c[a+4>>2]=0;c[742896]=0;c[742062]=0;c[742068]=0;a=2968260;c[a>>2]=0;c[a+4>>2]=0;c[746155]=0;c[745321]=0;c[745327]=0;a=2981296;c[a>>2]=0;c[a+4>>2]=0;c[749414]=0;c[748580]=0;c[748586]=0;a=2994332;c[a>>2]=0;c[a+4>>2]=0;c[752673]=0;c[751839]=0;c[751845]=0;a=3007368;c[a>>2]=0;c[a+4>>2]=0;c[755932]=0;c[755098]=0;c[755104]=0;a=3020404;c[a>>2]=0;c[a+4>>2]=0;c[759191]=0;c[758357]=0;c[758363]=0;a=3033440;c[a>>2]=0;c[a+4>>2]=0;c[762450]=0;c[761616]=0;c[761622]=0;a=3046476;c[a>>2]=0;c[a+4>>2]=0;c[765709]=0;c[764875]=0;c[764881]=0;a=3059512;c[a>>2]=0;c[a+4>>2]=0;c[768968]=0;c[768134]=0;c[768140]=0;a=3072548;c[a>>2]=0;c[a+4>>2]=0;tr();return}function Uq(){var a=0,b=0,d=0;a=c[769348]|0;if(!a){b=dq(352e3)|0;c[769348]=b;d=b}else d=a;c[d+20>>2]=0;c[d+16>>2]=0;c[584662]=1;return}function Vq(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;sr();if((c[719253]|0)==0|(c[720083]|0)==0)a=0;else{b=c[719254]|0;a=(b|0)>0?b:0}if((c[722512]|0)==0|(c[723342]|0)==0)d=a;else{b=c[722513]|0;d=(a|0)>(b|0)?a:b}if((c[725771]|0)==0|(c[726601]|0)==0)e=d;else{b=c[725772]|0;e=(d|0)>(b|0)?d:b}if((c[729030]|0)==0|(c[729860]|0)==0)f=e;else{b=c[729031]|0;f=(e|0)>(b|0)?e:b}if((c[732289]|0)==0|(c[733119]|0)==0)g=f;else{b=c[732290]|0;g=(f|0)>(b|0)?f:b}if((c[735548]|0)==0|(c[736378]|0)==0)h=g;else{b=c[735549]|0;h=(g|0)>(b|0)?g:b}if((c[738807]|0)==0|(c[739637]|0)==0)i=h;else{b=c[738808]|0;i=(h|0)>(b|0)?h:b}if((c[742066]|0)==0|(c[742896]|0)==0)j=i;else{b=c[742067]|0;j=(i|0)>(b|0)?i:b}if((c[745325]|0)==0|(c[746155]|0)==0)k=j;else{b=c[745326]|0;k=(j|0)>(b|0)?j:b}if((c[748584]|0)==0|(c[749414]|0)==0)l=k;else{b=c[748585]|0;l=(k|0)>(b|0)?k:b}if((c[751843]|0)==0|(c[752673]|0)==0)m=l;else{b=c[751844]|0;m=(l|0)>(b|0)?l:b}if((c[755102]|0)==0|(c[755932]|0)==0)n=m;else{b=c[755103]|0;n=(m|0)>(b|0)?m:b}if((c[758361]|0)==0|(c[759191]|0)==0)o=n;else{b=c[758362]|0;o=(n|0)>(b|0)?n:b}if((c[761620]|0)==0|(c[762450]|0)==0)p=o;else{b=c[761621]|0;p=(o|0)>(b|0)?o:b}if((c[764879]|0)==0|(c[765709]|0)==0)q=p;else{b=c[764880]|0;q=(p|0)>(b|0)?p:b}if((c[768138]|0)==0|(c[768968]|0)==0){r=q;tr();return r|0}b=c[768139]|0;r=(q|0)>(b|0)?q:b;tr();return r|0}function Wq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;sr();c[769342]=0;c[769343]=0;c[769344]=0;c[769345]=0;c[769346]=0;a:do switch(a|0){case -1:{if(!((c[719253]|0)==0|(c[720083]|0)==0)?(d=c[720133]|0,(d|0)>0):0){e=0;f=d;g=5;break a}if(!((c[722512]|0)==0|(c[723342]|0)==0)?(d=c[723392]|0,(d|0)>0):0){e=1;f=d;g=5;break a}if(!((c[725771]|0)==0|(c[726601]|0)==0)?(d=c[726651]|0,(d|0)>0):0){e=2;f=d;g=5;break a}if(!((c[729030]|0)==0|(c[729860]|0)==0)?(d=c[729910]|0,(d|0)>0):0){e=3;f=d;g=5;break a}if(!((c[732289]|0)==0|(c[733119]|0)==0)?(d=c[733169]|0,(d|0)>0):0){e=4;f=d;g=5;break a}if(!((c[735548]|0)==0|(c[736378]|0)==0)?(d=c[736428]|0,(d|0)>0):0){e=5;f=d;g=5;break a}if(!((c[738807]|0)==0|(c[739637]|0)==0)?(d=c[739687]|0,(d|0)>0):0){e=6;f=d;g=5;break a}if(!((c[742066]|0)==0|(c[742896]|0)==0)?(d=c[742946]|0,(d|0)>0):0){e=7;f=d;g=5;break a}if(!((c[745325]|0)==0|(c[746155]|0)==0)?(d=c[746205]|0,(d|0)>0):0){e=8;f=d;g=5;break a}if(!((c[748584]|0)==0|(c[749414]|0)==0)?(d=c[749464]|0,(d|0)>0):0){e=9;f=d;g=5;break a}if(!((c[751843]|0)==0|(c[752673]|0)==0)?(d=c[752723]|0,(d|0)>0):0){e=10;f=d;g=5;break a}if(!((c[755102]|0)==0|(c[755932]|0)==0)?(d=c[755982]|0,(d|0)>0):0){e=11;f=d;g=5;break a}if(!((c[758361]|0)==0|(c[759191]|0)==0)?(d=c[759241]|0,(d|0)>0):0){e=12;f=d;g=5;break a}if(!((c[761620]|0)==0|(c[762450]|0)==0)?(d=c[762500]|0,(d|0)>0):0){e=13;f=d;g=5;break a}if(!((c[764879]|0)==0|(c[765709]|0)==0)?(d=c[765759]|0,(d|0)>0):0){e=14;f=d;g=5;break a}if(!((c[768138]|0)==0|(c[768968]|0)==0)?(d=c[769018]|0,(d|0)>0):0){e=15;f=d;g=5}else g=6;break}case 0:{d=c[720133]|0;if((d|0)>0){e=0;f=d;g=5}else g=6;break}case 1:{d=c[723392]|0;if((d|0)>0){e=1;f=d;g=5}else g=6;break}case 2:{d=c[726651]|0;if((d|0)>0){e=2;f=d;g=5}else g=6;break}case 3:{d=c[729910]|0;if((d|0)>0){e=3;f=d;g=5}else g=6;break}case 4:{d=c[733169]|0;if((d|0)>0){e=4;f=d;g=5}else g=6;break}case 5:{d=c[736428]|0;if((d|0)>0){e=5;f=d;g=5}else g=6;break}case 6:{d=c[739687]|0;if((d|0)>0){e=6;f=d;g=5}else g=6;break}case 7:{d=c[742946]|0;if((d|0)>0){e=7;f=d;g=5}else g=6;break}case 8:{d=c[746205]|0;if((d|0)>0){e=8;f=d;g=5}else g=6;break}case 9:{d=c[749464]|0;if((d|0)>0){e=9;f=d;g=5}else g=6;break}case 10:{d=c[752723]|0;if((d|0)>0){e=10;f=d;g=5}else g=6;break}case 11:{d=c[755982]|0;if((d|0)>0){e=11;f=d;g=5}else g=6;break}case 12:{d=c[759241]|0;if((d|0)>0){e=12;f=d;g=5}else g=6;break}case 13:{d=c[762500]|0;if((d|0)>0){e=13;f=d;g=5}else g=6;break}case 14:{d=c[765759]|0;if((d|0)>0){e=14;f=d;g=5}else g=6;break}case 15:{d=c[769018]|0;if((d|0)>0){e=15;f=d;g=5}else g=6;break}default:g=6}while(0);if((g|0)==5){a=c[584669]|0;d=b-(c[2868788+(e*13036|0)+11752>>2]|0)|0;b=f+-1|0;f=(B((d|0)>0?d:0,b)|0)/((((c[9029]|0)/(((a|0)==0?1:a<<1)|0)|0)*1e3|0)/(c[584668]|0)|0|0)|0;a=(f|0)<(b|0)?f:b;b=2868788+(e*13036|0)+11756+(((a|0)>0?a:0)*20|0)|0;c[769342]=c[b>>2];c[769343]=c[b+4>>2];c[769344]=c[b+8>>2];c[769345]=c[b+12>>2];c[769346]=c[b+16>>2];tr();return 3077368}else if((g|0)==6){tr();return 3077368}return 0}function Xq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=Ia;Ia=Ia+48|0;g=f+32|0;h=f+24|0;i=f+16|0;j=f;c[j>>2]=a;c[j+4>>2]=b;c[j+8>>2]=d;c[j+12>>2]=e;Xs(1671456,67051,j)|0;hn(1671456);if((a|0)==0|(b|0)==0){c[i>>2]=0;c[i+4>>2]=0;Xs(1671456,67080,i)|0;hn(1671456);k=0;l=0}else{k=a;l=b}if((c[584661]|0)==1){b=c[584936]|0;a=c[584937]|0;if((b|0)<32|(a|0)<32){c[584936]=640;c[584937]=540;m=640;n=540}else{m=b;n=a}c[h>>2]=m;c[h+4>>2]=n;Xs(1671456,67118,h)|0;hn(1671456);o=m;p=n}else{c[584936]=k;c[584937]=l;o=k;p=l}if(!(e&256)){if(e&4|0)c[9030]=0;if(e&8|0)c[9030]=1}else if(c[584938]|0)c[9030]=0;n=((l|0)==0|(k|0)==0)&((p|0)==0|(o|0)==0);m=n?216:p;p=n?384:o;o=n?384:k;k=n?216:l;l=c[769366]|0;do if(!l)q=20;else{if(((c[l>>2]|0)==(o|0)?(c[l+4>>2]|0)==(k|0):0)?(c[l+8>>2]|0)==(d|0):0)break;yn(l)|0;c[769366]=0;q=20}while(0);if((q|0)==20)c[769366]=xn(o,k,d)|0;if((c[584975]|c[584976]|0)==0?(q=wr(p,m,o,k,d,e)|0,q|0):0){r=q;Ia=f;return r|0}c[769349]=p;c[769350]=m;c[769351]=d;c[769356]=0;c[769358]=0;c[769357]=p;c[769359]=m;c[g>>2]=0;c[g+4>>2]=0;Xs(1671456,67139,g)|0;hn(1671456);hn(67161);r=0;Ia=f;return r|0}function Yq(a){a=a|0;var b=0;b=c[769362]|0;if((b|0)==(a|0))return;zv(b|0,a|0,768)|0;return}function Zq(){var b=0,d=0,e=0;if(c[769364]|0){b=0;return b|0}c[769364]=1;c[769362]=pn()|0;c[769363]=pn()|0;d=0;do{e=d&255;a[(c[769362]|0)+(d*3|0)>>0]=e;a[(c[769362]|0)+(d*3|0)+1>>0]=e;a[(c[769362]|0)+(d*3|0)+2>>0]=e;d=d+1|0}while((d|0)!=256);if(c[584975]|0){b=0;return b|0}b=ur()|0;return b|0}function _q(){var a=0,b=0;if(!(c[769364]|0)){a=0;return a|0}c[769364]=0;b=c[769366]|0;if(b|0)yn(b)|0;b=c[585766]|0;if(b|0)yn(b)|0;c[585766]=0;c[769366]=0;qn(c[769362]|0);qn(c[769363]|0);if(c[584975]|0){a=0;return a|0}a=vr()|0;return a|0}function $q(){return (c[9030]|0)==0|0}function ar(){var a=0;if(c[584976]|c[584975]|0)return;c[9030]=(c[9030]|0)==0&1;a=c[769366]|0;wr(c[584936]|0,c[584937]|0,c[a>>2]|0,c[a+4>>2]|0,c[769351]|0,0)|0;return}function br(){c[769365]=yr()|0;return}function cr(){var a=0,b=0;a=yr()|0;b=a-(c[769365]|0)|0;c[769365]=yr()|0;a=(b|0)<1e3?b:1e3;c[9031]=(1e3/(((a|0)>1?a:1)>>>0)|0)<<16;return}function dr(){var a=0;a=c[769366]|0;if(!a)return;jp(a,3077396,0,0,0,0,c[769349]|0,c[769350]|0);return}function er(){return c[9031]>>16|0}function fr(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;qs(e,b)|0;g=e+548|0;if((a[d>>0]|0)==42){qs(g,d+1|0)|0;h=Ht(g)|0}else{a[g>>0]=0;h=0}c[e+804>>2]=h;c[e+812>>2]=Ut(b)|0;c[e+808>>2]=f;return gr(e)|0}function gr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=Ia;Ia=Ia+608|0;d=b+512|0;e=b+520|0;f=b;g=a+812|0;h=c[g>>2]|0;if(!h){i=1;Ia=b;return i|0}j=Xt(h)|0;h=a+808|0;if(!j){i=1;Ia=b;return i|0}k=a+256|0;l=a+520|0;m=e+56|0;n=e+36|0;o=a+516|0;p=e+12|0;q=a+512|0;r=a+804|0;s=j;while(1){j=s+11|0;qs(k,j)|0;c[d>>2]=a;c[d+4>>2]=j;Xs(f,67183,d)|0;$p(e,0,1);Vt(f,e)|0;c[l>>2]=c[m>>2];c[o>>2]=c[n>>2];t=c[p>>2]|0;c[q>>2]=t;u=Ht(j)|0;if((u|0)>=(c[r>>2]|0)?c[h>>2]&t|0:0){i=0;v=7;break}s=Xt(c[g>>2]|0)|0;if(!s){i=1;v=7;break}}if((v|0)==7){Ia=b;return i|0}return 0}function hr(a){a=a|0;var b=0;if(!a)return 0;b=c[a+812>>2]|0;if(!b)return 0;Wt(b)|0;return 0}function ir(a){a=a|0;var b=0,c=0;b=to(a,74412)|0;if(!b){c=0;return c|0}uo(b);c=1;return c|0}function jr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Ia;Ia=Ia+96|0;e=d+64|0;f=d+88|0;g=d;Fa(f|0)|0;if(!b)h=za(f|0)|0;else h=Ba(f|0)|0;Ea(g|0,64,67165,h|0)|0;h=a+4|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[e>>2]=h;c[e+4>>2]=a+8;c[e+8>>2]=a+12;c[e+12>>2]=a+16;c[e+16>>2]=a+20;c[e+20>>2]=a+24;wu(g,67189,e)|0;Ia=d;return}function kr(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;lq(0,1692192,a<<1);if((c|0)<=0)return 1724960;d=a<<4;e=a+-1|0;a=0;do{f=(B(d,a)|0)/(c|0)|0;g=f&15;h=(f|0)/16|0;f=h+1|0;i=B(16-g|0,b[1692192+(h<<1)>>1]|0)|0;b[1724960+(a<<1)>>1]=((B(g,b[1692192+(((f|0)<(e|0)?f:e)<<1)>>1]|0)|0)+i|0)/16|0;a=a+1|0}while((a|0)!=(c|0));return 1724960}function lr(){if((O(65535)|0)<0)mr(68841);else{ka(29)|0;ka(30)|0;ka(31)|0;return 0}return 0}function mr(a){a=a|0;var b=0,d=0,e=0;b=Ia;Ia=Ia+16|0;d=b+8|0;e=b;nr();c[e>>2]=a;_u(69920,e)|0;ru(c[9036]|0)|0;c[d>>2]=a;Xs(1671456,69920,d)|0;hn(1671456);jn()|0;ya(0)}function nr(){var b=0,d=0,e=0;b=Ia;Ia=Ia+16|0;d=b;e=J()|0;if(!(a[e>>0]|0)){Ia=b;return}c[d>>2]=e;_u(69943,d)|0;ru(c[9036]|0)|0;I();Ia=b;return}function or(){return 0}function pr(b){b=b|0;var d=0,e=0;a[1757728]=63;a[1757729]=0;if(b>>>0>511)return 1757728;Qt(1757728,c[29728+(b<<2)>>2]|0)|0;if(!(Ht(1757728)|0))return 1757728;b=0;do{d=1757728+b|0;e=a[d>>0]|0;if((e+-97&255)<26)a[d>>0]=(e&255)+224;b=b+1|0}while(b>>>0<(Ht(1757728)|0)>>>0);return 1757728}function qr(a,b){a=a|0;b=b|0;la(32,c[584952]|0)|0;c[584670]=a;c[584671]=b;c[584668]=a;c[584669]=b;Pq(c[584939]|0);Rq(c[584940]|0);return 0}function rr(){return 0}function sr(){P();c[769367]=(c[769367]|0)+1;return}function tr(){c[769367]=(c[769367]|0)+-1;T();return}function ur(){return 0}function vr(){return 0}function wr(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=ip()|0;c[769371]=S(B(g,d)|0,B(g,e)|0,32,0)|0;return 0}function xr(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(f|e|g|h|0)return;if((c[a+8>>2]|0)==8){h=c[769372]|0;do if(!h){l=a;m=8}else{g=c[h>>2]|0;if((g|0)==(c[a>>2]|0)?(e=c[h+4>>2]|0,(e|0)==(c[a+4>>2]|0)):0){n=h;o=g;p=e;q=g;break}yn(h)|0;l=a;m=8}while(0);if((m|0)==8){m=a+4|0;h=xn(c[l>>2]|0,c[m>>2]|0,32)|0;c[769372]=h;n=h;o=c[h>>2]|0;p=c[m>>2]|0;q=c[l>>2]|0}l=c[n+12>>2]|0;m=c[769362]|0;h=0;do{c[1757984+(h<<2)>>2]=(d[m+(h*3|0)>>0]|0)<<16|(d[m+(h*3|0)+1>>0]|0)<<8|(d[m+(h*3|0)+2>>0]|0)|-16777216;h=h+1|0}while((h|0)!=256);h=o<<2;o=0;do{m=1757984+(o<<2)|0;g=c[m>>2]|0;c[m>>2]=g<<16&16711680|g&-16711936|g>>>16&255;o=o+1|0}while((o|0)!=256);if((p|0)<1|(q|0)==0)r=n;else{o=c[a+16>>2]|0;g=l;l=0;while(1){m=c[o+(l<<2)>>2]|0;e=g;f=q;while(1){c[e>>2]=c[1757984+((d[m>>0]|0)<<2)>>2];f=f+-1|0;if(!f)break;else{m=m+1|0;e=e+4|0}}l=l+1|0;if((l|0)==(p|0)){r=n;break}else g=g+h|0}}}else r=a;Q(c[769371]|0)|0;a=c[769371]|0;if((j|0)>0?(h=r+16|0,r=i<<2,g=a+20|0,zv(c[g>>2]|0,c[c[h>>2]>>2]|0,r|0)|0,(j|0)!=1):0){n=1;do{p=(c[g>>2]|0)+((B(n,i)|0)<<2)|0;zv(p|0,c[(c[h>>2]|0)+(n<<2)>>2]|0,r|0)|0;n=n+1|0}while((n|0)!=(j|0))}U(a|0);return}function yr(){return M()|0}function zr(){return}function Ar(){return}function Br(){return 0}function Cr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(b|0)c[b>>2]=0;if(d|0)c[d>>2]=0;if(!e)return;c[e>>2]=0;return}function Dr(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=Ia;Ia=Ia+64|0;d=b+48|0;e=b+56|0;f=b+52|0;g=b;h=0;do{i=1680288+h|0;j=a[i>>0]|0;a[1681312+h>>0]=j;if(j<<24>>24==3)a[i>>0]=1;h=h+1|0}while((h|0)!=512);h=0;do{if(!(a[1680288+h>>0]|0))a[1680800+h>>0]=0;h=h+1|0}while((h|0)!=512);h=K()|0;a[1680512]=h&64;a[1680516]=h&128;a[1680514]=0;a[1680518]=0;a[1680513]=h&1;a[1680517]=h&2;a:do if(R(g|0)|0){h=g+12|0;i=g+28|0;j=g+32|0;while(1){k=c[g>>2]|0;b:do switch(k|0){case 768:case 769:{l=c[h>>2]|0;m=(l|0)==1104?80:l;l=(m|0)==1103?79:m;m=(l|0)==1106?82:l;l=(m|0)==1105?81:m;m=(l|0)==1099?75:l;l=(m|0)==1102?78:m;m=(l|0)==1248?224:l;l=(m|0)<512;n=1680288+m|0;if((k|0)==768){if(!l)break b;a[n>>0]=3;a[1681312+m>>0]=0;a[1680800+m>>0]=0;break b}else{if(!l)break b;a[n>>0]=0;a[1681312]=0;break b}break}case 1024:{do if(c[584654]|0){if(ka(33)|0){n=c[i>>2]|0;c[584648]=(c[584648]|0)+n;l=c[j>>2]|0;c[584649]=(c[584649]|0)+l;m=(c[769369]|0)+n|0;n=c[769366]|0;o=(c[n>>2]<<2)+-1|0;p=(m|0)<(o|0)?m:o;c[769369]=(p|0)>0?p:0;p=(c[769370]|0)+l|0;l=(c[n+4>>2]<<2)+-1|0;n=(p|0)<(l|0)?p:l;c[769370]=(n|0)>0?n:0;break}if(c[584654]|0){L(e|0,f|0)|0;if(!(ka(34)|0))q=c[f>>2]|0;else{c[e>>2]=ka(35)|0;n=ka(36)|0;c[f>>2]=n;q=n}c[769369]=c[e>>2]<<2;c[769370]=q<<2}}while(0);n=c[584648]|0;if((n|0)>=0){if(n|0){l=~n;p=(l|0)>-2?l:-2;r=-2-p|0;s=n+2+(c[584650]|0)+p|0;t=24}}else{r=0;s=n+(c[584650]|0)|0;t=24}if((t|0)==24){t=0;c[584650]=s;c[584648]=r}n=c[584649]|0;if((n|0)<0){c[584651]=n+(c[584651]|0);c[584649]=0;break b}if(n|0){p=~n;l=(p|0)>-2?p:-2;c[584651]=n+2+(c[584651]|0)+l;c[584649]=-2-l}break}default:{}}while(0);if(!(R(g|0)|0))break a}}while(0);g=(ka(37)|0)!=0;if(g&(c[585768]|0)<32){do{g=ka(38)|0;r=(g|0)<-1;if(r){c[d>>2]=g;_u(71970,d)|0}s=r?-1:g;g=c[585768]|0;c[1680160+(g<<2)>>2]=s;c[585768]=g+1;if((s|0)>0?(Wn(-5)|0)==0:0)c[9033]=1;s=(ka(37)|0)!=0}while(s&(c[585768]|0)<32);u=1}else u=0;d=ka(39)|0;c[584644]=(c[584644]|0)+d;c[584646]=(c[584646]|0)+d;d=ka(40)|0;c[584645]=(c[584645]|0)+d;c[584647]=(c[584647]|0)+d;Er();if(!((c[584655]|0)==0?(ka(41)|0)!=0:0)){c[585768]=0;Av(1680288,0,512)|0;Av(1681312,0,512)|0;Av(1680800,0,512)|0;c[584644]=0;c[584645]=0;c[584646]=0;c[584647]=0}if(u|0){Ia=b;return 0}u=0;d=0;do{s=(Wn(d)|0)==3;u=s?1:u;d=d+1|0}while((d|0)!=512);d=c[585768]|0;if(!((u|0)!=0&(d|0)<32)){Ia=b;return 0}c[1680160+(d<<2)>>2]=-1;c[585768]=d+1;Ia=b;return 0}function Er(){var a=0,b=0,d=0,e=0,f=0;a=Ia;Ia=Ia+16|0;b=a+8|0;d=a+4|0;e=a;Fr(b,d,e);if(c[9032]|0){c[e>>2]=1;c[d>>2]=1;c[b>>2]=1;c[9032]=0}if(ka(42)|0)c[9033]=0;f=c[b>>2]|0;b=c[d>>2]|0;if(((c[e>>2]|0)>0&(b|f|0)>-1?(f|0)<(c[769349]|0):0)?(b|0)<(c[769350]|0):0){c[9033]=1;ka(43)|0}b=(Wn(-5)|0)!=0;if(!(b&(c[9033]|0)!=0)){Ia=a;return}ka(44)|0;Ia=a;return}function Fr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=Ia;Ia=Ia+16|0;f=e+12|0;g=e+8|0;h=e+4|0;i=e;j=ka(34)|0;if(!(c[584654]|0))k=1;else k=(ka(33)|0)==0;if((j|0)!=0&k){if(a|0)c[a>>2]=ka(35)|0;if(b|0)c[b>>2]=ka(36)|0;if(!d){Ia=e;return}c[d>>2]=ka(45)|0;Ia=e;return}k=(L(f|0,g|0)|0)&255;if(c[584654]|0?ka(33)|0:0){c[f>>2]=(c[769369]|0)/4|0;c[g>>2]=(c[769370]|0)/4|0}N(0,h|0,i|0);j=c[h>>2]|0;h=c[i>>2]|0;if((j|0)==0|(h|0)==0){Ia=e;return}i=c[769349]|0;l=c[769350]|0;if(!(+(j|0)/+(h|0)>=+(i|0)/+(l|0))){m=(h-((B(l,j)|0)/(i|0)|0)|0)/2|0;n=(c[g>>2]|0)-m|0;c[g>>2]=n;m=(B(c[769349]|0,c[f>>2]|0)|0)/(j|0)|0;c[f>>2]=m;o=B(c[769349]|0,n)|0;p=j;q=m}else{m=(j-((B(i,h)|0)/(l|0)|0)|0)/2|0;i=(B((c[f>>2]|0)-m|0,l)|0)/(h|0)|0;c[f>>2]=i;o=B(c[g>>2]|0,l)|0;p=h;q=i}i=(o|0)/(p|0)|0;c[g>>2]=i;if(a|0)c[a>>2]=q;if(b|0)c[b>>2]=i;if(!d){Ia=e;return}c[d>>2]=k<<1&4|k&1|k>>>1&2;Ia=e;return}function Gr(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ia;Ia=Ia+16|0;e=d;c[e>>2]=a;Xs(b,73013,e)|0;Ia=d;return}function Hr(a,b){a=a|0;b=b|0;Qt(b,a)|0;return}function Ir(a,b){a=a|0;b=b|0;Qt(b,a)|0;return}function Jr(a,b){a=a|0;b=b|0;Qt(b,a)|0;return}function Kr(b){b=b|0;var c=0,d=0;if(!(ka(26)|0)){Vu(73113)|0;return 0}ka(46)|0;c=Ht(b)|0;if((c|0)>0){d=0;do{la(47,a[b+d>>0]|0)|0;d=d+1|0}while((d|0)!=(c|0))}ka(48)|0;return 0}function Lr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Ia;Ia=Ia+16|0;d=b+4|0;e=b;f=(a|0)==0;g=c[584654]|0;if(f|(g|0)!=0)h=g;else{L(d|0,e|0)|0;if(!(ka(34)|0))i=c[e>>2]|0;else{c[d>>2]=ka(35)|0;g=ka(36)|0;c[e>>2]=g;i=g}c[769369]=c[d>>2]<<2;c[769370]=i<<2;h=c[584654]|0}if(!(f&(h|0)!=0)){c[584654]=a;Ia=b;return}Vu(73261)|0;ka(49)|0;c[584654]=a;Ia=b;return}function Mr(a){a=a|0;return}function Nr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=Wr(a,74590)|0;if(e|0){lo(b,1,d,e)|0;uo(e)}e=c[a+1024>>2]|0;if(!e){cq(a);return}Ra[e&7](a);cq(a);return}function Or(a){a=a|0;var b=0,d=0;b=Ia;Ia=Ia+16|0;d=b;if(a|0){c[d>>2]=a;_u(73327,d)|0}ru(c[9036]|0)|0;d=c[a+1028>>2]|0;if(!d){cq(a);Ia=b;return}Ra[d&7](a);cq(a);Ia=b;return}function Pr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=_p(1032)|0;Qt(f,b)|0;c[f+1024>>2]=d;c[f+1028>>2]=e;qa(a|0,f|0,2,4);return 0}function Qr(){var a=0;if(c[584655]|0){a=0;return a|0}a=ka(41)|0;return a|0}function Rr(a){a=a|0;var b=0;b=c[769373]|0;if(b|0)cq(b);b=_p((Ht(a)|0)+1|0)|0;c[769373]=b;Qt(b,a)|0;ka(50)|0;return 0}function Sr(a){a=a|0;ka(51)|0;ma(52,a|0,Ht(a)|0)|0;return ka(53)|0}function Tr(){if(c[769368]|0)return;c[769368]=1;ka(54)|0;return}function Ur(){var b=0,d=0,e=0;if(ka(55)|0){Av(1759008,0,131073)|0;ma(56,1759008,131072)|0;b=aq((Ht(1759008)|0)+1|0)|0;Qt(b,1759008)|0;d=b;return d|0}b=c[769373]|0;if(!b){e=aq(2)|0;a[e>>0]=0;d=e;return d|0}else{e=_p((Ht(b)|0)+1|0)|0;Qt(e,c[769373]|0)|0;d=e;return d|0}return 0}function Vr(a){a=a|0;return 0}function Wr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Ia;Ia=Ia+1296|0;f=e+1280|0;g=e+1024|0;h=e+512|0;i=e;Do(b,0,h,i);c[f>>2]=h;c[f+4>>2]=i;Xs(g,74247,f)|0;f=c[769374]|0;a:do if((f|0)>0){i=0;while(1){h=c[1890096+(i<<2)>>2]|0;i=i+1|0;if(!(xt(g,h+24|0)|0)){j=h;break a}if((i|0)>=(f|0)){j=0;break}}}else j=0;while(0);switch(a[d>>0]|0){case 114:{if(!j){k=0;Ia=e;return k|0}c[j+20>>2]=0;k=j;Ia=e;return k|0}case 119:{if(!j){d=dq(0)|0;c[d+4>>2]=1;qs(d+24|0,g)|0;g=c[769374]|0;c[1890096+(g<<2)>>2]=d;c[769374]=g+1;k=d;Ia=e;return k|0}else{c[j+16>>2]=0;c[j+20>>2]=0;k=j;Ia=e;return k|0}break}default:{k=0;Ia=e;return k|0}}return 0}function Xr(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[769374]|0;if((b|0)<=0){d=0;return d|0}e=0;while(1){if((c[1890096+(e<<2)>>2]|0)==(a|0)){d=1;f=5;break}e=e+1|0;if((e|0)>=(b|0)){d=0;f=5;break}}if((f|0)==5)return d|0;return 0}function Yr(){var a=0,b=0,d=0;a=aq(46756)|0;Av(a|0,0,46756)|0;c[a>>2]=_p(65538)|0;b=a+4|0;c[b>>2]=xn(128,128,8)|0;c[a+12>>2]=xn(128,64,8)|0;c[a+8>>2]=c[b>>2];b=a+16|0;d=0;do{c[b+(d*660|0)+8>>2]=(d|0)==0?1:16;d=d+1|0}while((d|0)!=64);d=a+42256|0;b=0;do{c[d+(b<<4)>>2]=65;c[d+(b<<4)+4>>2]=66;c[d+(b<<4)+8>>2]=67;c[d+(b<<4)+12>>2]=68;b=b+1|0}while((b|0)!=64);c[a+44588>>2]=ls()|0;c[a+44592>>2]=ls()|0;c[a+44596>>2]=ls()|0;c[a+44600>>2]=ls()|0;Av(a+44604|0,-1,2144)|0;return a|0}function Zr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;yn(c[a+4>>2]|0)|0;yn(c[a+12>>2]|0)|0;Jq(a);Eq(a+16|0);Eq(a+676|0);Eq(a+1336|0);Eq(a+1996|0);Eq(a+2656|0);Eq(a+3316|0);Eq(a+3976|0);Eq(a+4636|0);Eq(a+5296|0);Eq(a+5956|0);Eq(a+6616|0);Eq(a+7276|0);Eq(a+7936|0);Eq(a+8596|0);Eq(a+9256|0);Eq(a+9916|0);Eq(a+10576|0);Eq(a+11236|0);Eq(a+11896|0);Eq(a+12556|0);Eq(a+13216|0);Eq(a+13876|0);Eq(a+14536|0);Eq(a+15196|0);Eq(a+15856|0);Eq(a+16516|0);Eq(a+17176|0);Eq(a+17836|0);Eq(a+18496|0);Eq(a+19156|0);Eq(a+19816|0);Eq(a+20476|0);Eq(a+21136|0);Eq(a+21796|0);Eq(a+22456|0);Eq(a+23116|0);Eq(a+23776|0);Eq(a+24436|0);Eq(a+25096|0);Eq(a+25756|0);Eq(a+26416|0);Eq(a+27076|0);Eq(a+27736|0);Eq(a+28396|0);Eq(a+29056|0);Eq(a+29716|0);Eq(a+30376|0);Eq(a+31036|0);Eq(a+31696|0);Eq(a+32356|0);Eq(a+33016|0);Eq(a+33676|0);Eq(a+34336|0);Eq(a+34996|0);Eq(a+35656|0);Eq(a+36316|0);Eq(a+36976|0);Eq(a+37636|0);Eq(a+38296|0);Eq(a+38956|0);Eq(a+39616|0);Eq(a+40276|0);Eq(a+40936|0);Eq(a+41596|0);cq(c[a>>2]|0);b=a+46748|0;d=a+46752|0;e=c[d>>2]|0;if((c[b>>2]|0)>0){f=0;g=e;while(1){fq(c[g+(f<<2)>>2]|0);f=f+1|0;h=c[d>>2]|0;if((f|0)>=(c[b>>2]|0)){i=h;break}else g=h}}else i=e;cq(i);ms(c[a+44588>>2]|0);ms(c[a+44592>>2]|0);ms(c[a+44596>>2]|0);ms(c[a+44600>>2]|0);Av(a|0,0,46756)|0;cq(a);if((c[808062]|0)!=(a|0))return;c[808062]=0;return}function _r(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;e=Ia;Ia=Ia+80|0;f=e+48|0;g=e+40|0;h=e+24|0;i=e+8|0;j=e;k=e+68|0;l=e+64|0;c[805616]=0;m=_p(196609)|0;n=_p(196609)|0;a[m>>0]=0;o=vo(m,196608,b)|0;if((d|0)!=0?(Hu(o,74252)|0)==0:0){c[k>>2]=36;p=1}else q=2;do if((q|0)==2){d=o;a:while(1){switch(a[d>>0]|0){case 0:{break a;break}case 112:case 10:{q=7;break a;break}default:{}}d=d+1|0}if((q|0)==7?(Vs(d,74252,16)|0)==0:0){vo(m,196608,b)|0;c[k>>2]=0;c[j>>2]=k;wu(m,74269,j)|0;if(!((c[585494]|0)==0&(c[k>>2]|0)>36)){p=0;break}cq(m);cq(n);c[805616]=1;r=0;Ia=e;return r|0}cq(m);cq(n);r=0;Ia=e;return r|0}while(0);j=Yr()|0;c[j+44580>>2]=c[k>>2];o=0;do{Av(j+16+(o*660|0)|0,0,660)|0;c[j+16+(o*660|0)+8>>2]=(o|0)==0?1:16;o=o+1|0}while((o|0)!=64);o=j+4|0;sn(c[o>>2]|0);s=j+12|0;sn(c[s>>2]|0);Av(j+43552|0,0,1024)|0;a[c[j>>2]>>0]=0;b:do if(!(ro(b)|0)){t=j+46748|0;u=j+46752|0;v=m+3|0;w=j+44576|0;x=0;y=0;z=0;A=0;B=0;C=0;D=0;E=p;c:while(1){if(!E){Av(m|0,0,196609)|0;vo(m,196608,b)|0}if((ro(b)|0)!=0?(a[m>>0]|0)==0:0){F=x;G=-1;H=z;I=A;J=B;K=C;L=D}else q=19;d:do if((q|0)==19){q=0;if(Vs(m,74280,8)|0)if(Vs(m,74289,7)|0)if(Vs(m,74297,7)|0)if(Vs(m,74305,7)|0)if(Vs(m,74313,7)|0)if(Vs(m,74321,7)|0)if(Vs(m,74329,9)|0)if(Vs(m,74339,9)|0)if(!(Vs(m,74349,15)|0)){F=x;G=7;H=z;I=A;J=B;K=C;L=D}else{if(!(Vs(m,74365,7)|0)){M=(c[t>>2]|0)+1|0;c[t>>2]=M;c[u>>2]=zs(c[u>>2]|0,M<<2)|0;M=dq(256)|0;N=(c[t>>2]|0)+-1|0;c[(c[u>>2]|0)+(N<<2)>>2]=M;M=(Ht(m)|0)+1|0;lo(m,1,M,c[(c[u>>2]|0)+(N<<2)>>2]|0)|0;F=x;G=8;H=z;I=A;J=B;K=C;L=D;break}if((y|0)==1){fs(m,n)|0;N=c[j>>2]|0;M=Ht(N)|0;if(((Ht(n)|0)+M|0)>>>0>=65536)break c;Rt(N,n)|0;if(!(ro(b)|0)){N=c[j>>2]|0;M=N+(Ht(N)|0)|0;a[M>>0]=10;a[M+1>>0]=0}a[(c[j>>2]|0)+65536>>0]=0;F=x;G=1;H=z;I=A;J=B;K=C;L=D;break}if((y|0)==2&(x|0)<128){M=0;do{N=a[m+M>>0]|0;O=N+-48|0;a[(c[(c[(c[o>>2]|0)+16>>2]|0)+(x<<2)>>2]|0)+M>>0]=O>>>0<10?O:(N+-97|0)>>>0<6?N+169|0:0;M=M+1|0}while((M|0)!=128);P=x+1|0}else P=x;if((A|0)<2&(y|0)==10){M=A<<7;N=(c[k>>2]|0)>2;O=0;do{if(N){Q=O<<1;R=a[m+Q>>0]|0;S=R+-48|0;T=a[m+(Q|1)>>0]|0;Q=T+-48|0;U=((S>>>0<10?S:(R+-97|0)>>>0<6?R+268435369|0:0)<<4)+(Q>>>0<10?Q:(T+-97|0)>>>0<6?T+-87|0:0)|0}else{T=a[m+O>>0]|0;Q=T+-48|0;U=Q>>>0<10?Q:(T+-97|0)>>>0<6?T+-87|0:0}c[j+43552+(O+M<<2)>>2]=U;O=O+1|0}while((O|0)!=128);V=A+1|0}else V=A;if((D|0)<64&(y|0)==3){O=0;do{M=O<<1;N=a[m+M>>0]|0;T=N+-48|0;Q=a[m+(M|1)>>0]|0;M=Q+-48|0;a[(c[(c[(c[s>>2]|0)+16>>2]|0)+(D<<2)>>2]|0)+O>>0]=((T>>>0<10?T:(N+-97|0)>>>0<6?N+9|0:0)<<4)+(M>>>0<10?M:(Q+-97|0)>>>0<6?Q+169|0:0);O=O+1|0}while((O|0)!=128);W=D+1|0}else W=D;if((C|0)<64&(y|0)==4){c[l>>2]=0;c[i>>2]=l;c[i+4>>2]=j+16+(C*660|0)+8;c[i+8>>2]=j+16+(C*660|0)+12;c[i+12>>2]=j+16+(C*660|0)+16;wu(m,74373,i)|0;O=c[l>>2]|0;c[j+16+(C*660|0)+4>>2]=O&1;c[j+16+(C*660|0)>>2]=O&254;O=0;do{Q=j+16+(C*660|0)+20+(O*20|0)|0;M=j+16+(C*660|0)+20+(O*20|0)+4|0;N=j+16+(C*660|0)+20+(O*20|0)+8|0;T=j+16+(C*660|0)+20+(O*20|0)+12|0;c[h>>2]=Q;c[h+4>>2]=M;c[h+8>>2]=N;c[h+12>>2]=T;wu(m+((O*5|0)+8)|0,74390,h)|0;R=c[T>>2]|0;if(R&8|0)c[j+16+(C*660|0)+20+(O*20|0)+16>>2]=128;S=c[M>>2]|0;if(S&8|0)c[j+16+(C*660|0)+20+(O*20|0)+16>>2]=128;c[T>>2]=R&7;c[M>>2]=S&7;c[N>>2]=c[N>>2]&7;c[Q>>2]=c[Q>>2]&63;O=O+1|0}while((O|0)!=32);X=C+1|0}else X=C;if((B|0)<64&(y|0)==5){if((c[k>>2]|0)>2){c[g>>2]=j+43280+(B<<2);wu(m,74404,g)|0;Y=v}else Y=m;O=j+42256+(B<<4)|0;Q=j+42256+(B<<4)+4|0;N=j+42256+(B<<4)+8|0;S=j+42256+(B<<4)+12|0;c[f>>2]=O;c[f+4>>2]=Q;c[f+8>>2]=N;c[f+12>>2]=S;wu(Y,74373,f)|0;do if((c[k>>2]|0)<4){if(!(c[O>>2]|0))c[O>>2]=65;if(!(c[Q>>2]|0))c[Q>>2]=65;if(!(c[N>>2]|0))c[N>>2]=65;if(c[S>>2]|0)break;c[S>>2]=65}while(0);F=P;G=5;H=z;I=V;J=B+1|0;K=X;L=W;break}if((z|0)<128&(y|0)==6){if(!(c[w>>2]|0))c[w>>2]=xn(128,128,8)|0;S=0;do{N=a[m+S>>0]|0;Q=N+-48|0;do if(Q>>>0>=10)if((N+-97|0)>>>0<22){Z=N+-87|0;break}else{Z=(N+-65|0)>>>0<22?N+-55|0:0;break}else Z=Q;while(0);a[(c[(c[(c[w>>2]|0)+16>>2]|0)+(z<<2)>>2]|0)+S>>0]=(Z|0)>15?Z+112|0:Z;S=S+1|0}while((S|0)!=128);_=z+1|0}else _=z;switch(y|0){case 7:{S=0;while(1){Q=S<<1;N=a[m+Q>>0]|0;O=N+-48|0;M=a[m+(Q|1)>>0]|0;Q=M+-48|0;a[j+44604+S>>0]=((O>>>0<10?O:(N+-97|0)>>>0<6?N+9|0:0)<<4)+(Q>>>0<10?Q:(M+-97|0)>>>0<6?M+169|0:0);S=S+1|0;if((S|0)==2144){F=P;G=0;H=_;I=V;J=B;K=X;L=W;break d}}break}case 8:break;default:{F=P;G=y;H=_;I=V;J=B;K=X;L=W;break d}}S=c[(c[u>>2]|0)+((c[t>>2]|0)+-1<<2)>>2]|0;M=c[S+16>>2]|0;Q=Ht(m)|0;if((Q+M|0)>>>0<262144)lo(m,1,Q,S)|0;if(ro(b)|0){F=P;G=8;H=_;I=V;J=B;K=X;L=W;break}lo(74410,1,1,S)|0;F=P;G=8;H=_;I=V;J=B;K=X;L=W}else{F=x;G=6;H=z;I=A;J=B;K=C;L=D}else{F=x;G=5;H=z;I=A;J=B;K=C;L=D}else{F=x;G=4;H=z;I=A;J=B;K=C;L=D}else{F=x;G=3;H=z;I=A;J=B;K=C;L=D}else{F=x;G=10;H=z;I=A;J=B;K=C;L=D}else{F=x;G=2;H=z;I=A;J=B;K=C;L=D}else{F=x;G=1;H=z;I=A;J=B;K=C;L=D}else{F=x;G=-1;H=z;I=A;J=B;K=C;L=D}}while(0);if((G|0)!=-1&(ro(b)|0)==0){x=F;y=G;z=H;A=I;B=J;C=K;D=L;E=0}else break b}cq(m);cq(n);c[805616]=2;r=0;Ia=e;return r|0}while(0);L=c[j>>2]|0;if(a[L>>0]|0)a[L+((Ht(L)|0)+-1)>>0]=0;cq(m);cq(n);r=j;Ia=e;return r|0}function $r(a){a=a|0;var b=0,c=0;b=to(a,74412)|0;if(!b){c=0;return c|0}a=_r(b,0)|0;uo(b);c=a;return c|0}function as(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=Ia;Ia=Ia+256|0;h=g;Av(h|0,0,256)|0;if(!f){Bo(e,74414,0)|0;Bo(e,74457,36)|0}if(a[c[b>>2]>>0]|0){Bo(e,74469,0)|0;f=aq(196614)|0;ks(c[b>>2]|0,f)|0;lo(f,1,Ht(f)|0,e)|0;cq(f);Bo(e,74410,0)|0}f=b+4|0;i=c[(c[f>>2]|0)+16>>2]|0;j=0;k=-1;while(1){l=c[i+(j<<2)>>2]|0;m=0;n=k;do{n=(a[l+m>>0]|0)==0?n:j;m=m+1|0}while((m|0)!=128);j=j+1|0;if((j|0)==128)break;else k=n}if((n|0)>-1){Bo(e,74478,0)|0;k=0;while(1){j=0;do{i=a[(c[(c[(c[f>>2]|0)+16>>2]|0)+(k<<2)>>2]|0)+j>>0]|0;Io(e,74487,((i&255)<15?i:15)&255,0,0,0)|0;j=j+1|0}while((j|0)!=128);Bo(e,74410,0)|0;if((k|0)==(n|0))break;else k=k+1|0}}k=b+44576|0;n=c[k>>2]|0;if((n|0?(c[n>>2]|0)==128:0)?(c[n+4>>2]|0)==128:0){f=c[n+12>>2]|0;n=0;j=0;do{n=(a[f+j>>0]|0)==0?n:1;j=j+1|0}while((j|0)!=16384);if(n|0){Bo(e,74490,0)|0;n=0;do{j=(c[k>>2]|0)+16|0;f=0;do{i=a[(c[(c[j>>2]|0)+(n<<2)>>2]|0)+f>>0]|0;m=i&15;l=i<<24>>24<0?m|16:m;a[h+f>>0]=(l>>>0<10?48:87)+l;f=f+1|0}while((f|0)!=128);lo(h,1,128,e)|0;Bo(e,74410,0)|0;n=n+1|0}while((n|0)!=128);Bo(e,74410,0)|0}}n=0;h=0;do{n=(c[b+43552+(h<<2)>>2]|0)==0?n:1;h=h+1|0}while((h|0)!=256);if(n|0){Bo(e,74501,0)|0;n=0;do{Io(e,74510,c[b+43552+(n<<2)>>2]&255,0,0,0)|0;n=n+1|0}while((n|0)!=128);Bo(e,74410,0)|0;n=0;do{Io(e,74510,c[b+43552+(n+128<<2)>>2]&255,0,0,0)|0;n=n+1|0}while((n|0)!=128);Bo(e,74410,0)|0}n=b+12|0;h=c[(c[n>>2]|0)+16>>2]|0;k=-1;f=0;while(1){j=c[h+(f<<2)>>2]|0;o=k;l=0;do{o=(a[j+l>>0]|0)==0?o:f;l=l+1|0}while((l|0)!=128);f=f+1|0;if((f|0)==32)break;else k=o}if((o|0)>-1){Bo(e,74515,0)|0;k=0;while(1){f=0;do{Io(e,74510,d[(c[(c[(c[n>>2]|0)+16>>2]|0)+(k<<2)>>2]|0)+f>>0]|0,0,0,0)|0;f=f+1|0}while((f|0)!=128);Bo(e,74410,0)|0;if((k|0)==(o|0))break;else k=k+1|0}}uq();k=0;o=-1;while(1){n=(c[b+16+(k*660|0)+4>>2]|0)==0?o:k;f=c[b+16+(k*660|0)+8>>2]|0;p=(c[b+16+(k*660|0)+16>>2]|c[b+16+(k*660|0)+12>>2]|0)==0?((k|0)==0?((f|0)==1?n:k):(f|0)==16?n:k):k;n=0;do{p=(c[b+16+(k*660|0)+20+(n*20|0)+4>>2]|c[b+16+(k*660|0)+20+(n*20|0)>>2]|c[b+16+(k*660|0)+20+(n*20|0)+16>>2]|c[b+16+(k*660|0)+20+(n*20|0)+8>>2]|c[b+16+(k*660|0)+20+(n*20|0)+12>>2]|0)==0?p:k;n=n+1|0}while((n|0)!=32);k=k+1|0;if((k|0)==64)break;else o=p}if((p|0)>-1){Bo(e,74524,0)|0;o=0;while(1){k=c[b+16+(o*660|0)+8>>2]|0;n=(k|0)<255?k:255;k=c[b+16+(o*660|0)+12>>2]|0;f=(k|0)<255?k:255;k=c[b+16+(o*660|0)+16>>2]|0;h=(k|0)<255?k:255;Io(e,74373,c[b+16+(o*660|0)>>2]&254|(c[b+16+(o*660|0)+4>>2]|0)!=0,(n|0)>0?n:0,(f|0)>0?f:0,(h|0)>0?h:0)|0;h=0;do{f=c[b+16+(o*660|0)+20+(h*20|0)>>2]|0;n=(f|0)<63?f:63;f=c[b+16+(o*660|0)+20+(h*20|0)+4>>2]|0;k=(f|0)<7?f:7;f=c[b+16+(o*660|0)+20+(h*20|0)+8>>2]|0;l=(f|0)<7?f:7;f=c[b+16+(o*660|0)+20+(h*20|0)+12>>2]|0;j=(f|0)<7?f:7;Io(e,74533,(n|0)>0?n:0,((k|0)>0?k:0)+((c[b+16+(o*660|0)+20+(h*20|0)+16>>2]|0)==0?0:8)|0,(l|0)>0?l:0,(j|0)>0?j:0)|0;h=h+1|0}while((h|0)!=32);Bo(e,74410,0)|0;if((o|0)==(p|0))break;else o=o+1|0}}o=-1;p=0;do{o=(c[b+42256+(p<<4)+12>>2]|0)==68&((c[b+42256+(p<<4)+8>>2]|0)==67&((c[b+42256+(p<<4)+4>>2]|0)==66&((c[b+43280+(p<<2)>>2]|0)==0?(c[b+42256+(p<<4)>>2]|0)==65:0)))?o:p;p=p+1|0}while((p|0)!=64);if((o|0)>-1){Bo(e,74544,0)|0;p=0;while(1){Io(e,74404,c[b+43280+(p<<2)>>2]|0,0,0,0)|0;Io(e,74555,c[b+42256+(p<<4)>>2]|0,c[b+42256+(p<<4)+4>>2]|0,c[b+42256+(p<<4)+8>>2]|0,c[b+42256+(p<<4)+12>>2]|0)|0;if((p|0)==(o|0))break;else p=p+1|0}Bo(e,74410,0)|0}vq();p=0;o=0;do{p=(a[b+44604+o>>0]|0)==-1?p:1;o=o+1|0}while((o|0)!=2144);if(p|0){Bo(e,74573,0)|0;p=0;do{Io(e,74510,d[b+44604+p>>0]|0,0,0,0)|0;p=p+1|0}while((p|0)!=2144);Bo(e,74410,0)|0}p=b+46748|0;if((c[p>>2]|0)<=0){Ia=g;return 0}o=b+46752|0;b=0;do{h=c[(c[o>>2]|0)+(b<<2)>>2]|0;j=h+12|0;l=c[j>>2]|0;k=Ht(l)|0;lo(l,1,k,e)|0;Bo(e,74410,0)|0;l=k+1|0;lo((c[j>>2]|0)+l|0,1,(c[h+16>>2]|0)-l|0,e)|0;b=b+1|0}while((b|0)<(c[p>>2]|0));Ia=g;return 0}function bs(a,b){a=a|0;b=b|0;var c=0,d=0;c=to(b,74590)|0;if(!c){d=1;return d|0}as(a,c,0)|0;uo(c);d=0;return d|0}function cs(a,b){a=a|0;b=b|0;var d=0,e=0;d=_p(370)|0;if(!a){e=dq(b+1|0)|0;c[d+4>>2]=e;c[d>>2]=c[e+12>>2]}else c[d>>2]=a;c[d+8>>2]=b;b=ls()|0;c[d+364>>2]=b;c[b+16>>2]=24;ds(d);return d|0}function ds(a){a=a|0;var b=0,d=0;b=dq(2048)|0;d=c[a>>2]|0;lo(d,1,(Ht(d)|0)+1|0,b)|0;ko(c[a+336>>2]|0,b);ko(c[a+344>>2]|0,b);ko(c[a+348>>2]|0,b);ko(c[a+320>>2]|0,b);ko(c[a+324>>2]|0,b);ko(c[a+352>>2]|0,b);d=c[a+364>>2]|0;os(b,d,(Ht(c[a>>2]|0)|0)+1|0)|0;return}function es(a){a=a|0;var b=0;if(!a)return;b=c[a+4>>2]|0;if(b|0)fq(b);ms(c[a+364>>2]|0);cq(a);return}function fs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=Ht(b)|0;if(!d)f=aq(e+1|0)|0;else f=d;a[f>>0]=0;if((e|0)<=0)return f|0;d=f;g=0;while(1){h=(a[b+g>>0]|0)+256|0;i=(h|0)%256|0;do if((i|0)>127){j=b+(g+1)|0;k=b+(g+2)|0;l=b+(g+3)|0;m=b+(g+4)|0;n=b+(g+5)|0;o=b+(g+6)|0;p=0;while(1){q=a[31776+(p*7|0)>>0]|0;if(q<<24>>24!=0&(i|0)==(q&255|0)){r=a[31776+(p*7|0)+1>>0]|0;if(r<<24>>24?(((a[j>>0]|0)+256|0)%256|0|0)==(r&255|0):0){s=a[31776+(p*7|0)+2>>0]|0;if(s<<24>>24?(((a[k>>0]|0)+256|0)%256|0|0)==(s&255|0):0){t=a[31776+(p*7|0)+3>>0]|0;if(t<<24>>24?(((a[l>>0]|0)+256|0)%256|0|0)==(t&255|0):0){u=a[31776+(p*7|0)+4>>0]|0;if(u<<24>>24?(((a[m>>0]|0)+256|0)%256|0|0)==(u&255|0):0){v=a[31776+(p*7|0)+5>>0]|0;if(v<<24>>24?(((a[n>>0]|0)+256|0)%256|0|0)==(v&255|0):0){w=a[31776+(p*7|0)+6>>0]|0;if(w<<24>>24?(((a[o>>0]|0)+256|0)%256|0|0)==(w&255|0):0){x=7;y=11;break}else{z=6;A=w}}else{z=5;A=v}}else{z=4;A=u}}else{z=3;A=t}}else{z=2;A=s}}else{z=1;A=r}}else{z=0;A=q}if(!(A<<24>>24)){x=z;y=11;break}q=p+1|0;if(q>>>0<70)p=q;else break}if((y|0)==11){y=0;if(p>>>0>=26)if(p>>>0<42)B=246;else B=p>>>0<44?212:21;else B=128;a[d>>0]=p+B;o=d+1|0;a[o>>0]=0;C=o;D=g+-1+x|0;break}if((i|0)==227){o=d;n=g;m=0;l=-1;while(1){k=b+(n+1)|0;j=c[32336+(m<<2)>>2]|0;if((((a[k>>0]|0)+256|0)%256|0|0)==(j>>>8&255|0)?(q=n+2|0,r=o+1|0,(((a[b+q>>0]|0)+256|0)%256|0|0)==(j&255|0)):0){a[o>>0]=m+154;a[r>>0]=0;E=r;F=q;G=m;H=b+(n+3)|0}else{E=o;F=n;G=l;H=k}k=c[32544+(m<<2)>>2]|0;if((((a[H>>0]|0)+256|0)%256|0|0)==(k>>>8&255|0)?(q=F+2|0,r=E+1|0,(((a[b+q>>0]|0)+256|0)%256|0|0)==(k&255|0)):0){a[E>>0]=m+204;a[r>>0]=0;I=r;J=q;K=m}else{I=E;J=F;K=G}m=m+1|0;if((m|0)==50)break;else{o=I;n=J;l=K}}if((K|0)<0){L=I;M=J;N=K;O=(a[b+J>>0]|0)+256|0;y=26}else{C=I;D=J}}else{L=d;M=g;N=-1;O=h;y=26}}else{L=d;M=g;N=-1;O=h;y=26}while(0);do if((y|0)==26){y=0;if((((O|0)%256|0|0)==226?(((a[b+(M+1)>>0]|0)+256|0)%256|0|0)==151:0)?(h=M+2|0,(((a[b+h>>0]|0)+256|0)%256|0|0)==139):0){a[L>>0]=127;i=L+1|0;a[i>>0]=0;C=i;D=h;break}h=1;i=L;l=M;n=N;while(1){a:do if((h|0)<4){o=c[32272+(h<<2)>>2]|0;if((o>>>8&255|0)==(((a[b+l>>0]|0)+256|0)%256|0|0)?(m=l+1|0,(o&255|0)==(((a[b+m>>0]|0)+256|0)%256|0|0)):0){a[i>>0]=h;o=i+1|0;a[o>>0]=0;P=1e3;Q=o;R=m;S=h}else{P=h;Q=i;R=l;S=n}}else{switch(h|0){case 9:case 10:case 13:{P=h;Q=i;R=l;S=n;break a;break}default:{}}m=c[32272+(h<<2)>>2]|0;if(((m>>>16&255|0)==(((a[b+l>>0]|0)+256|0)%256|0|0)?(m>>>8&255|0)==(((a[b+(l+1)>>0]|0)+256|0)%256|0|0):0)?(o=l+2|0,(m&255|0)==(((a[b+o>>0]|0)+256|0)%256|0|0)):0){a[i>>0]=h;m=i+1|0;a[m>>0]=0;P=1e3;Q=m;R=o;S=h}else{P=h;Q=i;R=l;S=n}}while(0);if((P|0)<15){h=P+1|0;i=Q;l=R;n=S}else break}if((S|0)<0?(n=a[b+R>>0]|0,n<<24>>24!=13):0){a[Q>>0]=n;n=Q+1|0;a[n>>0]=0;C=n;D=R}else{C=Q;D=R}}while(0);g=D+1|0;if((g|0)>=(e|0))break;else d=C}return f|0}function gs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=c[b+292>>2]|0;if(!e)f=c[9034]|0;else{c[9035]=c[e+12>>2];g=c[e+16>>2]|0;c[9034]=g;f=g}g=(d|0)!=0&(f|0)>128?(f|0)/3|0:d;d=c[b+336>>2]|0;a:do if(!d){h=0;i=0;j=b+308|0;k=b+312|0}else{e=c[b>>2]|0;l=b+316|0;m=b+308|0;n=b+312|0;o=e;p=0;q=0;r=e;while(1){e=a[r>>0]|0;if(!(e<<24>>24)){h=0;i=0;j=m;k=n;break a}s=c[l>>2]|0;t=(s|0)>4?s:4;if(e<<24>>24!=9)if(e<<24>>24==10){u=0;v=(c[n>>2]|0)+q|0}else{u=(c[m>>2]<<((e&255)>>>7))+p|0;v=q}else{u=t+p-((p|0)%(t|0)|0)|0;v=q}r=r+1|0;if((r-o|0)==(d|0)){h=v;i=u;j=m;k=n;break}else{p=u;q=v}}}while(0);v=(c[k>>2]|0)-f+h|0;f=b+324|0;k=c[f>>2]|0;u=(k|0)<(h|0)?k:h;k=(g|0)==0?((v|0)>(u|0)?v:u):h-g|0;c[f>>2]=(k|0)>0?k:0;k=(c[j>>2]|0)-(c[9035]|0)+i|0;j=b+320|0;b=c[j>>2]|0;f=(b|0)<(i|0)?b:i;i=(k|0)>(f|0)?k:f;c[j>>2]=(i|0)>0?i:0;return}function hs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;f=Ht(b)|0;if(!d)g=aq((f*7|0)+1|0)|0;else g=d;a[g>>0]=0;if((f|0)<=0)return g|0;d=(e|0)==0;e=g;h=0;while(1){i=a[b+h>>0]|0;j=((i<<24>>24)+256|0)%256|0;a:do if((j+-1|0)>>>0>=3){b:do if((j|0)<16){switch(j|0){case 13:case 10:case 9:{break b;break}default:{}}k=c[32272+(j<<2)>>2]|0;a[e>>0]=k>>>16;a[e+1>>0]=k>>>8;a[e+2>>0]=k;l=e+3|0;break a}else{if((j|0)==127){a[e>>0]=-30;a[e+1>>0]=-105;a[e+2>>0]=-117;l=e+3|0;break a}k=j+-128|0;if(k>>>0>=26){m=j+-154|0;if(m>>>0<50){a[e>>0]=-29;n=c[32336+(m<<2)>>2]|0;a[e+1>>0]=n>>>8;a[e+2>>0]=n;l=e+3|0;break a}n=j+-204|0;if(n>>>0>=50)break;a[e>>0]=-29;m=c[32544+(n<<2)>>2]|0;a[e+1>>0]=m>>>8;a[e+2>>0]=m;l=e+3|0;break a}m=a[31776+(k*7|0)>>0]|0;if(!(m<<24>>24))o=e;else{a[e>>0]=m;o=e+1|0}m=a[31776+(k*7|0)+1>>0]|0;if(!(m<<24>>24))p=o;else{a[o>>0]=m;p=o+1|0}m=a[31776+(k*7|0)+2>>0]|0;if(!(m<<24>>24))q=p;else{a[p>>0]=m;q=p+1|0}m=a[31776+(k*7|0)+3>>0]|0;if(!(m<<24>>24))r=q;else{a[q>>0]=m;r=q+1|0}m=a[31776+(k*7|0)+4>>0]|0;if(!(m<<24>>24))s=r;else{a[r>>0]=m;s=r+1|0}m=a[31776+(k*7|0)+5>>0]|0;if(!(m<<24>>24))t=s;else{a[s>>0]=m;t=s+1|0}m=a[31776+(k*7|0)+6>>0]|0;if(!(m<<24>>24)){l=t;break a}a[t>>0]=m;l=t+1|0;break a}while(0);if((j&-16|0)==16){m=j+10|0;k=a[31776+(m*7|0)>>0]|0;if(!(k<<24>>24))u=e;else{a[e>>0]=k;u=e+1|0}k=a[31776+(m*7|0)+1>>0]|0;if(!(k<<24>>24))v=u;else{a[u>>0]=k;v=u+1|0}k=a[31776+(m*7|0)+2>>0]|0;if(!(k<<24>>24))w=v;else{a[v>>0]=k;w=v+1|0}k=a[31776+(m*7|0)+3>>0]|0;if(!(k<<24>>24))x=w;else{a[w>>0]=k;x=w+1|0}k=a[31776+(m*7|0)+4>>0]|0;if(!(k<<24>>24))y=x;else{a[x>>0]=k;y=x+1|0}k=a[31776+(m*7|0)+5>>0]|0;if(!(k<<24>>24))z=y;else{a[y>>0]=k;z=y+1|0}k=a[31776+(m*7|0)+6>>0]|0;if(!(k<<24>>24)){l=z;break}a[z>>0]=k;l=z+1|0;break}if((j|0)>253){k=j+-212|0;m=a[31776+(k*7|0)>>0]|0;if(!(m<<24>>24))A=e;else{a[e>>0]=m;A=e+1|0}m=a[31776+(k*7|0)+1>>0]|0;if(!(m<<24>>24))B=A;else{a[A>>0]=m;B=A+1|0}m=a[31776+(k*7|0)+2>>0]|0;if(!(m<<24>>24))C=B;else{a[B>>0]=m;C=B+1|0}m=a[31776+(k*7|0)+3>>0]|0;if(!(m<<24>>24))D=C;else{a[C>>0]=m;D=C+1|0}m=a[31776+(k*7|0)+4>>0]|0;if(!(m<<24>>24))E=D;else{a[D>>0]=m;E=D+1|0}m=a[31776+(k*7|0)+5>>0]|0;if(!(m<<24>>24))F=E;else{a[E>>0]=m;F=E+1|0}m=a[31776+(k*7|0)+6>>0]|0;if(!(m<<24>>24)){l=F;break}a[F>>0]=m;l=F+1|0;break}if(!(d&(j+-65|0)>>>0<26)){a[e>>0]=i;l=e+1|0;break}m=j+-21|0;k=a[31776+(m*7|0)>>0]|0;if(!(k<<24>>24))G=e;else{a[e>>0]=k;G=e+1|0}k=a[31776+(m*7|0)+1>>0]|0;if(!(k<<24>>24))H=G;else{a[G>>0]=k;H=G+1|0}k=a[31776+(m*7|0)+2>>0]|0;if(!(k<<24>>24))I=H;else{a[H>>0]=k;I=H+1|0}k=a[31776+(m*7|0)+3>>0]|0;if(!(k<<24>>24))J=I;else{a[I>>0]=k;J=I+1|0}k=a[31776+(m*7|0)+4>>0]|0;if(!(k<<24>>24))K=J;else{a[J>>0]=k;K=J+1|0}k=a[31776+(m*7|0)+5>>0]|0;if(!(k<<24>>24))L=K;else{a[K>>0]=k;L=K+1|0}k=a[31776+(m*7|0)+6>>0]|0;if(!(k<<24>>24))l=L;else{a[L>>0]=k;l=L+1|0}}else{k=c[32272+(j<<2)>>2]|0;a[e>>0]=k>>>8;a[e+1>>0]=k;l=e+2|0}while(0);a[l>>0]=0;h=h+1|0;if((h|0)==(f|0))break;else e=l}return g|0}function is(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;if((c|0)==0|d<<24>>24==0){e=0;return e|0}f=c;c=b;b=0;g=d;while(1){f=f+-1|0;d=b+(g<<24>>24==10&1)|0;c=c+1|0;g=a[c>>0]|0;if((f|0)==0|g<<24>>24==0){e=d;break}else b=d}return e|0}function js(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=a[b>>0]|0;if((c|0)==0|d<<24>>24==0){e=b;f=e;g=b;h=f-g|0;return h|0}i=0;j=b;k=d;while(1){i=i+(k<<24>>24==10&1)|0;d=j+1|0;k=a[d>>0]|0;if((i|0)==(c|0)|k<<24>>24==0){e=d;break}else j=d}f=e;g=b;h=f-g|0;return h|0}function ks(a,b){a=a|0;b=b|0;return hs(a,b,1)|0}function ls(){var a=0;a=_p(20)|0;c[a>>2]=dq(0)|0;c[a+4>>2]=dq(0)|0;c[a+8>>2]=dq(0)|0;c[a+12>>2]=dq(0)|0;return a|0}function ms(a){a=a|0;if(!a)return;fq(c[a>>2]|0);fq(c[a+4>>2]|0);fq(c[a+8>>2]|0);fq(c[a+12>>2]|0);return}function ns(a){a=a|0;if(!a)return;gq(c[a>>2]|0);gq(c[a+4>>2]|0);gq(c[a+8>>2]|0);gq(c[a+12>>2]|0);return}function os(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=b+8|0;f=c[e>>2]|0;g=c[f+16>>2]|0;if(!g){fq(f);c[e>>2]=a;h=0;return h|0}if((c[a+16>>2]|0)==(g|0)?(Us(c[a+12>>2]|0,c[f+12>>2]|0,((d|0)<1?g:0)+d|0)|0)==0:0){fq(a);h=0;return h|0}d=ps(a,f,c[b+16>>2]|0)|0;f=c[b+4>>2]|0;g=d+16|0;lo(c[d+12>>2]|0,1,c[g>>2]|0,f)|0;ko(c[g>>2]|0,f);fq(d);gq(c[b>>2]|0);fq(c[e>>2]|0);c[e>>2]=a;h=1;return h|0}function ps(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=dq(0)|0;h=(c[b+16>>2]|0)-f|0;i=e+16|0;j=(c[i>>2]|0)-f|0;k=(h|0)<(j|0)?h:j;if((k|0)<0)return g|0;a:do if(k){l=c[b+12>>2]|0;m=c[e+12>>2]|0;n=0;while(1){if((a[l+n>>0]|0)!=(a[m+n>>0]|0)){o=n;break}p=n+1|0;if((p|0)<(k|0))n=p;else{o=p;break}}if((k|0)>0){n=c[b+12>>2]|0;m=h+-1|0;l=c[e+12>>2]|0;p=j+-1|0;q=0;r=0;while(1){if((a[n+(m+q)>>0]|0)!=(a[l+(p+q)>>0]|0)){s=r;t=q;u=o;break a}v=r+1|0;w=~r;if((v|0)<(k-v|0)){q=w;r=v}else{s=v;t=w;u=o;break}}}else{s=0;t=0;u=o}}else{s=0;t=0;u=0}while(0);mo(j,g);mo(u,g);mo(s,g);s=j-u+t|0;t=(s+7|0)/8|0;j=(s|0)>0;if(j){o=b+12|0;b=e+12|0;k=0;do{r=k<<3;do if((r|0)<(s|0)){q=r+u|0;if((q|0)<(h|0)?(a[(c[o>>2]|0)+q>>0]|0)==(a[(c[b>>2]|0)+q>>0]|0):0){x=0;break}x=1}else x=0;while(0);q=r|1;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){y=x;break}y=x|2}else y=x;while(0);q=r|2;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){z=y;break}z=y|4}else z=y;while(0);q=r|3;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){A=z;break}A=z|8}else A=z;while(0);q=r|4;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){B=A;break}B=A|16}else B=A;while(0);q=r|5;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){C=B;break}C=B|32}else C=B;while(0);q=r|6;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){D=C;break}D=C|64}else D=C;while(0);q=r|7;do if((q|0)<(s|0)){p=q+u|0;if((p|0)<(h|0)?(a[(c[o>>2]|0)+p>>0]|0)==(a[(c[b>>2]|0)+p>>0]|0):0){E=D;break}E=D|-128}else E=D;while(0);no(E,g);k=k+1|0}while((k|0)<(t|0));if(j){j=g+12|0;t=e+12|0;k=0;do{E=k+u|0;if(!((E|0)<(h|0)?!(1<<(k&7)&d[(c[j>>2]|0)+((k>>>3)+12)>>0]|0):0))no(a[(c[t>>2]|0)+E>>0]|0,g);k=k+1|0}while((k|0)!=(s|0));F=t}else G=18}else G=18;if((G|0)==18)F=e+12|0;e=g+20|0;c[e>>2]=c[g+16>>2];lo((c[F>>2]|0)+((c[i>>2]|0)-f)|0,1,f,g)|0;ko(f,g);c[e>>2]=0;return g|0}function qs(a,b){a=a|0;b=b|0;var c=0;if((a|0)==(b|0))c=a;else{Qt(a,b)|0;c=a}return c|0}function rs(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=_p((Ht(c)|0)+1|0)|0;if((d|0)!=(c|0))Qt(d,c)|0;c=a[d>>0]|0;if(c<<24>>24){e=d;f=c;do{if((f+-65&255)<26)a[e>>0]=(f&255)+32;e=e+1|0;f=a[e>>0]|0}while(f<<24>>24!=0)}f=_p((Ht(b)|0)+1|0)|0;if((f|0)!=(b|0))Qt(f,b)|0;e=a[f>>0]|0;if(e<<24>>24){c=f;g=e;do{if((g+-65&255)<26)a[c>>0]=(g&255)+32;c=c+1|0;g=a[c>>0]|0}while(g<<24>>24!=0)}g=Hu(f,d)|0;cq(d);cq(f);return ((g|0)==0?0:b+(g-f)|0)|0}function ss(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0,D=0,E=0,F=0;e=d+64|0;f=c[e>>2]|0;g=d+68|0;h=c[g>>2]|0;i=c[b+525580>>2]|0;a:do if(!i)j=f;else{k=c[d+28>>2]|0;if((k|0)<=-1?(c[d+32>>2]|0)==0:0){j=f;break}switch(k|0){case 0:{switch((i|0)%3|0|0){case 1:{j=(c[d+32>>2]>>4)+f|0;break a;break}case 2:{j=(c[d+32>>2]&15)+f|0;break a;break}default:{j=f;break a}}break}case 1:{c[g>>2]=(c[d+32>>2]<<4)+h;j=f;break a;break}case 2:{c[g>>2]=h-(c[d+32>>2]<<4);j=f;break a;break}case 3:{k=c[d+76>>2]|0;if((f|0)<(k|0)){l=(c[d+32>>2]<<4)+h|0;c[g>>2]=l;if((l|0)<0){m=255-l+((l|0)>-256?l:-256)|0;n=f+-1-(m>>>8)|0;o=l+256+(m&-256)|0;c[e>>2]=n;c[g>>2]=o;p=o;q=n}else{p=l;q=f}if((p|0)>255){l=~p;n=p+256+((l|0)>-512?l:-512)|0;l=(n>>>8)+1+q|0;c[e>>2]=l;c[g>>2]=p+-256-(n&-256);r=l}else r=q;if((r|0)<(k|0)){j=f;break a}c[e>>2]=k;c[g>>2]=0;j=f;break a}if((f|0)<=(k|0)?(h|0)==0|(f|0)!=(k|0):0){j=f;break a}l=h-(c[d+32>>2]<<4)|0;c[g>>2]=l;if((l|0)<0){n=255-l+((l|0)>-256?l:-256)|0;o=f+-1-(n>>>8)|0;m=l+256+(n&-256)|0;c[e>>2]=o;c[g>>2]=m;s=m;t=o}else{s=l;t=f}if((s|0)>255){l=~s;o=s+256+((l|0)>-512?l:-512)|0;l=(o>>>8)+1+t|0;c[e>>2]=l;c[g>>2]=s+-256-(o&-256);u=l}else u=t;if((u|0)>(k|0)){j=f;break a}c[e>>2]=k;c[g>>2]=0;j=f;break a;break}case 4:{k=c[d+32>>2]>>4;if(!k){j=f;break a}l=B(c[b+525588>>2]|0,k)|0;k=c[(c[b>>2]|0)+48>>2]|0;c[d+60>>2]=65536/((B(l,k)|0)/(k+-1|0)|0|0)|0;j=f;break a;break}case 10:{k=d+8|0;l=(c[k>>2]|0)-(c[d+32>>2]|0)|0;o=(l|0)<63?l:63;c[k>>2]=(o|0)>0?o:0;j=f;break a;break}default:{j=f;break a}}}while(0);f=c[d+4>>2]|0;if(!f)return;g=c[b>>2]|0;if((f|0)>(c[g+64>>2]|0))return;b=c[g+68>>2]|0;if((c[d+28>>2]|0)==4){g=c[d+32>>2]|0;e=d+56|0;u=(g>>4<<5)+(c[e>>2]|0)|0;c[e>>2]=u&2047;e=u+512&2047;v=(B(512-(e>>>0<1024?e:2048-e|0)|0,g&15)|0)/16|0}else v=0;g=(c[b+(f*332|0)+100>>2]|0)+j|0;j=h-((c[b+(f*332|0)+88>>2]|0)/2|0)+v|0;if((j|0)<0){v=255-j+((j|0)>-256?j:-256)|0;w=g+-1-(v>>>8)|0;x=j+256+(v&-256)|0}else{w=g;x=j}if((x|0)>255){j=~x;g=x+256+((j|0)>-512?j:-512)|0;y=w+1+(g>>>8)|0;z=x+-256-(g&-256)|0}else{y=w;z=x}if((y|0)<0)A=1;else{x=(y>>>0)/12|0;C=+(c[32752+((y-(x*12|0)<<3)+((z|0)/32|0)<<2)>>2]<<4|0)*64.0/+(1<>2]=A;A=c[b+(f*332|0)+128>>2]|0;if(A|0?a[b+(f*332|0)+116>>0]&1:0){x=d+20|0;z=c[x>>2]|0;y=A+-1|0;if((z|0)<(y|0)?(w=z+1|0,(c[d+24>>2]|0)>=(c[b+(f*332|0)+132+(w<<2)>>2]|0)):0){c[x>>2]=w;D=w}else D=z;z=(D|0)<(y|0)?D:y;y=(z|0)>0?z:0;c[x>>2]=y;x=y+1|0;if((x|0)<(A|0)){A=c[b+(f*332|0)+132+(y<<2)>>2]|0;z=(c[b+(f*332|0)+132+(x<<2)>>2]|0)-A|0;D=d+24|0;w=c[D>>2]|0;g=w-A|0;A=B(z-g|0,c[b+(f*332|0)+180+(y<<2)>>2]|0)|0;j=d+16|0;c[j>>2]=A;c[j>>2]=((B(c[b+(f*332|0)+180+(x<<2)>>2]|0,g)|0)+A|0)/(z|0)|0;E=D;F=w}else{c[d+16>>2]=c[b+(f*332|0)+180+(y<<2)>>2];y=d+24|0;E=y;F=c[y>>2]|0}c[E>>2]=F+1;return}c[d+16>>2]=64;return}function ts(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;f=e+28|0;g=c[f>>2]|0;h=e+36|0;c[h>>2]=g;i=e+32|0;j=c[i>>2]|0;k=e+40|0;c[k>>2]=j;l=c[b>>2]|0;m=c[l+60>>2]|0;n=d[(c[b+525572>>2]|0)+(l+72)>>0]|0;o=c[e>>2]|0;p=c[b+525576>>2]|0;q=m+(n*2596|0)+36+(o*320|0)+(p*5|0)|0;r=a[m+(n*2596|0)+36+(o*320|0)+(p*5|0)+1>>0]|0;s=e+4|0;do if(!(r<<24>>24)){t=c[s>>2]|0;if(!t){u=m+(n*2596|0)+36+(o*320|0)+(p*5|0)+3|0;if((a[u>>0]|0)==11){v=u;w=11;x=c[l+68>>2]|0;y=0;z=1;A=7;break}else return}else{B=t;A=6}}else{t=r&255;c[s>>2]=t;B=t;A=6}while(0);if((A|0)==6){s=m+(n*2596|0)+36+(o*320|0)+(p*5|0)+3|0;r=a[s>>0]|0;t=c[l+68>>2]|0;if(!(r<<24>>24)){C=s;D=t;E=B;F=0;G=g}else{v=s;w=r;x=t;y=B;z=0;A=7}}if((A|0)==7){A=w&255;c[f>>2]=A;C=v;D=x;E=y;F=z;G=A}A=m+(n*2596|0)+36+(o*320|0)+(p*5|0)+4|0;z=a[A>>0]|0;if(z<<24>>24)c[i>>2]=z&255;if((a[C>>0]|0)==0?(a[A>>0]|0)==0:0){c[i>>2]=0;c[f>>2]=0;H=0}else H=G;G=a[q>>0]|0;do if(G<<24>>24){q=G&255;if((G&255)>96){c[e+8>>2]=0;break}if((H|0)==3){c[e+76>>2]=q;c[e+20>>2]=0;c[e+24>>2]=0;break}c[e+64>>2]=q;if(!F){c[e+68>>2]=0;c[e+44>>2]=0;c[e+48>>2]=0;c[e+8>>2]=c[D+(E*332|0)+84>>2];c[e+20>>2]=0;c[e+24>>2]=0;c[e+56>>2]=0}}while(0);E=a[m+(n*2596|0)+36+(o*320|0)+(p*5|0)+2>>0]|0;if(E<<24>>24)c[e+8>>2]=(E&255)+-16;if((g|0)!=11)return;c[b+525592>>2]=j;c[f>>2]=0;c[k>>2]=0;c[h>>2]=0;return}function us(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=d+8|0;h=B(c[d+16>>2]|0,c[g>>2]|0)|0;i=(e|0)==0?d+80|0:e;if((h|0?(e=c[d+4>>2]|0,e|0):0)?(j=c[a>>2]|0,(e|0)<=(c[j+64>>2]|0)):0){k=c[j+68>>2]|0;j=c[k+(e*332|0)+72>>2]|0;l=c[k+(e*332|0)+328>>2]|0;if(l|0){Ua[l&0](a,d,i,f,h);return}if((f|0)<=0)return;a=k+(e*332|0)+104|0;l=d+52|0;m=d+48|0;n=d+44|0;d=k+(e*332|0)+80|0;o=k+(e*332|0)+68|0;p=k+(e*332|0)+92|0;q=k+(e*332|0)+76|0;e=h;h=0;k=i;while(1){if((c[a>>2]|0)==8){r=Yo(32e3)|0;s=r;t=c[m>>2]|0;u=c[n>>2]|0}else{r=c[n>>2]|0;v=c[m>>2]|0;w=v>>16;x=B(256-w|0,b[j+(r<<1)>>1]|0)|0;s=x+(B(w,b[j+(r+1<<1)>>1]|0)|0)>>8;t=v;u=r}b[k>>1]=(B(s,e)|0)>>>12;k=k+2|0;r=t+(c[l>>2]|0)|0;v=u+(r>>24)|0;c[n>>2]=v;c[m>>2]=r&16777215;r=c[d>>2]|0;if(((r|0)!=0?(c[p>>2]&3|0)!=0:0)?(v|0)>=((c[q>>2]|0)+r|0):0){w=v-r|0;c[n>>2]=w;y=w}else y=v;if((y|0)<(c[o>>2]|0))z=e;else{c[g>>2]=0;z=0}h=h+1|0;if((h|0)==(f|0))break;else e=z}return}$p(i,0,f<<1);return}function vs(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;g=c[a>>2]|0;yr()|0;if((f|0)<=0)return;h=a+525596|0;i=a+525588|0;j=a+525572|0;k=g+32|0;l=g+40|0;g=a+525592|0;m=a+525580|0;n=a+525576|0;o=a+525600|0;p=a+525584|0;q=e;e=f;f=c[h>>2]|0;a:while(1){r=c[i>>2]|0;if((r|0)>(f|0)){s=r-f|0;r=(s|0)<(e|0)?s:e;do if((r|0)!=0?(s=r+f|0,(r|0)>0):0){t=c[(c[a>>2]|0)+40>>2]|0;if((t|0)<=0){u=f+1|0;Av(q|0,0,((s|0)>(u|0)?s:u)-f<<1|0)|0;v=c[h>>2]|0;break}u=f;w=q;while(1){x=0;y=0;do{y=y+(b[a+4+(x*32848|0)+80+(u<<1)>>1]|0)|0;x=x+1|0}while((x|0)!=(t|0));x=(y|0)/3|0;z=(x|0)<32767?x:32767;b[w>>1]=(z|0)>-32767?z:-32767;u=u+1|0;if((u|0)>=(s|0)){v=f;break}else w=w+2|0}}else v=f;while(0);c[h>>2]=v+r;w=e-r|0;if((w|0)>0){A=q+(r<<1)|0;C=w}else{D=44;break}}else{A=q;C=e}w=c[l>>2]|0;b:do if((c[j>>2]|0)<(c[k>>2]|0))E=w;else{c:do if((w|0)>0){s=0;while(1){F=a+4+(s*32848|0)+28|0;if((c[F>>2]|0)==11)break;u=s+1|0;if((u|0)<(w|0))s=u;else break c}y=c[a+4+(s*32848|0)+32>>2]|0;c[j>>2]=y;c[j>>2]=((y|0)<0?1:(y|0)>=(c[k>>2]|0))?0:y;c[F>>2]=0;c[a+4+(s*32848|0)+40>>2]=0;c[a+4+(s*32848|0)+36>>2]=0;c[m>>2]=0;c[n>>2]=0;E=c[l>>2]|0;break b}while(0);if(!(c[o>>2]|0)){D=21;break a}c[j>>2]=0;E=w}while(0);if((E|0)>0){w=0;do{r=a+262788+(w*32848|0)|0;y=a+4+(w*32848|0)|0;u=r+80|0;do{c[r>>2]=c[y>>2];r=r+4|0;y=y+4|0}while((r|0)<(u|0));w=w+1|0;y=c[l>>2]|0}while((w|0)<(y|0));G=y}else G=E;c[g>>2]=-1;if(!(c[m>>2]|0)){if((G|0)>0){w=0;do{ts(a,a+4+(w*32848|0)|0);w=w+1|0;H=c[l>>2]|0}while((w|0)<(H|0));w=c[g>>2]|0;if((w|0)!=-1){c[j>>2]=w;c[m>>2]=0;c[n>>2]=0;if((H|0)>0){w=0;do{ts(a,a+4+(w*32848|0)|0);w=w+1|0;y=c[l>>2]|0}while((w|0)<(y|0));I=y;D=33}}else{I=H;D=33}}}else{I=G;D=33}if((D|0)==33?(D=0,(I|0)>0):0){w=0;do{y=a+4+(w*32848|0)|0;ss(a,y);us(a,y,0,c[i>>2]|0);us(a,a+262788+(w*32848|0)|0,0,128);y=0;do{r=B(128-y|0,b[a+262788+(w*32848|0)+80+(y<<1)>>1]|0)|0;u=a+4+(w*32848|0)+80+(y<<1)|0;b[u>>1]=((B(y,b[u>>1]|0)|0)+r|0)>>>7;y=y+1|0}while((y|0)!=128);w=w+1|0}while((w|0)<(c[l>>2]|0))}c[h>>2]=0;w=(c[m>>2]|0)+1|0;c[m>>2]=w;if((w|0)<(c[p>>2]|0))J=c[n>>2]|0;else{c[m>>2]=0;w=(c[n>>2]|0)+1|0;c[n>>2]=w;J=w}w=c[a>>2]|0;y=c[j>>2]|0;if((J|0)>=(c[(c[w+60>>2]|0)+((d[w+72+y>>0]|0)*2596|0)+32>>2]|0)){c[n>>2]=0;c[j>>2]=y+1}if((C|0)>0){q=A;e=C;f=0}else{D=44;break}}if((D|0)==21){c[a+525604>>2]=0;return}else if((D|0)==44)return}function ws(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0;b=Ia;Ia=Ia+16|0;d=b;do if(a>>>0<245){e=a>>>0<11?16:a+11&-8;f=e>>>3;g=c[825007]|0;h=g>>>f;if(h&3|0){i=(h&1^1)+f|0;j=3300068+(i<<1<<2)|0;k=j+8|0;l=c[k>>2]|0;m=l+8|0;n=c[m>>2]|0;if((n|0)==(j|0))c[825007]=g&~(1<>2]=j;c[k>>2]=n}n=i<<3;c[l+4>>2]=n|3;i=l+n+4|0;c[i>>2]=c[i>>2]|1;o=m;Ia=b;return o|0}m=c[825009]|0;if(e>>>0>m>>>0){if(h|0){i=2<>>12&16;f=i>>>n;i=f>>>5&8;h=f>>>i;f=h>>>2&4;l=h>>>f;h=l>>>1&2;k=l>>>h;l=k>>>1&1;j=(i|n|f|h|l)+(k>>>l)|0;l=3300068+(j<<1<<2)|0;k=l+8|0;h=c[k>>2]|0;f=h+8|0;n=c[f>>2]|0;if((n|0)==(l|0)){i=g&~(1<>2]=l;c[k>>2]=n;p=g}n=j<<3;j=n-e|0;c[h+4>>2]=e|3;k=h+e|0;c[k+4>>2]=j|1;c[h+n>>2]=j;if(m|0){n=c[825012]|0;h=m>>>3;l=3300068+(h<<1<<2)|0;i=1<>2]|0;r=i}c[r>>2]=n;c[q+12>>2]=n;c[n+8>>2]=q;c[n+12>>2]=l}c[825009]=j;c[825012]=k;o=f;Ia=b;return o|0}f=c[825008]|0;if(f){k=(f&0-f)+-1|0;j=k>>>12&16;l=k>>>j;k=l>>>5&8;n=l>>>k;l=n>>>2&4;i=n>>>l;n=i>>>1&2;h=i>>>n;i=h>>>1&1;s=c[3300332+((k|j|l|n|i)+(h>>>i)<<2)>>2]|0;i=s;h=s;n=(c[s+4>>2]&-8)-e|0;while(1){s=c[i+16>>2]|0;if(!s){l=c[i+20>>2]|0;if(!l)break;else t=l}else t=s;s=(c[t+4>>2]&-8)-e|0;l=s>>>0>>0;i=t;h=l?t:h;n=l?s:n}i=h+e|0;if(i>>>0>h>>>0){s=c[h+24>>2]|0;l=c[h+12>>2]|0;do if((l|0)==(h|0)){j=h+20|0;k=c[j>>2]|0;if(!k){u=h+16|0;v=c[u>>2]|0;if(!v){w=0;break}else{x=v;y=u}}else{x=k;y=j}j=x;k=y;while(1){u=j+20|0;v=c[u>>2]|0;if(!v){z=j+16|0;A=c[z>>2]|0;if(!A)break;else{B=A;C=z}}else{B=v;C=u}j=B;k=C}c[k>>2]=0;w=j}else{u=c[h+8>>2]|0;c[u+12>>2]=l;c[l+8>>2]=u;w=l}while(0);do if(s|0){l=c[h+28>>2]|0;u=3300332+(l<<2)|0;if((h|0)==(c[u>>2]|0)){c[u>>2]=w;if(!w){c[825008]=f&~(1<>2]|0)==(h|0)?l:s+20|0)>>2]=w;if(!w)break}c[w+24>>2]=s;l=c[h+16>>2]|0;if(l|0){c[w+16>>2]=l;c[l+24>>2]=w}l=c[h+20>>2]|0;if(l|0){c[w+20>>2]=l;c[l+24>>2]=w}}while(0);if(n>>>0<16){s=n+e|0;c[h+4>>2]=s|3;f=h+s+4|0;c[f>>2]=c[f>>2]|1}else{c[h+4>>2]=e|3;c[i+4>>2]=n|1;c[i+n>>2]=n;if(m|0){f=c[825012]|0;s=m>>>3;l=3300068+(s<<1<<2)|0;u=1<>2]|0;E=u}c[E>>2]=f;c[D+12>>2]=f;c[f+8>>2]=D;c[f+12>>2]=l}c[825009]=n;c[825012]=i}o=h+8|0;Ia=b;return o|0}else F=e}else F=e}else F=e}else if(a>>>0<=4294967231){l=a+11|0;f=l&-8;u=c[825008]|0;if(u){s=0-f|0;v=l>>>8;if(v)if(f>>>0>16777215)G=31;else{l=(v+1048320|0)>>>16&8;z=v<>>16&4;A=z<>>16&2;H=14-(v|l|z)+(A<>>15)|0;G=f>>>(H+7|0)&1|H<<1}else G=0;H=c[3300332+(G<<2)>>2]|0;a:do if(!H){I=0;J=0;K=s;L=61}else{z=0;A=s;l=H;v=f<<((G|0)==31?0:25-(G>>>1)|0);M=0;while(1){N=(c[l+4>>2]&-8)-f|0;if(N>>>0>>0)if(!N){O=l;P=0;Q=l;L=65;break a}else{R=l;S=N}else{R=z;S=A}N=c[l+20>>2]|0;l=c[l+16+(v>>>31<<2)>>2]|0;T=(N|0)==0|(N|0)==(l|0)?M:N;if(!l){I=T;J=R;K=S;L=61;break}else{z=R;A=S;v=v<<1;M=T}}}while(0);if((L|0)==61){if((I|0)==0&(J|0)==0){H=2<>>12&16;e=H>>>s;H=e>>>5&8;h=e>>>H;e=h>>>2&4;i=h>>>e;h=i>>>1&2;n=i>>>h;i=n>>>1&1;U=0;V=c[3300332+((H|s|e|h|i)+(n>>>i)<<2)>>2]|0}else{U=J;V=I}if(!V){W=U;X=K}else{O=U;P=K;Q=V;L=65}}if((L|0)==65){i=O;n=P;h=Q;while(1){e=(c[h+4>>2]&-8)-f|0;s=e>>>0>>0;H=s?e:n;e=s?h:i;s=c[h+16>>2]|0;if(!s)Y=c[h+20>>2]|0;else Y=s;if(!Y){W=e;X=H;break}else{i=e;n=H;h=Y}}}if(((W|0)!=0?X>>>0<((c[825009]|0)-f|0)>>>0:0)?(h=W+f|0,h>>>0>W>>>0):0){n=c[W+24>>2]|0;i=c[W+12>>2]|0;do if((i|0)==(W|0)){H=W+20|0;e=c[H>>2]|0;if(!e){s=W+16|0;g=c[s>>2]|0;if(!g){Z=0;break}else{_=g;$=s}}else{_=e;$=H}H=_;e=$;while(1){s=H+20|0;g=c[s>>2]|0;if(!g){m=H+16|0;M=c[m>>2]|0;if(!M)break;else{aa=M;ba=m}}else{aa=g;ba=s}H=aa;e=ba}c[e>>2]=0;Z=H}else{s=c[W+8>>2]|0;c[s+12>>2]=i;c[i+8>>2]=s;Z=i}while(0);do if(n){i=c[W+28>>2]|0;s=3300332+(i<<2)|0;if((W|0)==(c[s>>2]|0)){c[s>>2]=Z;if(!Z){s=u&~(1<>2]|0)==(W|0)?s:n+20|0)>>2]=Z;if(!Z){ca=u;break}}c[Z+24>>2]=n;s=c[W+16>>2]|0;if(s|0){c[Z+16>>2]=s;c[s+24>>2]=Z}s=c[W+20>>2]|0;if(s){c[Z+20>>2]=s;c[s+24>>2]=Z;ca=u}else ca=u}else ca=u;while(0);b:do if(X>>>0<16){u=X+f|0;c[W+4>>2]=u|3;n=W+u+4|0;c[n>>2]=c[n>>2]|1}else{c[W+4>>2]=f|3;c[h+4>>2]=X|1;c[h+X>>2]=X;n=X>>>3;if(X>>>0<256){u=3300068+(n<<1<<2)|0;s=c[825007]|0;i=1<>2]|0;ea=i}c[ea>>2]=h;c[da+12>>2]=h;c[h+8>>2]=da;c[h+12>>2]=u;break}u=X>>>8;if(u)if(X>>>0>16777215)fa=31;else{i=(u+1048320|0)>>>16&8;s=u<>>16&4;n=s<>>16&2;g=14-(u|i|s)+(n<>>15)|0;fa=X>>>(g+7|0)&1|g<<1}else fa=0;g=3300332+(fa<<2)|0;c[h+28>>2]=fa;s=h+16|0;c[s+4>>2]=0;c[s>>2]=0;s=1<>2]=h;c[h+24>>2]=g;c[h+12>>2]=h;c[h+8>>2]=h;break}s=c[g>>2]|0;c:do if((c[s+4>>2]&-8|0)==(X|0))ga=s;else{g=X<<((fa|0)==31?0:25-(fa>>>1)|0);n=s;while(1){ha=n+16+(g>>>31<<2)|0;i=c[ha>>2]|0;if(!i)break;if((c[i+4>>2]&-8|0)==(X|0)){ga=i;break c}else{g=g<<1;n=i}}c[ha>>2]=h;c[h+24>>2]=n;c[h+12>>2]=h;c[h+8>>2]=h;break b}while(0);s=ga+8|0;H=c[s>>2]|0;c[H+12>>2]=h;c[s>>2]=h;c[h+8>>2]=H;c[h+12>>2]=ga;c[h+24>>2]=0}while(0);o=W+8|0;Ia=b;return o|0}else F=f}else F=f}else F=-1;while(0);W=c[825009]|0;if(W>>>0>=F>>>0){ga=W-F|0;ha=c[825012]|0;if(ga>>>0>15){X=ha+F|0;c[825012]=X;c[825009]=ga;c[X+4>>2]=ga|1;c[ha+W>>2]=ga;c[ha+4>>2]=F|3}else{c[825009]=0;c[825012]=0;c[ha+4>>2]=W|3;ga=ha+W+4|0;c[ga>>2]=c[ga>>2]|1}o=ha+8|0;Ia=b;return o|0}ha=c[825010]|0;if(ha>>>0>F>>>0){ga=ha-F|0;c[825010]=ga;W=c[825013]|0;X=W+F|0;c[825013]=X;c[X+4>>2]=ga|1;c[W+4>>2]=F|3;o=W+8|0;Ia=b;return o|0}if(!(c[825125]|0)){c[825127]=4096;c[825126]=4096;c[825128]=-1;c[825129]=-1;c[825130]=0;c[825118]=0;c[825125]=d&-16^1431655768;ia=4096}else ia=c[825127]|0;d=F+48|0;W=F+47|0;ga=ia+W|0;X=0-ia|0;ia=ga&X;if(ia>>>0<=F>>>0){o=0;Ia=b;return o|0}fa=c[825117]|0;if(fa|0?(ca=c[825115]|0,da=ca+ia|0,da>>>0<=ca>>>0|da>>>0>fa>>>0):0){o=0;Ia=b;return o|0}d:do if(!(c[825118]&4)){fa=c[825013]|0;e:do if(fa){da=3300476;while(1){ca=c[da>>2]|0;if(ca>>>0<=fa>>>0?(ca+(c[da+4>>2]|0)|0)>>>0>fa>>>0:0)break;ca=c[da+8>>2]|0;if(!ca){L=128;break e}else da=ca}ca=ga-ha&X;if(ca>>>0<2147483647){ea=Bv(ca|0)|0;if((ea|0)==((c[da>>2]|0)+(c[da+4>>2]|0)|0))if((ea|0)==(-1|0))ja=ca;else{ka=ca;la=ea;L=145;break d}else{ma=ea;na=ca;L=136}}else ja=0}else L=128;while(0);do if((L|0)==128){fa=Bv(0)|0;if((fa|0)!=(-1|0)?(f=fa,ca=c[825126]|0,ea=ca+-1|0,Z=((ea&f|0)==0?0:(ea+f&0-ca)-f|0)+ia|0,f=c[825115]|0,ca=Z+f|0,Z>>>0>F>>>0&Z>>>0<2147483647):0){ea=c[825117]|0;if(ea|0?ca>>>0<=f>>>0|ca>>>0>ea>>>0:0){ja=0;break}ea=Bv(Z|0)|0;if((ea|0)==(fa|0)){ka=Z;la=fa;L=145;break d}else{ma=ea;na=Z;L=136}}else ja=0}while(0);do if((L|0)==136){Z=0-na|0;if(!(d>>>0>na>>>0&(na>>>0<2147483647&(ma|0)!=(-1|0))))if((ma|0)==(-1|0)){ja=0;break}else{ka=na;la=ma;L=145;break d}ea=c[825127]|0;fa=W-na+ea&0-ea;if(fa>>>0>=2147483647){ka=na;la=ma;L=145;break d}if((Bv(fa|0)|0)==(-1|0)){Bv(Z|0)|0;ja=0;break}else{ka=fa+na|0;la=ma;L=145;break d}}while(0);c[825118]=c[825118]|4;oa=ja;L=143}else{oa=0;L=143}while(0);if(((L|0)==143?ia>>>0<2147483647:0)?(ja=Bv(ia|0)|0,ia=Bv(0)|0,ma=ia-ja|0,na=ma>>>0>(F+40|0)>>>0,!((ja|0)==(-1|0)|na^1|ja>>>0>>0&((ja|0)!=(-1|0)&(ia|0)!=(-1|0))^1)):0){ka=na?ma:oa;la=ja;L=145}if((L|0)==145){ja=(c[825115]|0)+ka|0;c[825115]=ja;if(ja>>>0>(c[825116]|0)>>>0)c[825116]=ja;ja=c[825013]|0;f:do if(ja){oa=3300476;while(1){pa=c[oa>>2]|0;qa=c[oa+4>>2]|0;if((la|0)==(pa+qa|0)){L=154;break}ma=c[oa+8>>2]|0;if(!ma)break;else oa=ma}if(((L|0)==154?(ma=oa+4|0,(c[oa+12>>2]&8|0)==0):0)?la>>>0>ja>>>0&pa>>>0<=ja>>>0:0){c[ma>>2]=qa+ka;ma=(c[825010]|0)+ka|0;na=ja+8|0;ia=(na&7|0)==0?0:0-na&7;na=ja+ia|0;W=ma-ia|0;c[825013]=na;c[825010]=W;c[na+4>>2]=W|1;c[ja+ma+4>>2]=40;c[825014]=c[825129];break}if(la>>>0<(c[825011]|0)>>>0)c[825011]=la;ma=la+ka|0;W=3300476;while(1){if((c[W>>2]|0)==(ma|0)){L=162;break}na=c[W+8>>2]|0;if(!na)break;else W=na}if((L|0)==162?(c[W+12>>2]&8|0)==0:0){c[W>>2]=la;oa=W+4|0;c[oa>>2]=(c[oa>>2]|0)+ka;oa=la+8|0;na=la+((oa&7|0)==0?0:0-oa&7)|0;oa=ma+8|0;ia=ma+((oa&7|0)==0?0:0-oa&7)|0;oa=na+F|0;d=ia-na-F|0;c[na+4>>2]=F|3;g:do if((ja|0)==(ia|0)){X=(c[825010]|0)+d|0;c[825010]=X;c[825013]=oa;c[oa+4>>2]=X|1}else{if((c[825012]|0)==(ia|0)){X=(c[825009]|0)+d|0;c[825009]=X;c[825012]=oa;c[oa+4>>2]=X|1;c[oa+X>>2]=X;break}X=c[ia+4>>2]|0;if((X&3|0)==1){ha=X&-8;ga=X>>>3;h:do if(X>>>0<256){fa=c[ia+8>>2]|0;Z=c[ia+12>>2]|0;if((Z|0)==(fa|0)){c[825007]=c[825007]&~(1<>2]=Z;c[Z+8>>2]=fa;break}}else{fa=c[ia+24>>2]|0;Z=c[ia+12>>2]|0;do if((Z|0)==(ia|0)){ea=ia+16|0;ca=ea+4|0;f=c[ca>>2]|0;if(!f){ba=c[ea>>2]|0;if(!ba){ra=0;break}else{sa=ba;ta=ea}}else{sa=f;ta=ca}ca=sa;f=ta;while(1){ea=ca+20|0;ba=c[ea>>2]|0;if(!ba){aa=ca+16|0;$=c[aa>>2]|0;if(!$)break;else{ua=$;va=aa}}else{ua=ba;va=ea}ca=ua;f=va}c[f>>2]=0;ra=ca}else{ea=c[ia+8>>2]|0;c[ea+12>>2]=Z;c[Z+8>>2]=ea;ra=Z}while(0);if(!fa)break;Z=c[ia+28>>2]|0;n=3300332+(Z<<2)|0;do if((c[n>>2]|0)!=(ia|0)){ea=fa+16|0;c[((c[ea>>2]|0)==(ia|0)?ea:fa+20|0)>>2]=ra;if(!ra)break h}else{c[n>>2]=ra;if(ra|0)break;c[825008]=c[825008]&~(1<>2]=fa;Z=ia+16|0;n=c[Z>>2]|0;if(n|0){c[ra+16>>2]=n;c[n+24>>2]=ra}n=c[Z+4>>2]|0;if(!n)break;c[ra+20>>2]=n;c[n+24>>2]=ra}while(0);wa=ia+ha|0;xa=ha+d|0}else{wa=ia;xa=d}ga=wa+4|0;c[ga>>2]=c[ga>>2]&-2;c[oa+4>>2]=xa|1;c[oa+xa>>2]=xa;ga=xa>>>3;if(xa>>>0<256){X=3300068+(ga<<1<<2)|0;da=c[825007]|0;n=1<>2]|0;za=n}c[za>>2]=oa;c[ya+12>>2]=oa;c[oa+8>>2]=ya;c[oa+12>>2]=X;break}X=xa>>>8;do if(!X)Aa=0;else{if(xa>>>0>16777215){Aa=31;break}n=(X+1048320|0)>>>16&8;da=X<>>16&4;Z=da<>>16&2;ea=14-(ga|n|da)+(Z<>>15)|0;Aa=xa>>>(ea+7|0)&1|ea<<1}while(0);X=3300332+(Aa<<2)|0;c[oa+28>>2]=Aa;ha=oa+16|0;c[ha+4>>2]=0;c[ha>>2]=0;ha=c[825008]|0;ea=1<>2]=oa;c[oa+24>>2]=X;c[oa+12>>2]=oa;c[oa+8>>2]=oa;break}ea=c[X>>2]|0;i:do if((c[ea+4>>2]&-8|0)==(xa|0))Ba=ea;else{X=xa<<((Aa|0)==31?0:25-(Aa>>>1)|0);ha=ea;while(1){Ca=ha+16+(X>>>31<<2)|0;da=c[Ca>>2]|0;if(!da)break;if((c[da+4>>2]&-8|0)==(xa|0)){Ba=da;break i}else{X=X<<1;ha=da}}c[Ca>>2]=oa;c[oa+24>>2]=ha;c[oa+12>>2]=oa;c[oa+8>>2]=oa;break g}while(0);ea=Ba+8|0;X=c[ea>>2]|0;c[X+12>>2]=oa;c[ea>>2]=oa;c[oa+8>>2]=X;c[oa+12>>2]=Ba;c[oa+24>>2]=0}while(0);o=na+8|0;Ia=b;return o|0}oa=3300476;while(1){d=c[oa>>2]|0;if(d>>>0<=ja>>>0?(Da=d+(c[oa+4>>2]|0)|0,Da>>>0>ja>>>0):0)break;oa=c[oa+8>>2]|0}oa=Da+-47|0;na=oa+8|0;d=oa+((na&7|0)==0?0:0-na&7)|0;na=ja+16|0;oa=d>>>0>>0?ja:d;d=oa+8|0;ia=ka+-40|0;ma=la+8|0;W=(ma&7|0)==0?0:0-ma&7;ma=la+W|0;X=ia-W|0;c[825013]=ma;c[825010]=X;c[ma+4>>2]=X|1;c[la+ia+4>>2]=40;c[825014]=c[825129];ia=oa+4|0;c[ia>>2]=27;c[d>>2]=c[825119];c[d+4>>2]=c[825120];c[d+8>>2]=c[825121];c[d+12>>2]=c[825122];c[825119]=la;c[825120]=ka;c[825122]=0;c[825121]=d;d=oa+24|0;do{X=d;d=d+4|0;c[d>>2]=7}while((X+8|0)>>>0>>0);if((oa|0)!=(ja|0)){d=oa-ja|0;c[ia>>2]=c[ia>>2]&-2;c[ja+4>>2]=d|1;c[oa>>2]=d;X=d>>>3;if(d>>>0<256){ma=3300068+(X<<1<<2)|0;W=c[825007]|0;ea=1<>2]|0;Fa=ea}c[Fa>>2]=ja;c[Ea+12>>2]=ja;c[ja+8>>2]=Ea;c[ja+12>>2]=ma;break}ma=d>>>8;if(ma)if(d>>>0>16777215)Ga=31;else{ea=(ma+1048320|0)>>>16&8;W=ma<>>16&4;X=W<>>16&2;fa=14-(ma|ea|W)+(X<>>15)|0;Ga=d>>>(fa+7|0)&1|fa<<1}else Ga=0;fa=3300332+(Ga<<2)|0;c[ja+28>>2]=Ga;c[ja+20>>2]=0;c[na>>2]=0;W=c[825008]|0;X=1<>2]=ja;c[ja+24>>2]=fa;c[ja+12>>2]=ja;c[ja+8>>2]=ja;break}X=c[fa>>2]|0;j:do if((c[X+4>>2]&-8|0)==(d|0))Ha=X;else{fa=d<<((Ga|0)==31?0:25-(Ga>>>1)|0);W=X;while(1){Ja=W+16+(fa>>>31<<2)|0;ea=c[Ja>>2]|0;if(!ea)break;if((c[ea+4>>2]&-8|0)==(d|0)){Ha=ea;break j}else{fa=fa<<1;W=ea}}c[Ja>>2]=ja;c[ja+24>>2]=W;c[ja+12>>2]=ja;c[ja+8>>2]=ja;break f}while(0);d=Ha+8|0;X=c[d>>2]|0;c[X+12>>2]=ja;c[d>>2]=ja;c[ja+8>>2]=X;c[ja+12>>2]=Ha;c[ja+24>>2]=0}}else{X=c[825011]|0;if((X|0)==0|la>>>0>>0)c[825011]=la;c[825119]=la;c[825120]=ka;c[825122]=0;c[825016]=c[825125];c[825015]=-1;c[825020]=3300068;c[825019]=3300068;c[825022]=3300076;c[825021]=3300076;c[825024]=3300084;c[825023]=3300084;c[825026]=3300092;c[825025]=3300092;c[825028]=3300100;c[825027]=3300100;c[825030]=3300108;c[825029]=3300108;c[825032]=3300116;c[825031]=3300116;c[825034]=3300124;c[825033]=3300124;c[825036]=3300132;c[825035]=3300132;c[825038]=3300140;c[825037]=3300140;c[825040]=3300148;c[825039]=3300148;c[825042]=3300156;c[825041]=3300156;c[825044]=3300164;c[825043]=3300164;c[825046]=3300172;c[825045]=3300172;c[825048]=3300180;c[825047]=3300180;c[825050]=3300188;c[825049]=3300188;c[825052]=3300196;c[825051]=3300196;c[825054]=3300204;c[825053]=3300204;c[825056]=3300212;c[825055]=3300212;c[825058]=3300220;c[825057]=3300220;c[825060]=3300228;c[825059]=3300228;c[825062]=3300236;c[825061]=3300236;c[825064]=3300244;c[825063]=3300244;c[825066]=3300252;c[825065]=3300252;c[825068]=3300260;c[825067]=3300260;c[825070]=3300268;c[825069]=3300268;c[825072]=3300276;c[825071]=3300276;c[825074]=3300284;c[825073]=3300284;c[825076]=3300292;c[825075]=3300292;c[825078]=3300300;c[825077]=3300300;c[825080]=3300308;c[825079]=3300308;c[825082]=3300316;c[825081]=3300316;X=ka+-40|0;d=la+8|0;na=(d&7|0)==0?0:0-d&7;d=la+na|0;oa=X-na|0;c[825013]=d;c[825010]=oa;c[d+4>>2]=oa|1;c[la+X+4>>2]=40;c[825014]=c[825129]}while(0);la=c[825010]|0;if(la>>>0>F>>>0){ka=la-F|0;c[825010]=ka;la=c[825013]|0;ja=la+F|0;c[825013]=ja;c[ja+4>>2]=ka|1;c[la+4>>2]=F|3;o=la+8|0;Ia=b;return o|0}}c[(Gs()|0)>>2]=12;o=0;Ia=b;return o|0} function Cn(a){a=a|0;c[a+36>>2]=0;c[a+28>>2]=0;c[a+32>>2]=c[a>>2];c[a+40>>2]=c[a+4>>2];return}function Dn(a){a=a|0;c[473296]=c[a+28>>2];c[473300]=c[a+32>>2];c[473308]=c[a+36>>2];c[473304]=c[a+40>>2];return}function En(a){a=a|0;c[a+28>>2]=c[473296];c[a+32>>2]=c[473300];c[a+36>>2]=c[473308];c[a+40>>2]=c[473304];return}function Fn(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;if((b|0)==0|(d|0)==0|(g|0)==0|(h|0)==0)return;j=c[b>>2]|0;if((j|0)==(g|0)?(c[b+4>>2]|0)==(h|0):0)if(!(i&1)){jp(b,d,0,0,e,f,g,h);return}else{wn(b,d,0,0,e,f,g,h);return}k=c[d+8>>2]|0;if((k|0)!=(c[b+8>>2]|0))return;l=(j<<16|0)/(g|0)|0;m=c[b+4>>2]|0;n=(m<<16|0)/(h|0)|0;o=c[d+36>>2]|0;p=(o|0)>(f|0);q=o-f|0;r=B(q,n)|0;s=h-(p?q:0)|0;q=p?o:f;f=(l|0)/2|0;o=(l|0)<0?f+j|0:((n|0)<0?m:0)+((n|0)/2|0)+(p?r:0)|0;r=c[d+28>>2]|0;p=(r|0)>(e|0);m=r-e|0;j=B(m,l)|0;h=(p?j:0)+f|0;f=g-(p?m:0)|0;m=p?r:e;e=(c[d+32>>2]|0)-m|0;r=(f|0)<(e|0)?f:e;e=(c[d+40>>2]|0)-q|0;f=(s|0)<(e|0)?s:e;switch(k|0){case 32:{k=f+q|0;if((f|0)<=0)return;e=c[b+16>>2]|0;s=c[d+16>>2]|0;p=(r|0)>0;if(!(i&1)){g=q;j=o;while(1){t=c[e+(j>>16<<2)>>2]|0;if(p){u=(c[s+(g<<2)>>2]|0)+(m<<2)|0;v=0;w=h;while(1){c[u>>2]=c[t+(w>>16<<2)>>2];v=v+1|0;if((v|0)>=(r|0))break;else{u=u+4|0;w=w+l|0}}}g=g+1|0;if((g|0)>=(k|0))break;else j=j+n|0}return}j=q;g=o;while(1){w=c[e+(g>>16<<2)>>2]|0;a:do if(p){u=(c[s+(j<<2)>>2]|0)+(m<<2)|0;v=0;t=h;while(1){x=c[w+(t>>16<<2)>>2]|0;y=c[u>>2]|0;z=x>>>24;switch((z&255)<<24>>24){case 0:{A=y&16777215;break}case -1:{A=x&16777215;break}default:{C=z^255;A=((((B(y>>>16&255,C)|0)+(B(x>>>16&255,z)|0)|0)>>>0)/255|0)<<16|((((B(y&255,C)|0)+(B(x&255,z)|0)|0)>>>0)/255|0)|((((B(y>>>8&255,C)|0)+(B(x>>>8&255,z)|0)|0)>>>0)/255|0)<<8}}c[u>>2]=A|y&-16777216;v=v+1|0;if((v|0)>=(r|0))break a;else{u=u+4|0;t=t+l|0}}}while(0);j=j+1|0;if((j|0)>=(k|0))break;else g=g+n|0}return}case 8:{g=f+q|0;if((f|0)<=0)return;f=b+16|0;b=d+16|0;d=(r|0)>0;if(!(i&1)){i=q;k=o;while(1){j=c[(c[f>>2]|0)+(k>>16<<2)>>2]|0;if(d){A=(c[(c[b>>2]|0)+(i<<2)>>2]|0)+m|0;s=h;p=0;while(1){a[A>>0]=a[j+(s>>16)>>0]|0;p=p+1|0;if((p|0)>=(r|0))break;else{A=A+1|0;s=s+l|0}}}i=i+1|0;if((i|0)>=(g|0))break;else k=k+n|0}return}if(!d)return;d=q;q=o;while(1){o=c[(c[f>>2]|0)+(q>>16<<2)>>2]|0;k=(c[(c[b>>2]|0)+(d<<2)>>2]|0)+m|0;i=h;s=0;while(1){A=a[o+(i>>16)>>0]|0;if(A<<24>>24)a[k>>0]=A;s=s+1|0;if((s|0)>=(r|0))break;else{k=k+1|0;i=i+l|0}}d=d+1|0;if((d|0)>=(g|0))break;else q=q+n|0}return}default:return}}function Gn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;switch(c|0){case 0:{d=a&16777215;return d|0}case 255:{d=b&16777215;return d|0}default:{e=255-c|0;d=((B(b&255,c)|0)+(B(a&255,e)|0)|0)/255|0|((((B(b>>>8&255,c)|0)+(B(a>>>8&255,e)|0)|0)/255|0)<<8|(((B(b>>>16&255,c)|0)+(B(a>>>16&255,e)|0)|0)/255|0)<<16);return d|0}}return 0}function Hn(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;if(!a){f=0;return f|0}if((c[a+28>>2]|0)>(b|0)){f=0;return f|0}if((c[a+36>>2]|0)>(e|0)){f=0;return f|0}if((c[a+32>>2]|0)<=(b|0)){f=0;return f|0}if((c[a+40>>2]|0)<=(e|0)){f=0;return f|0}switch(c[a+8>>2]|0){case 8:{f=d[(c[(c[a+16>>2]|0)+(e<<2)>>2]|0)+b>>0]|0;return f|0}case 32:{f=c[(c[(c[a+16>>2]|0)+(e<<2)>>2]|0)+(b<<2)>>2]|0;return f|0}default:{f=0;return f|0}}return 0}function In(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;a:do if((f|0)!=(d|0)){i=b+28|0;j=b+36|0;k=b+32|0;l=b+40|0;m=d;n=e;o=f;p=g;while(1){if((p|0)==(n|0)){q=14;break}r=c[i>>2]|0;s=(r|0)>(m|0)&1;t=c[j>>2]|0;u=(t|0)>(n|0)?s|2:s;s=c[k>>2]|0;v=(s|0)>(m|0)?u:u|4;u=c[l>>2]|0;w=(u|0)>(n|0)?v:v|8;v=(r|0)>(o|0)&1;x=(t|0)>(p|0)?v|2:v;v=(s|0)>(o|0)?x:x|4;x=(u|0)>(p|0)?v:v|8;if(!(w|x)){q=25;break}v=(w&1|0)!=0;if(!((x&1|0)==0|v^1)){q=51;break}y=(w&2|0)!=0;if(!((x&2|0)==0|y^1)){q=51;break}z=(w&4|0)!=0;if(!((x&4|0)==0|z^1)){q=51;break}A=(w&8|0)!=0;if(!((x&8|0)==0|A^1)){q=51;break}if(!v)if(z){z=s+-1|0;v=(m-z<<16|0)/(m-o|0)|0;x=65536-v|0;w=(B(x,m)|0)+(B(v,o)|0)>>16;C=(B(x,n)|0)+(B(v,p)|0)>>16;D=(w|0)<(s|0)?w:z;E=C}else{D=m;E=n}else{C=(r-m<<16|0)/(o-m|0)|0;z=65536-C|0;w=(B(z,m)|0)+(B(C,o)|0)>>16;s=(B(z,n)|0)+(B(C,p)|0)>>16;D=(w|0)<(r|0)?r:w;E=s}if(!y)if(A){if((E|0)==(p|0)){q=51;break}A=u+-1|0;y=(E-A<<16|0)/(E-p|0)|0;s=65536-y|0;w=(B(s,D)|0)+(B(y,o)|0)>>16;C=(B(s,E)|0)+(B(y,p)|0)>>16;F=w;G=(C|0)<(u|0)?C:A}else{F=D;G=E}else{if((E|0)==(p|0)){q=51;break}A=(t-E<<16|0)/(p-E|0)|0;C=65536-A|0;u=(B(C,D)|0)+(B(A,o)|0)>>16;w=(B(C,E)|0)+(B(A,p)|0)>>16;F=u;G=(w|0)<(t|0)?t:w}if((F|0)==(o|0)){H=o;I=p;J=G;break a}else{w=p;t=o;o=F;p=G;n=w;m=t}}if((q|0)==14){if((b|0)==0|3077396==(b|0))return;t=(o|0)<(m|0);w=t?m:o;u=t?o:m;if((c[j>>2]|0)>(p|0))return;if((c[l>>2]|0)<=(p|0))return;t=c[i>>2]|0;A=(u|0)<(t|0)?t:u;u=c[k>>2]|0;t=(w|0)<(u|0)?w:u+-1|0;switch(c[b+8>>2]|0){case 8:{if((A|0)>(t|0))return;u=h&255;w=b+16|0;C=A;while(1){a[(c[(c[w>>2]|0)+(p<<2)>>2]|0)+C>>0]=u;if((C|0)<(t|0))C=C+1|0;else break}return}case 32:{C=1-A+t|0;if((C|0)<=0)return;u=(c[(c[b+16>>2]|0)+(p<<2)>>2]|0)+(A<<2)|0;w=C;while(1){c[u>>2]=h;if((w|0)>1){u=u+4|0;w=w+-1|0}else break}return}default:return}}else if((q|0)==25){w=o-m|0;u=p-n|0;A=(w|0)<0?0-w|0:w;t=(u|0)<0?0-u|0:u;C=(A|0)>(t|0)?A:t;t=(C|0)==0?1:C;C=(w<<16|0)/(t|0)|0;w=(u<<16|0)/(t|0)|0;if((t|0)<=-1)return;u=b+8|0;A=h&255;y=b+16|0;s=n<<16|32768;z=m<<16|32768;v=t;t=r;while(1){x=z>>16;K=s>>16;b:do if((((t|0)<=(x|0)?(c[j>>2]|0)<=(K|0):0)?(c[k>>2]|0)>(x|0):0)?(c[l>>2]|0)>(K|0):0)switch(c[u>>2]|0){case 8:{a[(c[(c[y>>2]|0)+(K<<2)>>2]|0)+x>>0]=A;break b;break}case 32:{c[(c[(c[y>>2]|0)+(K<<2)>>2]|0)+(x<<2)>>2]=h;break b;break}default:break b}while(0);if((v|0)<=0)break;s=s+w|0;z=z+C|0;v=v+-1|0;t=c[i>>2]|0}return}else if((q|0)==51)return}else{H=f;I=e;J=g}while(0);if((b|0)==0|3077396==(b|0))return;g=(J|0)<(I|0);e=g?I:J;f=g?J:I;if((c[b+28>>2]|0)>(H|0))return;if((c[b+32>>2]|0)<=(H|0))return;I=c[b+36>>2]|0;J=(f|0)<(I|0)?I:f;f=c[b+40>>2]|0;I=(e|0)<(f|0)?e:f+-1|0;switch(c[b+8>>2]|0){case 8:{if((J|0)>(I|0))return;f=h&255;e=b+16|0;g=J;while(1){a[(c[(c[e>>2]|0)+(g<<2)>>2]|0)+H>>0]=f;if((g|0)<(I|0))g=g+1|0;else break}return}case 32:{if((J|0)>(I|0))return;g=c[b+16>>2]|0;b=J;while(1){c[(c[g+(b<<2)>>2]|0)+(H<<2)>>2]=h;if((b|0)<(I|0))b=b+1|0;else break}return}default:return}}function Jn(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;if((b|0)==0|(d|0)==0|3077396==(d|0))return;m=c[b>>2]|0;if((((m|0)>(e|0)?(n=c[b+4>>2]|0,(n|0)>(f|0)):0)?(o=c[d+32>>2]|0,(o|0)>(g|0)):0)?(p=c[d+40>>2]|0,(p|0)>(h|0)):0){q=(e|0)<0;r=q?0:e;s=q?e:0;q=g-s|0;t=s+i|0;s=(f|0)<0;u=s?0:f;v=s?f:0;s=h-v|0;w=v+j|0;j=c[d+28>>2]|0;v=(q|0)<(j|0);x=v?q-j|0:0;y=v?j:q;q=x+((t+r|0)>(m|0)?m-r|0:t)|0;t=c[d+36>>2]|0;j=(s|0)<(t|0);v=j?s-t|0:0;z=j?t:s;s=v+((w+u|0)>(n|0)?n-u|0:w)|0;A=z;B=y;C=u-v|0;D=r-x|0;E=(s+z|0)>(p|0)?p-z|0:s;F=(q+y|0)>(o|0)?o-y|0:q}else{A=h;B=g;C=f;D=e;E=0;F=i}i=(l&1|0)!=0;if(i){l=m-D|0;e=l-F|0;if((((e|0)<(m|0)?(f=c[b+4>>2]|0,(C|0)<(f|0)):0)?(g=c[d+32>>2]|0,(B|0)<(g|0)):0)?(h=c[d+40>>2]|0,(A|0)<(h|0)):0){q=(e|0)<0;y=q?0:e;o=B-(q?e:0)|0;s=(C|0)<0;z=s?0:C;p=s?C:0;s=A-p|0;x=E+p|0;p=c[d+28>>2]|0;r=(o|0)<(p|0);v=r?o-p|0:0;u=r?p:o;o=v+((D|0)<0?m-y|0:q?l:F)|0;l=c[d+36>>2]|0;q=(s|0)<(l|0);m=q?s-l|0:0;p=q?l:s;s=m+((x+z|0)>(f|0)?f-z|0:x)|0;G=(o+u|0)>(g|0)?g-u|0:o;H=p;I=u;J=z-m|0;K=y-v|0;L=(s+p|0)>(h|0)?h-p|0:s}else{G=F;H=A;I=B;J=C;K=e;L=0}}else{G=F;H=A;I=B;J=C;K=D;L=E}if((G|0)<0)return;E=(L|0)>0;if((c[d+8>>2]|0)==8){if(!E)return;D=b+16|0;C=d+16|0;B=G+-1|0;A=(G|0)==0;F=k&255;if(i){e=0;do{if(!A){s=(c[(c[C>>2]|0)+(e+H<<2)>>2]|0)+I+B|0;p=(c[(c[D>>2]|0)+(e+J<<2)>>2]|0)+K|0;h=G;while(1){if(a[p>>0]|0)a[s>>0]=F;h=h+-1|0;if(!h)break;else{s=s+-1|0;p=p+1|0}}}e=e+1|0}while((e|0)!=(L|0));return}if(A)return;A=0;do{e=(c[(c[C>>2]|0)+(A+H<<2)>>2]|0)+I|0;B=(c[(c[D>>2]|0)+(A+J<<2)>>2]|0)+K|0;p=G;while(1){if(a[B>>0]|0)a[e>>0]=F;p=p+-1|0;if(!p)break;else{e=e+1|0;B=B+1|0}}A=A+1|0}while((A|0)!=(L|0));return}else{if(!E)return;E=b+16|0;b=d+16|0;d=(G<<2)+-4|0;A=(G|0)==0;if(i){i=0;do{if(!A){F=(c[(c[b>>2]|0)+(i+H<<2)>>2]|0)+(I<<2)+(d<<2)|0;D=(c[(c[E>>2]|0)+(i+J<<2)>>2]|0)+K|0;C=G;while(1){if(a[D>>0]|0)c[F>>2]=k;C=C+-1|0;if(!C)break;else{F=F+-4|0;D=D+1|0}}}i=i+1|0}while((i|0)!=(L|0));return}if(A)return;A=c[E>>2]|0;E=c[b>>2]|0;b=0;do{i=(c[E+(b+H<<2)>>2]|0)+(I<<2)|0;d=(c[A+(b+J<<2)>>2]|0)+K|0;D=G;while(1){if(a[d>>0]|0)c[i>>2]=k;D=D+-1|0;if(!D)break;else{i=i+4|0;d=d+1|0}}b=b+1|0}while((b|0)!=(L|0));return}}function Kn(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0;g=c[b>>2]|0;if((g|0)!=(c[e>>2]|0))return;h=b+4|0;i=c[h>>2]|0;if((i|0)!=(c[e+4>>2]|0))return;j=b+8|0;k=c[j>>2]|0;l=e+8|0;m=c[l>>2]|0;if((k|0)==(m|0)){jp(b,e,0,0,0,0,g,i);return}if((k|0)==8&(m|0)==32){if((i|0)<=0)return;m=b+16|0;n=e+16|0;o=0;p=i;q=g;while(1){if((q|0)>0){r=c[(c[m>>2]|0)+(o<<2)>>2]|0;s=c[(c[n>>2]|0)+(o<<2)>>2]|0;t=0;do{u=a[r+t>>0]|0;v=u&255;c[s+(t<<2)>>2]=(d[f+(v*3|0)>>0]|0)<<16|(u<<24>>24==0?0:-16777216)|(d[f+(v*3|0)+1>>0]|0)<<8|(d[f+(v*3|0)+2>>0]|0);t=t+1|0;w=c[b>>2]|0}while((t|0)<(w|0));x=w;y=c[h>>2]|0}else{x=q;y=p}o=o+1|0;if((o|0)>=(y|0))break;else{p=y;q=x}}z=x;A=c[j>>2]|0;C=y}else{z=g;A=k;C=i}if((A|0)!=32)return;if(!((c[l>>2]|0)==8&(C|0)>0))return;C=b+28|0;A=b+36|0;i=b+32|0;k=e+28|0;g=b+40|0;y=e+36|0;x=e+32|0;q=b+16|0;p=e+40|0;o=e+16|0;e=0;w=z;while(1){if((w|0)>0){z=0;while(1){a:do if((((c[C>>2]|0)<=(z|0)?(c[A>>2]|0)<=(e|0):0)?(c[i>>2]|0)>(z|0):0)?(c[g>>2]|0)>(e|0):0)switch(c[j>>2]|0){case 8:{D=d[(c[(c[q>>2]|0)+(e<<2)>>2]|0)+z>>0]|0;break a;break}case 32:{D=c[(c[(c[q>>2]|0)+(e<<2)>>2]|0)+(z<<2)>>2]|0;break a;break}default:{D=0;break a}}else D=0;while(0);n=D>>>16&255;m=D>>>8&255;t=D&255;s=-1;r=0;v=65536;while(1){u=n-(d[f+(r*3|0)>>0]|0)|0;E=B(u,u)|0;u=m-(d[f+(r*3|0)+1>>0]|0)|0;F=(B(u,u)|0)+E|0;E=t-(d[f+(r*3|0)+2>>0]|0)|0;u=F+(B(E,E)|0)|0;E=u>>>0<27;F=(s|0)==-1|(u|0)<(v|0);s=E|F?r:s;r=E?257:r+1|0;if((r|0)>=256)break;else v=E?v:F?u:v}b:do if((((c[k>>2]|0)<=(z|0)?(c[y>>2]|0)<=(e|0):0)?(c[x>>2]|0)>(z|0):0)?(c[p>>2]|0)>(e|0):0)switch(c[l>>2]|0){case 8:{a[(c[(c[o>>2]|0)+(e<<2)>>2]|0)+z>>0]=s;break b;break}case 32:{c[(c[(c[o>>2]|0)+(e<<2)>>2]|0)+(z<<2)>>2]=s;break b;break}default:break b}while(0);z=z+1|0;s=c[b>>2]|0;if((z|0)>=(s|0)){G=s;break}}}else G=w;e=e+1|0;if((e|0)>=(c[h>>2]|0))break;else w=G}return}function Ln(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=a+20|0;if((c[d>>2]|0)>=(b|0))return;e=b<<2;c[a>>2]=bq(c[a>>2]|0,e)|0;f=a+4|0;c[f>>2]=bq(c[f>>2]|0,e)|0;g=a+8|0;c[g>>2]=bq(c[g>>2]|0,e)|0;h=a+12|0;i=bq(c[h>>2]|0,e)|0;c[h>>2]=i;e=c[d>>2]|0;if((e|0)<(b|0)?(c[(c[f>>2]|0)+(e<<2)>>2]=0,c[(c[g>>2]|0)+(e<<2)>>2]=e,c[i+(e<<2)>>2]=e,c[(c[a>>2]|0)+(e<<2)>>2]=0,i=e+1|0,(i|0)!=(b|0)):0){e=i;do{i=c[h>>2]|0;c[(c[f>>2]|0)+(e<<2)>>2]=0;c[(c[g>>2]|0)+(e<<2)>>2]=e;c[i+(e<<2)>>2]=e;c[(c[a>>2]|0)+(e<<2)>>2]=0;e=e+1|0}while((e|0)!=(b|0))}c[d>>2]=b;return}function Mn(b){b=b|0;var d=0;d=_p(64)|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=0;Ln(d,b);a[d+32>>0]=0;c[584503]=(c[584503]|0)+1;return d|0}function Nn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=_p(64)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;Ln(e,b);a[e+32>>0]=0;c[584503]=(c[584503]|0)+1;f=aq(B(d,b)|0)|0;c[c[e>>2]>>2]=f;if((b|0)<=1){g=e+24|0;c[g>>2]=1;h=e+28|0;c[h>>2]=d;return e|0}f=1;do{i=c[e>>2]|0;c[i+(f<<2)>>2]=(c[i>>2]|0)+(B(f,d)|0);f=f+1|0}while((f|0)!=(b|0));g=e+24|0;c[g>>2]=1;h=e+28|0;c[h>>2]=d;return e|0}function On(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=a+4|0;a:do if((c[a+24>>2]|0)==0?(e=c[(c[d>>2]|0)+(b<<2)>>2]|0,(e|0)<=99):0)do switch(e|0){case 2:{cq(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 3:{Pn(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 4:{yn(c[(c[a>>2]|0)+(b<<2)>>2]|0)|0;break a;break}case 5:{qn(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 6:{Oo(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 7:{Ro(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 8:{bp(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 9:{Aq(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 10:{tn(c[(c[a>>2]|0)+(b<<2)>>2]|0)|0;break a;break}case 12:{uo(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 11:{rp(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 0:return;default:break a}while(0);while(0);e=(c[d>>2]|0)+(b<<2)|0;if(!(c[e>>2]|0))return;c[e>>2]=0;e=a+16|0;d=(c[e>>2]|0)+-1|0;c[e>>2]=d;f=c[a+8>>2]|0;g=f+(d<<2)|0;d=c[g>>2]|0;c[g>>2]=b;g=c[a+12>>2]|0;a=g+(b<<2)|0;c[f+(c[a>>2]<<2)>>2]=d;c[g+(d<<2)>>2]=c[a>>2];c[a>>2]=c[e>>2];return}function Pn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;b=a+24|0;if(!(c[b>>2]|0)){d=a+16|0;e=c[d>>2]|0;if((e|0)>0){f=a+8|0;g=0;h=e;do{On(a,c[(c[f>>2]|0)+(h+-1<<2)>>2]|0);g=g+1|0;h=c[d>>2]|0}while((g|0)<(e|0)&(h|0)!=0)}h=a+20|0;if((c[h>>2]|0)>0){e=c[a+4>>2]|0;g=c[a+8>>2]|0;f=c[a+12>>2]|0;i=0;do{c[e+(i<<2)>>2]=0;c[g+(i<<2)>>2]=i;c[f+(i<<2)>>2]=i;i=i+1|0}while((i|0)<(c[h>>2]|0))}if(c[b>>2]|0)$p(c[c[a>>2]>>2]|0,0,B(c[d>>2]|0,c[a+28>>2]|0)|0);if(c[d>>2]|0)hn(65870)}else cq(c[c[a>>2]>>2]|0);cq(c[a>>2]|0);cq(c[a+4>>2]|0);cq(c[a+8>>2]|0);cq(c[a+12>>2]|0);cq(a);c[584503]=(c[584503]|0)+-1;return}function Qn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=Ia;Ia=Ia+16|0;f=e+8|0;g=e;if(!b){c[g>>2]=65906;Xs(1671456,66754,g)|0;hn(1671456)}if(!d){c[f>>2]=65929;Xs(1671456,66754,f)|0;hn(1671456)}f=(c[a+24>>2]|0)==0;g=a+16|0;h=c[g>>2]|0;i=h+1|0;c[g>>2]=i;j=c[a+20>>2]|0;k=(j|0)<=(h|0);if(f)if(k){Ln(a,j+8+((j|0)/2|0)|0);l=c[g>>2]|0}else l=i;else if(k){c[g>>2]=h;m=-1;n=a+4|0;o=c[a>>2]|0;p=o+(m<<2)|0;c[p>>2]=d;q=c[n>>2]|0;r=q+(m<<2)|0;c[r>>2]=b;Ia=e;return m|0}else l=i;i=c[(c[a+8>>2]|0)+(l+-1<<2)>>2]|0;l=a+4|0;c[(c[l>>2]|0)+(i<<2)>>2]=1;m=i;n=l;o=c[a>>2]|0;p=o+(m<<2)|0;c[p>>2]=d;q=c[n>>2]|0;r=q+(m<<2)|0;c[r>>2]=b;Ia=e;return m|0}function Rn(){var a=0;if(!3077396)return;a=c[585766]|0;if(a|0)yn(a)|0;a=xn(33,33,32)|0;c[585766]=a;sn(a);un(c[585766]|0,15,8,17,24,-1);un(c[585766]|0,8,15,24,17,-1);un(c[585766]|0,16,9,16,23,-6250336);un(c[585766]|0,9,16,23,16,-6250336);un(c[585766]|0,11,11,21,21,0);un(c[585766]|0,16,11,16,21,-1);un(c[585766]|0,11,16,21,16,-1);un(c[585766]|0,14,14,18,18,0);return}function Sn(){Rn();c[585767]=c[585766];return}function Tn(){return (c[585768]|0)!=0|0}function Un(){var a=0,b=0,d=0,e=0;a=c[585768]|0;if(!a){do{ln()|0;b=c[585768]|0}while(!(b|0));d=b}else d=a;a=c[420040]|0;b=d+-1|0;if((d|0)<=1){c[585768]=b;return a|0}d=0;do{e=d;d=d+1|0;c[1680160+(e<<2)>>2]=c[1680160+(d<<2)>>2]}while((d|0)!=(b|0));c[585768]=b;return a|0}function Vn(){var b=0,c=0,d=0;b=0;while(1){if((b|0)!=57&(a[1680288+b>>0]|0)!=0){c=b;d=4;break}b=b+1|0;if(b>>>0>=512){c=0;d=4;break}}if((d|0)==4)return c|0;return 0}function Wn(b){b=b|0;var c=0,d=0;if((b|0)>=0){if(b>>>0>511){c=0;return c|0}d=a[1680288+b>>0]|0;if(!(d<<24>>24)){c=0;return c|0}if(!(a[1680800+b>>0]|0))return (d<<24>>24==3|(a[1681312+b>>0]|0)==0?3:1)|0;else{c=0;return c|0}}switch(b|0){case -6:{b=a[1680513]|0;if(b<<24>>24!=0&(a[1681025]|0)==0){c=b<<24>>24==3|(a[1681537]|0)==0?3:1;return c|0}b=a[1680517]|0;if(!(b<<24>>24!=0&(a[1681029]|0)==0)){c=0;return c|0}c=b<<24>>24==3|(a[1681541]|0)==0?3:1;return c|0}case -2:{b=a[1680790]|0;if(b<<24>>24!=0&(a[1681302]|0)==0){c=b<<24>>24==3|(a[1681814]|0)==0?3:1;return c|0}b=a[1680791]|0;if(!(b<<24>>24!=0&(a[1681303]|0)==0)){c=0;return c|0}c=b<<24>>24==3|(a[1681815]|0)==0?3:1;return c|0}case -3:{b=a[1680788]|0;if(b<<24>>24!=0&(a[1681300]|0)==0){c=b<<24>>24==3|(a[1681812]|0)==0?3:1;return c|0}b=a[1680789]|0;if(!(b<<24>>24!=0&(a[1681301]|0)==0)){c=0;return c|0}c=b<<24>>24==3|(a[1681813]|0)==0?3:1;return c|0}case -4:{b=a[1680514]|0;if(b<<24>>24!=0&(a[1681026]|0)==0){c=b<<24>>24==3|(a[1681538]|0)==0?3:1;return c|0}b=a[1680518]|0;if(!(b<<24>>24!=0&(a[1681030]|0)==0)){c=0;return c|0}c=b<<24>>24==3|(a[1681542]|0)==0?3:1;return c|0}case -5:{b=a[1680512]|0;if(b<<24>>24!=0&(a[1681024]|0)==0){c=b<<24>>24==3|(a[1681536]|0)==0?3:1;return c|0}b=a[1680516]|0;if(b<<24>>24!=0&(a[1681028]|0)==0){c=b<<24>>24==3|(a[1681540]|0)==0?3:1;return c|0}b=a[1680788]|0;if(b<<24>>24!=0&(a[1681300]|0)==0){c=b<<24>>24==3|(a[1681812]|0)==0?3:1;return c|0}b=a[1680789]|0;if(!(b<<24>>24!=0&(a[1681301]|0)==0)){c=0;return c|0}c=b<<24>>24==3|(a[1681813]|0)==0?3:1;return c|0}default:{c=0;return c|0}}return 0}function Xn(){Av(1680288,0,512)|0;Av(1681312,0,512)|0;Av(1680800,0,512)|0;return}function Yn(){return}function Zn(){c[585769]=Nn(1024,72)|0;return}function _n(){Pn(c[585769]|0);return}function $n(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;a=Ia;Ia=Ia+16|0;b=a+8|0;d=a+4|0;e=a;f=c[585769]|0;if(!f){Ia=a;return}if(!(c[f+16>>2]|0)){Ia=a;return}Fr(b,d,e);f=(c[b>>2]|0)-(c[585770]|0)|0;g=B(f,f)|0;f=(c[d>>2]|0)-(c[585771]|0)|0;h=(B(f,f)|0)+g|0;uq();g=c[585769]|0;f=c[g+16>>2]|0;i=(f|0)>0;a:do if(i){j=c[b>>2]|0;k=c[d>>2]|0;l=c[g>>2]|0;m=c[g+8>>2]|0;n=c[l+(c[m>>2]<<2)>>2]|0;o=c[n+4>>2]|0;if(((j|0)>=(o|0)?(j|0)<((c[n+12>>2]|0)+o|0):0)?(o=c[n+8>>2]|0,(k|0)>=(o|0)):0)p=(k|0)<((c[n+16>>2]|0)+o|0)?n:0;else p=0;if((f|0)>1){n=1;o=p;while(1){q=c[l+(c[m+(n<<2)>>2]<<2)>>2]|0;r=c[q+4>>2]|0;do if((((j|0)>=(r|0)?(j|0)<((c[q+12>>2]|0)+r|0):0)?(s=c[q+8>>2]|0,(k|0)>=(s|0)):0)?(k|0)<((c[q+16>>2]|0)+s|0):0){if(o|0?c[o+20>>2]&32|0:0){t=o;break}t=q}else t=o;while(0);n=n+1|0;if((n|0)>=(f|0))break;else o=t}if(i)u=t;else break}else u=p;o=u+20|0;n=u+28|0;k=u+28|0;j=u+28|0;m=u+28|0;l=u+24|0;q=u+24|0;r=h;s=f;v=g;while(1){w=s+-1|0;x=c[(c[v>>2]|0)+(c[(c[v+8>>2]|0)+(w<<2)>>2]<<2)>>2]|0;if((x|0)==(u|0)){y=c[e>>2]|0;z=c[o>>2]|0;A=z&2;if(!y){if(!A)Ua[c[n>>2]&0](u,c[b>>2]|0,c[d>>2]|0,0,3)}else if(!(c[585772]|A)){c[o>>2]=z|2;Ua[c[j>>2]&0](u,c[b>>2]|0,c[d>>2]|0,y,4);y=yr()|0;if((y-(c[585773]|0)|0)<400?(y=(c[c[l>>2]>>2]|0)/64|0,(r|0)<(B(y,y)|0)):0)Ua[c[j>>2]&0](u,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,18);y=yr()|0;if((y-(c[585774]|0)|0)<400?(y=(c[c[q>>2]>>2]|0)/64|0,(r|0)<(B(y,y)|0)):0){Ua[c[j>>2]&0](u,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,11);c[585773]=yr()|0}c[585774]=yr()|0;c[585770]=c[b>>2];c[585771]=c[d>>2]}y=c[o>>2]|0;if(!(y&1)){c[o>>2]=y|1;Ua[c[k>>2]&0](u,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,1)}y=c[584644]|0;z=c[584645]|0;if(z|y|0){Ua[c[m>>2]&0](u,y,z,c[e>>2]|0,16);c[584644]=0;c[584645]=0}}else{z=x+20|0;y=c[z>>2]|0;if(!(y&1))C=y;else{c[z>>2]=y&-2;Ua[c[x+28>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,2);C=c[z>>2]|0}c[z>>2]=C&-33}z=x+20|0;y=c[z>>2]|0;if((y&2|0)==0|(c[e>>2]|0)!=0)if((y&1|0)!=0&(c[584652]|0)!=0?(A=yr()|0,(A|0)<((c[584653]|0)+500|0)):0){A=c[584652]|0;c[585772]=A;D=x+28|0;Ua[c[D>>2]&0](x,c[b>>2]|0,c[d>>2]|0,A,12);A=(c[b>>2]|0)-(c[585775]|0)|0;E=B(A,A)|0;A=(c[d>>2]|0)-(c[585776]|0)|0;F=(B(A,A)|0)+E|0;E=yr()|0;if((E-(c[585777]|0)|0)<400&F>>>0<400)Ua[c[D>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[585772]|0,15);c[585777]=yr()|0;c[585775]=c[b>>2];c[585776]=c[d>>2];G=F}else G=r;else{c[z>>2]=y&-3;y=x+28|0;Ua[c[y>>2]&0](x,c[b>>2]|0,c[d>>2]|0,0,6);F=yr()|0;if((r|0)<400&(F-(c[585774]|0)|0)<400)Ua[c[y>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[585772]|0,12);F=(c[b>>2]|0)-(c[585775]|0)|0;D=B(F,F)|0;F=(c[d>>2]|0)-(c[585776]|0)|0;E=(B(F,F)|0)+D|0;D=yr()|0;if((D-(c[585777]|0)|0)<400&E>>>0<400)Ua[c[y>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[585772]|0,15);c[585777]=yr()|0;c[585775]=c[b>>2];c[585776]=c[d>>2];G=E}E=c[z>>2]|0;y=c[e>>2]|0;if((E&2|0)!=0&(y|0)!=0){Ua[c[x+28>>2]&0](x,c[b>>2]|0,c[d>>2]|0,y,5);H=c[z>>2]|0}else H=E;if(H&1|0?!((c[585778]|0)==0|(c[e>>2]|0)!=0):0)Ua[c[x+28>>2]&0](x,c[b>>2]|0,c[d>>2]|0,0,17);if((s|0)<=1)break a;r=G;s=w;v=c[585769]|0}}while(0);c[584652]=0;G=c[e>>2]|0;c[585772]=G;c[585778]=G;vq();Ia=a;return}function ao(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Ia;Ia=Ia+16|0;e=d+8|0;f=d+4|0;g=d;if(!(c[585769]|0)){Ia=d;return}Fr(e,f,g);h=c[585769]|0;if((c[h+16>>2]|0)<=0){Ia=d;return}if(!b){i=0;j=h;do{k=c[(c[j>>2]|0)+(c[(c[j+8>>2]|0)+(i<<2)>>2]<<2)>>2]|0;Ua[c[k+28>>2]&0](k,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,a);i=i+1|0;j=c[585769]|0}while((i|0)<(c[j+16>>2]|0));Ia=d;return}j=0;i=h;while(1){h=c[(c[i>>2]|0)+(c[(c[i+8>>2]|0)+(j<<2)>>2]<<2)>>2]|0;if((c[h>>2]|0)==(b|0)){Ua[c[h+28>>2]&0](h,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,a);l=c[585769]|0}else l=i;j=j+1|0;if((j|0)>=(c[l+16>>2]|0))break;else i=l}Ia=d;return}function bo(a){a=a|0;var b=0,d=0;b=c[585769]|0;if((a|0)<0|(b|0)==0){d=0;return d|0}if((c[b+20>>2]|0)<=(a|0)){d=0;return d|0}d=c[(c[b>>2]|0)+(a<<2)>>2]|0;return d|0}function co(){var a=0,b=0,d=0,e=0,f=0;a=c[585769]|0;b=c[a+16>>2]|0;if((b|0)<=0){d=-1;return d|0}e=c[a>>2]|0;a=b;while(1){b=a;a=a+-1|0;if(c[(c[e+(a<<2)>>2]|0)+20>>2]&1|0){d=a;f=5;break}if((b|0)<=1){d=-1;f=5;break}}if((f|0)==5)return d|0;return 0}function eo(){var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;c[585779]=Mn(512)|0;c[585780]=Mn(512)|0;b=0;do{e=(b|0)==0;f=e?8:32;g=0;do{h=xn(5,5,f)|0;i=xn(6,5,f)|0;Qn(c[585779]|0,4,h)|0;Qn(c[585780]|0,4,i)|0;g=g+1|0}while((g|0)!=32);g=0;do{i=xn(5,5,f)|0;h=xn(6,5,f)|0;sn(i);j=g*5|0;k=i+16|0;l=h+16|0;if(e){m=0;do{n=d[3824+(m+j)>>0]|0;if(n&16|0){a[c[(c[k>>2]|0)+(m<<2)>>2]>>0]=-1;a[c[(c[l>>2]|0)+(m<<2)>>2]>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+1>>0]=-1}if(n&8|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+1>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+1>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+2>>0]=-1}if(n&4|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+2>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+2>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+3>>0]=-1}if(n&2|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+3>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+3>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+4>>0]=-1}if(n&1|0){a[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+4>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+4>>0]=-1;a[(c[(c[l>>2]|0)+(m<<2)>>2]|0)+5>>0]=-1}m=m+1|0}while((m|0)!=5)}else{m=0;do{n=d[3824+(m+j)>>0]|0;if(n&16|0){c[c[(c[k>>2]|0)+(m<<2)>>2]>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o>>2]=-1;c[o+4>>2]=-1}if(n&8|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+4>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o+4>>2]=-1;c[o+8>>2]=-1}if(n&4|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+8>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o+8>>2]=-1;c[o+12>>2]=-1}if(n&2|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+12>>2]=-4144960;o=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[o+12>>2]=-1;c[o+16>>2]=-1}if(n&1|0){c[(c[(c[k>>2]|0)+(m<<2)>>2]|0)+16>>2]=-4144960;n=c[(c[l>>2]|0)+(m<<2)>>2]|0;c[n+16>>2]=-1;c[n+20>>2]=-1}m=m+1|0}while((m|0)!=5)}Qn(c[585779]|0,4,i)|0;Qn(c[585780]|0,4,h)|0;g=g+1|0}while((g|0)!=96);g=0;do{e=xn(5,5,f)|0;m=xn(6,5,f)|0;Qn(c[585779]|0,4,e)|0;Qn(c[585780]|0,4,m)|0;g=g+1|0}while((g|0)!=128);b=b+1|0}while((b|0)!=2);return}function fo(){Pn(c[585779]|0);Pn(c[585780]|0);return}function go(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;if((d|0)==0|(e|0)==0){j=g;return j|0}k=c[e+16>>2]|0;l=(k&255|0)==0;m=l?0:32;n=l?256:96;if(h&8){o=a[d>>0]|0;if(!(o<<24>>24)){p=0;q=1}else{r=0;s=d;t=o;while(1){o=t<<24>>24;if((m|0)>(o|0))u=r;else u=r+1+(c[c[(c[e>>2]|0)+(o-m<<2)>>2]>>2]|0)|0;s=s+1|0;t=a[s>>0]|0;if(!(t<<24>>24)){p=u;q=1;break}else r=u}}u=p-q|0;q=c[b+32>>2]|0;p=b+28|0;if((u|0)>(q-f|0)){c[p>>2]=(c[p>>2]|0)+15;v=1;w=q-u|0}else{v=0;w=f}}else{v=0;w=f}if(!(h&2))x=w;else{u=a[d>>0]|0;if(!(u<<24>>24)){y=0;z=1}else{q=0;p=d;r=u;while(1){u=r<<24>>24;if((m|0)>(u|0))A=q;else A=q+1+(c[c[(c[e>>2]|0)+(u-m<<2)>>2]>>2]|0)|0;p=p+1|0;r=a[p>>0]|0;if(!(r<<24>>24)){y=A;z=1;break}else q=A}}x=w-((y-z|0)/2|0)|0}if(!(h&4))B=x;else{z=a[d>>0]|0;if(!(z<<24>>24)){C=0;D=1}else{y=0;w=d;A=z;while(1){z=A<<24>>24;if((m|0)>(z|0))E=y;else E=y+1+(c[c[(c[e>>2]|0)+(z-m<<2)>>2]>>2]|0)|0;w=w+1|0;A=a[w>>0]|0;if(!(A<<24>>24)){C=E;D=1;break}else y=E}}B=D+x-C|0}a:do if(!(h&1)){C=c[e>>2]|0;x=c[b+8>>2]|0;D=0;E=h;while(1){if((c[(c[C+(D<<2)>>2]|0)+8>>2]|0)==(x|0)){F=D;G=E;H=0;break a}y=D+n|0;A=(y|0)<(k|0);w=E|(A^1)&1;z=A?y:D;if(!(w&1)){D=z;E=w}else{F=z;G=w;H=1;break}}}else{F=0;G=h;H=1}while(0);h=a[d>>0]|0;if(h<<24>>24){k=l?256:128;l=F-m|0;F=(G&16|0)==0;G=b+32|0;if(H){H=g;n=d;E=0;D=B;x=h;while(1){C=x&255;if(m>>>0<=C>>>0&k>>>0>C>>>0){w=c[(c[e>>2]|0)+(l+C<<2)>>2]|0;C=w+4|0;Jn(w,b,0,0,D,H,c[w>>2]|0,c[C>>2]|0,i,0);z=1+(c[w>>2]|0)|0;w=c[C>>2]|0;I=z;J=(E|0)>(w|0)?E:w;K=z+D|0;L=a[n>>0]|0}else{I=0;J=E;K=D;L=x}if(L<<24>>24!=10)if(!F?(K|0)>((c[G>>2]|0)-I|0):0)M=37;else{N=H;O=J;P=K}else M=37;if((M|0)==37){M=0;N=J+H+1|0;O=0;P=f}n=n+1|0;x=a[n>>0]|0;if(!(x<<24>>24)){Q=N;break}else{H=N;E=O;D=P}}}else{P=g;D=d;d=0;O=B;B=h;while(1){h=B&255;if(m>>>0<=h>>>0&k>>>0>h>>>0){E=c[(c[e>>2]|0)+(l+h<<2)>>2]|0;h=E+4|0;wn(E,b,0,0,O,P,c[E>>2]|0,c[h>>2]|0);N=1+(c[E>>2]|0)|0;E=c[h>>2]|0;R=N;S=(d|0)>(E|0)?d:E;T=N+O|0;U=a[D>>0]|0}else{R=0;S=d;T=O;U=B}if(U<<24>>24!=10)if(!F?(T|0)>((c[G>>2]|0)-R|0):0)M=44;else{V=P;W=S;X=T}else M=44;if((M|0)==44){M=0;V=S+P+1|0;W=0;X=f}D=D+1|0;B=a[D>>0]|0;if(!(B<<24>>24)){Q=V;break}else{P=V;d=W;O=X}}}}else Q=g;if(!v){j=Q;return j|0}else{j=b+28|0;v=(c[j>>2]|0)+-15|0;c[j>>2]=v;go(b,66713,c[585779]|0,v,Q,0,0)|0;return Q|0}return 0}function ho(a){a=a|0;c[585781]=a;return}function io(a){a=a|0;c[585782]=a;return}function jo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;switch(c[e>>2]|0){case 0:{f=Yu(a,b,d,c[e+8>>2]|0)|0;return f|0}case 1:{g=B(d,b)|0;b=e+20|0;d=c[b>>2]|0;h=(c[e+16>>2]|0)-d|0;i=(g|0)<(h|0)?g:h;h=(i|0)>0?i:0;zv(a|0,(c[e+12>>2]|0)+d|0,h|0)|0;c[b>>2]=h+(c[b>>2]|0);f=h;return f|0}default:{f=0;return f|0}}return 0}function ko(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=b;switch(c[d>>2]|0){case 0:{g=d+20|0;c[g>>2]=(c[g>>2]|0)+1;g=d+16|0;c[g>>2]=(c[g>>2]|0)+1;Nu(f,4,1,c[d+8>>2]|0)|0;Ia=e;return}case 1:{f=d+20|0;if(c[d+88>>2]|0)eq(d,(c[f>>2]|0)+4|0)|0;g=(c[d+12>>2]|0)+(c[f>>2]|0)|0;a[g>>0]=b;a[g+1>>0]=b>>8;a[g+2>>0]=b>>16;a[g+3>>0]=b>>24;b=(c[f>>2]|0)+4|0;c[f>>2]=b;f=d+16|0;d=c[f>>2]|0;c[f>>2]=(d|0)>(b|0)?d:b;Ia=e;return}default:{Ia=e;return}}}function lo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;switch(c[e>>2]|0){case 0:{f=e+20|0;c[f>>2]=(c[f>>2]|0)+d;f=e+16|0;c[f>>2]=(c[f>>2]|0)+d;g=Nu(a,b,d,c[e+8>>2]|0)|0;return g|0}case 1:{f=B(d,b)|0;do if(c[e+88>>2]|0){b=e+20|0;eq(e,(c[b>>2]|0)+f|0)|0;d=(c[e+12>>2]|0)+(c[b>>2]|0)|0;if(!a){$p(d,0,f);h=b;break}else{zv(d|0,a|0,f|0)|0;h=b;break}}else{b=e+20|0;zv((c[e+12>>2]|0)+(c[b>>2]|0)|0,a|0,f|0)|0;h=b}while(0);a=(c[h>>2]|0)+f|0;c[h>>2]=a;h=e+16|0;e=c[h>>2]|0;c[h>>2]=(e|0)>(a|0)?e:a;g=f;return g|0}default:{g=0;return g|0}}return 0}function mo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=b;switch(c[d>>2]|0){case 0:{g=d+20|0;c[g>>2]=(c[g>>2]|0)+1;g=d+16|0;c[g>>2]=(c[g>>2]|0)+1;Nu(f,4,1,c[d+8>>2]|0)|0;Ia=e;return}case 1:{f=d+20|0;if(c[d+88>>2]|0)eq(d,(c[f>>2]|0)+4|0)|0;g=(c[d+12>>2]|0)+(c[f>>2]|0)|0;a[g>>0]=b;a[g+1>>0]=b>>8;a[g+2>>0]=b>>16;a[g+3>>0]=b>>24;b=(c[f>>2]|0)+4|0;c[f>>2]=b;f=d+16|0;d=c[f>>2]|0;c[f>>2]=(d|0)>(b|0)?d:b;Ia=e;return}default:{Ia=e;return}}}function no(b,d){b=b|0;d=d|0;var e=0;switch(c[d>>2]|0){case 0:{e=d+20|0;c[e>>2]=(c[e>>2]|0)+1;e=d+16|0;c[e>>2]=(c[e>>2]|0)+1;Su(b<<24>>24,c[d+8>>2]|0)|0;return}case 1:{e=d+20|0;if(c[d+88>>2]|0)eq(d,(c[e>>2]|0)+1|0)|0;a[(c[d+12>>2]|0)+(c[e>>2]|0)>>0]=b;b=(c[e>>2]|0)+1|0;c[e>>2]=b;e=d+16|0;d=c[e>>2]|0;c[e>>2]=(d|0)>(b|0)?d:b;return}default:return}}function oo(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;f=Ia;Ia=Ia+16|0;g=f;b[g>>1]=d;switch(c[e>>2]|0){case 0:{h=e+20|0;c[h>>2]=(c[h>>2]|0)+1;h=e+16|0;c[h>>2]=(c[h>>2]|0)+1;Nu(g,2,1,c[e+8>>2]|0)|0;Ia=f;return}case 1:{g=e+20|0;if(c[e+88>>2]|0)eq(e,(c[g>>2]|0)+2|0)|0;h=(c[e+12>>2]|0)+(c[g>>2]|0)|0;a[h>>0]=d;a[h+1>>0]=d>>8;d=(c[g>>2]|0)+2|0;c[g>>2]=d;g=e+16|0;e=c[g>>2]|0;c[g>>2]=(e|0)>(d|0)?e:d;Ia=f;return}default:{Ia=f;return}}}function po(d,e){d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0;d=Ia;Ia=Ia+16|0;g=d;if(!e){h=0;Ia=d;return h|0}i=Mn(0)|0;a:do if(i|0){switch(c[e>>2]|0){case 0:{j=vu(c[e+8>>2]|0)|0;k=6;break}case 1:{j=(c[e+20>>2]|0)>=(c[e+16>>2]|0)&1;k=6;break}default:k=7}if((k|0)==6?(j|0)==0:0)k=7;b:do if((k|0)==7){l=e+8|0;m=e+16|0;n=e+20|0;o=e+12|0;p=i+32|0;q=0;c:while(1){c[g>>2]=0;switch(c[e>>2]|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;break}case 1:{r=c[n>>2]|0;s=(c[m>>2]|0)-r|0;t=(s|0)<4?s:4;s=(t|0)>0?t:0;zv(g|0,(c[o>>2]|0)+r|0,s|0)|0;c[n>>2]=s+r;break}default:{k=9;break c}}r=c[g>>2]|0;if(!r)break b;c[g>>2]=0;switch(c[e>>2]|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;break}case 1:{s=c[n>>2]|0;t=(c[m>>2]|0)-s|0;u=(t|0)<4?t:4;t=(u|0)>0?u:0;zv(g|0,(c[o>>2]|0)+s|0,t|0)|0;c[n>>2]=t+s;break}default:{}}s=c[g>>2]|0;t=(q|0)==0;if(t&(r|0)!=1146048579)break a;d:do if(t)if((r|0)==1146048579){c[g>>2]=0;u=c[e>>2]|0;switch(u|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;v=c[e>>2]|0;k=26;break}case 1:{w=c[n>>2]|0;x=(c[m>>2]|0)-w|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;zv(g|0,(c[o>>2]|0)+w|0,x|0)|0;c[n>>2]=x+w;k=28;break}default:{v=u;k=26}}e:do if((k|0)==26){k=0;switch(v|0){case 1:{k=28;break e;break}case 0:break;default:break e}Yu(p,1,32,c[l>>2]|0)|0}while(0);if((k|0)==28){k=0;u=c[n>>2]|0;w=(c[m>>2]|0)-u|0;x=(w|0)<32?w:32;w=(x|0)>0?x:0;zv(p|0,(c[o>>2]|0)+u|0,w|0)|0;c[n>>2]=w+(c[n>>2]|0)}c[g>>2]=0;w=c[e>>2]|0;switch(w|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;z=c[e>>2]|0;k=32;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;zv(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;break}default:{z=w;k=32}}f:do if((k|0)==32){k=0;switch(z|0){case 1:{break f;break}case 0:break;default:{k=396;break d}}Du(c[l>>2]|0,28,1)|0;k=396;break d}while(0);c[n>>2]=(c[n>>2]|0)+28;k=396}else k=35;else if((r|0)<1347374659)switch(r|0){case 1146048579:{break c;break}default:{k=35;break d}}else switch(r|0){case 1347374659:{break c;break}default:{k=35;break d}}while(0);g:do if((k|0)==35){k=0;t=r|32;h:do if((t|0)<1347245667){switch(t|0){case 1347240547:break;default:break h}w=(r|0)==1347240547;c[g>>2]=0;u=c[e>>2]|0;switch(u|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;A=c[e>>2]|0;k=39;break}case 1:{x=c[n>>2]|0;y=(c[m>>2]|0)-x|0;C=(y|0)<4?y:4;y=(C|0)>0?C:0;zv(g|0,(c[o>>2]|0)+x|0,y|0)|0;c[n>>2]=y+x;A=1;k=39;break}default:{D=0;E=u}}if((k|0)==39){k=0;D=c[g>>2]|0;E=A}c[g>>2]=0;switch(E|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;F=c[e>>2]|0;k=43;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;zv(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;u=c[g>>2]|0;c[g>>2]=0;G=u;k=45;break}default:{F=E;k=43}}i:do if((k|0)==43){k=0;u=c[g>>2]|0;c[g>>2]=0;switch(F|0){case 1:{G=u;k=45;break i;break}case 0:break;default:{H=u;break i}}Yu(g,4,1,c[l>>2]|0)|0;H=u}while(0);if((k|0)==45){k=0;u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;y=(x|0)<4?x:4;x=(y|0)>0?y:0;zv(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;H=G}u=c[g>>2]|0;x=xn(D,H,u)|0;c[g>>2]=0;y=c[e>>2]|0;switch(y|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;I=c[e>>2]|0;k=49;break}case 1:{C=c[n>>2]|0;J=(c[m>>2]|0)-C|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;zv(g|0,(c[o>>2]|0)+C|0,J|0)|0;c[n>>2]=J+C;c[x+20>>2]=c[g>>2];c[g>>2]=0;k=51;break}default:{I=y;k=49}}j:do if((k|0)==49){k=0;c[x+20>>2]=c[g>>2];c[g>>2]=0;switch(I|0){case 1:{k=51;break j;break}case 0:break;default:break j}Yu(g,4,1,c[l>>2]|0)|0}while(0);if((k|0)==51){k=0;y=c[n>>2]|0;C=(c[m>>2]|0)-y|0;J=(C|0)<4?C:4;C=(J|0)>0?J:0;zv(g|0,(c[o>>2]|0)+y|0,C|0)|0;c[n>>2]=C+y}y=c[x+12>>2]|0;C=B(B(H,D)|0,u>>3)|0;k:do if(w)qo(y,C,e)|0;else switch(c[e>>2]|0){case 0:{Yu(y,1,C,c[l>>2]|0)|0;break k;break}case 1:{J=c[n>>2]|0;K=(c[m>>2]|0)-J|0;L=(C|0)<(K|0)?C:K;K=(L|0)>0?L:0;zv(y|0,(c[o>>2]|0)+J|0,K|0)|0;c[n>>2]=K+(c[n>>2]|0);break k;break}default:break k}while(0);Qn(i,4,x)|0;k=396;break g}else{switch(t|0){case 1347245667:break;default:break h}y=(r|0)==1347245667;c[g>>2]=0;C=c[e>>2]|0;switch(C|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;M=c[e>>2]|0;k=61;break}case 1:{w=c[n>>2]|0;u=(c[m>>2]|0)-w|0;K=(u|0)<4?u:4;u=(K|0)>0?K:0;zv(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w;M=1;k=61;break}default:{N=C;O=0}}if((k|0)==61){k=0;N=M;O=c[g>>2]|0}c[g>>2]=0;switch(N|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;P=c[e>>2]|0;k=65;break}case 1:{C=c[n>>2]|0;w=(c[m>>2]|0)-C|0;u=(w|0)<4?w:4;w=(u|0)>0?u:0;zv(g|0,(c[o>>2]|0)+C|0,w|0)|0;c[n>>2]=w+C;C=c[g>>2]|0;c[g>>2]=0;Q=C;k=67;break}default:{P=N;k=65}}l:do if((k|0)==65){k=0;C=c[g>>2]|0;c[g>>2]=0;switch(P|0){case 1:{Q=C;k=67;break l;break}case 0:break;default:{R=C;break l}}Yu(g,4,1,c[l>>2]|0)|0;R=C}while(0);if((k|0)==67){k=0;x=c[n>>2]|0;C=(c[m>>2]|0)-x|0;w=(C|0)<4?C:4;C=(w|0)>0?w:0;zv(g|0,(c[o>>2]|0)+x|0,C|0)|0;c[n>>2]=C+x;R=Q}x=c[g>>2]|0;C=rn(O,R,x)|0;c[g>>2]=0;w=c[e>>2]|0;switch(w|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;S=c[e>>2]|0;k=71;break}case 1:{u=c[n>>2]|0;K=(c[m>>2]|0)-u|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;zv(g|0,(c[o>>2]|0)+u|0,K|0)|0;c[n>>2]=K+u;c[C+20>>2]=c[g>>2];c[g>>2]=0;k=73;break}default:{S=w;k=71}}m:do if((k|0)==71){k=0;c[C+20>>2]=c[g>>2];c[g>>2]=0;switch(S|0){case 1:{k=73;break m;break}case 0:break;default:break m}Yu(g,4,1,c[l>>2]|0)|0}while(0);if((k|0)==73){k=0;w=c[n>>2]|0;u=(c[m>>2]|0)-w|0;K=(u|0)<4?u:4;u=(K|0)>0?K:0;zv(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w}w=c[C+12>>2]|0;u=B(B(R,O)|0,x)|0;n:do if(y)qo(w,u,e)|0;else switch(c[e>>2]|0){case 0:{Yu(w,1,u,c[l>>2]|0)|0;break n;break}case 1:{K=c[n>>2]|0;J=(c[m>>2]|0)-K|0;L=(u|0)<(J|0)?u:J;J=(L|0)>0?L:0;zv(w|0,(c[o>>2]|0)+K|0,J|0)|0;c[n>>2]=J+(c[n>>2]|0);break n;break}default:break n}while(0);Qn(i,10,C)|0;k=396;break g}while(0);o:do if((r|0)<1279348803){if((r|0)<1146047811){switch(r|0){case 1145983811:break;default:break o}c[g>>2]=0;w=c[e>>2]|0;switch(w|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;T=c[e>>2]|0;k=299;break}case 1:{u=c[n>>2]|0;y=(c[m>>2]|0)-u|0;x=(y|0)<4?y:4;y=(x|0)>0?x:0;zv(g|0,(c[o>>2]|0)+u|0,y|0)|0;c[n>>2]=y+u;T=1;k=299;break}default:{U=w;V=0}}if((k|0)==299){k=0;U=T;V=c[g>>2]|0}c[g>>2]=0;switch(U|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;break}case 1:{w=c[n>>2]|0;u=(c[m>>2]|0)-w|0;y=(u|0)<4?u:4;u=(y|0)>0?y:0;zv(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w;break}default:{}}w=zq(V,c[g>>2]|0)|0;if(!w){u=s+-8|0;y=c[e>>2]|0;switch(y|0){case 0:{Du(c[l>>2]|0,u,1)|0;k=396;break g;break}case 1:{c[n>>2]=(c[n>>2]|0)+u;k=396;break g;break}default:{W=y;break g}}}c[g>>2]=0;y=c[e>>2]|0;switch(y|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;X=c[e>>2]|0;k=307;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;J=(x|0)<4?x:4;x=(J|0)>0?J:0;zv(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;u=w+8|0;c[u>>2]=c[g>>2];c[g>>2]=0;Y=u;k=309;break}default:{X=y;k=307}}p:do if((k|0)==307){k=0;y=w+8|0;c[y>>2]=c[g>>2];c[g>>2]=0;switch(X|0){case 1:{Y=y;k=309;break p;break}case 0:{Yu(g,4,1,c[l>>2]|0)|0;Z=c[e>>2]|0;break}default:Z=X}c[w+12>>2]=c[g>>2];c[g>>2]=0;switch(Z|0){case 1:{_=y;k=312;break p;break}case 0:{Yu(g,4,1,c[l>>2]|0)|0;$=c[e>>2]|0;break}default:$=Z}c[g>>2]=0;switch($|0){case 1:{aa=y;k=315;break p;break}case 0:break;default:{ba=y;break p}}Yu(g,4,1,c[l>>2]|0)|0;ba=y}while(0);if((k|0)==309){k=0;C=c[n>>2]|0;y=(c[m>>2]|0)-C|0;u=(y|0)<4?y:4;y=(u|0)>0?u:0;zv(g|0,(c[o>>2]|0)+C|0,y|0)|0;c[n>>2]=y+C;c[w+12>>2]=c[g>>2];c[g>>2]=0;_=Y;k=312}if((k|0)==312){k=0;C=c[n>>2]|0;y=(c[m>>2]|0)-C|0;u=(y|0)<4?y:4;y=(u|0)>0?u:0;zv(g|0,(c[o>>2]|0)+C|0,y|0)|0;c[n>>2]=y+C;c[g>>2]=0;aa=_;k=315}if((k|0)==315){k=0;C=c[n>>2]|0;y=(c[m>>2]|0)-C|0;u=(y|0)<4?y:4;y=(u|0)>0?u:0;zv(g|0,(c[o>>2]|0)+C|0,y|0)|0;c[n>>2]=y+C;ba=aa}C=Mq(w)|0;y=(B(c[w+4>>2]|0,c[w>>2]|0)|0)/8|0;switch(c[e>>2]|0){case 0:{Yu(C,y,1,c[l>>2]|0)|0;break}case 1:{u=c[n>>2]|0;x=(c[m>>2]|0)-u|0;J=(y|0)<(x|0)?y:x;x=(J|0)>0?J:0;zv(C|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+(c[n>>2]|0);break}default:{}}Oq(w,c[ba>>2]|0);Qn(i,9,w)|0;k=396;break g}if((r|0)<1229865283){switch(r|0){case 1146047811:break;default:break o}x=No()|0;c[g>>2]=0;u=c[e>>2]|0;switch(u|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;ca=c[e>>2]|0;k=88;break}case 1:{C=c[n>>2]|0;J=(c[m>>2]|0)-C|0;y=(J|0)<4?J:4;J=(y|0)>0?y:0;zv(g|0,(c[o>>2]|0)+C|0,J|0)|0;c[n>>2]=J+C;C=x+4|0;c[C>>2]=c[g>>2];c[g>>2]=0;da=C;k=90;break}default:{ca=u;k=88}}q:do if((k|0)==88){k=0;u=x+4|0;c[u>>2]=c[g>>2];c[g>>2]=0;switch(ca|0){case 1:{da=u;k=90;break q;break}case 0:{Yu(g,4,1,c[l>>2]|0)|0;ea=c[e>>2]|0;break}default:ea=ca}C=x+16|0;c[C>>2]=c[g>>2];c[g>>2]=0;switch(ea|0){case 1:{fa=C;ga=u;k=93;break q;break}case 0:break;default:{ha=u;ia=C;break q}}Yu(g,4,1,c[l>>2]|0)|0;ha=u;ia=C}while(0);if((k|0)==90){k=0;w=c[n>>2]|0;C=(c[m>>2]|0)-w|0;u=(C|0)<4?C:4;C=(u|0)>0?u:0;zv(g|0,(c[o>>2]|0)+w|0,C|0)|0;c[n>>2]=C+w;w=x+16|0;c[w>>2]=c[g>>2];c[g>>2]=0;fa=w;ga=da;k=93}if((k|0)==93){k=0;w=c[n>>2]|0;C=(c[m>>2]|0)-w|0;u=(C|0)<4?C:4;C=(u|0)>0?u:0;zv(g|0,(c[o>>2]|0)+w|0,C|0)|0;c[n>>2]=C+w;ha=ga;ia=fa}w=x+24|0;c[w>>2]=c[g>>2];Ko(x,c[ha>>2]|0);Lo(x,c[ia>>2]|0);r:do if((c[ha>>2]|0)>0){C=0;while(1){f[g>>2]=0.0;u=c[e>>2]|0;switch(u|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;ja=c[e>>2]|0;k=99;break}case 1:{J=c[n>>2]|0;y=(c[m>>2]|0)-J|0;K=(y|0)<4?y:4;y=(K|0)>0?K:0;zv(g|0,(c[o>>2]|0)+J|0,y|0)|0;c[n>>2]=y+J;J=c[x>>2]|0;c[J+(C*12|0)>>2]=c[g>>2];f[g>>2]=0.0;ka=J;k=405;break}default:{ja=u;k=99}}s:do if((k|0)==99){k=0;u=c[x>>2]|0;c[u+(C*12|0)>>2]=c[g>>2];f[g>>2]=0.0;switch(ja|0){case 1:{ka=u;k=405;break s;break}case 0:{Yu(g,4,1,c[l>>2]|0)|0;la=c[x>>2]|0;ma=c[e>>2]|0;break}default:{la=u;ma=ja}}c[la+(C*12|0)+4>>2]=c[g>>2];f[g>>2]=0.0;switch(ma|0){case 1:{na=la;k=408;break s;break}case 0:break;default:{oa=la;break s}}Yu(g,4,1,c[l>>2]|0)|0;oa=c[x>>2]|0}while(0);if((k|0)==405){k=0;u=c[n>>2]|0;J=(c[m>>2]|0)-u|0;y=(J|0)<4?J:4;J=(y|0)>0?y:0;zv(g|0,(c[o>>2]|0)+u|0,J|0)|0;c[n>>2]=J+u;c[ka+(C*12|0)+4>>2]=c[g>>2];f[g>>2]=0.0;na=ka;k=408}if((k|0)==408){k=0;u=c[n>>2]|0;J=(c[m>>2]|0)-u|0;y=(J|0)<4?J:4;J=(y|0)>0?y:0;zv(g|0,(c[o>>2]|0)+u|0,J|0)|0;c[n>>2]=J+u;oa=na}c[oa+(C*12|0)+8>>2]=c[g>>2];C=C+1|0;if((C|0)>=(c[ha>>2]|0))break r}}while(0);t:do if((c[ia>>2]|0)>0){C=x+12|0;u=0;while(1){J=c[C>>2]|0;y=J+(u*80|0)|0;b[g>>1]=0;switch(c[e>>2]|0){case 0:{Yu(g,2,1,c[l>>2]|0)|0;break}case 1:{K=c[n>>2]|0;L=(c[m>>2]|0)-K|0;pa=(L|0)<2?L:2;L=(pa|0)>0?pa:0;zv(g|0,(c[o>>2]|0)+K|0,L|0)|0;c[n>>2]=L+K;break}default:{}}K=b[g>>1]|0;L=J+(u*80|0)+56|0;b[L>>1]=K;Mo(y,K<<16>>16);b[g>>1]=0;K=c[e>>2]|0;switch(K|0){case 0:{Yu(g,2,1,c[l>>2]|0)|0;qa=c[e>>2]|0;k=108;break}case 1:{y=c[n>>2]|0;pa=(c[m>>2]|0)-y|0;ra=(pa|0)<2?pa:2;pa=(ra|0)>0?ra:0;zv(g|0,(c[o>>2]|0)+y|0,pa|0)|0;c[n>>2]=pa+y;b[J+(u*80|0)+72>>1]=b[g>>1]|0;b[g>>1]=0;k=110;break}default:{qa=K;k=108}}u:do if((k|0)==108){k=0;b[J+(u*80|0)+72>>1]=b[g>>1]|0;b[g>>1]=0;switch(qa|0){case 1:{k=110;break u;break}case 0:break;default:break u}Yu(g,2,1,c[l>>2]|0)|0}while(0);if((k|0)==110){k=0;K=c[n>>2]|0;y=(c[m>>2]|0)-K|0;pa=(y|0)<2?y:2;y=(pa|0)>0?pa:0;zv(g|0,(c[o>>2]|0)+K|0,y|0)|0;c[n>>2]=y+K}b[J+(u*80|0)+74>>1]=b[g>>1]|0;v:do if((b[L>>1]|0)>0){K=J+(u*80|0)+48|0;y=J+(u*80|0)+52|0;pa=0;while(1){c[g>>2]=0;switch(c[e>>2]|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;break}case 1:{ra=c[n>>2]|0;sa=(c[m>>2]|0)-ra|0;ta=(sa|0)<4?sa:4;sa=(ta|0)>0?ta:0;zv(g|0,(c[o>>2]|0)+ra|0,sa|0)|0;c[n>>2]=sa+ra;break}default:{}}c[(c[K>>2]|0)+(pa<<2)>>2]=c[g>>2];f[g>>2]=0.0;ra=c[e>>2]|0;switch(ra|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;ua=c[e>>2]|0;k=119;break}case 1:{sa=c[n>>2]|0;ta=(c[m>>2]|0)-sa|0;va=(ta|0)<4?ta:4;ta=(va|0)>0?va:0;zv(g|0,(c[o>>2]|0)+sa|0,ta|0)|0;c[n>>2]=ta+sa;sa=c[y>>2]|0;c[sa+(pa<<3)>>2]=c[g>>2];f[g>>2]=0.0;wa=sa;k=121;break}default:{ua=ra;k=119}}w:do if((k|0)==119){k=0;ra=c[y>>2]|0;c[ra+(pa<<3)>>2]=c[g>>2];f[g>>2]=0.0;switch(ua|0){case 1:{wa=ra;k=121;break w;break}case 0:break;default:{xa=ra;break w}}Yu(g,4,1,c[l>>2]|0)|0;xa=c[y>>2]|0}while(0);if((k|0)==121){k=0;ra=c[n>>2]|0;sa=(c[m>>2]|0)-ra|0;ta=(sa|0)<4?sa:4;sa=(ta|0)>0?ta:0;zv(g|0,(c[o>>2]|0)+ra|0,sa|0)|0;c[n>>2]=sa+ra;xa=wa}c[xa+(pa<<3)+4>>2]=c[g>>2];pa=pa+1|0;if((pa|0)>=(b[L>>1]|0))break v}}while(0);u=u+1|0;if((u|0)>=(c[ia>>2]|0))break t}}while(0);x:do if((c[w>>2]|0)>0?(c[ha>>2]|0)>0:0){u=x+28|0;C=0;while(1){b[g>>1]=0;L=c[e>>2]|0;switch(L|0){case 0:{Yu(g,2,1,c[l>>2]|0)|0;ya=c[e>>2]|0;k=130;break}case 1:{J=c[n>>2]|0;pa=(c[m>>2]|0)-J|0;y=(pa|0)<2?pa:2;pa=(y|0)>0?y:0;zv(g|0,(c[o>>2]|0)+J|0,pa|0)|0;c[n>>2]=pa+J;J=b[g>>1]|0;pa=c[u>>2]|0;y=pa+(C<<5)|0;b[y>>1]=J;b[g>>1]=0;za=y;Aa=pa;Ba=J;k=132;break}default:{ya=L;k=130}}y:do if((k|0)==130){k=0;L=b[g>>1]|0;J=c[u>>2]|0;pa=J+(C<<5)|0;b[pa>>1]=L;b[g>>1]=0;switch(ya|0){case 1:{za=pa;Aa=J;Ba=L;k=132;break y;break}case 0:break;default:{Ca=pa;Da=J;Ea=L;Fa=ya;break y}}Yu(g,2,1,c[l>>2]|0)|0;L=c[u>>2]|0;J=L+(C<<5)|0;Ca=J;Da=L;Ea=b[J>>1]|0;Fa=c[e>>2]|0}while(0);if((k|0)==132){k=0;J=c[n>>2]|0;L=(c[m>>2]|0)-J|0;pa=(L|0)<2?L:2;L=(pa|0)>0?pa:0;zv(g|0,(c[o>>2]|0)+J|0,L|0)|0;c[n>>2]=L+J;Ca=za;Da=Aa;Ea=Ba;Fa=1}J=b[g>>1]|0;L=Ea&65535;pa=(c[w>>2]|0)+-1|0;y=(pa|0)>(L|0)?L:pa;b[Ca>>1]=(y|0)>0?y:0;y=J&65535;J=(pa|0)>(y|0)?y:pa;b[Da+(C<<5)+2>>1]=(J|0)>0?J:0;f[g>>2]=0.0;switch(Fa|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;Ga=c[u>>2]|0;break}case 1:{J=c[n>>2]|0;pa=(c[m>>2]|0)-J|0;y=(pa|0)<4?pa:4;pa=(y|0)>0?y:0;zv(g|0,(c[o>>2]|0)+J|0,pa|0)|0;c[n>>2]=pa+J;Ga=Da;break}default:Ga=Da}c[Ga+(C<<5)+4>>2]=c[g>>2];C=C+1|0;if((C|0)>=(c[ha>>2]|0))break x}}while(0);To(x);Qn(i,6,x)|0;k=396;break g}switch(r|0){case 1229865283:break;default:break o}w=ap()|0;c[g>>2]=0;C=c[e>>2]|0;switch(C|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;Ha=c[e>>2]|0;k=145;break}case 1:{u=c[n>>2]|0;J=(c[m>>2]|0)-u|0;pa=(J|0)<4?J:4;J=(pa|0)>0?pa:0;zv(g|0,(c[o>>2]|0)+u|0,J|0)|0;c[n>>2]=J+u;Ha=1;k=145;break}default:{Ja=C;Ka=0}}if((k|0)==145){k=0;Ja=Ha;Ka=c[g>>2]|0}c[g>>2]=0;switch(Ja|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;La=c[g>>2]|0;Ma=c[e>>2]|0;k=149;break}case 1:{C=c[m>>2]|0;u=c[n>>2]|0;J=C-u|0;pa=(J|0)<4?J:4;J=(pa|0)>0?pa:0;pa=c[o>>2]|0;zv(g|0,pa+u|0,J|0)|0;y=J+u|0;c[n>>2]=y;c[w+8>>2]=c[g>>2];c[g>>2]=0;Na=y;Oa=C;Pa=pa;k=152;break}default:{La=0;Ma=Ja;k=149}}z:do if((k|0)==149){k=0;c[w+8>>2]=La;c[g>>2]=0;switch(Ma|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;Qa=c[g>>2]|0;Ra=c[e>>2]|0;break}case 1:{Na=c[n>>2]|0;Oa=c[m>>2]|0;Pa=c[o>>2]|0;k=152;break z;break}default:{Qa=0;Ra=Ma}}c[w+12>>2]=Qa;c[g>>2]=0;switch(Ra|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;Sa=c[e>>2]|0;break}case 1:{Ta=c[n>>2]|0;Ua=c[m>>2]|0;Va=c[o>>2]|0;k=156;break z;break}default:Sa=Ra}c[g>>2]=0;switch(Sa|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;Wa=c[e>>2]|0;break}case 1:{Xa=c[n>>2]|0;Ya=c[m>>2]|0;Za=c[o>>2]|0;k=280;break z;break}default:Wa=Sa}c[g>>2]=0;switch(Wa|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;_a=c[e>>2]|0;break}case 1:{$a=c[n>>2]|0;ab=c[m>>2]|0;bb=c[o>>2]|0;k=284;break z;break}default:_a=Wa}c[g>>2]=0;switch(_a|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;cb=c[e>>2]|0;break}case 1:{db=c[n>>2]|0;eb=c[m>>2]|0;fb=c[o>>2]|0;k=288;break z;break}default:cb=_a}c[g>>2]=0;switch(cb|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;break z;break}case 1:{gb=c[n>>2]|0;hb=c[m>>2]|0;ib=c[o>>2]|0;k=292;break z;break}default:break z}}while(0);if((k|0)==152){k=0;x=Oa-Na|0;pa=(x|0)<4?x:4;x=(pa|0)>0?pa:0;zv(g|0,Pa+Na|0,x|0)|0;pa=x+Na|0;c[n>>2]=pa;c[w+12>>2]=c[g>>2];c[g>>2]=0;Ta=pa;Ua=Oa;Va=Pa;k=156}if((k|0)==156){k=0;pa=Ua-Ta|0;x=(pa|0)<4?pa:4;pa=(x|0)>0?x:0;zv(g|0,Va+Ta|0,pa|0)|0;x=pa+Ta|0;c[n>>2]=x;c[g>>2]=0;Xa=x;Ya=Ua;Za=Va;k=280}if((k|0)==280){k=0;x=Ya-Xa|0;pa=(x|0)<4?x:4;x=(pa|0)>0?pa:0;zv(g|0,Za+Xa|0,x|0)|0;pa=x+Xa|0;c[n>>2]=pa;c[g>>2]=0;$a=pa;ab=Ya;bb=Za;k=284}if((k|0)==284){k=0;pa=ab-$a|0;x=(pa|0)<4?pa:4;pa=(x|0)>0?x:0;zv(g|0,bb+$a|0,pa|0)|0;x=pa+$a|0;c[n>>2]=x;c[g>>2]=0;db=x;eb=ab;fb=bb;k=288}if((k|0)==288){k=0;x=eb-db|0;pa=(x|0)<4?x:4;x=(pa|0)>0?pa:0;zv(g|0,fb+db|0,x|0)|0;pa=x+db|0;c[n>>2]=pa;c[g>>2]=0;gb=pa;hb=eb;ib=fb;k=292}if((k|0)==292){k=0;pa=hb-gb|0;x=(pa|0)<4?pa:4;pa=(x|0)>0?x:0;zv(g|0,ib+gb|0,pa|0)|0;c[n>>2]=pa+gb}A:do if((Ka|0)>0){pa=w+4|0;x=0;while(1){dp(w)|0;C=c[pa>>2]|0;y=C+(x*112|0)|0;u=c[e>>2]|0;switch(u|0){case 0:{Yu(y,1,32,c[l>>2]|0)|0;k=163;break}case 1:{J=c[n>>2]|0;L=(c[m>>2]|0)-J|0;K=(L|0)<32?L:32;L=(K|0)>0?K:0;zv(y|0,(c[o>>2]|0)+J|0,L|0)|0;c[n>>2]=L+(c[n>>2]|0);k=163;break}default:jb=u}if((k|0)==163){k=0;jb=c[e>>2]|0}u=C+(x*112|0)+32|0;switch(jb|0){case 0:{Yu(u,1,32,c[l>>2]|0)|0;break}case 1:{L=c[n>>2]|0;J=(c[m>>2]|0)-L|0;y=(J|0)<32?J:32;J=(y|0)>0?y:0;zv(u|0,(c[o>>2]|0)+L|0,J|0)|0;c[n>>2]=J+(c[n>>2]|0);break}default:{}}c[g>>2]=0;J=c[e>>2]|0;switch(J|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;kb=c[g>>2]|0;lb=c[e>>2]|0;k=170;break}case 1:{L=c[m>>2]|0;u=c[n>>2]|0;y=L-u|0;K=(y|0)<4?y:4;y=(K|0)>0?K:0;K=c[o>>2]|0;zv(g|0,K+u|0,y|0)|0;ra=y+u|0;c[n>>2]=ra;c[C+(x*112|0)+68>>2]=c[g>>2];c[g>>2]=0;mb=ra;nb=L;ob=K;k=173;break}default:{kb=0;lb=J;k=170}}B:do if((k|0)==170){k=0;c[C+(x*112|0)+68>>2]=kb;c[g>>2]=0;switch(lb|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;pb=c[g>>2]|0;qb=c[e>>2]|0;break}case 1:{mb=c[n>>2]|0;nb=c[m>>2]|0;ob=c[o>>2]|0;k=173;break B;break}default:{pb=0;qb=lb}}c[C+(x*112|0)+72>>2]=pb;c[g>>2]=0;switch(qb|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;rb=c[g>>2]|0;sb=c[e>>2]|0;break}case 1:{tb=c[n>>2]|0;ub=c[m>>2]|0;vb=c[o>>2]|0;k=177;break B;break}default:{rb=0;sb=qb}}c[C+(x*112|0)+76>>2]=rb;c[g>>2]=0;switch(sb|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;wb=c[g>>2]|0;xb=c[e>>2]|0;break}case 1:{yb=c[n>>2]|0;zb=c[m>>2]|0;Ab=c[o>>2]|0;k=181;break B;break}default:{wb=0;xb=sb}}c[C+(x*112|0)+100>>2]=wb;c[g>>2]=0;switch(xb|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;Bb=c[g>>2]|0;Cb=c[e>>2]|0;break}case 1:{Db=c[n>>2]|0;Eb=c[m>>2]|0;Fb=c[o>>2]|0;k=185;break B;break}default:{Bb=0;Cb=xb}}J=C+(x*112|0)+104|0;c[J>>2]=Bb;c[g>>2]=0;switch(Cb|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;Gb=c[g>>2]|0;Hb=c[e>>2]|0;break}case 1:{Ib=J;Jb=c[n>>2]|0;Kb=c[m>>2]|0;Lb=c[o>>2]|0;k=189;break B;break}default:{Gb=0;Hb=Cb}}c[C+(x*112|0)+108>>2]=Gb;c[g>>2]=0;switch(Hb|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;Mb=c[e>>2]|0;break}case 1:{Nb=J;Ob=c[n>>2]|0;Pb=c[m>>2]|0;Qb=c[o>>2]|0;k=193;break B;break}default:Mb=Hb}c[g>>2]=0;switch(Mb|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;Rb=c[e>>2]|0;break}case 1:{Sb=J;Tb=c[n>>2]|0;Ub=c[m>>2]|0;Vb=c[o>>2]|0;k=272;break B;break}default:Rb=Mb}c[g>>2]=0;switch(Rb|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;Wb=c[e>>2]|0;break}case 1:{Xb=J;Yb=c[n>>2]|0;Zb=c[m>>2]|0;_b=c[o>>2]|0;k=276;break B;break}default:Wb=Rb}K=c[C+(x*112|0)+80>>2]|0;c[g>>2]=0;switch(Wb|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;$b=K;ac=J;break B;break}case 1:{bc=K;cc=J;dc=c[n>>2]|0;ec=c[m>>2]|0;fc=c[o>>2]|0;k=197;break B;break}default:{$b=K;ac=J;break B}}}while(0);if((k|0)==173){k=0;J=nb-mb|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;zv(g|0,ob+mb|0,J|0)|0;K=J+mb|0;c[n>>2]=K;c[C+(x*112|0)+72>>2]=c[g>>2];c[g>>2]=0;tb=K;ub=nb;vb=ob;k=177}if((k|0)==177){k=0;K=ub-tb|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;zv(g|0,vb+tb|0,K|0)|0;J=K+tb|0;c[n>>2]=J;c[C+(x*112|0)+76>>2]=c[g>>2];c[g>>2]=0;yb=J;zb=ub;Ab=vb;k=181}if((k|0)==181){k=0;J=zb-yb|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;zv(g|0,Ab+yb|0,J|0)|0;K=J+yb|0;c[n>>2]=K;c[C+(x*112|0)+100>>2]=c[g>>2];c[g>>2]=0;Db=K;Eb=zb;Fb=Ab;k=185}if((k|0)==185){k=0;K=Eb-Db|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;zv(g|0,Fb+Db|0,K|0)|0;J=K+Db|0;c[n>>2]=J;K=C+(x*112|0)+104|0;c[K>>2]=c[g>>2];c[g>>2]=0;Ib=K;Jb=J;Kb=Eb;Lb=Fb;k=189}if((k|0)==189){k=0;J=Kb-Jb|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;zv(g|0,Lb+Jb|0,J|0)|0;K=J+Jb|0;c[n>>2]=K;c[C+(x*112|0)+108>>2]=c[g>>2];c[g>>2]=0;Nb=Ib;Ob=K;Pb=Kb;Qb=Lb;k=193}if((k|0)==193){k=0;K=Pb-Ob|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;zv(g|0,Qb+Ob|0,K|0)|0;J=K+Ob|0;c[n>>2]=J;c[g>>2]=0;Sb=Nb;Tb=J;Ub=Pb;Vb=Qb;k=272}if((k|0)==272){k=0;J=Ub-Tb|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;zv(g|0,Vb+Tb|0,J|0)|0;K=J+Tb|0;c[n>>2]=K;c[g>>2]=0;Xb=Sb;Yb=K;Zb=Ub;_b=Vb;k=276}if((k|0)==276){k=0;K=Zb-Yb|0;J=(K|0)<4?K:4;K=(J|0)>0?J:0;zv(g|0,_b+Yb|0,K|0)|0;J=K+Yb|0;c[n>>2]=J;K=c[C+(x*112|0)+80>>2]|0;c[g>>2]=0;bc=K;cc=Xb;dc=J;ec=Zb;fc=_b;k=197}if((k|0)==197){k=0;J=ec-dc|0;K=(J|0)<4?J:4;J=(K|0)>0?K:0;zv(g|0,fc+dc|0,J|0)|0;c[n>>2]=J+dc;$b=bc;ac=cc}J=c[g>>2]|0;c[$b>>2]=J;fp($b,J);J=c[$b>>2]|0;C:do if(!J)k=209;else{K=c[$b+12>>2]|0;L=c[$b+8>>2]|0;ra=c[e>>2]|0;switch(ra|0){case 0:{Yu(K,L,J,c[l>>2]|0)|0;k=202;break}case 1:{u=B(L,J)|0;L=c[n>>2]|0;y=(c[m>>2]|0)-L|0;sa=(u|0)<(y|0)?u:y;y=(sa|0)>0?sa:0;zv(K|0,(c[o>>2]|0)+L|0,y|0)|0;c[n>>2]=y+(c[n>>2]|0);k=202;break}default:{gc=ra;hc=J}}if((k|0)==202){k=0;gc=c[e>>2]|0;hc=c[$b>>2]|0}ra=c[$b+16>>2]|0;switch(gc|0){case 0:{Yu(ra,4,hc,c[l>>2]|0)|0;break}case 1:{y=hc<<2;L=c[n>>2]|0;K=(c[m>>2]|0)-L|0;sa=(y|0)<(K|0)?y:K;K=(sa|0)>0?sa:0;zv(ra|0,(c[o>>2]|0)+L|0,K|0)|0;c[n>>2]=K+(c[n>>2]|0);break}default:{}}K=c[$b+20>>2]|0;L=c[$b>>2]|0;ra=c[e>>2]|0;switch(ra|0){case 0:{Yu(K,4,L,c[l>>2]|0)|0;k=209;break C;break}case 1:{sa=L<<2;L=c[n>>2]|0;y=(c[m>>2]|0)-L|0;u=(sa|0)<(y|0)?sa:y;y=(u|0)>0?u:0;zv(K|0,(c[o>>2]|0)+L|0,y|0)|0;c[n>>2]=y+(c[n>>2]|0);k=209;break C;break}default:{ic=ra;break C}}}while(0);if((k|0)==209){k=0;ic=c[e>>2]|0}J=c[C+(x*112|0)+84>>2]|0;c[g>>2]=0;switch(ic|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;break}case 1:{ra=c[n>>2]|0;y=(c[m>>2]|0)-ra|0;L=(y|0)<4?y:4;y=(L|0)>0?L:0;zv(g|0,(c[o>>2]|0)+ra|0,y|0)|0;c[n>>2]=y+ra;break}default:{}}ra=c[g>>2]|0;c[J>>2]=ra;fp(J,ra);ra=c[J>>2]|0;D:do if(!ra)k=224;else{y=c[J+12>>2]|0;L=c[J+8>>2]|0;K=c[e>>2]|0;switch(K|0){case 0:{Yu(y,L,ra,c[l>>2]|0)|0;k=217;break}case 1:{u=B(L,ra)|0;L=c[n>>2]|0;sa=(c[m>>2]|0)-L|0;ta=(u|0)<(sa|0)?u:sa;sa=(ta|0)>0?ta:0;zv(y|0,(c[o>>2]|0)+L|0,sa|0)|0;c[n>>2]=sa+(c[n>>2]|0);k=217;break}default:{jc=K;kc=ra}}if((k|0)==217){k=0;jc=c[e>>2]|0;kc=c[J>>2]|0}K=c[J+16>>2]|0;switch(jc|0){case 0:{Yu(K,4,kc,c[l>>2]|0)|0;break}case 1:{sa=kc<<2;L=c[n>>2]|0;y=(c[m>>2]|0)-L|0;ta=(sa|0)<(y|0)?sa:y;y=(ta|0)>0?ta:0;zv(K|0,(c[o>>2]|0)+L|0,y|0)|0;c[n>>2]=y+(c[n>>2]|0);break}default:{}}y=c[J+20>>2]|0;L=c[J>>2]|0;K=c[e>>2]|0;switch(K|0){case 0:{Yu(y,4,L,c[l>>2]|0)|0;k=224;break D;break}case 1:{ta=L<<2;L=c[n>>2]|0;sa=(c[m>>2]|0)-L|0;u=(ta|0)<(sa|0)?ta:sa;sa=(u|0)>0?u:0;zv(y|0,(c[o>>2]|0)+L|0,sa|0)|0;c[n>>2]=sa+(c[n>>2]|0);k=224;break D;break}default:{lc=K;break D}}}while(0);if((k|0)==224){k=0;lc=c[e>>2]|0}J=c[C+(x*112|0)+88>>2]|0;c[g>>2]=0;switch(lc|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;break}case 1:{ra=c[n>>2]|0;K=(c[m>>2]|0)-ra|0;sa=(K|0)<4?K:4;K=(sa|0)>0?sa:0;zv(g|0,(c[o>>2]|0)+ra|0,K|0)|0;c[n>>2]=K+ra;break}default:{}}ra=c[g>>2]|0;c[J>>2]=ra;fp(J,ra);ra=c[J>>2]|0;E:do if(ra|0){K=c[J+12>>2]|0;sa=c[J+8>>2]|0;L=c[e>>2]|0;switch(L|0){case 0:{Yu(K,sa,ra,c[l>>2]|0)|0;k=232;break}case 1:{y=B(sa,ra)|0;sa=c[n>>2]|0;u=(c[m>>2]|0)-sa|0;ta=(y|0)<(u|0)?y:u;u=(ta|0)>0?ta:0;zv(K|0,(c[o>>2]|0)+sa|0,u|0)|0;c[n>>2]=u+(c[n>>2]|0);k=232;break}default:{mc=L;nc=ra}}if((k|0)==232){k=0;mc=c[e>>2]|0;nc=c[J>>2]|0}L=c[J+16>>2]|0;switch(mc|0){case 0:{Yu(L,4,nc,c[l>>2]|0)|0;break}case 1:{u=nc<<2;sa=c[n>>2]|0;K=(c[m>>2]|0)-sa|0;ta=(u|0)<(K|0)?u:K;K=(ta|0)>0?ta:0;zv(L|0,(c[o>>2]|0)+sa|0,K|0)|0;c[n>>2]=K+(c[n>>2]|0);break}default:{}}K=c[J+20>>2]|0;sa=c[J>>2]|0;switch(c[e>>2]|0){case 0:{Yu(K,4,sa,c[l>>2]|0)|0;break E;break}case 1:{L=sa<<2;sa=c[n>>2]|0;ta=(c[m>>2]|0)-sa|0;u=(L|0)<(ta|0)?L:ta;ta=(u|0)>0?u:0;zv(K|0,(c[o>>2]|0)+sa|0,ta|0)|0;c[n>>2]=ta+(c[n>>2]|0);break E;break}default:break E}}while(0);J=c[ac>>2]|0;F:do if(J|0){ra=C+(x*112|0)+92|0;c[ra>>2]=aq(J<<2)|0;if((c[ac>>2]|0)<=0)break;ta=0;while(1){sa=ep(16)|0;c[(c[ra>>2]|0)+(ta<<2)>>2]=sa;sa=c[(c[ra>>2]|0)+(ta<<2)>>2]|0;c[g>>2]=0;switch(c[e>>2]|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;break}case 1:{K=c[n>>2]|0;u=(c[m>>2]|0)-K|0;L=(u|0)<4?u:4;u=(L|0)>0?L:0;zv(g|0,(c[o>>2]|0)+K|0,u|0)|0;c[n>>2]=u+K;break}default:{}}K=c[g>>2]|0;c[sa>>2]=K;fp(sa,K);K=c[sa>>2]|0;G:do if(K|0){u=c[sa+12>>2]|0;L=c[sa+8>>2]|0;y=c[e>>2]|0;switch(y|0){case 0:{Yu(u,L,K,c[l>>2]|0)|0;k=249;break}case 1:{va=B(L,K)|0;L=c[n>>2]|0;oc=(c[m>>2]|0)-L|0;pc=(va|0)<(oc|0)?va:oc;oc=(pc|0)>0?pc:0;zv(u|0,(c[o>>2]|0)+L|0,oc|0)|0;c[n>>2]=oc+(c[n>>2]|0);k=249;break}default:{qc=y;rc=K}}if((k|0)==249){k=0;qc=c[e>>2]|0;rc=c[sa>>2]|0}y=c[sa+16>>2]|0;switch(qc|0){case 0:{Yu(y,4,rc,c[l>>2]|0)|0;break}case 1:{oc=rc<<2;L=c[n>>2]|0;u=(c[m>>2]|0)-L|0;pc=(oc|0)<(u|0)?oc:u;u=(pc|0)>0?pc:0;zv(y|0,(c[o>>2]|0)+L|0,u|0)|0;c[n>>2]=u+(c[n>>2]|0);break}default:{}}u=c[sa+20>>2]|0;L=c[sa>>2]|0;switch(c[e>>2]|0){case 0:{Yu(u,4,L,c[l>>2]|0)|0;break G;break}case 1:{y=L<<2;L=c[n>>2]|0;pc=(c[m>>2]|0)-L|0;oc=(y|0)<(pc|0)?y:pc;pc=(oc|0)>0?oc:0;zv(u|0,(c[o>>2]|0)+L|0,pc|0)|0;c[n>>2]=pc+(c[n>>2]|0);break G;break}default:break G}}while(0);ta=ta+1|0;if((ta|0)>=(c[ac>>2]|0))break F}}while(0);J=c[C+(x*112|0)+96>>2]|0;c[g>>2]=0;switch(c[e>>2]|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;break}case 1:{ta=c[n>>2]|0;ra=(c[m>>2]|0)-ta|0;sa=(ra|0)<4?ra:4;ra=(sa|0)>0?sa:0;zv(g|0,(c[o>>2]|0)+ta|0,ra|0)|0;c[n>>2]=ra+ta;break}default:{}}ta=c[g>>2]|0;c[J>>2]=ta;fp(J,ta);ta=c[J>>2]|0;H:do if(ta|0){ra=c[J+12>>2]|0;sa=c[J+8>>2]|0;K=c[e>>2]|0;switch(K|0){case 0:{Yu(ra,sa,ta,c[l>>2]|0)|0;k=264;break}case 1:{pc=B(sa,ta)|0;sa=c[n>>2]|0;L=(c[m>>2]|0)-sa|0;u=(pc|0)<(L|0)?pc:L;L=(u|0)>0?u:0;zv(ra|0,(c[o>>2]|0)+sa|0,L|0)|0;c[n>>2]=L+(c[n>>2]|0);k=264;break}default:{sc=K;tc=ta}}if((k|0)==264){k=0;sc=c[e>>2]|0;tc=c[J>>2]|0}K=c[J+16>>2]|0;switch(sc|0){case 0:{Yu(K,4,tc,c[l>>2]|0)|0;break}case 1:{L=tc<<2;sa=c[n>>2]|0;ra=(c[m>>2]|0)-sa|0;u=(L|0)<(ra|0)?L:ra;ra=(u|0)>0?u:0;zv(K|0,(c[o>>2]|0)+sa|0,ra|0)|0;c[n>>2]=ra+(c[n>>2]|0);break}default:{}}ra=c[J+20>>2]|0;sa=c[J>>2]|0;switch(c[e>>2]|0){case 0:{Yu(ra,4,sa,c[l>>2]|0)|0;break H;break}case 1:{K=sa<<2;sa=c[n>>2]|0;u=(c[m>>2]|0)-sa|0;L=(K|0)<(u|0)?K:u;u=(L|0)>0?L:0;zv(ra|0,(c[o>>2]|0)+sa|0,u|0)|0;c[n>>2]=u+(c[n>>2]|0);break H;break}default:break H}}while(0);x=x+1|0;if((x|0)==(Ka|0))break A}}while(0);Qn(i,8,w)|0;k=396;break g}else{if((r|0)<1314476867){switch(r|0){case 1279348803:break;default:break o}x=pn()|0;switch(c[e>>2]|0){case 0:{Yu(x,1,768,c[l>>2]|0)|0;break}case 1:{pa=c[n>>2]|0;J=(c[m>>2]|0)-pa|0;ta=(J|0)<768?J:768;J=(ta|0)>0?ta:0;zv(x|0,(c[o>>2]|0)+pa|0,J|0)|0;c[n>>2]=J+(c[n>>2]|0);break}default:{}}Qn(i,5,x)|0;k=396;break g}if((r|0)>=1413565763){switch(r|0){case 1413565763:break;default:break o}x=Qo()|0;switch(c[e>>2]|0){case 0:{Yu(x,96,1,c[l>>2]|0)|0;break}case 1:{J=c[n>>2]|0;pa=(c[m>>2]|0)-J|0;ta=(pa|0)<96?pa:96;pa=(ta|0)>0?ta:0;zv(x|0,(c[o>>2]|0)+J|0,pa|0)|0;c[n>>2]=pa+(c[n>>2]|0);break}default:{}}Qn(i,7,x)|0;k=396;break g}switch(r|0){case 1314476867:break;default:break o}x=qp(0)|0;Qn(i,11,x)|0;$p(x,0,11032);c[g>>2]=0;pa=c[e>>2]|0;switch(pa|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;uc=c[e>>2]|0;k=326;break}case 1:{J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(ta|0)<4?ta:4;ta=(C|0)>0?C:0;zv(g|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+J;c[x>>2]=c[g>>2];c[g>>2]=0;vc=x;k=328;break}default:{uc=pa;k=326}}I:do if((k|0)==326){k=0;c[x>>2]=c[g>>2];c[g>>2]=0;switch(uc|0){case 1:{vc=x;k=328;break I;break}case 0:{Yu(g,4,1,c[l>>2]|0)|0;wc=c[e>>2]|0;break}default:wc=uc}c[x+4>>2]=c[g>>2];c[g>>2]=0;switch(wc|0){case 1:{xc=x;k=331;break I;break}case 0:break;default:{yc=wc;zc=0;Ac=x;break I}}Yu(g,4,1,c[l>>2]|0)|0;Bc=c[e>>2]|0;Cc=x;k=332}while(0);if((k|0)==328){k=0;w=c[n>>2]|0;pa=(c[m>>2]|0)-w|0;J=(pa|0)<4?pa:4;pa=(J|0)>0?J:0;zv(g|0,(c[o>>2]|0)+w|0,pa|0)|0;c[n>>2]=pa+w;c[x+4>>2]=c[g>>2];c[g>>2]=0;xc=vc;k=331}if((k|0)==331){k=0;w=c[n>>2]|0;pa=(c[m>>2]|0)-w|0;J=(pa|0)<4?pa:4;pa=(J|0)>0?J:0;zv(g|0,(c[o>>2]|0)+w|0,pa|0)|0;c[n>>2]=pa+w;Bc=1;Cc=xc;k=332}if((k|0)==332){k=0;yc=Bc;zc=c[g>>2]|0;Ac=Cc}c[g>>2]=0;switch(yc|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;break}case 1:{w=c[n>>2]|0;pa=(c[m>>2]|0)-w|0;J=(pa|0)<4?pa:4;pa=(J|0)>0?J:0;zv(g|0,(c[o>>2]|0)+w|0,pa|0)|0;c[n>>2]=pa+w;break}default:{}}if(!zc)c[Ac>>2]=(c[Ac>>2]|0)/2|0;c[g>>2]=0;switch(c[e>>2]|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;break}case 1:{w=c[n>>2]|0;pa=(c[m>>2]|0)-w|0;J=(pa|0)<4?pa:4;pa=(J|0)>0?J:0;zv(g|0,(c[o>>2]|0)+w|0,pa|0)|0;c[n>>2]=pa+w;break}default:{k=396;break g}}w=c[g>>2]|0;if((w|0)<=0){k=396;break g}pa=0;while(1){c[g>>2]=0;J=c[e>>2]|0;switch(J|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;Dc=c[e>>2]|0;k=347;break}case 1:{ta=c[n>>2]|0;C=(c[m>>2]|0)-ta|0;u=(C|0)<4?C:4;C=(u|0)>0?u:0;zv(g|0,(c[o>>2]|0)+ta|0,C|0)|0;c[n>>2]=C+ta;c[x+8+(pa*344|0)>>2]=c[g>>2];c[g>>2]=0;k=349;break}default:{Dc=J;k=347}}J:do if((k|0)==347){k=0;c[x+8+(pa*344|0)>>2]=c[g>>2];c[g>>2]=0;switch(Dc|0){case 1:{k=349;break J;break}case 0:{Yu(g,4,1,c[l>>2]|0)|0;Ec=c[e>>2]|0;break}default:Ec=Dc}c[x+8+(pa*344|0)+4>>2]=c[g>>2];c[g>>2]=0;switch(Ec|0){case 1:{k=352;break J;break}case 0:{Yu(g,4,1,c[l>>2]|0)|0;Fc=c[e>>2]|0;break}default:Fc=Ec}c[x+8+(pa*344|0)+8>>2]=c[g>>2];c[g>>2]=0;switch(Fc|0){case 1:{k=355;break J;break}case 0:{Yu(g,4,1,c[l>>2]|0)|0;Gc=c[e>>2]|0;break}default:Gc=Fc}c[x+8+(pa*344|0)+340>>2]=c[g>>2];c[g>>2]=0;switch(Gc|0){case 1:{k=358;break J;break}case 0:{Yu(g,4,1,c[l>>2]|0)|0;Hc=c[e>>2]|0;break}default:Hc=Gc}J=c[g>>2]|0;c[x+8+(pa*344|0)+332>>2]=J;ta=x+8+(pa*344|0)+268|0;switch(Hc|0){case 1:{Ic=J;Jc=ta;k=361;break J;break}case 0:break;default:{Kc=Hc;break J}}Yu(ta,1,J,c[l>>2]|0)|0;k=362}while(0);if((k|0)==349){k=0;J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(ta|0)<4?ta:4;ta=(C|0)>0?C:0;zv(g|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+J;c[x+8+(pa*344|0)+4>>2]=c[g>>2];c[g>>2]=0;k=352}if((k|0)==352){k=0;J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(ta|0)<4?ta:4;ta=(C|0)>0?C:0;zv(g|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+J;c[x+8+(pa*344|0)+8>>2]=c[g>>2];c[g>>2]=0;k=355}if((k|0)==355){k=0;J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(ta|0)<4?ta:4;ta=(C|0)>0?C:0;zv(g|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+J;c[x+8+(pa*344|0)+340>>2]=c[g>>2];c[g>>2]=0;k=358}if((k|0)==358){k=0;J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(ta|0)<4?ta:4;ta=(C|0)>0?C:0;zv(g|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+J;J=c[g>>2]|0;c[x+8+(pa*344|0)+332>>2]=J;Ic=J;Jc=x+8+(pa*344|0)+268|0;k=361}if((k|0)==361){k=0;J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;C=(Ic|0)<(ta|0)?Ic:ta;ta=(C|0)>0?C:0;zv(Jc|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+(c[n>>2]|0);k=362}if((k|0)==362){k=0;Kc=c[e>>2]|0}c[g>>2]=0;switch(Kc|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;k=367;break}case 1:{ta=c[n>>2]|0;J=(c[m>>2]|0)-ta|0;C=(J|0)<4?J:4;J=(C|0)>0?C:0;zv(g|0,(c[o>>2]|0)+ta|0,J|0)|0;c[n>>2]=J+ta;k=367;break}default:{}}K:do if((k|0)==367?(k=0,ta=c[g>>2]|0,(ta|0)>0):0){J=0;while(1){c[g>>2]=0;C=c[e>>2]|0;switch(C|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;Lc=c[e>>2]|0;k=372;break}case 1:{u=c[n>>2]|0;sa=(c[m>>2]|0)-u|0;ra=(sa|0)<4?sa:4;sa=(ra|0)>0?ra:0;zv(g|0,(c[o>>2]|0)+u|0,sa|0)|0;c[n>>2]=sa+u;c[x+8+(pa*344|0)+12+(J<<4)>>2]=c[g>>2];c[g>>2]=0;k=374;break}default:{Lc=C;k=372}}L:do if((k|0)==372){k=0;c[x+8+(pa*344|0)+12+(J<<4)>>2]=c[g>>2];c[g>>2]=0;switch(Lc|0){case 1:{k=374;break L;break}case 0:{Yu(g,4,1,c[l>>2]|0)|0;Mc=c[e>>2]|0;break}default:Mc=Lc}c[x+8+(pa*344|0)+12+(J<<4)+8>>2]=c[g>>2];c[g>>2]=0;switch(Mc|0){case 1:{k=377;break L;break}case 0:break;default:break L}Yu(g,4,1,c[l>>2]|0)|0}while(0);if((k|0)==374){k=0;C=c[n>>2]|0;u=(c[m>>2]|0)-C|0;sa=(u|0)<4?u:4;u=(sa|0)>0?sa:0;zv(g|0,(c[o>>2]|0)+C|0,u|0)|0;c[n>>2]=u+C;c[x+8+(pa*344|0)+12+(J<<4)+8>>2]=c[g>>2];c[g>>2]=0;k=377}if((k|0)==377){k=0;C=c[n>>2]|0;u=(c[m>>2]|0)-C|0;sa=(u|0)<4?u:4;u=(sa|0)>0?sa:0;zv(g|0,(c[o>>2]|0)+C|0,u|0)|0;c[n>>2]=u+C}c[x+8+(pa*344|0)+12+(J<<4)+12>>2]=c[g>>2];J=J+1|0;if((J|0)==(ta|0))break K}}while(0);pa=pa+1|0;if((pa|0)==(w|0)){k=396;break g}}}while(0);if((t|0)!=1279870563){hn(65947);w=c[e>>2]|0;switch(w|0){case 0:{Du(c[l>>2]|0,s,1)|0;k=396;break g;break}case 1:{c[n>>2]=(c[n>>2]|0)+s;k=396;break g;break}default:{W=w;break g}}}w=(r|0)==1279870563;c[g>>2]=0;switch(c[e>>2]|0){case 0:{Yu(g,4,1,c[l>>2]|0)|0;break}case 1:{pa=c[n>>2]|0;x=(c[m>>2]|0)-pa|0;ta=(x|0)<4?x:4;x=(ta|0)>0?ta:0;zv(g|0,(c[o>>2]|0)+pa|0,x|0)|0;c[n>>2]=x+pa;break}default:{}}pa=c[g>>2]|0;x=dq(pa)|0;Qn(i,12,x)|0;ta=x+24|0;switch(c[e>>2]|0){case 0:{Yu(ta,1,64,c[l>>2]|0)|0;break}case 1:{J=c[n>>2]|0;C=(c[m>>2]|0)-J|0;u=(C|0)<64?C:64;C=(u|0)>0?u:0;zv(ta|0,(c[o>>2]|0)+J|0,C|0)|0;c[n>>2]=C+(c[n>>2]|0);break}default:{}}a[x+87>>0]=0;C=c[x+12>>2]|0;M:do if(w)qo(C,pa,e)|0;else switch(c[e>>2]|0){case 0:{Yu(C,1,pa,c[l>>2]|0)|0;break M;break}case 1:{J=c[n>>2]|0;ta=(c[m>>2]|0)-J|0;u=(pa|0)<(ta|0)?pa:ta;ta=(u|0)>0?u:0;zv(C|0,(c[o>>2]|0)+J|0,ta|0)|0;c[n>>2]=ta+(c[n>>2]|0);break M;break}default:break M}while(0);c[x+16>>2]=pa;k=396}while(0);if((k|0)==396){k=0;W=c[e>>2]|0}q=q+1|0;switch(W|0){case 0:{Nc=vu(c[l>>2]|0)|0;break}case 1:{Nc=(c[n>>2]|0)>=(c[m>>2]|0)&1;break}default:Nc=0}if(Nc|0)break b}if((k|0)==9)break;switch(c[e>>2]|0){case 0:{Du(c[l>>2]|0,-8,1)|0;break b;break}case 1:{c[n>>2]=(c[n>>2]|0)+-8;break b;break}default:break b}}while(0);if(c[i+16>>2]|0){h=i;Ia=d;return h|0}Pn(i);h=0;Ia=d;return h|0}while(0);Pn(i);h=0;Ia=d;return h|0}function qo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=0;switch(c[d>>2]|0){case 0:{Yu(f,4,1,c[d+8>>2]|0)|0;break}case 1:{g=d+20|0;h=c[g>>2]|0;i=(c[d+16>>2]|0)-h|0;j=(i|0)<4?i:4;i=(j|0)>0?j:0;zv(f|0,(c[d+12>>2]|0)+h|0,i|0)|0;c[g>>2]=i+h;break}default:{}}h=c[f>>2]|0;f=aq(h)|0;switch(c[d>>2]|0){case 0:{Yu(f,1,h,c[d+8>>2]|0)|0;k=kq(f,a,h,b)|0;Ia=e;return k|0}case 1:{i=d+20|0;g=c[i>>2]|0;j=(c[d+16>>2]|0)-g|0;l=(h|0)<(j|0)?h:j;j=(l|0)>0?l:0;zv(f|0,(c[d+12>>2]|0)+g|0,j|0)|0;c[i>>2]=j+(c[i>>2]|0);k=kq(f,a,h,b)|0;Ia=e;return k|0}default:{k=kq(f,a,h,b)|0;Ia=e;return k|0}}return 0}function ro(a){a=a|0;var b=0;switch(c[a>>2]|0){case 0:{b=vu(c[a+8>>2]|0)|0;return b|0}case 1:{b=(c[a+20>>2]|0)>=(c[a+16>>2]|0)&1;return b|0}default:{b=0;return b|0}}return 0}function so(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=Ia;Ia=Ia+16|0;d=b;e=to(a,65983)|0;if(e){f=po(0,e)|0;if(!(Xr(e)|0)){if(!(c[e>>2]|0))pu(c[e+8>>2]|0)|0;if(c[e+88>>2]|0)cq(c[e+12>>2]|0);cq(e);if(!(c[584672]|0)){c[584672]=(yr()|0)+1e3;g=f}else g=f}else g=f}else g=0;c[d>>2]=a;c[d+4>>2]=(g|0)==0?65986:65993;Xs(1671456,65996,d)|0;hn(1671456);Ia=b;return g|0}function to(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Ia;Ia=Ia+16|0;f=e+8|0;g=e;if((ka(26)|0)!=1){h=Wr(b,d)|0;i=(h|0)!=0;if(i){c[g>>2]=b;c[g+4>>2]=d;_u(66019,g)|0}g=a[d>>0]|0;if(g<<24>>24==119|i&g<<24>>24==114){j=h;Ia=e;return j|0}}h=aq(92)|0;$p(h,0,92);c[h>>2]=0;g=ju(b,d)|0;c[h+8>>2]=g;if(g){if(h|0){j=h;Ia=e;return j|0}}else cq(h);h=Wr(b,d)|0;if(!h){j=0;Ia=e;return j|0}c[f>>2]=b;c[f+4>>2]=d;_u(66082,f)|0;j=h;Ia=e;return j|0}function uo(a){a=a|0;if(!a)return;if(Xr(a)|0)return;if(!(c[a>>2]|0))pu(c[a+8>>2]|0)|0;if(c[a+88>>2]|0)cq(c[a+12>>2]|0);cq(a);if(c[584672]|0)return;c[584672]=(yr()|0)+1e3;return}function vo(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;a[b>>0]=0;if(!f){g=0;return g|0}switch(c[f>>2]|0){case 0:{h=vu(c[f+8>>2]|0)|0;i=5;break}case 1:{h=(c[f+20>>2]|0)>=(c[f+16>>2]|0)&1;i=5;break}default:{}}if((i|0)==5?h|0:0){g=0;return g|0}a[b>>0]=0;switch(c[f>>2]|0){case 0:{j=Wu(c[f+8>>2]|0)|0;i=10;break}case 1:{h=f+20|0;k=c[h>>2]|0;if((k|0)<(c[f+16>>2]|0)){c[h>>2]=k+1;j=d[(c[f+12>>2]|0)+k>>0]|0;i=10}else{l=0;i=11}break}default:{l=0;i=11}}if((i|0)==10){k=(j+256|0)%256|0;switch(k|0){case 10:case 13:case 255:{m=0;n=k;break}default:{l=k;i=11}}}a:do if((i|0)==11){a[b>>0]=l;switch(c[f>>2]|0){case 0:{o=vu(c[f+8>>2]|0)|0;break}case 1:{o=(c[f+20>>2]|0)>=(c[f+16>>2]|0)&1;break}default:o=0}k=e+-1|0;if((e|0)>2&(o|0)==0){j=f+8|0;h=f+20|0;p=f+16|0;q=f+12|0;r=1;while(1){switch(c[f>>2]|0){case 0:{s=Wu(c[j>>2]|0)|0;i=20;break}case 1:{t=c[h>>2]|0;if((t|0)<(c[p>>2]|0)){c[h>>2]=t+1;s=d[(c[q>>2]|0)+t>>0]|0;i=20}else u=0;break}default:u=0}if((i|0)==20){i=0;switch(s|0){case 10:case 13:{m=r;n=s;break a;break}default:u=s}}a[b+r>>0]=u;t=r+1|0;switch(c[f>>2]|0){case 0:{v=vu(c[j>>2]|0)|0;break}case 1:{v=(c[h>>2]|0)>=(c[p>>2]|0)&1;break}default:v=0}if((t|0)<(k|0)&(v|0)==0)r=t;else{m=t;n=u;break a}}}else{m=1;n=l}}while(0);a[b+m>>0]=0;if((n|0)!=13){g=b;return g|0}switch(c[f>>2]|0){case 0:{w=Wu(c[f+8>>2]|0)|0;i=30;break}case 1:{n=f+20|0;m=c[n>>2]|0;if((m|0)<(c[f+16>>2]|0)){c[n>>2]=m+1;w=d[(c[f+12>>2]|0)+m>>0]|0;i=30}break}default:{g=b;return g|0}}if((i|0)==30){if((w|0)==10){g=b;return g|0}if((c[f>>2]|0)!=1){g=b;return g|0}}w=f+20|0;c[w>>2]=(c[w>>2]|0)+-1;g=b;return g|0}function wo(){$p(2339728,0,3320);c[584933]=0;c[584934]=0;c[584935]=32;c[584939]=256;c[584940]=256;if(c[585492]|0)c[584939]=64;c[584952]=1024;if(ka(27)|0){Vu(66204)|0;c[584952]=2048}c[584953]=-1;c[584946]=0;c[584954]=0;c[584955]=0;c[584956]=0;c[584957]=0;c[584947]=-1;c[584948]=-1;c[584949]=-1;c[584966]=-1;c[584967]=1;c[584973]=0;c[584941]=2;c[584942]=10;c[584944]=0;if(!(c[585492]|0)){c[584962]=1;c[584974]=30;return}c[584941]=5;c[584962]=1;c[584974]=30;return}function xo(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;b=Ia;Ia=Ia+1456|0;d=b+1440|0;e=b+1432|0;f=b+1424|0;g=b+1416|0;h=b+1408|0;i=b+1400|0;j=b+1392|0;k=b+1384|0;l=b+1376|0;m=b+1368|0;n=b+1360|0;o=b+1352|0;p=b+1344|0;q=b+1336|0;r=b+1328|0;s=b+1320|0;t=b+1312|0;u=b+1304|0;v=b+1296|0;w=b+1288|0;x=b+1280|0;y=b+1024|0;z=b;if(c[585783]|0){Ia=b;return}a[2341980]=0;a[2343004]=0;Gr(66257,z);A=to(z,74412)|0;if(!A){Hr(66257,z);B=to(z,74412)|0;if(!B){Ia=b;return}else C=B}else C=A;c[585783]=1;Qu(2341980,z,1023)|0;hn(66268);hn(66286);switch(c[C>>2]|0){case 0:{D=vu(c[C+8>>2]|0)|0;E=7;break}case 1:{D=(c[C+20>>2]|0)>=(c[C+16>>2]|0)&1;E=7;break}default:E=8}if((E|0)==7?(D|0)==0:0)E=8;a:do if((E|0)==8){D=C+8|0;z=y+10|0;A=C+20|0;B=C+16|0;F=y+11|0;G=y+8|0;H=y+19|0;I=y+12|0;J=y+15|0;K=y+6|0;L=y+9|0;M=y+13|0;N=y+17|0;O=y+30|0;P=y+255|0;Q=1;while(1){a[y>>0]=0;switch(c[C>>2]|0){case 0:{uu(y,255,c[D>>2]|0)|0;break}case 1:{vo(y,255,C)|0;break}default:{}}R=Ht(y)|0;b:do if((R|0)>0){S=R;while(1){T=S;S=S+-1|0;U=y+S|0;switch(a[U>>0]|0){case 13:case 10:break;default:break b}a[U>>0]=0;if((T|0)<=1)break b}}while(0);switch(a[y>>0]|0){case 47:case 0:{V=Q;break}default:{c[x>>2]=Q;c[x+4>>2]=y;Xs(1671456,66289,x)|0;hn(1671456);V=Q+1|0}}c:do if(!(Vs(y,66298,10)|0)){c[w>>2]=2339744;c[w+4>>2]=2339748;wu(z,66309,w)|0;c[584933]=c[584936];c[584934]=c[584937]}else{if(!(Vs(y,66316,11)|0)){c[v>>2]=2339744;c[v+4>>2]=2339748;wu(F,66309,v)|0;break}if(!(Vs(y,66328,11)|0)){c[u>>2]=2339732;c[u+4>>2]=2339736;wu(F,66309,u)|0;break}if(!(Vs(y,66340,8)|0)){c[t>>2]=2339752;wu(G,66349,t)|0;break}if(!(Vs(y,66353,19)|0)){c[s>>2]=2339764;wu(H,66349,s)|0;break}if(!(Vs(y,66373,19)|0)){c[r>>2]=2339768;wu(H,66349,r)|0;break}if(!(Vs(y,66393,12)|0)){c[q>>2]=2339756;wu(I,66349,q)|0;break}if(!(Vs(y,66406,12)|0)){c[p>>2]=2339760;wu(I,66349,p)|0;break}if(!(Vs(y,66419,15)|0)){c[o>>2]=2339808;wu(J,66349,o)|0;break}if(!(Vs(y,66435,6)|0)){c[n>>2]=2339812;wu(K,66349,n)|0;break}if(!(Vs(y,66442,11)|0)){c[m>>2]=2339816;wu(F,66349,m)|0;break}if(!(Vs(y,66454,8)|0)){c[l>>2]=2339820;wu(G,66349,l)|0;break}if(!(Vs(y,66463,12)|0)){c[k>>2]=2339828;wu(I,66349,k)|0;break}if(!(Vs(y,66476,9)|0)){c[j>>2]=2339784;wu(L,66349,j)|0;break}if(!(Vs(y,66486,15)|0)){c[i>>2]=2339788;c[i+4>>2]=2339792;wu(J,66309,i)|0;R=c[584948]|0;c[h>>2]=c[584947];c[h+4>>2]=R;Xs(1671456,66502,h)|0;hn(1671456);break}if(!(Vs(y,66531,8)|0)){c[g>>2]=2339892;wu(L,66349,g)|0;break}if(!(Vs(y,66540,7)|0)){c[f>>2]=2339844;wu(G,66349,f)|0;break}if(Vs(y,66548,12)|0){if(!(Vs(y,66561,17)|0)){c[e>>2]=2339848;wu(N,66349,e)|0;break}if(!(Vs(y,66579,30)|0)){c[d>>2]=2339780;wu(O,66349,d)|0;break}R=c[585781]|0;if(!R)break;a[P>>0]=0;Ma[R&255](y)|0;break}a[2340936]=0;R=M;d:while(1){W=a[R>>0]|0;switch(W<<24>>24){case 0:{break c;break}case 32:{R=R+1|0;break}default:break d}}S=0;T=0;U=R;X=W;while(1){Y=2340936+T|0;do if(X<<24>>24>31){Z=X<<24>>24==92?47:X<<24>>24;if(!((S|0)!=47|(Z|0)!=47)){_=47;$=T;break}a[Y>>0]=Z;aa=T+1|0;a[2340936+aa>>0]=0;_=Z;$=aa}else{_=S;$=T}while(0);U=U+1|0;X=a[U>>0]|0;if(!(X<<24>>24))break;else{S=_;T=$}}if(($|0)<=0)break;T=2340936+$|0;e:while(1){S=T+-1|0;switch(a[S>>0]|0){case 47:{break c;break}case 32:break;default:break e}a[S>>0]=0;if(S>>>0>2340936>>>0)T=S;else break c}a[T>>0]=47;a[T+1>>0]=0}while(0);switch(c[C>>2]|0){case 0:{ba=vu(c[D>>2]|0)|0;break}case 1:{ba=(c[A>>2]|0)>=(c[B>>2]|0)&1;break}default:ba=0}if(!ba)Q=V;else break a}}while(0);hn(66610);V=c[584941]|0;ba=(V|0)<200?V:200;c[584941]=(ba|0)>0?ba:0;ba=c[584942]|0;V=(ba|0)<200?ba:200;c[584942]=(V|0)>0?V:0;V=c[584939]|0;ba=(V|0)<256?V:256;c[584939]=(ba|0)>0?ba:0;ba=c[584940]|0;V=(ba|0)<256?ba:256;c[584940]=(V|0)>0?V:0;if(((c[584952]|0)+-512|0)>>>0>7680)c[584952]=1024;if(!(Xr(C)|0)){if(!(c[C>>2]|0))pu(c[C+8>>2]|0)|0;if(c[C+88>>2]|0)cq(c[C+12>>2]|0);cq(C);if(!(c[584672]|0))c[584672]=(yr()|0)+1e3}c[584932]=1;C=yo(2341980)|0;if(C|0)jq(c[C+12>>2]|0,c[C+16>>2]|0,2343004)|0;fq(C);Ia=b;return}function yo(a){a=a|0;var b=0,c=0,d=0,e=0;b=ju(a,65983)|0;if(!b){c=0;return c|0}a=dq(1024)|0;d=aq(65536)|0;if(!(vu(b)|0))do{e=Yu(d,1,65536,b)|0;lo(d,1,e,a)|0}while((e|0)!=0&(vu(b)|0)==0);cq(d);pu(b)|0;c=a;return c|0}function zo(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=(c|0)==0?1681824:c;a[d>>0]=0;c=b;a:while(1){e=a[c>>0]|0;switch(e<<24>>24){case 32:{c=c+1|0;break}case 0:{f=13;break a;break}default:break a}}if((f|0)==13)return d|0;b=0;g=d;h=c;c=e;while(1){if(c<<24>>24>31){e=c<<24>>24==92?47:c<<24>>24;if((b|0)!=47|(e|0)!=47){a[g>>0]=e;i=g+1|0;a[i>>0]=0;j=e;k=i}else{j=47;k=g}}else{j=b;k=g}h=h+1|0;c=a[h>>0]|0;if(!(c<<24>>24))break;else{b=j;g=k}}if(k>>>0<=d>>>0)return d|0;g=k;b:while(1){k=g+-1|0;switch(a[k>>0]|0){case 47:{f=13;break b;break}case 32:break;default:{f=12;break b}}a[k>>0]=0;if(k>>>0>d>>>0)g=k;else{f=13;break}}if((f|0)==12){a[g>>0]=47;a[g+1>>0]=0;return d|0}else if((f|0)==13)return d|0;return 0}function Ao(){var b=0,d=0,e=0,f=0;b=Ia;Ia=Ia+1072|0;d=b+48|0;e=b;Gr(66257,d);$p(e,0,41);f=yo(d)|0;if(f|0)jq(c[f+12>>2]|0,c[f+16>>2]|0,e)|0;fq(f);if(!((a[e>>0]|0)==0|(a[2343004]|0)==0)?Us(e,2343004,40)|0:0){Ia=b;return}e=to(d,66613)|0;if(!e){Ia=b;return}d=e+8|0;if(!(c[d>>2]|0)){Ia=b;return}c[584938]=$q()|0;Bo(e,66615,c[584939]|0)|0;Bo(e,66642,c[584940]|0)|0;f=c[585782]|0;if(!f){if(Xr(e)|0){Ia=b;return}if(!(c[e>>2]|0))pu(c[d>>2]|0)|0;if(c[e+88>>2]|0)cq(c[e+12>>2]|0);cq(e);if(c[584672]|0){Ia=b;return}c[584672]=(yr()|0)+1e3;Ia=b;return}else{Ma[f&255](e)|0;if(Xr(e)|0){Ia=b;return}if(!(c[e>>2]|0))pu(c[d>>2]|0)|0;if(c[e+88>>2]|0)cq(c[e+12>>2]|0);cq(e);if(c[584672]|0){Ia=b;return}c[584672]=(yr()|0)+1e3;Ia=b;return}}function Bo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Ia;Ia=Ia+1040|0;f=e+1024|0;g=e;$p(g,0,1024);c[f>>2]=d;Xs(g,b,f)|0;f=Ht(g)|0;switch(c[a>>2]|0){case 0:{b=a+20|0;c[b>>2]=(c[b>>2]|0)+f;b=a+16|0;c[b>>2]=(c[b>>2]|0)+f;Nu(g,1,f,c[a+8>>2]|0)|0;Ia=e;return 0}case 1:{if(!(c[a+88>>2]|0)){b=a+20|0;zv((c[a+12>>2]|0)+(c[b>>2]|0)|0,g|0,f|0)|0;h=b}else{b=a+20|0;eq(a,(c[b>>2]|0)+f|0)|0;zv((c[a+12>>2]|0)+(c[b>>2]|0)|0,g|0,f|0)|0;h=b}b=(c[h>>2]|0)+f|0;c[h>>2]=b;h=a+16|0;a=c[h>>2]|0;c[h>>2]=(a|0)>(b|0)?a:b;Ia=e;return 0}default:{Ia=e;return 0}}return 0}function Co(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;g=Ia;Ia=Ia+1024|0;h=g;i=(c|0)!=0;if(i)a[c>>0]=0;j=(d|0)!=0;if(j)a[d>>0]=0;k=(e|0)!=0;if(k)a[e>>0]=0;if((Ht(b)|0)>>>0>1023){hn(66669);Ia=g;return}qs(h,b)|0;l=Ht(b)|0;b=h+l|0;a:do if((l|0)>0){m=b;while(1){if((a[m>>0]&-2)<<24>>24==46){n=m;break a}o=m+-1|0;if(o>>>0>h>>>0)m=o;else{n=o;break}}}else n=b;while(0);if(f){f=a[n>>0]|0;if(f<<24>>24==46){b=n+-1|0;b:do if(b>>>0>h>>>0){l=b;while(1){if((a[l>>0]|1)<<24>>24==47){p=l;break b}m=l+-1|0;if(m>>>0>h>>>0)l=m;else{p=m;break}}}else p=b;while(0);q=(a[p>>0]|0)==46?p:n;r=20}else{s=n;t=f;r=27}}else{q=n;r=20}c:do if((r|0)==20){n=a[q>>0]|0;if(n<<24>>24==46){if(k)qs(e,q)|0;a[q>>0]=0;if(q>>>0>h>>>0){f=q;while(1){p=f+-1|0;b=a[p>>0]|0;if(p>>>0<=h>>>0){s=p;t=b;r=27;break c}if(b<<24>>24==47){u=p;r=28;break}else f=p}}else v=q}else{s=q;t=n;r=27}}while(0);if((r|0)==27)if(t<<24>>24==47){u=s;r=28}else v=s;if((r|0)==28)v=u+1|0;if(j)qs(d,v)|0;if((v|0)==(h|0)){Ia=g;return}a[v>>0]=0;if(!i){Ia=g;return}qs(c,h)|0;Ia=g;return}function Do(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Co(a,b,c,d,0);return}function Eo(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=Ia;Ia=Ia+1024|0;e=d;switch(a[b>>0]|0){case 92:case 47:{f=3;break}default:if((a[b+1>>0]|0)==58)f=3;else Jr(b,e)}if((f|0)==3)Qt(e,b)|0;a[c>>0]=0;b=1;g=0;a:while(1){h=e+g|0;i=g;b:while(1){j=a[e+i>>0]|0;switch(j<<24>>24){case 0:case 92:case 47:{break b;break}default:{}}i=i+1|0}k=e+i|0;l=j<<24>>24==0;if((g|0)==(i|0)&l){f=10;break}a[k>>0]=0;c:do if(xt(h,74667)|0){if(!((g|0)==0|(xt(h,66713)|0)!=0)){m=(Ht(c)|0)+-1|0;if((m|0)<=0){n=b;f=24;break}a[c+m>>0]=0;o=m;while(1){m=c+o|0;switch(a[m>>0]|0){case 58:case 92:case 47:{n=b;f=24;break c;break}default:{}}a[m>>0]=0;if((o|0)>1)o=o+-1|0;else{n=b;f=24;break c}}}if(xt(h,66716)|0){if((b|0)==0?(a[h>>0]|0)==0:0){n=0;f=24;break}Rt(c,h)|0;if(l){f=22;break a}o=c+(Ht(c)|0)|0;a[o>>0]=47;a[o+1>>0]=0;a[k>>0]=j;p=0}else{n=b;f=24}}else{n=b;f=24}while(0);if((f|0)==24){f=0;a[k>>0]=j;if(l){f=26;break}else p=n}b=p;g=i+1|0}if((f|0)==10){if(g|0){Ia=d;return}a[c>>0]=0;Ia=d;return}else if((f|0)==22){a[k>>0]=0;Ia=d;return}else if((f|0)==26){Ia=d;return}}function Fo(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Ia;Ia=Ia+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=0;c[g>>2]=0;if(!b){h=0;Ia=d;return h|0}if(Sp(e,f,g,b)|0){h=0;Ia=d;return h|0}b=c[f>>2]|0;i=c[g>>2]|0;if((i+-1|b+-1)>>>0>16383){h=0;Ia=d;return h|0}j=xn(b,i,32)|0;i=j+12|0;zv(c[i>>2]|0,c[e>>2]|0,B(c[f>>2]<<2,c[g>>2]|0)|0)|0;b=B(c[g>>2]|0,c[f>>2]|0)|0;if(b|0){f=b;b=c[i>>2]|0;while(1){i=a[b>>0]|0;g=b+2|0;a[b>>0]=a[g>>0]|0;a[g>>0]=i;f=f+-1|0;if(!f)break;else b=b+4|0}}cq(c[e>>2]|0);h=j;Ia=d;return h|0}function Go(a){a=a|0;var b=0,d=0;b=to(a,65983)|0;if(!b){d=0;return d|0}a=Fo(b)|0;if(Xr(b)|0){d=a;return d|0}if(!(c[b>>2]|0))pu(c[b+8>>2]|0)|0;if(c[b+88>>2]|0)cq(c[b+12>>2]|0);cq(b);if(c[584672]|0){d=a;return d|0}c[584672]=(yr()|0)+1e3;d=a;return d|0}function Ho(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=Ia;Ia=Ia+16|0;f=e;g=d+4|0;h=xn(c[d>>2]|0,c[g>>2]|0,32)|0;i=d+8|0;j=c[i>>2]|0;if((j|0)==32){jp(d,h,0,0,0,0,c[d>>2]|0,c[g>>2]|0);k=c[i>>2]|0}else k=j;if((k|0)==8)Kn(d,h,c[769362]|0);k=h+12|0;j=c[d>>2]|0;i=c[g>>2]|0;l=B(i,j)|0;if(!l){m=j;n=i}else{i=c[k>>2]|0;j=l;while(1){l=a[i>>0]|0;o=i+2|0;a[i>>0]=a[o>>0]|0;a[o>>0]=l;j=j+-1|0;if(!j)break;else i=i+4|0}m=c[d>>2]|0;n=c[g>>2]|0}c[f>>2]=Zp(b,c[k>>2]|0,m,n,6,8)|0;c[f+4>>2]=b;Xs(1671456,66718,f)|0;hn(1671456);yn(h)|0;Ia=e;return 0}function Io(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;h=Ia;Ia=Ia+1040|0;i=h+1024|0;j=h;$p(j,0,1024);c[i>>2]=d;c[i+4>>2]=e;c[i+8>>2]=f;c[i+12>>2]=g;Xs(j,b,i)|0;i=Ht(j)|0;switch(c[a>>2]|0){case 0:{b=a+20|0;c[b>>2]=(c[b>>2]|0)+i;b=a+16|0;c[b>>2]=(c[b>>2]|0)+i;Nu(j,1,i,c[a+8>>2]|0)|0;Ia=h;return 0}case 1:{if(!(c[a+88>>2]|0)){b=a+20|0;zv((c[a+12>>2]|0)+(c[b>>2]|0)|0,j|0,i|0)|0;k=b}else{b=a+20|0;eq(a,(c[b>>2]|0)+i|0)|0;zv((c[a+12>>2]|0)+(c[b>>2]|0)|0,j|0,i|0)|0;k=b}b=(c[k>>2]|0)+i|0;c[k>>2]=b;k=a+16|0;a=c[k>>2]|0;c[k>>2]=(a|0)>(b|0)?a:b;Ia=h;return 0}default:{Ia=h;return 0}}return 0}function Jo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=ju(a,65983)|0;if(!c){d=1;return d|0}a=ju(b,74590)|0;if(!a){pu(c)|0;d=2;return d|0}b=aq(65536)|0;if(!(vu(c)|0))do{e=Yu(b,1,65536,c)|0;Nu(b,1,e,a)|0}while((e|0)!=0&(vu(c)|0)==0);cq(b);pu(c)|0;pu(a)|0;d=0;return d|0}function Ko(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ia;Ia=Ia+16|0;g=e+8|0;h=e;i=a+24|0;if(((c[i>>2]|0)>0?(j=a+28|0,(c[j>>2]|0)==0):0)?(k=a+8|0,l=aq(c[k>>2]<<5)|0,c[j>>2]=l,j=c[k>>2]|0,(j|0)>0):0){k=0;do{b[l+(k<<5)>>1]=0;b[l+(k<<5)+2>>1]=0;f[l+(k<<5)+4>>2]=1.0;k=k+1|0}while((k|0)<(j|0))}j=a+8|0;k=c[j>>2]|0;if((k|0)>=(d|0)){Ia=e;return}l=(k+1|0)==(d|0)?(d*5|0)/4|0:d;d=bq(c[a>>2]|0,l*12|0)|0;c[a>>2]=d;if(!d){c[h>>2]=66777;Xs(1671456,66754,h)|0;hn(1671456)}if((c[i>>2]|0)>0){i=a+28|0;a=bq(c[i>>2]|0,l<<5)|0;c[i>>2]=a;if(!a){c[g>>2]=66803;Xs(1671456,66754,g)|0;hn(1671456)}g=c[j>>2]|0;if((g|0)<(l|0)){a=c[i>>2]|0;i=g;do{b[a+(i<<5)>>1]=0;b[a+(i<<5)+2>>1]=0;f[a+(i<<5)+4>>2]=1.0;i=i+1|0}while((i|0)!=(l|0))}}c[j>>2]=l;Ia=e;return}function Lo(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=Ia;Ia=Ia+16|0;g=e;h=a+20|0;i=c[h>>2]|0;if((i|0)>=(d|0)){Ia=e;return}j=(i+1|0)==(d|0)?(d*5|0)/4|0:d;d=a+12|0;i=bq(c[d>>2]|0,j*80|0)|0;c[d>>2]=i;if(!i){c[g>>2]=66834;Xs(1671456,66754,g)|0;hn(1671456)}g=c[a+16>>2]|0;if((g|0)>0){a=c[d>>2]|0;i=0;do{if((b[a+(i*80|0)+56>>1]|0)<5){c[a+(i*80|0)+48>>2]=a+(i*80|0);c[a+(i*80|0)+52>>2]=a+(i*80|0)+16}i=i+1|0}while((i|0)<(g|0))}g=c[h>>2]|0;if((g|0)<(j|0)){i=c[d>>2]|0;d=g;do{f[i+(d*80|0)+64>>2]=0.0;f[i+(d*80|0)+60>>2]=0.0;f[i+(d*80|0)+68>>2]=1.0;b[i+(d*80|0)+72>>1]=0;b[i+(d*80|0)+74>>1]=0;g=i+(d*80|0)+56|0;a=i+(d*80|0)|0;c[i+(d*80|0)+48>>2]=a;c[i+(d*80|0)+52>>2]=i+(d*80|0)+16;b[i+(d*80|0)+58>>1]=4;k=a;a=k+48|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(a|0));b[g>>1]=4;d=d+1|0}while((d|0)!=(j|0))}c[h>>2]=j;Ia=e;return}function Mo(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=(d&1)+d|0;g=a+58|0;h=b[g>>1]|0;if((e|0)>4&(e|0)>(h<<16>>16|0)){i=a+48|0;if(h<<16>>16<5){c[i>>2]=0;h=a+52|0;c[h>>2]=0;j=i;k=h;l=0}else{j=i;k=a+52|0;l=c[i>>2]|0}c[j>>2]=bq(l,e<<2)|0;c[k>>2]=bq(c[k>>2]|0,e<<3)|0;if((b[g>>1]|0)<5){l=a+56|0;zv(c[j>>2]|0,a|0,b[l>>1]<<2|0)|0;zv(c[k>>2]|0,a+16|0,b[l>>1]<<3|0)|0}b[g>>1]=e}e=a+56|0;g=b[e>>1]|0;if((g|0)>=(d|0)){m=d&65535;b[e>>1]=m;return}l=c[a+48>>2]|0;k=c[a+52>>2]|0;a=g;do{c[l+(a<<2)>>2]=0;f[k+(a<<3)+4>>2]=0.0;f[k+(a<<3)>>2]=0.0;a=a+1|0}while((a|0)!=(d|0));m=d&65535;b[e>>1]=m;return}function No(){var a=0,b=0,d=0;a=aq(52)|0;b=a;d=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[584503]=(c[584503]|0)+1;return a|0}function Oo(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;if(!a)return;d=a+16|0;e=c[d>>2]|0;if((e|0)>0){f=a+12|0;g=0;h=e;while(1){e=c[f>>2]|0;if((b[e+(g*80|0)+58>>1]|0)>4){cq(c[e+(g*80|0)+48>>2]|0);cq(c[(c[f>>2]|0)+(g*80|0)+52>>2]|0);i=c[d>>2]|0}else i=h;g=g+1|0;if((g|0)>=(i|0))break;else h=i}}i=c[a>>2]|0;if(i|0)cq(i);i=c[a+32>>2]|0;if(i|0)cq(i);i=c[a+12>>2]|0;if(i|0)cq(i);i=c[a+28>>2]|0;if(i|0)cq(i);i=c[a+48>>2]|0;if(i|0)cq(i);i=c[a+36>>2]|0;if(i|0)cq(i);i=c[a+40>>2]|0;if(i|0)cq(i);cq(a);c[584503]=(c[584503]|0)+-1;return}function Po(a){a=a|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=Ia;Ia=Ia+32|0;e=d+12|0;g=d;h=a+16|0;i=c[h>>2]|0;if((i|0)<=0){Ia=d;return}j=a+12|0;k=e+4|0;l=e+8|0;m=g+4|0;n=g+8|0;o=0;p=i;while(1){i=c[j>>2]|0;if((b[i+(o*80|0)+56>>1]|0)>2){q=c[a>>2]|0;r=c[i+(o*80|0)+48>>2]|0;s=c[r+4>>2]|0;t=q+(s*12|0)|0;u=c[r>>2]|0;f[e>>2]=+f[t>>2]-+f[q+(u*12|0)>>2];v=q+(s*12|0)+4|0;f[k>>2]=+f[v>>2]-+f[q+(u*12|0)+4>>2];w=q+(s*12|0)+8|0;f[l>>2]=+f[w>>2]-+f[q+(u*12|0)+8>>2];u=c[r+8>>2]|0;f[g>>2]=+f[t>>2]-+f[q+(u*12|0)>>2];f[m>>2]=+f[v>>2]-+f[q+(u*12|0)+4>>2];f[n>>2]=+f[w>>2]-+f[q+(u*12|0)+8>>2];u=i+(o*80|0)+60|0;Vo(e,g,u);Uo(u);x=c[h>>2]|0}else{f[i+(o*80|0)+60>>2]=0.0;f[i+(o*80|0)+64>>2]=1.0;f[i+(o*80|0)+68>>2]=0.0;x=p}o=o+1|0;if((o|0)>=(x|0))break;else p=x}Ia=d;return}function Qo(){var a=0,b=0,d=0,e=0,f=0;a=aq(96)|0;if(!a){b=0;return b|0}d=a+32|0;e=a;f=e+96|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[d>>2]=-13408615;c[a+36>>2]=-10461088;c[584503]=(c[584503]|0)+1;b=a;return b|0}function Ro(a){a=a|0;if(!a)return;cq(a);c[584503]=(c[584503]|0)+-1;return}function So(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;b=a+44|0;c[b>>2]=0;d=a+24|0;e=c[d>>2]|0;f=a+36|0;g=c[f>>2]|0;if(!e){cq(g);c[f>>2]=0;h=a+40|0;cq(c[h>>2]|0);c[h>>2]=0;return}c[f>>2]=bq(g,e<<2)|0;e=a+40|0;g=bq(c[e>>2]|0,c[d>>2]<<2)|0;c[e>>2]=g;e=c[d>>2]|0;if((e|0)>0){h=c[f>>2]|0;i=a+12|0;a=0;do{j=h+(a<<2)|0;c[j>>2]=-1;k=c[d>>2]|0;if((k|0)>0){l=c[i>>2]|0;m=c[l+(a*80|0)+48>>2]|0;n=0;o=k;while(1){if((c[m>>2]|0)==(c[(c[l+(n*80|0)+48>>2]|0)+4>>2]|0)){c[j>>2]=n;p=c[d>>2]|0}else p=o;n=n+1|0;if((n|0)>=(p|0)){q=p;break}else o=p}}else q=k;a=a+1|0}while((a|0)<(q|0));c[b>>2]=(q<<4)+16;if((q|0)>0){a=0;do{c[g+(a<<2)>>2]=32768;a=a+1|0;p=c[d>>2]|0}while((a|0)<(p|0));r=p}else r=q}else{c[b>>2]=(e<<4)+16;r=e}e=0;b=r;while(1){if((b|0)<=0){s=24;break}r=0;q=e;a=0;p=b;while(1){i=g+(a<<2)|0;do if(!(c[i>>2]&32768)){t=r;u=q;v=p}else{h=c[(c[f>>2]|0)+(a<<2)>>2]|0;if((h|0)!=-1?c[g+(h<<2)>>2]&32768|0:0){t=r;u=q;v=p;break}h=g+(q<<2)|0;c[h>>2]=c[h>>2]|a;c[i>>2]=c[i>>2]&32767;t=1;u=q+1|0;v=c[d>>2]|0}while(0);a=a+1|0;if((a|0)>=(v|0))break;else{r=t;q=u;p=v}}if(!t){s=24;break}else{e=u;b=v}}if((s|0)==24)return}function To(a){a=a|0;Po(a);So(a);hp(a,0);return}function Uo(a){a=a|0;var b=0.0,c=0,d=0.0,e=0,g=0.0,h=0.0,i=0.0,j=0.0;b=+f[a>>2];c=a+4|0;d=+f[c>>2];e=a+8|0;g=+f[e>>2];h=+v(+(b*b+d*d+g*g));if(h==0.0){f[a>>2]=0.0;f[c>>2]=1.0;i=0.0;f[e>>2]=i;return}else{j=1.0/h;f[a>>2]=b*j;f[c>>2]=d*j;i=g*j;f[e>>2]=i;return}}function Vo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0;d=a+4|0;e=b+8|0;g=a+8|0;h=b+4|0;f[c>>2]=+f[d>>2]*+f[e>>2]-+f[g>>2]*+f[h>>2];f[c+4>>2]=+f[g>>2]*+f[b>>2]-+f[a>>2]*+f[e>>2];f[c+8>>2]=+f[a>>2]*+f[h>>2]-+f[d>>2]*+f[b>>2];return}function Wo(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0;d=+f[a>>2];e=+f[a+12>>2];g=+f[a+24>>2];h=1.0/(d*d+e*e+g*g);i=+f[a+4>>2]*h;j=+f[a+8>>2]*h;k=+f[a+16>>2]*h;l=+f[a+20>>2]*h;m=+f[a+28>>2]*h;n=+f[a+32>>2]*h;o=+f[b>>2]-+f[a+36>>2];p=+f[b+4>>2]-+f[a+40>>2];q=+f[b+8>>2]-+f[a+44>>2];f[c>>2]=d*h*o+e*h*p+g*h*q;f[c+4>>2]=i*o+k*p+m*q;f[c+8>>2]=j*o+l*p+n*q;return}function Xo(a){a=a|0;var b=0;b=(a|0)==0?-559038737:a;c[9026]=b;c[9025]=b^-1095947846;return}function Yo(a){a=a|0;var b=0,d=0,e=0,f=0;if(!a){b=0;return b|0}d=c[9025]|0;e=c[9026]|0;f=(d<<16|d>>>16)+e|0;c[9025]=f;c[9026]=f+e;b=(f>>>0)%(a>>>0)|0;return b|0}function Zo(a){a=a|0;var b=0,d=0;b=(a+2|0)>>>2&16383;a=b>>>0>8191?16384-b|0:b;if(a>>>0>4095){d=0-(c[4304+(8192-a<<2)>>2]|0)|0;return d|0}else{d=c[4304+(a<<2)>>2]|0;return d|0}return 0}function _o(a){a=a|0;var b=0,d=0;b=(a+16386|0)>>>2&16383;a=b>>>0>8191?16384-b|0:b;if(a>>>0>4095){d=0-(c[4304+(8192-a<<2)>>2]|0)|0;return d|0}else{d=c[4304+(a<<2)>>2]|0;return d|0}return 0}function $o(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=0-b|0;if(!a)e=B(d>>31|1,2147483647)|0;else{b=uv(d|0,((d|0)<0)<<31>>31|0,16)|0;d=ov(b|0,G()|0,a|0,((a|0)<0)<<31>>31|0)|0;b=G()|0;f=(b|0)>-1|(b|0)==-1&d>>>0>2147483649;g=f?d:-2147483647;d=f?b:-1;b=(d|0)<0|(d|0)==0&g>>>0<2147483647;d=b?g:2147483647;e=d}d=(e|0)<0?0-e|0:e;if((d|0)>65536){g=ov(0,1,d|0,((d|0)<0)<<31>>31|0)|0;b=G()|0;f=(b|0)>-1|(b|0)==-1&g>>>0>2147483649;h=f?g:-2147483647;g=f?b:-1;b=(g|0)<0|(g|0)==0&h>>>0<2147483647;g=b?h:2147483647;i=0;j=g}else{i=1;j=d}d=j>>5;j=(d|0)<2048?d:2048;d=c[20704+(((j|0)>0?j:0)<<2)>>2]|0;j=B(i?d:16384-d|0,e>>31|1)|0;return ((a|0)<0?j+32768|0:j)&65535|0}function ap(){var a=0;a=aq(16)|0;c[a>>2]=0;c[a+4>>2]=0;c[584503]=(c[584503]|0)+1;return a|0}function bp(a){a=a|0;var b=0;if(!a)return;if((c[a>>2]|0)>0){b=0;do{cp(a,b);b=b+1|0}while((b|0)<(c[a>>2]|0))}cq(c[a+4>>2]|0);c[584503]=(c[584503]|0)+-1;return}function cp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((a|0)==0|(b|0)<0)return;if((c[a>>2]|0)<=(b|0))return;d=a+4|0;a=c[d>>2]|0;e=c[a+(b*112|0)+80>>2]|0;if(!e)f=a;else{cq(c[e+12>>2]|0);cq(c[e+16>>2]|0);cq(c[e+20>>2]|0);cq(e);f=c[d>>2]|0}e=c[f+(b*112|0)+84>>2]|0;if(!e)g=f;else{cq(c[e+12>>2]|0);cq(c[e+16>>2]|0);cq(c[e+20>>2]|0);cq(e);g=c[d>>2]|0}e=c[g+(b*112|0)+88>>2]|0;if(!e)h=g;else{cq(c[e+12>>2]|0);cq(c[e+16>>2]|0);cq(c[e+20>>2]|0);cq(e);h=c[d>>2]|0}e=c[h+(b*112|0)+96>>2]|0;if(!e)i=h;else{cq(c[e+12>>2]|0);cq(c[e+16>>2]|0);cq(c[e+20>>2]|0);cq(e);i=c[d>>2]|0}e=c[i+(b*112|0)+92>>2]|0;if((c[i+(b*112|0)+104>>2]|0)>0){h=0;g=e;f=i;while(1){i=c[g+(h<<2)>>2]|0;if(!i)j=f;else{cq(c[i+12>>2]|0);cq(c[i+16>>2]|0);cq(c[i+20>>2]|0);cq(i);j=c[d>>2]|0}h=h+1|0;i=c[j+(b*112|0)+92>>2]|0;if((h|0)>=(c[j+(b*112|0)+104>>2]|0)){k=i;break}else{g=i;f=j}}}else k=e;cq(k);return}function dp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Ia;Ia=Ia+16|0;e=d;f=(c[b>>2]|0)+1|0;c[b>>2]=f;g=b+4|0;h=bq(c[g>>2]|0,f*112|0)|0;c[g>>2]=h;g=(c[b>>2]|0)+-1|0;c[e>>2]=g;Xs(h+(g*112|0)|0,66858,e)|0;a[h+(g*112|0)+32>>0]=0;e=h+(g*112|0)+64|0;c[e>>2]=-1;c[e+4>>2]=-1;c[e+8>>2]=-1;c[e+12>>2]=-1;c[h+(g*112|0)+104>>2]=0;c[h+(g*112|0)+100>>2]=0;c[h+(g*112|0)+108>>2]=0;e=aq(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=12;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+80>>2]=e;e=aq(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=12;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+84>>2]=e;e=aq(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=12;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+88>>2]=e;e=aq(24)|0;c[e+4>>2]=0;c[e>>2]=0;c[e+8>>2]=24;c[e+16>>2]=0;c[e+20>>2]=0;c[e+12>>2]=0;c[h+(g*112|0)+96>>2]=e;c[h+(g*112|0)+92>>2]=0;Ia=d;return (c[b>>2]|0)+-1|0}function ep(a){a=a|0;var b=0;b=aq(24)|0;c[b+4>>2]=0;c[b>>2]=0;c[b+8>>2]=a;c[b+16>>2]=0;c[b+20>>2]=0;c[b+12>>2]=0;return b|0}function fp(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;if((c[d>>2]|0)>=(b|0)){c[a>>2]=b;return}c[d>>2]=b;d=a+12|0;c[d>>2]=bq(c[d>>2]|0,B(c[a+8>>2]|0,b)|0)|0;d=a+16|0;e=b<<2;c[d>>2]=bq(c[d>>2]|0,e)|0;d=a+20|0;c[d>>2]=bq(c[d>>2]|0,e)|0;c[a>>2]=b;return}function gp(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0,v=0,y=0,z=0,A=0,B=0,C=0,D=0.0,E=0.0,F=0.0;d=a+24|0;e=c[d>>2]|0;g=e<<2;h=b+(g<<2)|0;i=b+((g|3)<<2)|0;if(!e)return;g=a+48|0;j=bq(c[g>>2]|0,e*48|0)|0;c[g>>2]=j;e=c[d>>2]|0;if((e|0)>0){k=a+36|0;l=0;m=b;b=j;while(1){n=+f[m>>2];o=+x(+n);p=+f[m+4>>2];q=+x(+p);r=+f[m+8>>2];s=+x(+r);t=+w(+n);n=+w(+p);p=+w(+r);u=b+(l*48|0)|0;f[b+(l*48|0)+4>>2]=q;f[u>>2]=t*n;f[b+(l*48|0)+8>>2]=o*n;v=b+(l*48|0)+12|0;r=n*0.0-q*s;f[b+(l*48|0)+16>>2]=q*0.0+n*s;f[v>>2]=r*t-o*p;f[b+(l*48|0)+20>>2]=t*p+r*o;Vo(u,v,b+(l*48|0)+24|0);v=m+12|0;b=c[g>>2]|0;u=b+(l*48|0)|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+4|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+8|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+12|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+16|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+20|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+24|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+28|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+32|0;f[u>>2]=+f[v>>2]*+f[u>>2];u=b+(l*48|0)+12|0;v=c[u>>2]|0;y=b+(l*48|0)+4|0;c[u>>2]=c[y>>2];c[y>>2]=v;v=b+(l*48|0)+24|0;y=c[v>>2]|0;u=b+(l*48|0)+8|0;c[v>>2]=c[u>>2];c[u>>2]=y;y=b+(l*48|0)+28|0;u=c[y>>2]|0;v=b+(l*48|0)+20|0;c[y>>2]=c[v>>2];c[v>>2]=u;if((c[(c[k>>2]|0)+(l<<2)>>2]|0)==-1){f[b+(l*48|0)+36>>2]=0.0;f[b+(l*48|0)+40>>2]=0.0;f[b+(l*48|0)+44>>2]=0.0}l=l+1|0;z=c[d>>2]|0;if((l|0)>=(z|0))break;else m=m+16|0}m=(z|0)>0;if(m){l=c[a+40>>2]|0;d=c[a+36>>2]|0;a=0;do{k=c[l+(a<<2)>>2]|0;g=c[d+(k<<2)>>2]|0;if((g|0)!=-1){f[b+(k*48|0)+36>>2]=+f[b+(g*48|0)+36>>2]+ +f[b+(g*48|0)>>2];f[b+(k*48|0)+40>>2]=+f[b+(g*48|0)+40>>2]+ +f[b+(g*48|0)+12>>2];f[b+(k*48|0)+44>>2]=+f[b+(g*48|0)+44>>2]+ +f[b+(g*48|0)+24>>2]}a=a+1|0}while((a|0)!=(z|0));A=z;B=b;C=m}else{A=z;B=b;C=0}}else{A=e;B=j;C=0}j=c[i>>2]|0;i=(j|0)<0;e=i?0-j|0:j;o=+f[B+(e*48|0)+36>>2];r=+f[B+(e*48|0)+40>>2];p=+f[B+(e*48|0)+44>>2];if(i){D=o+ +f[B+(e*48|0)>>2];E=r+ +f[B+(e*48|0)+12>>2];F=p+ +f[B+(e*48|0)+24>>2]}else{D=o;E=r;F=p}p=+f[h>>2]-D;D=+f[h+4>>2]-E;E=+f[h+8>>2]-F;if(!C)return;C=0;do{h=B+(C*48|0)+36|0;f[h>>2]=p+ +f[h>>2];h=B+(C*48|0)+40|0;f[h>>2]=D+ +f[h>>2];h=B+(C*48|0)+44|0;f[h>>2]=E+ +f[h>>2];C=C+1|0}while((C|0)!=(A|0));return}function hp(a,b){a=a|0;b=b|0;var d=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,w=0,x=0.0,A=0.0,B=0.0,C=0.0,D=0.0;d=Ia;Ia=Ia+16|0;g=d;if(!a){Ia=d;return}h=a+24|0;i=a+28|0;j=c[i>>2]|0;if(!(c[h>>2]|0)){cq(j);c[i>>2]=0;Ia=d;return}k=a+4|0;c[i>>2]=bq(j,c[k>>2]<<5)|0;j=a+44|0;l=aq(c[j>>2]|0)|0;if((c[h>>2]|0)>0){m=a+12|0;n=g+4|0;o=g+8|0;p=a+36|0;q=0;r=0;while(1){s=c[a>>2]|0;t=c[(c[m>>2]|0)+(r*80|0)+48>>2]|0;u=c[t+4>>2]|0;w=c[t>>2]|0;x=+f[s+(u*12|0)>>2]-+f[s+(w*12|0)>>2];f[g>>2]=x;A=+f[s+(u*12|0)+4>>2]-+f[s+(w*12|0)+4>>2];f[n>>2]=A;B=+f[s+(u*12|0)+8>>2]-+f[s+(w*12|0)+8>>2];f[o>>2]=B;f[l+((q|3)<<2)>>2]=+v(+(x*x+A*A+B*B));Uo(g);B=+f[g>>2];A=+f[o>>2];x=+v(+(B*B+A*A));C=+z(+A,+B);w=l+(q<<2)|0;f[w>>2]=C;B=+f[n>>2];if(x==0.0)D=B>=0.0?1.5707963267948966:-1.5707963267948966;else D=+y(+(B/x));x=D;s=l+((q|1)<<2)|0;f[s>>2]=x;f[l+((q|2)<<2)>>2]=0.0;if(+f[o>>2]<0.0){f[w>>2]=C+3.141592653589793;f[s>>2]=(1.5707963267948966-(x<0.0?-x:x))*2.0*(+f[n>>2]>=0.0?1.0:-1.0)+x}if((c[(c[p>>2]|0)+(r<<2)>>2]|0)==-1){s=c[h>>2]<<2;w=l+(s<<2)|0;u=c[a>>2]|0;t=c[c[(c[m>>2]|0)+(r*80|0)+48>>2]>>2]|0;c[w>>2]=c[u+(t*12|0)>>2];c[w+4>>2]=c[u+(t*12|0)+4>>2];c[w+8>>2]=c[u+(t*12|0)+8>>2];c[l+((s|3)<<2)>>2]=r}r=r+1|0;if((r|0)>=(c[h>>2]|0))break;else q=q+4|0}}if(b|0){zv(b|0,l|0,c[j>>2]|0)|0;cq(l);Ia=d;return}gp(a,l);if((c[k>>2]|0)>0){j=a+48|0;b=0;do{q=c[i>>2]|0;Wo((c[j>>2]|0)+((e[q+(b<<5)>>1]|0)*48|0)|0,(c[a>>2]|0)+(b*12|0)|0,q+(b<<5)+8|0);q=c[i>>2]|0;Wo((c[j>>2]|0)+((e[q+(b<<5)+2>>1]|0)*48|0)|0,(c[a>>2]|0)+(b*12|0)|0,q+(b<<5)+20|0);b=b+1|0}while((b|0)<(c[k>>2]|0))}cq(l);Ia=d;return}function ip(){var a=0,b=0,d=0,e=0;a=c[584964]|0;b=c[584966]|0;if((b|0)==-1)d=(c[769349]|0)<720&1;else d=b;b=c[584963]|0;e=(a|0)<8?a:8;return ((c[584976]|b|((b|0)==0?d:1)|0)==0?((e|0)<1?1:(e|0)>0?e:0):1)|0}function jp(a,b,e,f,g,h,i,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;k=Ia;Ia=Ia+32|0;l=k+20|0;m=k+16|0;n=k+12|0;o=k+8|0;p=k+4|0;q=k;c[l>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[q>>2]=j;if(!((a|0)!=0&(b|0)!=0)){Ia=k;return}j=b+8|0;i=a+8|0;if(3077396==(a|0)?1:(c[j>>2]|0)<(c[i>>2]|0)){Ia=k;return}An(a,b,l,m,n,o,p,q);h=c[p>>2]|0;if((h|0)<1){Ia=k;return}g=c[j>>2]|0;j=g>>3;if(3077396==(b|0)){f=c[584964]|0;e=c[584966]|0;if((e|0)==-1)r=(c[b>>2]|0)<720&1;else r=e;e=c[584963]|0;s=(f|0)<8?f:8;f=(c[584976]|e|((e|0)==0?r:1)|0)==0?((s|0)<1?1:(s|0)>0?s:0):1;if((f|0)<=1){xr(a,b,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,h,c[q>>2]|0,0);Ia=k;return}s=c[585784]|0;if(((s|0)!=0?(r=c[s>>2]|0,(r|0)==(B(c[a>>2]|0,f)|0)):0)?(e=c[s+4>>2]|0,(e|0)==(B(c[a+4>>2]|0,f)|0)):0){t=s;u=r;v=e}else{w=a;x=12}if((x|0)==12){yn(s)|0;s=B(c[w>>2]|0,f)|0;w=B(c[a+4>>2]|0,f)|0;f=xn(s,w,c[i>>2]|0)|0;c[585784]=f;t=f;u=c[f>>2]|0;v=c[f+4>>2]|0}Fn(a,t,0,0,u,v,0);v=c[585784]|0;xr(v,b,0,0,0,0,c[v>>2]|0,c[v+4>>2]|0,0);Ia=k;return}v=c[i>>2]|0;if((g|0)==(v|0)){if((c[q>>2]|0)<=0){Ia=k;return}i=b+16|0;u=a+16|0;t=0;f=h;while(1){w=(c[(c[i>>2]|0)+((c[o>>2]|0)+t<<2)>>2]|0)+(B(c[n>>2]|0,j)|0)|0;zv(w|0,(c[(c[u>>2]|0)+((c[m>>2]|0)+t<<2)>>2]|0)+(B(c[l>>2]|0,j)|0)|0,B(f,j)|0)|0;w=t+1|0;if((w|0)>=(c[q>>2]|0))break;t=w;f=c[p>>2]|0}Ia=k;return}if(!((g|0)==32&(v|0)==8)){Ia=k;return}v=c[769362]|0;g=c[q>>2]|0;if((g|0)<=0){Ia=k;return}f=a+16|0;a=b+16|0;b=0;t=h;h=g;while(1){if((t|0)>0){g=c[f>>2]|0;j=c[a>>2]|0;u=0;do{i=d[(c[g+((c[m>>2]|0)+b<<2)>>2]|0)+((c[l>>2]|0)+u)>>0]|0;c[(c[j+((c[o>>2]|0)+b<<2)>>2]|0)+((c[n>>2]|0)+u<<2)>>2]=(d[v+(i*3|0)>>0]|0)<<16|(d[v+(i*3|0)+1>>0]|0)<<8|(d[v+(i*3|0)+2>>0]|0)|-16777216;u=u+1|0;y=c[p>>2]|0}while((u|0)<(y|0));z=c[q>>2]|0;A=y}else{z=h;A=t}b=b+1|0;if((b|0)>=(z|0))break;else{t=A;h=z}}Ia=k;return}function kp(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;if((j|0)<=0)return;k=b+16|0;b=d+16|0;if(!i)return;d=0;do{l=(c[(c[k>>2]|0)+(d+f<<2)>>2]|0)+e|0;m=i;n=(c[(c[b>>2]|0)+(d+h<<2)>>2]|0)+g|0;while(1){o=a[l>>0]|0;if(o<<24>>24)a[n>>0]=o;m=m+-1|0;if(!m)break;else{l=l+1|0;n=n+1|0}}d=d+1|0}while((d|0)!=(j|0));return}function lp(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;if((i|0)<=0)return;j=a+16|0;a=b+16|0;if((h|0)<=0)return;b=0;do{k=(c[(c[j>>2]|0)+(b+e<<2)>>2]|0)+(d<<2)|0;l=0;m=(c[(c[a>>2]|0)+(b+g<<2)>>2]|0)+(f<<2)|0;while(1){n=c[k>>2]|0;o=Gn(c[m>>2]|0,n,n>>>24)|0;c[m>>2]=c[m>>2]&-16777216|o;l=l+1|0;if((l|0)==(h|0))break;else{k=k+4|0;m=m+4|0}}b=b+1|0}while((b|0)!=(i|0));return}function mp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a>>2]|0;e=a+8|0;do if((d|0)>0){f=c[e>>2]|0;if(!(xt(b,c[f+(d+-1<<2)>>2]|0)|0))return;else{g=e;h=f;break}}else{g=e;h=c[e>>2]|0}while(0);c[g>>2]=bq(h,(d<<2)+4|0)|0;d=aq((Ht(b)|0)+1|0)|0;h=c[a>>2]|0;c[(c[e>>2]|0)+(h<<2)>>2]=d;qs(c[(c[e>>2]|0)+(h<<2)>>2]|0,b)|0;b=a+16|0;h=bq(c[b>>2]|0,(c[a>>2]<<2)+4|0)|0;c[b>>2]=h;c[h+(c[a>>2]<<2)>>2]=c[a+4>>2];c[a>>2]=(c[a>>2]|0)+1;return}function np(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=a+8|0;d=c[b>>2]|0;if((c[a>>2]|0)>0){e=0;f=d;while(1){cq(c[f+(e<<2)>>2]|0);e=e+1|0;g=c[b>>2]|0;if((e|0)>=(c[a>>2]|0)){h=g;break}else f=g}}else h=d;cq(h);cq(c[a+16>>2]|0);h=a+4|0;d=a+12|0;a=c[d>>2]|0;if((c[h>>2]|0)<=0){i=a;cq(i);j=c[584503]|0;k=j+-1|0;c[584503]=k;return}f=0;e=a;while(1){cq(c[e+(f<<2)>>2]|0);f=f+1|0;a=c[d>>2]|0;if((f|0)>=(c[h>>2]|0)){i=a;break}else e=a}cq(i);j=c[584503]|0;k=j+-1|0;c[584503]=k;return}function op(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a>>2]|0;a:do if((e|0)>0){f=c[a+8>>2]|0;g=0;while(1){if(!(xt(b,c[f+(g<<2)>>2]|0)|0)){h=g;break a}i=g+1|0;if((i|0)<(e|0))g=i;else{h=i;break}}}else h=0;while(0);if((h|0)==(e|0)){j=36108;k=c[j>>2]|0;return k|0}b=c[a+16>>2]|0;g=(c[b+(h<<2)>>2]|0)+d|0;if((g|0)>=(c[a+4>>2]|0)){j=36108;k=c[j>>2]|0;return k|0}if((h|0)<(e+-1|0)?(g|0)>=(c[b+(h+1<<2)>>2]|0):0){j=36108;k=c[j>>2]|0;return k|0}j=(c[a+12>>2]|0)+(g<<2)|0;k=c[j>>2]|0;return k|0}function pp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=Ia;Ia=Ia+2048|0;e=d+1024|0;f=d;g=to(b,74412)|0;if(!g){h=0;Ia=d;return h|0}b=aq(24)|0;$p(b,0,24);a:do if(!(ro(g)|0)){i=b+12|0;j=b+4|0;while(1){a[e>>0]=0;vo(e,1023,g)|0;k=a[e>>0]|0;b:do switch(k<<24>>24){case 0:case 47:break;default:{l=e;m=k;while(1){n=m<<24>>24;switch(m<<24>>24){case 47:case 0:{break b;break}default:{}}if(m<<24>>24==95|((n+-48|0)>>>0<10|((n&-33)+-65|0)>>>0<26))break;n=l+1|0;l=n;m=a[n>>0]|0}if(m<<24>>24){a[f>>0]=0;n=0;o=l;p=m;while(1){a[f+n>>0]=p;n=n+1|0;a[f+n>>0]=0;q=o+1|0;p=a[q>>0]|0;r=p<<24>>24;if(!(p<<24>>24==95|((r+-48|0)>>>0<10|((r&-33)+-65|0)>>>0<26)))break;else o=q}if(a[f>>0]|0){mp(b,f);p=a[q>>0]|0;if(p<<24>>24==58)s=(a[o+2>>0]|0)==58;else s=0;n=q;m=p;c:while(1){switch(m<<24>>24){case 58:case 32:break;default:break c}p=n+1|0;n=p;m=a[p>>0]|0}o=m<<24>>24==0;if(!s){if(o)break b;c[i>>2]=bq(c[i>>2]|0,(c[j>>2]<<2)+4|0)|0;p=aq((Ht(n)|0)+1|0)|0;l=c[j>>2]|0;c[(c[i>>2]|0)+(l<<2)>>2]=p;qs(c[(c[i>>2]|0)+(l<<2)>>2]|0,n)|0;c[j>>2]=(c[j>>2]|0)+1;break b}if(!o){o=n;while(1){a[f>>0]=0;l=o;while(1){t=a[l>>0]|0;if(t<<24>>24==32)l=l+1|0;else break}p=0;r=l;u=t;d:while(1){switch(u<<24>>24){case 32:case 0:{break d;break}default:{}}a[f+p>>0]=u;v=p+1|0;a[f+v>>0]=0;w=r+1|0;p=v;r=w;u=a[w>>0]|0}if(!(a[f>>0]|0))x=u;else{c[i>>2]=bq(c[i>>2]|0,(c[j>>2]<<2)+4|0)|0;p=aq((Ht(f)|0)+1|0)|0;l=c[j>>2]|0;c[(c[i>>2]|0)+(l<<2)>>2]=p;qs(c[(c[i>>2]|0)+(l<<2)>>2]|0,f)|0;c[j>>2]=(c[j>>2]|0)+1;x=a[r>>0]|0}if(!(x<<24>>24))break;else o=r}}}}}}while(0);if(ro(g)|0)break a}}while(0);uo(g);c[584503]=(c[584503]|0)+1;h=b;Ia=d;return h|0}function qp(a){a=a|0;var b=0;b=_p(11032)|0;c[b>>2]=a<<2;c[584503]=(c[584503]|0)+1;return b|0}function rp(a){a=a|0;if(!a)return;sp(a);cq(a);c[584503]=(c[584503]|0)+-1;return}function sp(a){a=a|0;var b=0;b=a+11016|0;Bq(c[b>>2]|0);Aq(c[b>>2]|0);c[b>>2]=0;b=a+344|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+688|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+1032|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+1376|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+1720|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+2064|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+2408|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+2752|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+3096|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+3440|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+3784|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+4128|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+4472|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+4816|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+5160|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+5504|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+5848|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+6192|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+6536|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+6880|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+7224|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+7568|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+7912|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+8256|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+8600|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+8944|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+9288|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+9632|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+9976|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+10320|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+10664|0;cq(c[b>>2]|0);c[b>>2]=0;b=a+11008|0;cq(c[b>>2]|0);c[b>>2]=0;return}function tp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0;h=Ia;Ia=Ia+144|0;i=h+88|0;j=h+44|0;k=h;l=f<<3;m=e+g|0;g=f+-2|0;e=f+-4|0;n=i+8|0;o=i+4|0;p=i+12|0;q=i+20|0;r=i+16|0;s=i+24|0;t=i+32|0;u=i+28|0;v=j+8|0;w=j+4|0;x=j+12|0;y=j+20|0;z=j+16|0;A=j+24|0;B=j+32|0;C=j+28|0;D=i+40|0;E=b+4|0;F=b+8|0;G=j+40|0;H=k+8|0;I=k+4|0;J=k+12|0;K=k+20|0;L=k+16|0;M=k+24|0;N=k+32|0;O=k+28|0;P=k+40|0;Q=k+36|0;R=i+36|0;S=j+36|0;T=0;U=0;a:while(1){V=U+2|0;if(V>>>0>=l>>>0){W=52;X=125;break}Y=d[m+(U>>>3)>>0]|0;Z=U&7;_=U+1|0;$=U+3|0;aa=((d[m+(V>>>3)>>0]|0)>>>(V&7)<<1|(d[m+(_>>>3)>>0]|0)>>>(_&7)&1)&255;switch(aa&3){case 3:{W=20;X=125;break a;break}case 0:{if(!($&7))ba=$;else{_=$;while(1){V=_+1|0;if(!(V&7)){ba=V;break}else _=V}}_=ba>>>3;if(_>>>0>=e>>>0){W=52;X=125;break a}V=(d[m+(_+1)>>0]|0)<<8|(d[m+_>>0]|0);ca=_+4|0;if((((d[m+(_+3)>>0]|0)<<8|(d[m+(_+2)>>0]|0))+V|0)!=65535){W=21;X=125;break a}_=V+T|0;if(_>>>0>=(c[E>>2]|0)>>>0){if((c[F>>2]|0)>>>0<_>>>0){da=_<<1;ea=bq(c[b>>2]|0,da)|0;if(!ea){W=9915;X=125;break a}c[F>>2]=da;c[b>>2]=ea}c[E>>2]=_}ea=V+ca|0;if(ea>>>0>f>>>0){W=23;X=125;break a}if(!V){fa=ca;ga=T}else{da=0;ha=ca;ca=T;while(1){a[(c[b>>2]|0)+ca>>0]=a[m+ha>>0]|0;da=da+1|0;if((da|0)==(V|0)){fa=ea;ga=_;break}else{ha=ha+1|0;ca=ca+1|0}}}ia=fa<<3;ja=ga;break}default:{ca=i;ha=ca+36|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));ca=j;ha=ca+36|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));switch(aa&3){case 1:{up(i);vp(j);ka=0;la=$;break}case 2:{ca=k;ha=ca+36|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));aa=$>>>3;b:do if(aa>>>0>>0){_=U+4|0;ea=U+5|0;V=U+6|0;da=U+7|0;ma=(d[m+(_>>>3)>>0]|0)>>>(_&7)<<1&2|(d[m+aa>>0]|0)>>>($&7)&1|(d[m+(ea>>>3)>>0]|0)>>>(ea&7)<<2&4|(d[m+(V>>>3)>>0]|0)>>>(V&7)<<3&8|(d[m+(da>>>3)>>0]|0)>>>(da&7)<<4&16;da=U+8|0;V=ma+257|0;ea=U+9|0;_=U+10|0;na=U+11|0;oa=U+12|0;pa=(d[m+(ea>>>3)>>0]|0)>>>(ea&7)<<1&2|(d[m+(da>>>3)>>0]|0)>>>(da&7)&1|(d[m+(_>>>3)>>0]|0)>>>(_&7)<<2&4|(d[m+(na>>>3)>>0]|0)>>>(na&7)<<3&8|(d[m+(oa>>>3)>>0]|0)>>>(oa&7)<<4&16;oa=U+13|0;na=U+14|0;_=U+15|0;da=U+16|0;ea=U+17|0;qa=((d[m+(na>>>3)>>0]|0)>>>(na&7)<<1&2|(d[m+(oa>>>3)>>0]|0)>>>(oa&7)&1|(d[m+(_>>>3)>>0]|0)>>>(_&7)<<2&4|(d[m+(da>>>3)>>0]|0)>>>(da&7)<<3&8)+4|0;da=bq(0,152)|0;do if(!da){ra=9911;sa=ea;ta=0}else{_=0;oa=ea;while(1){if(_>>>0>>0){na=oa+1|0;ua=oa+2|0;va=oa+3|0;wa=(d[m+(na>>>3)>>0]|0)>>>(na&7)<<1&2|(d[m+(oa>>>3)>>0]|0)>>>(oa&7)&1|(d[m+(ua>>>3)>>0]|0)>>>(ua&7)<<2&4}else{va=oa;wa=0}c[da+(c[28912+(_<<2)>>2]<<2)>>2]=wa;_=_+1|0;if((_|0)==19)break;else oa=va}if((c[N>>2]|0)>>>0<76){oa=bq(c[M>>2]|0,152)|0;if(!oa){ra=9903;sa=va;ta=da;break}c[N>>2]=152;c[M>>2]=oa;c[O>>2]=19;xa=oa}else{c[O>>2]=19;xa=c[M>>2]|0}c[xa>>2]=c[da>>2];c[xa+4>>2]=c[da+4>>2];c[xa+8>>2]=c[da+8>>2];c[xa+12>>2]=c[da+12>>2];c[xa+16>>2]=c[da+16>>2];c[xa+20>>2]=c[da+20>>2];c[xa+24>>2]=c[da+24>>2];c[xa+28>>2]=c[da+28>>2];c[xa+32>>2]=c[da+32>>2];c[xa+36>>2]=c[da+36>>2];c[xa+40>>2]=c[da+40>>2];c[xa+44>>2]=c[da+44>>2];c[xa+48>>2]=c[da+48>>2];c[xa+52>>2]=c[da+52>>2];c[xa+56>>2]=c[da+56>>2];c[xa+60>>2]=c[da+60>>2];c[xa+64>>2]=c[da+64>>2];c[xa+68>>2]=c[da+68>>2];c[xa+72>>2]=c[da+72>>2];c[P>>2]=19;c[Q>>2]=7;oa=wp(k)|0;cq(da);if(oa|0){ya=oa;za=va;break b}oa=bq(0,2304)|0;if(!oa){Aa=0;Ba=0;Ca=0}else{Av(oa|0,0,1152)|0;Aa=oa;Ba=288;Ca=oa}oa=bq(0,256)|0;c:do if(oa){ca=oa;ha=ca+128|0;do{c[ca>>2]=0;ca=ca+4|0}while((ca|0)<(ha|0));if(Aa){_=ma+258+pa|0;do if(_){ua=c[k>>2]|0;na=c[P>>2]|0;Da=-258-ma|0;Ea=0;Fa=0;Ga=va;d:while(1){if(Ga>>>0>l>>>0){Ha=Ga;X=59;break}Ja=0;Ka=Ga;while(1){La=c[ua+(((d[m+(Ka>>>3)>>0]|0)>>>(Ka&7)&1|Ja<<1)<<2)>>2]|0;Ma=Ka+1|0;if(La>>>0>>0)break;Ja=La-na|0;if(Ka>>>0>=l>>>0|Ja>>>0>=na>>>0){Ha=Ma;X=59;break d}else Ka=Ma}e:do if(La>>>0<16){c[(Ea>>>0>>0?Aa+(Ea<<2)|0:oa+(Ea-V<<2)|0)>>2]=La;Na=Fa;Oa=Ma;Pa=Ea+1|0}else switch(La|0){case 16:{Ja=Ma>>>3;if(Ja>>>0>=f>>>0){Qa=Ma;Ra=50;Sa=oa;break c}Ta=Ka+2|0;Ua=Ka+3|0;Va=((d[m+(Ta>>>3)>>0]|0)>>>(Ta&7)<<1&2|(d[m+Ja>>0]|0)>>>(Ma&7)&1)+3|0;Ja=Ea+-1|0;Ta=c[(Ja>>>0>>0?Aa+(Ja<<2)|0:oa+(Da+Ea<<2)|0)>>2]|0;Ja=0;Wa=Ea;while(1){if(Wa>>>0>=_>>>0){Na=13;Oa=Ua;Pa=Wa;break e}c[(Wa>>>0>>0?Aa+(Wa<<2)|0:oa+(Wa-V<<2)|0)>>2]=Ta;Xa=Wa+1|0;Ja=Ja+1|0;if(Ja>>>0>=Va>>>0){Na=Fa;Oa=Ua;Pa=Xa;break}else Wa=Xa}break}case 17:{Wa=Ma>>>3;if(Wa>>>0>=f>>>0){Qa=Ma;Ra=50;Sa=oa;break c}Ua=Ka+2|0;Va=Ka+3|0;Ja=Ka+4|0;Ta=((d[m+(Ua>>>3)>>0]|0)>>>(Ua&7)<<1&2|(d[m+Wa>>0]|0)>>>(Ma&7)&1|(d[m+(Va>>>3)>>0]|0)>>>(Va&7)<<2&4)+3|0;Va=0;Wa=Ea;while(1){if(Wa>>>0>=_>>>0){Na=14;Oa=Ja;Pa=Wa;break e}c[(Wa>>>0>>0?Aa+(Wa<<2)|0:oa+(Wa-V<<2)|0)>>2]=0;Ua=Wa+1|0;Va=Va+1|0;if(Va>>>0>=Ta>>>0){Na=Fa;Oa=Ja;Pa=Ua;break}else Wa=Ua}break}case 18:{Wa=Ma>>>3;if(Wa>>>0>=f>>>0){Qa=Ma;Ra=50;Sa=oa;break c}Ja=Ka+2|0;Ta=Ka+3|0;Va=Ka+4|0;Ua=Ka+5|0;Xa=Ka+6|0;Ya=Ka+7|0;Za=Ka+8|0;_a=((d[m+(Ja>>>3)>>0]|0)>>>(Ja&7)<<1&2|(d[m+Wa>>0]|0)>>>(Ma&7)&1|(d[m+(Ta>>>3)>>0]|0)>>>(Ta&7)<<2&4|(d[m+(Va>>>3)>>0]|0)>>>(Va&7)<<3&8|(d[m+(Ua>>>3)>>0]|0)>>>(Ua&7)<<4&16|(d[m+(Xa>>>3)>>0]|0)>>>(Xa&7)<<5&32|(d[m+(Ya>>>3)>>0]|0)>>>(Ya&7)<<6&64)+11|0;if(!_a){Na=Fa;Oa=Za;Pa=Ea;break e}Ya=0;Xa=Ea;while(1){if(Xa>>>0>=_>>>0){Na=15;Oa=Za;Pa=Xa;break e}c[(Xa>>>0>>0?Aa+(Xa<<2)|0:oa+(Xa-V<<2)|0)>>2]=0;Ua=Xa+1|0;Ya=Ya+1|0;if(Ya>>>0>=_a>>>0){Na=Fa;Oa=Za;Pa=Ua;break}else Xa=Ua}break}default:{Qa=Ma;Ra=16;Sa=oa;break c}}while(0);if(Pa>>>0<_>>>0){Ea=Pa;Fa=Na;Ga=Oa}else{X=61;break}}if((X|0)==59){X=0;Qa=Ha;Ra=Ha>>>0>l>>>0?10:11;Sa=oa;break c}else if((X|0)==61){X=0;if(!Na){$a=Oa;break}else{Qa=Oa;Ra=Na;Sa=oa;break c}}}else $a=va;while(0);if(c[Aa+1024>>2]|0){if(Ba<<2>>>0>(c[t>>2]|0)>>>0){_=Ba<<3;Ga=bq(c[s>>2]|0,_)|0;if(!Ga){Qa=$a;Ra=9903;Sa=oa;break}c[t>>2]=_;c[s>>2]=Ga}c[u>>2]=Ba;if(Ba|0){Ga=c[s>>2]|0;_=0;do{c[Ga+(_<<2)>>2]=c[Aa+(_<<2)>>2];_=_+1|0}while((_|0)!=(Ba|0))}c[D>>2]=Ba;c[R>>2]=15;_=wp(i)|0;if(!_){if((c[B>>2]|0)>>>0<128){Ga=bq(c[A>>2]|0,256)|0;if(!Ga){Qa=$a;Ra=9903;Sa=oa;break}c[B>>2]=256;c[A>>2]=Ga;c[C>>2]=32;ab=Ga}else{c[C>>2]=32;ab=c[A>>2]|0}c[ab>>2]=c[oa>>2];c[ab+4>>2]=c[oa+4>>2];c[ab+8>>2]=c[oa+8>>2];c[ab+12>>2]=c[oa+12>>2];c[ab+16>>2]=c[oa+16>>2];c[ab+20>>2]=c[oa+20>>2];c[ab+24>>2]=c[oa+24>>2];c[ab+28>>2]=c[oa+28>>2];c[ab+32>>2]=c[oa+32>>2];c[ab+36>>2]=c[oa+36>>2];c[ab+40>>2]=c[oa+40>>2];c[ab+44>>2]=c[oa+44>>2];c[ab+48>>2]=c[oa+48>>2];c[ab+52>>2]=c[oa+52>>2];c[ab+56>>2]=c[oa+56>>2];c[ab+60>>2]=c[oa+60>>2];c[ab+64>>2]=c[oa+64>>2];c[ab+68>>2]=c[oa+68>>2];c[ab+72>>2]=c[oa+72>>2];c[ab+76>>2]=c[oa+76>>2];c[ab+80>>2]=c[oa+80>>2];c[ab+84>>2]=c[oa+84>>2];c[ab+88>>2]=c[oa+88>>2];c[ab+92>>2]=c[oa+92>>2];c[ab+96>>2]=c[oa+96>>2];c[ab+100>>2]=c[oa+100>>2];c[ab+104>>2]=c[oa+104>>2];c[ab+108>>2]=c[oa+108>>2];c[ab+112>>2]=c[oa+112>>2];c[ab+116>>2]=c[oa+116>>2];c[ab+120>>2]=c[oa+120>>2];c[ab+124>>2]=c[oa+124>>2];c[G>>2]=32;c[S>>2]=15;Qa=$a;Ra=wp(j)|0;Sa=oa}else{Qa=$a;Ra=_;Sa=oa}}else{Qa=$a;Ra=64;Sa=oa}}else{Qa=va;Ra=9912;Sa=oa}}else{Qa=va;Ra=9912;Sa=0}while(0);cq(Ca);cq(Sa);ya=Ra;za=Qa;break b}while(0);cq(ta);ya=ra;za=sa}else{ya=49;za=$}while(0);c[H>>2]=0;c[I>>2]=0;cq(c[k>>2]|0);c[k>>2]=0;c[K>>2]=0;c[L>>2]=0;cq(c[J>>2]|0);c[J>>2]=0;c[N>>2]=0;c[O>>2]=0;cq(c[M>>2]|0);ka=ya;la=za;break}default:{ka=0;la=$}}f:do if(la>>>0<=l>>>0){ca=c[i>>2]|0;ha=c[D>>2]|0;aa=c[j>>2]|0;V=c[G>>2]|0;ma=T;pa=la;g:while(1){da=0;qa=pa;while(1){bb=c[ca+(((d[m+(qa>>>3)>>0]|0)>>>(qa&7)&1|da<<1)<<2)>>2]|0;cb=qa+1|0;if(bb>>>0>>0)break;da=bb-ha|0;if(cb>>>0>l>>>0|da>>>0>=ha>>>0){db=cb;eb=ma;X=115;break f}else qa=cb}if(bb>>>0>=256){if(!((bb|0)!=256&bb>>>0<286)){X=114;break}qa=bb+-257|0;if(cb>>>3>>>0>=f>>>0){fb=cb;gb=51;X=118;break}da=c[28992+(qa<<2)>>2]|0;ea=c[29120+(qa<<2)>>2]|0;if((bb+-265|0)>>>0>19){hb=0;ib=cb}else{qa=0;oa=0;_=cb;while(1){qa=(((d[m+(_>>>3)>>0]|0)>>>(_&7)&1)<>>0>l>>>0){jb=ib;X=100;break}oa=0;Ga=ib;while(1){kb=c[aa+(((d[m+(Ga>>>3)>>0]|0)>>>(Ga&7)&1|oa<<1)<<2)>>2]|0;lb=Ga+1|0;if(kb>>>0>>0)break;oa=kb-V|0;if(Ga>>>0>=l>>>0|oa>>>0>=V>>>0){jb=lb;X=100;break g}else Ga=lb}if(kb>>>0>29){jb=lb;X=100;break}if(lb>>>3>>>0>=f>>>0){fb=lb;gb=51;X=118;break}Ga=c[29248+(kb<<2)>>2]|0;oa=c[29376+(kb<<2)>>2]|0;if(kb>>>0<4){mb=0;nb=lb}else{da=0;qa=0;Fa=lb;while(1){da=(((d[m+(Fa>>>3)>>0]|0)>>>(Fa&7)&1)<>>0>=(c[E>>2]|0)>>>0){Ea=qa<<1;if((c[F>>2]|0)>>>0>>0){Da=qa<<2;qa=bq(c[b>>2]|0,Da)|0;if(!qa){fb=nb;gb=9914;X=118;break}c[F>>2]=Da;c[b>>2]=qa}c[E>>2]=Ea}if(!_){ob=nb;pb=ma}else{Ea=ma+hb|0;qa=Fa;Da=0;na=ma;while(1){ua=c[b>>2]|0;a[ua+na>>0]=a[ua+qa>>0]|0;ua=qa+1|0;Da=Da+1|0;if((Da|0)==(_|0))break;else{qa=ua>>>0>>0?ua:Fa;na=na+1|0}}ob=nb;pb=Ea+ea|0}}else{if(ma>>>0>=(c[E>>2]|0)>>>0){na=(ma<<1)+2|0;if((c[F>>2]|0)>>>0>>0){Fa=na<<1;qa=bq(c[b>>2]|0,Fa)|0;if(!qa){fb=cb;gb=9913;X=118;break}c[F>>2]=Fa;c[b>>2]=qa}c[E>>2]=na}a[(c[b>>2]|0)+ma>>0]=bb;ob=cb;pb=ma+1|0}if(ob>>>0>l>>>0){db=ob;eb=pb;X=115;break f}else{ma=pb;pa=ob}}if((X|0)==100){X=0;qb=jb;rb=(bb|0)==-1?(jb>>>0>l>>>0?10:11):18;sb=ma;tb=ca;break}else if((X|0)==114){X=0;if((bb|0)==256){qb=cb;rb=ka;sb=ma;tb=ca;break}else{db=cb;eb=ma;X=115;break}}else if((X|0)==118){X=0;qb=fb;rb=gb;sb=ma;tb=ca;break}}else{db=la;eb=T;X=115}while(0);if((X|0)==115){X=0;qb=db;rb=db>>>0>l>>>0?10:11;sb=eb;tb=c[i>>2]|0}c[n>>2]=0;c[o>>2]=0;cq(tb);c[i>>2]=0;c[q>>2]=0;c[r>>2]=0;cq(c[p>>2]|0);c[p>>2]=0;c[t>>2]=0;c[u>>2]=0;cq(c[s>>2]|0);c[v>>2]=0;c[w>>2]=0;cq(c[j>>2]|0);c[j>>2]=0;c[y>>2]=0;c[z>>2]=0;cq(c[x>>2]|0);c[x>>2]=0;c[B>>2]=0;c[C>>2]=0;cq(c[A>>2]|0);if(!rb){ia=qb;ja=sb}else{W=rb;X=125;break a}}}if(!(1<>2]|0)>>>0>=ja>>>0){c[E>>2]=ja;W=0;Ia=h;return W|0}ia=ja<<1;U=bq(c[b>>2]|0,ia)|0;if(!U){W=9916;Ia=h;return W|0}c[F>>2]=ia;c[b>>2]=U;c[E>>2]=ja;W=0;Ia=h;return W|0}else if((X|0)==125){Ia=h;return W|0}return 0}function up(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=bq(0,2304)|0;if(!b){d=0;cq(d);return}e=0;do{c[b+(e<<2)>>2]=8;e=e+1|0}while((e|0)!=144);e=144;do{c[b+(e<<2)>>2]=9;e=e+1|0}while((e|0)!=256);c[b+1024>>2]=7;c[b+1028>>2]=7;c[b+1032>>2]=7;c[b+1036>>2]=7;c[b+1040>>2]=7;c[b+1044>>2]=7;c[b+1048>>2]=7;c[b+1052>>2]=7;c[b+1056>>2]=7;c[b+1060>>2]=7;c[b+1064>>2]=7;c[b+1068>>2]=7;c[b+1072>>2]=7;c[b+1076>>2]=7;c[b+1080>>2]=7;c[b+1084>>2]=7;c[b+1088>>2]=7;c[b+1092>>2]=7;c[b+1096>>2]=7;c[b+1100>>2]=7;c[b+1104>>2]=7;c[b+1108>>2]=7;c[b+1112>>2]=7;c[b+1116>>2]=7;c[b+1120>>2]=8;c[b+1124>>2]=8;c[b+1128>>2]=8;c[b+1132>>2]=8;c[b+1136>>2]=8;c[b+1140>>2]=8;c[b+1144>>2]=8;c[b+1148>>2]=8;e=a+24|0;f=a+32|0;do if((c[f>>2]|0)>>>0<1152){g=bq(c[e>>2]|0,2304)|0;if(!g){d=b;cq(d);return}else{c[f>>2]=2304;c[e>>2]=g;c[a+28>>2]=288;h=g;break}}else{c[a+28>>2]=288;h=c[e>>2]|0}while(0);e=0;do{c[h+(e<<2)>>2]=c[b+(e<<2)>>2];e=e+1|0}while((e|0)!=288);c[a+40>>2]=288;c[a+36>>2]=15;wp(a)|0;d=b;cq(d);return}function vp(a){a=a|0;var b=0,d=0;b=bq(0,256)|0;if(!b){d=0;cq(d);return}c[b>>2]=5;c[b+4>>2]=5;c[b+8>>2]=5;c[b+12>>2]=5;c[b+16>>2]=5;c[b+20>>2]=5;c[b+24>>2]=5;c[b+28>>2]=5;c[b+32>>2]=5;c[b+36>>2]=5;c[b+40>>2]=5;c[b+44>>2]=5;c[b+48>>2]=5;c[b+52>>2]=5;c[b+56>>2]=5;c[b+60>>2]=5;c[b+64>>2]=5;c[b+68>>2]=5;c[b+72>>2]=5;c[b+76>>2]=5;c[b+80>>2]=5;c[b+84>>2]=5;c[b+88>>2]=5;c[b+92>>2]=5;c[b+96>>2]=5;c[b+100>>2]=5;c[b+104>>2]=5;c[b+108>>2]=5;c[b+112>>2]=5;c[b+116>>2]=5;c[b+120>>2]=5;c[b+124>>2]=5;xp(a,b,32,15)|0;d=b;cq(d);return}function wp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;b=a+12|0;d=a+40|0;e=c[d>>2]|0;f=a+20|0;if(e<<2>>>0>(c[f>>2]|0)>>>0){g=e<<3;h=bq(c[b>>2]|0,g)|0;if(!h)i=0;else{c[f>>2]=g;c[b>>2]=h;j=4}}else j=4;do if((j|0)==4){c[a+16>>2]=e;h=a+36|0;g=(c[h>>2]|0)+1|0;f=g<<2;if(!f){k=0;l=0}else{m=bq(0,g<<3)|0;if(!m){i=0;break}k=m;l=m}if(g|0)Av(l|0,0,f|0)|0;f=(c[h>>2]|0)+1|0;g=f<<2;if(!g){n=0;o=0}else{m=bq(0,f<<3)|0;if(!m){i=l;break}n=m;o=m}if(f|0)Av(o|0,0,g|0)|0;if(!(c[d>>2]|0))p=0;else{g=c[a+24>>2]|0;f=0;do{m=k+(c[g+(f<<2)>>2]<<2)|0;c[m>>2]=(c[m>>2]|0)+1;f=f+1|0;m=c[d>>2]|0}while(f>>>0>>0);p=m}if(!(c[h>>2]|0))q=p;else{f=1;g=c[n>>2]|0;do{g=(c[k+(f+-1<<2)>>2]|0)+g<<1;c[n+(f<<2)>>2]=g;f=f+1|0}while(f>>>0<=(c[h>>2]|0)>>>0);q=c[d>>2]|0}if(q|0){h=c[a+24>>2]|0;f=0;g=q;while(1){m=c[h+(f<<2)>>2]|0;if(!m)r=g;else{s=n+(m<<2)|0;m=c[s>>2]|0;c[s>>2]=m+1;c[(c[b>>2]|0)+(f<<2)>>2]=m;r=c[d>>2]|0}f=f+1|0;if(f>>>0>=r>>>0)break;else g=r}}cq(l);cq(o);g=c[d>>2]|0;f=g<<1;h=a+8|0;do if(g<<3>>>0>(c[h>>2]|0)>>>0){m=g<<4;s=bq(c[a>>2]|0,m)|0;if(!s){t=9901;return t|0}else{c[h>>2]=m;c[a>>2]=s;c[a+4>>2]=f;u=c[d>>2]|0;break}}else{c[a+4>>2]=f;u=g}while(0);if(!(u&2147483647))v=u;else{g=c[a>>2]|0;f=0;do{c[g+(f<<2)>>2]=32767;f=f+1|0;h=c[d>>2]|0}while(f>>>0>>0);v=h}if(!v){t=0;return t|0}f=c[a+24>>2]|0;g=a+12|0;h=0;s=0;m=0;w=v;a:while(1){x=f+(m<<2)|0;y=c[x>>2]|0;b:do if(!y){z=h;A=s;B=w}else{if(h>>>0>(w+-2|0)>>>0){t=55;j=52;break a}C=(c[g>>2]|0)+(m<<2)|0;D=c[a>>2]|0;E=0;F=h;G=s;H=y;I=w;while(1){J=D+(((c[C>>2]|0)>>>(H+~E|0)&1|F<<1)<<2)|0;K=c[J>>2]|0;do if((K|0)==32767){L=E+1|0;if((L|0)==(H|0)){c[J>>2]=m;M=0;N=G;O=H;break}else{P=G+1|0;c[J>>2]=P+I;M=P;N=P;O=L;break}}else{M=K-I|0;N=G;O=E+1|0}while(0);H=c[x>>2]|0;I=c[d>>2]|0;if(H>>>0<=O>>>0){z=M;A=N;B=I;break b}if(M>>>0>(I+-2|0)>>>0){t=55;j=52;break a}else{E=O;F=M;G=N}}}while(0);m=m+1|0;if(m>>>0>=B>>>0){j=46;break}else{h=z;s=A;w=B}}if((j|0)==46){if(!(B&2147483647)){t=0;return t|0}w=c[a>>2]|0;s=0;h=B;while(1){m=w+(s<<2)|0;if((c[m>>2]|0)==32767){c[m>>2]=0;Q=c[d>>2]|0}else Q=h;s=s+1|0;if(s>>>0>=Q<<1>>>0){t=0;break}else h=Q}return t|0}else if((j|0)==52)return t|0}while(0);cq(i);cq(0);t=9902;return t|0}function xp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=a+24|0;g=a+32|0;do if(d<<2>>>0>(c[g>>2]|0)>>>0){h=d<<3;i=bq(c[f>>2]|0,h)|0;if(!i){j=9903;return j|0}else{c[g>>2]=h;c[f>>2]=i;break}}while(0);c[a+28>>2]=d;if(d|0){g=c[f>>2]|0;f=0;do{c[g+(f<<2)>>2]=c[b+(f<<2)>>2];f=f+1|0}while((f|0)!=(d|0))}c[a+40>>2]=d;c[a+36>>2]=e;j=wp(a)|0;return j|0} function yp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,Ze=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0,Bf=0,Cf=0,Df=0,Ef=0,Ff=0,Gf=0,Hf=0,If=0,Jf=0,Kf=0,Lf=0,Mf=0,Nf=0,Of=0,Pf=0,Qf=0,Rf=0,Sf=0,Tf=0,Uf=0,Vf=0,Wf=0,Xf=0,Yf=0,Zf=0,_f=0,$f=0,ag=0,bg=0,cg=0,dg=0,eg=0,fg=0,gg=0,hg=0,ig=0,jg=0,kg=0,lg=0,mg=0,ng=0,og=0,pg=0,qg=0,rg=0,sg=0,tg=0,ug=0,vg=0,wg=0,xg=0,yg=0,zg=0,Ag=0,Bg=0,Cg=0,Dg=0,Eg=0,Fg=0,Gg=0,Hg=0,Ig=0,Jg=0,Kg=0,Lg=0,Mg=0,Ng=0,Og=0,Pg=0,Qg=0,Rg=0,Sg=0,Tg=0,Ug=0,Vg=0,Wg=0,Xg=0,Yg=0,Zg=0,_g=0,$g=0,ah=0,bh=0,ch=0,dh=0,eh=0,fh=0,gh=0,hh=0,ih=0,jh=0,kh=0,lh=0,mh=0,nh=0,oh=0,ph=0,qh=0,rh=0,sh=0,th=0,uh=0,vh=0,wh=0,xh=0,yh=0,zh=0,Ah=0,Bh=0,Ch=0,Dh=0,Eh=0,Fh=0,Gh=0,Hh=0,Ih=0,Jh=0;h=Ia;Ia=Ia+192|0;i=h+136|0;j=h+92|0;k=h+48|0;l=h+4|0;m=h;switch(c[g>>2]|0){case 0:{n=f>>>16;o=b+4|0;p=b+8|0;q=0;r=0;while(1){s=(q|0)==(n|0);t=s&1;u=c[o>>2]|0;v=u+1|0;if((c[p>>2]|0)>>>0>>0){w=v<<1;x=bq(c[b>>2]|0,w)|0;if(x|0){c[p>>2]=w;c[b>>2]=x;y=x;z=7}}else{y=c[b>>2]|0;z=7}if((z|0)==7){z=0;c[o>>2]=v;a[y+u>>0]=t}t=f-r|0;u=t>>>0<65535?t:65535;t=u^65535;v=u&255;x=c[o>>2]|0;w=x+1|0;if((c[p>>2]|0)>>>0>>0){A=w<<1;B=bq(c[b>>2]|0,A)|0;if(B|0){c[p>>2]=A;c[b>>2]=B;C=B;z=12}}else{C=c[b>>2]|0;z=12}if((z|0)==12){z=0;c[o>>2]=w;a[C+x>>0]=v}v=u>>>8&255;u=c[o>>2]|0;x=u+1|0;if((c[p>>2]|0)>>>0>>0){w=x<<1;B=bq(c[b>>2]|0,w)|0;if(B|0){c[p>>2]=w;c[b>>2]=B;D=B;z=17}}else{D=c[b>>2]|0;z=17}if((z|0)==17){z=0;c[o>>2]=x;a[D+u>>0]=v}v=t&255;u=c[o>>2]|0;x=u+1|0;if((c[p>>2]|0)>>>0>>0){B=x<<1;w=bq(c[b>>2]|0,B)|0;if(w|0){c[p>>2]=B;c[b>>2]=w;E=w;z=22}}else{E=c[b>>2]|0;z=22}if((z|0)==22){z=0;c[o>>2]=x;a[E+u>>0]=v}v=t>>>8&255;t=c[o>>2]|0;u=t+1|0;if((c[p>>2]|0)>>>0>>0){x=u<<1;w=bq(c[b>>2]|0,x)|0;if(w|0){c[p>>2]=x;c[b>>2]=w;F=w;z=27}}else{F=c[b>>2]|0;z=27}if((z|0)==27){z=0;c[o>>2]=u;a[F+t>>0]=v}if(r>>>0>>0){v=0;t=r;while(1){u=t+1|0;w=a[e+t>>0]|0;x=c[o>>2]|0;B=x+1|0;if((c[p>>2]|0)>>>0>>0){A=B<<1;G=bq(c[b>>2]|0,A)|0;if(G|0){c[p>>2]=A;c[b>>2]=G;H=G;z=34}}else{H=c[b>>2]|0;z=34}if((z|0)==34){z=0;c[o>>2]=B;a[H+x>>0]=w}v=v+1|0;if(!(v>>>0<65535&u>>>0>>0)){I=u;break}else t=u}}else I=r;if(s){J=0;break}else{q=q+1|0;r=I}}Ia=h;return J|0}case 1:{c[k>>2]=0;K=i;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));K=j;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));up(i);vp(j);I=b+4|0;r=c[I>>2]|0;q=r+1|0;H=b+8|0;if((c[H>>2]|0)>>>0>>0){o=q<<1;p=bq(c[b>>2]|0,o)|0;if(!p)M=b;else{c[H>>2]=o;c[b>>2]=p;N=b;O=p;z=41}}else{N=b;O=c[b>>2]|0;z=41}if((z|0)==41){c[I>>2]=q;a[O+r>>0]=0;M=N}N=(c[M>>2]|0)+((c[I>>2]|0)+-1)|0;a[N>>0]=a[N>>0]|1;N=(c[M>>2]|0)+((c[I>>2]|0)+-1)|0;a[N>>0]=a[N>>0]|2;N=(c[g+4>>2]|0)==0;c[k>>2]=3;do if(N)if(!f)z=60;else{r=c[i+12>>2]|0;O=c[i+24>>2]|0;q=0;p=3;while(1){o=d[e+q>>0]|0;F=c[r+(o<<2)>>2]|0;E=c[O+(o<<2)>>2]|0;if(!E)P=p;else{o=E+-1|0;D=0;C=p;while(1){y=F>>>(o-D|0)&1;n=C&7;do if(!n){t=c[I>>2]|0;v=t+1|0;if((c[H>>2]|0)>>>0>>0){u=v<<1;w=bq(c[M>>2]|0,u)|0;if(!w)break;c[H>>2]=u;c[M>>2]=w;Q=w}else Q=c[M>>2]|0;c[I>>2]=v;a[Q+t>>0]=0}while(0);t=(c[M>>2]|0)+((c[I>>2]|0)+-1)|0;a[t>>0]=y<>0]|0);D=D+1|0;if((D|0)==(E|0))break;else C=C+1|0}P=E+p|0}q=q+1|0;if((q|0)==(f|0))break;else p=P}c[k>>2]=P;z=60}else{c[l>>2]=0;p=l+8|0;c[p>>2]=0;q=l+4|0;c[q>>2]=0;O=zp(l,e,f,c[g+8>>2]|0)|0;if(!O){Ap(k,b,l,i,j);c[p>>2]=0;c[q>>2]=0;cq(c[l>>2]|0);z=60;break}else{c[p>>2]=0;c[q>>2]=0;cq(c[l>>2]|0);R=O;S=c[i+12>>2]|0;T=c[i+24>>2]|0;break}}while(0);if((z|0)==60){P=c[i+12>>2]|0;Q=c[P+1024>>2]|0;N=c[i+24>>2]|0;O=c[N+1024>>2]|0;if(!O){R=0;S=P;T=N}else{q=O+-1|0;p=c[k>>2]|0;r=0;s=p;while(1){C=Q>>>(q-r|0)&1;D=s&7;do if(!D){o=c[I>>2]|0;F=o+1|0;if((c[H>>2]|0)>>>0>>0){t=F<<1;v=bq(c[M>>2]|0,t)|0;if(!v)break;c[H>>2]=t;c[M>>2]=v;U=v}else U=c[M>>2]|0;c[I>>2]=F;a[U+o>>0]=0}while(0);o=(c[M>>2]|0)+((c[I>>2]|0)+-1)|0;a[o>>0]=C<>0]|0);r=r+1|0;if((r|0)==(O|0))break;else s=s+1|0}c[k>>2]=p+O;R=0;S=P;T=N}}c[i+8>>2]=0;c[i+4>>2]=0;cq(c[i>>2]|0);cq(S);cq(T);c[j+8>>2]=0;c[j+4>>2]=0;cq(c[j>>2]|0);c[j>>2]=0;T=j+12|0;c[j+20>>2]=0;c[j+16>>2]=0;cq(c[T>>2]|0);c[T>>2]=0;c[j+32>>2]=0;c[j+28>>2]=0;cq(c[j+24>>2]|0);J=R;Ia=h;return J|0}case 2:{c[m>>2]=0;c[i>>2]=0;R=i+8|0;c[R>>2]=0;T=i+4|0;c[T>>2]=0;K=j;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));K=k;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));K=l;L=K+36|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));do if(!(c[g+4>>2]|0)){if(!(f&1073741823))V=0;else{S=f<<3;N=bq(0,S)|0;if(!N){W=9923;X=0;Y=0;Z=0;_=0;$=0;aa=0;break}c[R>>2]=S;c[i>>2]=N;V=N}c[T>>2]=f;if(!f)z=79;else{N=0;do{c[V+(N<<2)>>2]=d[e+N>>0];N=N+1|0}while((N|0)!=(f|0));z=79}}else{N=zp(i,e,f,c[g+8>>2]|0)|0;if(!N)z=79;else{W=N;X=0;Y=0;Z=0;_=0;$=0;aa=0}}while(0);a:do if((z|0)==79){g=bq(0,2288)|0;if(g){Av(g|0,0,1144)|0;f=bq(0,240)|0;if(f){K=f;L=K+120|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));e=c[T>>2]|0;if(e|0){V=c[i>>2]|0;N=0;do{D=c[V+(N<<2)>>2]|0;C=g+(D<<2)|0;c[C>>2]=(c[C>>2]|0)+1;if(D>>>0>256){D=f+(c[V+(N+2<<2)>>2]<<2)|0;c[D>>2]=(c[D>>2]|0)+1;ba=N+3|0}else ba=N;N=ba+1|0}while(N>>>0>>0)}c[g+1024>>2]=1;e=Bp(j,g,286,15)|0;if(!e){N=Bp(k,f,30,15)|0;if(!N){V=c[m>>2]&7;D=b+4|0;do if(!V){C=c[D>>2]|0;S=C+1|0;P=b+8|0;if((c[P>>2]|0)>>>0>>0){O=S<<1;p=bq(c[b>>2]|0,O)|0;if(!p){ca=0;break}c[P>>2]=O;c[b>>2]=p;da=p}else da=c[b>>2]|0;c[D>>2]=S;a[da+C>>0]=0;ca=c[m>>2]&7}else ca=V;while(0);V=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[V>>0]=1<>0]|0);V=(c[m>>2]|0)+1|0;c[m>>2]=V;do if(!(V&7)){C=c[D>>2]|0;S=C+1|0;p=b+8|0;if((c[p>>2]|0)>>>0>>0){O=S<<1;P=bq(c[b>>2]|0,O)|0;if(!P){ea=V;break}c[p>>2]=O;c[b>>2]=P;fa=P}else fa=c[b>>2]|0;c[D>>2]=S;a[fa+C>>0]=0;ea=c[m>>2]|0}else ea=V;while(0);V=c[b>>2]|0;C=c[D>>2]|0;S=ea+1|0;c[m>>2]=S;P=S&7;do if(!P){S=C+1|0;O=b+8|0;if((c[O>>2]|0)>>>0>>0){p=S<<1;s=bq(V,p)|0;if(!s){ga=0;break}c[O>>2]=p;c[b>>2]=s;ha=s}else ha=V;c[D>>2]=S;a[ha+C>>0]=0;ga=c[m>>2]&7}else ga=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=1<>0]|0);c[m>>2]=(c[m>>2]|0)+1;P=c[j+40>>2]|0;C=P>>>0<286?P:286;P=c[k+40>>2]|0;V=P>>>0<30?P:30;if(!C){ia=0;ja=0;ka=0;la=0;ma=0}else{P=c[j+24>>2]|0;S=0;s=0;p=0;O=0;r=0;I=0;M=0;while(1){U=c[P+(S<<2)>>2]|0;H=p+1|0;if(H<<2>>>0>O>>>0){q=H<<3;Q=bq(M,q)|0;if(!Q){na=s;oa=p;pa=O;qa=I;ra=r;sa=M}else{ta=Q;ua=q;va=Q;wa=Q;xa=Q;z=110}}else{ta=s;ua=O;va=I;wa=r;xa=M;z=110}if((z|0)==110){z=0;c[ta+(p<<2)>>2]=U;na=ta;oa=H;pa=ua;qa=va;ra=wa;sa=xa}S=S+1|0;if(S>>>0>=C>>>0){ia=ra;ja=qa;ka=na;la=oa;ma=pa;break}else{s=na;p=oa;O=pa;r=ra;I=qa;M=sa}}}if(!V){ya=ja;za=ka;Aa=la}else{M=c[k+24>>2]|0;I=0;r=ka;O=la;p=ma;s=ja;S=ia;while(1){P=c[M+(I<<2)>>2]|0;H=O+1|0;if(H<<2>>>0>p>>>0){U=H<<3;Q=bq(S,U)|0;if(!Q){Ba=r;Ca=O;Da=p;Ea=s;Fa=S}else{Ga=Q;Ha=U;Ja=Q;Ka=Q;z=117}}else{Ga=r;Ha=p;Ja=s;Ka=S;z=117}if((z|0)==117){z=0;c[Ga+(O<<2)>>2]=P;Ba=Ga;Ca=H;Da=Ha;Ea=Ja;Fa=Ka}I=I+1|0;if(I>>>0>=V>>>0){ya=Ea;za=Ba;Aa=Ca;break}else{r=Ba;O=Ca;p=Da;s=Ea;S=Fa}}}if(!Aa){La=0;Ma=0;Na=0}else{S=0;s=0;p=0;O=0;r=0;I=0;M=0;H=0;P=0;Q=0;U=0;q=0;o=0;F=0;v=0;while(1){t=S+1|0;w=c[za+(S<<2)>>2]|0;do if(t>>>0>>0){u=S+2|0;x=0;B=t;while(1){if((c[za+(B<<2)>>2]|0)!=(w|0)){Oa=x;break}G=x+1|0;B=u+x|0;if(B>>>0>=Aa>>>0){Oa=G;break}else x=G}if((w|0)==0&Oa>>>0>1){x=Oa+1|0;do if(x>>>0<11){B=p+1|0;u=B<<2;do if(u>>>0>O>>>0){n=B<<3;y=bq(q,n)|0;if(!y){Pa=B;Qa=u;Ra=s;Sa=p;Ta=O;Ua=U;Va=v;Wa=Q;Xa=P;Ya=H;Za=M;_a=F;$a=I;ab=o;bb=q;cb=r;break}db=y;eb=n;fb=y;gb=y;hb=y;ib=y;jb=y;kb=y;lb=y;mb=y;nb=y;ob=y;pb=y;z=130}else{db=s;eb=O;fb=U;gb=v;hb=Q;ib=P;jb=H;kb=M;lb=F;mb=I;nb=o;ob=r;pb=q;z=130}while(0);if((z|0)==130){z=0;c[db+(p<<2)>>2]=17;u=p+2|0;Pa=u;Qa=u<<2;Ra=db;Sa=B;Ta=eb;Ua=fb;Va=gb;Wa=hb;Xa=ib;Ya=jb;Za=kb;_a=lb;$a=mb;ab=nb;bb=pb;cb=ob}u=Oa+-2|0;if(Qa>>>0>Ta>>>0){y=Pa<<3;n=bq(cb,y)|0;if(!n){qb=x;rb=Ra;sb=Sa;tb=Ta;ub=Ua;vb=Va;wb=Wa;xb=Xa;yb=Ya;zb=Za;Ab=_a;Bb=$a;Cb=ab;Db=cb;Eb=bb;break}Fb=n;Gb=y;Hb=n;Ib=n;Jb=n;Kb=n;Lb=n;Mb=n;Nb=n;Ob=n;Pb=n;Qb=n;Rb=n}else{Fb=Ra;Gb=Ta;Hb=Ua;Ib=Va;Jb=Wa;Kb=Xa;Lb=Ya;Mb=Za;Nb=_a;Ob=$a;Pb=ab;Qb=cb;Rb=bb}c[Fb+(Sa<<2)>>2]=u;qb=x;rb=Fb;sb=Pa;tb=Gb;ub=Hb;vb=Ib;wb=Jb;xb=Kb;yb=Lb;zb=Mb;Ab=Nb;Bb=Ob;Cb=Pb;Db=Qb;Eb=Rb}else{u=x>>>0<138?x:138;n=p+1|0;y=n<<2;do if(y>>>0>O>>>0){G=n<<3;A=bq(o,G)|0;if(!A){Sb=n;Tb=y;Ub=s;Vb=p;Wb=O;Xb=U;Yb=v;Zb=Q;_b=P;$b=H;ac=M;bc=F;cc=o;dc=r;ec=q;fc=I;break}gc=A;hc=G;ic=A;jc=A;kc=A;lc=A;mc=A;nc=A;oc=A;pc=A;qc=A;rc=A;sc=A;z=138}else{gc=s;hc=O;ic=U;jc=v;kc=Q;lc=P;mc=H;nc=M;oc=F;pc=I;qc=o;rc=r;sc=q;z=138}while(0);if((z|0)==138){z=0;c[gc+(p<<2)>>2]=18;y=p+2|0;Sb=y;Tb=y<<2;Ub=gc;Vb=n;Wb=hc;Xb=ic;Yb=jc;Zb=kc;_b=lc;$b=mc;ac=nc;bc=oc;cc=qc;dc=rc;ec=sc;fc=pc}y=u+-11|0;if(Tb>>>0>Wb>>>0){B=Sb<<3;A=bq(fc,B)|0;if(!A){qb=u;rb=Ub;sb=Vb;tb=Wb;ub=Xb;vb=Yb;wb=Zb;xb=_b;yb=$b;zb=ac;Ab=bc;Bb=fc;Cb=cc;Db=dc;Eb=ec;break}tc=A;uc=B;vc=A;wc=A;xc=A;yc=A;zc=A;Ac=A;Bc=A;Cc=A;Dc=A;Ec=A;Fc=A}else{tc=Ub;uc=Wb;vc=Xb;wc=Yb;xc=Zb;yc=_b;zc=$b;Ac=ac;Bc=bc;Cc=fc;Dc=cc;Ec=dc;Fc=ec}c[tc+(Vb<<2)>>2]=y;qb=u;rb=tc;sb=Sb;tb=uc;ub=vc;vb=wc;wb=xc;xb=yc;yb=zc;zb=Ac;Ab=Bc;Bb=Cc;Cb=Dc;Db=Ec;Eb=Fc}while(0);Gc=S+-1+qb|0;Hc=rb;Ic=sb;Jc=tb;Kc=ub;Lc=vb;Mc=wb;Nc=xb;Oc=yb;Pc=zb;Qc=Ab;Rc=Bb;Sc=Cb;Tc=Db;Uc=Eb;break}if(Oa>>>0>2){x=(Oa>>>0)/6|0;y=Oa-(x*6|0)|0;A=p+1|0;do if(A<<2>>>0>O>>>0){B=A<<3;G=bq(F,B)|0;if(!G){Vc=s;Wc=p;Xc=O;Yc=U;Zc=v;_c=Q;$c=P;ad=H;bd=M;cd=F;dd=I;ed=o;fd=r;gd=q;break}hd=G;id=B;jd=G;kd=G;ld=G;md=G;nd=G;od=G;pd=G;qd=G;rd=G;sd=G;td=G;z=148}else{hd=s;id=O;jd=U;kd=v;ld=Q;md=P;nd=H;od=M;pd=F;qd=I;rd=o;sd=r;td=q;z=148}while(0);if((z|0)==148){z=0;c[hd+(p<<2)>>2]=w;Vc=hd;Wc=A;Xc=id;Yc=jd;Zc=kd;_c=ld;$c=md;ad=nd;bd=od;cd=pd;dd=qd;ed=rd;fd=sd;gd=td}if(Oa>>>0>5){G=0;B=Vc;ud=Wc;vd=Xc;wd=gd;xd=fd;yd=ed;zd=dd;Ad=cd;Bd=ad;Cd=$c;Dd=_c;Ed=Zc;Fd=Yc;Gd=bd;while(1){Hd=ud+1|0;Id=Hd<<2;do if(Id>>>0>vd>>>0){Jd=Hd<<3;Kd=bq(Gd,Jd)|0;if(!Kd){Ld=Hd;Md=Id;Nd=B;Od=ud;Pd=vd;Qd=Fd;Rd=Ed;Sd=Dd;Td=Cd;Ud=Gd;Vd=Ad;Wd=zd;Xd=yd;Yd=xd;Zd=wd;_d=Bd;break}$d=Kd;ae=Jd;be=Kd;ce=Kd;de=Kd;ee=Kd;fe=Kd;ge=Kd;he=Kd;ie=Kd;je=Kd;ke=Kd;le=Kd;z=154}else{$d=B;ae=vd;be=Fd;ce=Ed;de=Dd;ee=Cd;fe=Bd;ge=Gd;he=Ad;ie=zd;je=yd;ke=xd;le=wd;z=154}while(0);if((z|0)==154){z=0;c[$d+(ud<<2)>>2]=16;Id=ud+2|0;Ld=Id;Md=Id<<2;Nd=$d;Od=Hd;Pd=ae;Qd=be;Rd=ce;Sd=de;Td=ee;Ud=ge;Vd=he;Wd=ie;Xd=je;Yd=ke;Zd=le;_d=fe}do if(Md>>>0>Pd>>>0){Id=Ld<<3;u=bq(_d,Id)|0;if(!u){me=Nd;ne=Od;oe=Pd;pe=Qd;qe=Rd;re=Sd;se=Td;te=_d;ue=Ud;ve=Vd;we=Wd;xe=Xd;ye=Yd;ze=Zd;break}Ae=u;Be=Id;Ce=u;De=u;Ee=u;Fe=u;Ge=u;He=u;Ie=u;Je=u;Ke=u;Le=u;Me=u;z=158}else{Ae=Nd;Be=Pd;Ce=Qd;De=Rd;Ee=Sd;Fe=Td;Ge=_d;He=Ud;Ie=Vd;Je=Wd;Ke=Xd;Le=Yd;Me=Zd;z=158}while(0);if((z|0)==158){z=0;c[Ae+(Od<<2)>>2]=3;me=Ae;ne=Ld;oe=Be;pe=Ce;qe=De;re=Ee;se=Fe;te=Ge;ue=He;ve=Ie;we=Je;xe=Ke;ye=Le;ze=Me}G=G+1|0;if(G>>>0>=x>>>0){Ne=ze;Oe=ye;Pe=xe;Qe=we;Re=ve;Se=ue;Te=te;Ue=se;Ve=re;We=qe;Xe=pe;Ye=me;Ze=ne;_e=oe;break}else{B=me;ud=ne;vd=oe;wd=ze;xd=ye;yd=xe;zd=we;Ad=ve;Bd=te;Cd=se;Dd=re;Ed=qe;Fd=pe;Gd=ue}}}else{Ne=gd;Oe=fd;Pe=ed;Qe=dd;Re=cd;Se=bd;Te=ad;Ue=$c;Ve=_c;We=Zc;Xe=Yc;Ye=Vc;Ze=Wc;_e=Xc}do if(y>>>0>2){Gd=Ze+1|0;Fd=Gd<<2;do if(Fd>>>0>_e>>>0){Ed=Gd<<3;Dd=bq(Ue,Ed)|0;if(!Dd){$e=Gd;af=Fd;bf=Ye;cf=Ze;df=_e;ef=Xe;ff=We;gf=Ue;hf=Te;jf=Se;kf=Re;lf=Qe;mf=Pe;nf=Oe;of=Ne;pf=Ve;break}qf=Dd;rf=Ed;sf=Dd;tf=Dd;uf=Dd;vf=Dd;wf=Dd;xf=Dd;yf=Dd;zf=Dd;Af=Dd;Bf=Dd;Cf=Dd;z=164}else{qf=Ye;rf=_e;sf=Xe;tf=We;uf=Ve;vf=Ue;wf=Te;xf=Se;yf=Re;zf=Qe;Af=Pe;Bf=Oe;Cf=Ne;z=164}while(0);if((z|0)==164){z=0;c[qf+(Ze<<2)>>2]=16;Fd=Ze+2|0;$e=Fd;af=Fd<<2;bf=qf;cf=Gd;df=rf;ef=sf;ff=tf;gf=vf;hf=wf;jf=xf;kf=yf;lf=zf;mf=Af;nf=Bf;of=Cf;pf=uf}Fd=y+-3|0;if(af>>>0>df>>>0){Dd=$e<<3;Ed=bq(pf,Dd)|0;if(!Ed){Df=Oa;Ef=bf;Ff=cf;Gf=df;Hf=ef;If=ff;Jf=pf;Kf=gf;Lf=hf;Mf=jf;Nf=kf;Of=lf;Pf=mf;Qf=nf;Rf=of;break}Sf=Ed;Tf=Dd;Uf=Ed;Vf=Ed;Wf=Ed;Xf=Ed;Yf=Ed;Zf=Ed;_f=Ed;$f=Ed;ag=Ed;bg=Ed;cg=Ed}else{Sf=bf;Tf=df;Uf=ef;Vf=ff;Wf=pf;Xf=gf;Yf=hf;Zf=jf;_f=kf;$f=lf;ag=mf;bg=nf;cg=of}c[Sf+(cf<<2)>>2]=Fd;Df=Oa;Ef=Sf;Ff=$e;Gf=Tf;Hf=Uf;If=Vf;Jf=Wf;Kf=Xf;Lf=Yf;Mf=Zf;Nf=_f;Of=$f;Pf=ag;Qf=bg;Rf=cg}else{Df=Oa-y|0;Ef=Ye;Ff=Ze;Gf=_e;Hf=Xe;If=We;Jf=Ve;Kf=Ue;Lf=Te;Mf=Se;Nf=Re;Of=Qe;Pf=Pe;Qf=Oe;Rf=Ne}while(0);Gc=Df+S|0;Hc=Ef;Ic=Ff;Jc=Gf;Kc=Hf;Lc=If;Mc=Jf;Nc=Kf;Oc=Lf;Pc=Mf;Qc=Nf;Rc=Of;Sc=Pf;Tc=Qf;Uc=Rf}else z=171}else z=171;while(0);do if((z|0)==171){z=0;t=p+1|0;if(t<<2>>>0>O>>>0){E=t<<3;y=bq(v,E)|0;if(!y){Gc=S;Hc=s;Ic=p;Jc=O;Kc=U;Lc=v;Mc=Q;Nc=P;Oc=H;Pc=M;Qc=F;Rc=I;Sc=o;Tc=r;Uc=q;break}dg=y;eg=E;fg=y;gg=y;hg=y;ig=y;jg=y;kg=y;lg=y;mg=y;ng=y;og=y;pg=y}else{dg=s;eg=O;fg=U;gg=v;hg=Q;ig=P;jg=H;kg=M;lg=F;mg=I;ng=o;og=r;pg=q}c[dg+(p<<2)>>2]=w;Gc=S;Hc=dg;Ic=t;Jc=eg;Kc=fg;Lc=gg;Mc=hg;Nc=ig;Oc=jg;Pc=kg;Qc=lg;Rc=mg;Sc=ng;Tc=og;Uc=pg}while(0);S=Gc+1|0;if(S>>>0>=Aa>>>0){La=Kc;Ma=Hc;Na=Ic;break}else{s=Hc;p=Ic;O=Jc;r=Tc;I=Rc;M=Pc;H=Oc;P=Nc;Q=Mc;U=Kc;q=Uc;o=Sc;F=Qc;v=Lc}}}v=bq(0,152)|0;if(v){K=v;L=K+76|0;do{c[K>>2]=0;K=K+4|0}while((K|0)<(L|0));F=(Na|0)==0;if(!F){o=0;do{q=Ma+(o<<2)|0;U=v+(c[q>>2]<<2)|0;c[U>>2]=(c[U>>2]|0)+1;o=o+1+((c[q>>2]|0)>>>0>15&1)|0}while(o>>>0>>0)}o=Bp(l,v,19,7)|0;if(!o){q=bq(0,152)|0;if(!q){W=9927;X=g;Y=f;Z=v;_=La;$=ya;aa=0}else{U=c[l+24>>2]|0;c[q>>2]=c[U+64>>2];c[q+4>>2]=c[U+68>>2];c[q+8>>2]=c[U+72>>2];c[q+12>>2]=c[U>>2];c[q+16>>2]=c[U+32>>2];c[q+20>>2]=c[U+28>>2];c[q+24>>2]=c[U+36>>2];c[q+28>>2]=c[U+24>>2];c[q+32>>2]=c[U+40>>2];c[q+36>>2]=c[U+20>>2];c[q+40>>2]=c[U+44>>2];c[q+44>>2]=c[U+16>>2];c[q+48>>2]=c[U+48>>2];c[q+52>>2]=c[U+12>>2];c[q+56>>2]=c[U+52>>2];c[q+60>>2]=c[U+8>>2];c[q+64>>2]=c[U+56>>2];c[q+68>>2]=c[U+4>>2];Q=c[U+60>>2]|0;c[q+72>>2]=Q;if(!Q){Q=q;P=152;H=q;M=18;I=q;while(1){if(M<<2>>>0>P>>>0){r=M<<3;O=bq(I,r)|0;if(!O){W=9928;X=g;Y=f;Z=v;_=La;$=ya;aa=H;break a}qg=O;rg=r;sg=O;tg=O}else{qg=Q;rg=P;sg=H;tg=I}O=M+-1|0;if(M>>>0>4?(c[qg+(O<<2)>>2]|0)==0:0){Q=qg;P=rg;H=sg;M=O;I=tg}else{ug=sg;vg=qg;wg=M;break}}}else{ug=q;vg=q;wg=19}M=C+-257|0;I=V+-1|0;H=b+8|0;P=M&1;Q=c[m>>2]&7;do if(!Q){O=c[D>>2]|0;r=O+1|0;if((c[H>>2]|0)>>>0>>0){p=r<<1;s=bq(c[b>>2]|0,p)|0;if(!s){xg=0;break}c[H>>2]=p;c[b>>2]=s;yg=s}else yg=c[b>>2]|0;c[D>>2]=r;a[yg+O>>0]=0;xg=c[m>>2]&7}else xg=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;V=M>>>1&1;C=Q&7;do if(!C){Q=c[D>>2]|0;q=Q+1|0;if((c[H>>2]|0)>>>0>>0){O=q<<1;r=bq(c[b>>2]|0,O)|0;if(!r){zg=0;break}c[H>>2]=O;c[b>>2]=r;Ag=r}else Ag=c[b>>2]|0;c[D>>2]=q;a[Ag+Q>>0]=0;zg=c[m>>2]&7}else zg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;P=M>>>2&1;Q=C&7;do if(!Q){C=c[D>>2]|0;q=C+1|0;if((c[H>>2]|0)>>>0>>0){r=q<<1;O=bq(c[b>>2]|0,r)|0;if(!O){Bg=0;break}c[H>>2]=r;c[b>>2]=O;Cg=O}else Cg=c[b>>2]|0;c[D>>2]=q;a[Cg+C>>0]=0;Bg=c[m>>2]&7}else Bg=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;V=M>>>3&1;C=Q&7;do if(!C){Q=c[D>>2]|0;q=Q+1|0;if((c[H>>2]|0)>>>0>>0){O=q<<1;r=bq(c[b>>2]|0,O)|0;if(!r){Dg=0;break}c[H>>2]=O;c[b>>2]=r;Eg=r}else Eg=c[b>>2]|0;c[D>>2]=q;a[Eg+Q>>0]=0;Dg=c[m>>2]&7}else Dg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;P=M>>>4&1;Q=C&7;do if(!Q){C=c[D>>2]|0;q=C+1|0;if((c[H>>2]|0)>>>0>>0){r=q<<1;O=bq(c[b>>2]|0,r)|0;if(!O){Fg=0;break}c[H>>2]=r;c[b>>2]=O;Gg=O}else Gg=c[b>>2]|0;c[D>>2]=q;a[Gg+C>>0]=0;Fg=c[m>>2]&7}else Fg=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;M=wg+-4|0;V=I&1;C=Q&7;do if(!C){Q=c[D>>2]|0;q=Q+1|0;if((c[H>>2]|0)>>>0>>0){O=q<<1;r=bq(c[b>>2]|0,O)|0;if(!r){Hg=0;break}c[H>>2]=O;c[b>>2]=r;Ig=r}else Ig=c[b>>2]|0;c[D>>2]=q;a[Ig+Q>>0]=0;Hg=c[m>>2]&7}else Hg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;P=I>>>1&1;Q=C&7;do if(!Q){C=c[D>>2]|0;q=C+1|0;if((c[H>>2]|0)>>>0>>0){r=q<<1;O=bq(c[b>>2]|0,r)|0;if(!O){Jg=0;break}c[H>>2]=r;c[b>>2]=O;Kg=O}else Kg=c[b>>2]|0;c[D>>2]=q;a[Kg+C>>0]=0;Jg=c[m>>2]&7}else Jg=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;V=I>>>2&1;C=Q&7;do if(!C){Q=c[D>>2]|0;q=Q+1|0;if((c[H>>2]|0)>>>0>>0){O=q<<1;r=bq(c[b>>2]|0,O)|0;if(!r){Lg=0;break}c[H>>2]=O;c[b>>2]=r;Mg=r}else Mg=c[b>>2]|0;c[D>>2]=q;a[Mg+Q>>0]=0;Lg=c[m>>2]&7}else Lg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;P=I>>>3&1;Q=C&7;do if(!Q){C=c[D>>2]|0;q=C+1|0;if((c[H>>2]|0)>>>0>>0){r=q<<1;O=bq(c[b>>2]|0,r)|0;if(!O){Ng=0;break}c[H>>2]=r;c[b>>2]=O;Og=O}else Og=c[b>>2]|0;c[D>>2]=q;a[Og+C>>0]=0;Ng=c[m>>2]&7}else Ng=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;V=I>>>4&1;C=Q&7;do if(!C){Q=c[D>>2]|0;q=Q+1|0;if((c[H>>2]|0)>>>0>>0){O=q<<1;r=bq(c[b>>2]|0,O)|0;if(!r){Pg=0;break}c[H>>2]=O;c[b>>2]=r;Qg=r}else Qg=c[b>>2]|0;c[D>>2]=q;a[Qg+Q>>0]=0;Pg=c[m>>2]&7}else Pg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;I=M&1;P=C&7;do if(!P){C=c[D>>2]|0;Q=C+1|0;if((c[H>>2]|0)>>>0>>0){q=Q<<1;r=bq(c[b>>2]|0,q)|0;if(!r){Rg=0;break}c[H>>2]=q;c[b>>2]=r;Sg=r}else Sg=c[b>>2]|0;c[D>>2]=Q;a[Sg+C>>0]=0;Rg=c[m>>2]&7}else Rg=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=I<>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;V=M>>>1&1;C=P&7;do if(!C){P=c[D>>2]|0;Q=P+1|0;if((c[H>>2]|0)>>>0>>0){r=Q<<1;q=bq(c[b>>2]|0,r)|0;if(!q){Tg=0;break}c[H>>2]=r;c[b>>2]=q;Ug=q}else Ug=c[b>>2]|0;c[D>>2]=Q;a[Ug+P>>0]=0;Tg=c[m>>2]&7}else Tg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;I=M>>>2&1;P=C&7;do if(!P){C=c[D>>2]|0;Q=C+1|0;if((c[H>>2]|0)>>>0>>0){q=Q<<1;r=bq(c[b>>2]|0,q)|0;if(!r){Vg=0;break}c[H>>2]=q;c[b>>2]=r;Wg=r}else Wg=c[b>>2]|0;c[D>>2]=Q;a[Wg+C>>0]=0;Vg=c[m>>2]&7}else Vg=P;while(0);P=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[P>>0]=I<>0]|0);P=(c[m>>2]|0)+1|0;c[m>>2]=P;V=M>>>3&1;C=P&7;do if(!C){P=c[D>>2]|0;Q=P+1|0;if((c[H>>2]|0)>>>0>>0){r=Q<<1;q=bq(c[b>>2]|0,r)|0;if(!q){Xg=0;break}c[H>>2]=r;c[b>>2]=q;Yg=q}else Yg=c[b>>2]|0;c[D>>2]=Q;a[Yg+P>>0]=0;Xg=c[m>>2]&7}else Xg=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=V<>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;if(!wg)Zg=C;else{M=0;I=C;while(1){C=c[vg+(M<<2)>>2]|0;P=C&1;Q=I&7;do if(!Q){q=c[D>>2]|0;r=q+1|0;if((c[H>>2]|0)>>>0>>0){O=r<<1;s=bq(c[b>>2]|0,O)|0;if(!s){_g=0;break}c[H>>2]=O;c[b>>2]=s;$g=s}else $g=c[b>>2]|0;c[D>>2]=r;a[$g+q>>0]=0;_g=c[m>>2]&7}else _g=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<<_g|(d[Q>>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;q=C>>>1&1;r=Q&7;do if(!r){Q=c[D>>2]|0;s=Q+1|0;if((c[H>>2]|0)>>>0>>0){O=s<<1;p=bq(c[b>>2]|0,O)|0;if(!p){ah=0;break}c[H>>2]=O;c[b>>2]=p;bh=p}else bh=c[b>>2]|0;c[D>>2]=s;a[bh+Q>>0]=0;ah=c[m>>2]&7}else ah=r;while(0);r=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[r>>0]=q<>0]|0);r=(c[m>>2]|0)+1|0;c[m>>2]=r;P=C>>>2&1;Q=r&7;do if(!Q){r=c[D>>2]|0;s=r+1|0;if((c[H>>2]|0)>>>0>>0){p=s<<1;O=bq(c[b>>2]|0,p)|0;if(!O){ch=0;break}c[H>>2]=p;c[b>>2]=O;dh=O}else dh=c[b>>2]|0;c[D>>2]=s;a[dh+r>>0]=0;ch=c[m>>2]&7}else ch=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;M=M+1|0;if((M|0)==(wg|0)){Zg=Q;break}else I=Q}}b:do if(!F){I=c[l+12>>2]|0;M=0;V=Zg;while(1){Q=Ma+(M<<2)|0;C=c[Q>>2]|0;q=c[I+(C<<2)>>2]|0;r=c[U+(C<<2)>>2]|0;if(!r){eh=V;fh=C}else{C=r+-1|0;s=0;O=V;do{p=q>>>(C-s|0)&1;S=O&7;do if(!S){w=c[D>>2]|0;t=w+1|0;if((c[H>>2]|0)>>>0>>0){y=t<<1;E=bq(c[b>>2]|0,y)|0;if(!E){gh=0;break}c[H>>2]=y;c[b>>2]=E;hh=E}else hh=c[b>>2]|0;c[D>>2]=t;a[hh+w>>0]=0;gh=c[m>>2]&7}else gh=S;while(0);S=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[S>>0]=p<>0]|0);O=(c[m>>2]|0)+1|0;c[m>>2]=O;s=s+1|0}while((s|0)!=(r|0));eh=O;fh=c[Q>>2]|0}switch(fh|0){case 16:{r=M+1|0;s=c[Ma+(r<<2)>>2]|0;C=s&1;q=eh&7;do if(!q){S=c[D>>2]|0;Gd=S+1|0;if((c[H>>2]|0)>>>0>>0){w=Gd<<1;t=bq(c[b>>2]|0,w)|0;if(!t){ih=0;break}c[H>>2]=w;c[b>>2]=t;jh=t}else jh=c[b>>2]|0;c[D>>2]=Gd;a[jh+S>>0]=0;ih=c[m>>2]&7}else ih=q;while(0);q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[q>>0]=C<>0]|0);q=(c[m>>2]|0)+1|0;c[m>>2]=q;Q=s>>>1&1;O=q&7;do if(!O){q=c[D>>2]|0;S=q+1|0;if((c[H>>2]|0)>>>0>>0){Gd=S<<1;t=bq(c[b>>2]|0,Gd)|0;if(!t){kh=0;break}c[H>>2]=Gd;c[b>>2]=t;lh=t}else lh=c[b>>2]|0;c[D>>2]=S;a[lh+q>>0]=0;kh=c[m>>2]&7}else kh=O;while(0);O=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[O>>0]=Q<>0]|0);O=(c[m>>2]|0)+1|0;c[m>>2]=O;mh=r;nh=O;break}case 17:{O=M+1|0;s=c[Ma+(O<<2)>>2]|0;C=s&1;q=eh&7;do if(!q){S=c[D>>2]|0;t=S+1|0;if((c[H>>2]|0)>>>0>>0){Gd=t<<1;w=bq(c[b>>2]|0,Gd)|0;if(!w){oh=0;break}c[H>>2]=Gd;c[b>>2]=w;ph=w}else ph=c[b>>2]|0;c[D>>2]=t;a[ph+S>>0]=0;oh=c[m>>2]&7}else oh=q;while(0);q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[q>>0]=C<>0]|0);q=(c[m>>2]|0)+1|0;c[m>>2]=q;r=s>>>1&1;Q=q&7;do if(!Q){q=c[D>>2]|0;S=q+1|0;if((c[H>>2]|0)>>>0>>0){t=S<<1;w=bq(c[b>>2]|0,t)|0;if(!w){qh=0;break}c[H>>2]=t;c[b>>2]=w;rh=w}else rh=c[b>>2]|0;c[D>>2]=S;a[rh+q>>0]=0;qh=c[m>>2]&7}else qh=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=r<>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;C=s>>>2&1;q=Q&7;do if(!q){Q=c[D>>2]|0;S=Q+1|0;if((c[H>>2]|0)>>>0>>0){w=S<<1;t=bq(c[b>>2]|0,w)|0;if(!t){sh=0;break}c[H>>2]=w;c[b>>2]=t;th=t}else th=c[b>>2]|0;c[D>>2]=S;a[th+Q>>0]=0;sh=c[m>>2]&7}else sh=q;while(0);q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[q>>0]=C<>0]|0);q=(c[m>>2]|0)+1|0;c[m>>2]=q;mh=O;nh=q;break}case 18:{q=M+1|0;s=c[Ma+(q<<2)>>2]|0;r=s&1;Q=eh&7;do if(!Q){S=c[D>>2]|0;t=S+1|0;if((c[H>>2]|0)>>>0>>0){w=t<<1;Gd=bq(c[b>>2]|0,w)|0;if(!Gd){uh=0;break}c[H>>2]=w;c[b>>2]=Gd;vh=Gd}else vh=c[b>>2]|0;c[D>>2]=t;a[vh+S>>0]=0;uh=c[m>>2]&7}else uh=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=r<>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;O=s>>>1&1;C=Q&7;do if(!C){Q=c[D>>2]|0;S=Q+1|0;if((c[H>>2]|0)>>>0>>0){t=S<<1;Gd=bq(c[b>>2]|0,t)|0;if(!Gd){wh=0;break}c[H>>2]=t;c[b>>2]=Gd;xh=Gd}else xh=c[b>>2]|0;c[D>>2]=S;a[xh+Q>>0]=0;wh=c[m>>2]&7}else wh=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=O<>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;r=s>>>2&1;Q=C&7;do if(!Q){C=c[D>>2]|0;S=C+1|0;if((c[H>>2]|0)>>>0>>0){Gd=S<<1;t=bq(c[b>>2]|0,Gd)|0;if(!t){yh=0;break}c[H>>2]=Gd;c[b>>2]=t;zh=t}else zh=c[b>>2]|0;c[D>>2]=S;a[zh+C>>0]=0;yh=c[m>>2]&7}else yh=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=r<>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;O=s>>>3&1;C=Q&7;do if(!C){Q=c[D>>2]|0;S=Q+1|0;if((c[H>>2]|0)>>>0>>0){t=S<<1;Gd=bq(c[b>>2]|0,t)|0;if(!Gd){Ah=0;break}c[H>>2]=t;c[b>>2]=Gd;Bh=Gd}else Bh=c[b>>2]|0;c[D>>2]=S;a[Bh+Q>>0]=0;Ah=c[m>>2]&7}else Ah=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=O<>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;r=s>>>4&1;Q=C&7;do if(!Q){C=c[D>>2]|0;S=C+1|0;if((c[H>>2]|0)>>>0>>0){Gd=S<<1;t=bq(c[b>>2]|0,Gd)|0;if(!t){Ch=0;break}c[H>>2]=Gd;c[b>>2]=t;Dh=t}else Dh=c[b>>2]|0;c[D>>2]=S;a[Dh+C>>0]=0;Ch=c[m>>2]&7}else Ch=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=r<>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;O=s>>>5&1;C=Q&7;do if(!C){Q=c[D>>2]|0;S=Q+1|0;if((c[H>>2]|0)>>>0>>0){t=S<<1;Gd=bq(c[b>>2]|0,t)|0;if(!Gd){Eh=0;break}c[H>>2]=t;c[b>>2]=Gd;Fh=Gd}else Fh=c[b>>2]|0;c[D>>2]=S;a[Fh+Q>>0]=0;Eh=c[m>>2]&7}else Eh=C;while(0);C=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[C>>0]=O<>0]|0);C=(c[m>>2]|0)+1|0;c[m>>2]=C;r=s>>>6&1;Q=C&7;do if(!Q){C=c[D>>2]|0;S=C+1|0;if((c[H>>2]|0)>>>0>>0){Gd=S<<1;t=bq(c[b>>2]|0,Gd)|0;if(!t){Gh=0;break}c[H>>2]=Gd;c[b>>2]=t;Hh=t}else Hh=c[b>>2]|0;c[D>>2]=S;a[Hh+C>>0]=0;Gh=c[m>>2]&7}else Gh=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=r<>0]|0);Q=(c[m>>2]|0)+1|0;c[m>>2]=Q;mh=q;nh=Q;break}default:{mh=M;nh=eh}}M=mh+1|0;if(M>>>0>=Na>>>0)break b;else V=nh}}while(0);Ap(m,b,i,j,k);U=c[(c[j+24>>2]|0)+1024>>2]|0;if(!U){W=64;X=g;Y=f;Z=v;_=La;$=ya;aa=ug;break}F=c[(c[j+12>>2]|0)+1024>>2]|0;V=U+-1|0;M=0;I=c[m>>2]|0;do{P=F>>>(V-M|0)&1;Q=I&7;do if(!Q){s=c[D>>2]|0;O=s+1|0;if((c[H>>2]|0)>>>0>>0){C=O<<1;S=bq(c[b>>2]|0,C)|0;if(!S){Ih=0;break}c[H>>2]=C;c[b>>2]=S;Jh=S}else Jh=c[b>>2]|0;c[D>>2]=O;a[Jh+s>>0]=0;Ih=c[m>>2]&7}else Ih=Q;while(0);Q=(c[b>>2]|0)+((c[D>>2]|0)+-1)|0;a[Q>>0]=P<>0]|0);I=(c[m>>2]|0)+1|0;c[m>>2]=I;M=M+1|0}while((M|0)!=(U|0));W=0;X=g;Y=f;Z=v;_=La;$=ya;aa=ug}}else{W=o;X=g;Y=f;Z=v;_=La;$=ya;aa=0}}else{W=9926;X=g;Y=f;Z=0;_=La;$=ya;aa=0}}else{W=N;X=g;Y=f;Z=0;_=0;$=0;aa=0}}else{W=e;X=g;Y=f;Z=0;_=0;$=0;aa=0}}else{W=9925;X=g;Y=0;Z=0;_=0;$=0;aa=0}}else{W=9924;X=0;Y=0;Z=0;_=0;$=0;aa=0}}while(0);c[R>>2]=0;c[T>>2]=0;cq(c[i>>2]|0);c[j+8>>2]=0;c[j+4>>2]=0;cq(c[j>>2]|0);c[j>>2]=0;i=j+12|0;c[j+20>>2]=0;c[j+16>>2]=0;cq(c[i>>2]|0);c[i>>2]=0;c[j+32>>2]=0;c[j+28>>2]=0;cq(c[j+24>>2]|0);c[k+8>>2]=0;c[k+4>>2]=0;cq(c[k>>2]|0);c[k>>2]=0;j=k+12|0;c[k+20>>2]=0;c[k+16>>2]=0;cq(c[j>>2]|0);c[j>>2]=0;c[k+32>>2]=0;c[k+28>>2]=0;cq(c[k+24>>2]|0);c[l+8>>2]=0;c[l+4>>2]=0;cq(c[l>>2]|0);c[l>>2]=0;k=l+12|0;c[l+20>>2]=0;c[l+16>>2]=0;cq(c[k>>2]|0);c[k>>2]=0;c[l+32>>2]=0;c[l+28>>2]=0;cq(c[l+24>>2]|0);cq(X);cq(Y);cq(Z);cq(_);cq($);cq(aa);J=W;Ia=h;return J|0}default:{J=61;Ia=h;return J|0}}return 0}function zp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0;h=bq(0,1572864)|0;if(!h){i=9917;return i|0}Av(h|0,0,786432)|0;j=bq(0,524288)|0;if(!j){k=0;l=9918;m=0}else{Av(j|0,0,262144)|0;k=j;l=0;m=j}j=bq(0,524288)|0;a:do if(j){Av(j|0,0,262144)|0;if(!l)if(!f){n=0;o=j;p=0}else{q=b+4|0;r=b+8|0;s=0;t=0;u=0;v=0;w=0;x=0;y=0;z=0;while(1){A=s>>>0>>0?s:g;B=f-s|0;C=(s+6|0)>>>0>>0?6:B;if(!C)D=0;else{E=0;F=0;do{E=d[e+(F+s)>>0]<<(F<<1)^E;F=F+1|0}while(F>>>0>>0);D=E&65535}C=B>>>0<258?B:258;b:do if(!C)G=0;else{F=0;while(1){if(a[e+(F+s)>>0]|0){G=F;break b}F=F+1|0;if(F>>>0>=C>>>0){G=C;break}}}while(0);C=h+(D*12|0)|0;E=C+4|0;F=c[E>>2]|0;H=F+1|0;I=C+8|0;if(H<<2>>>0>(c[I>>2]|0)>>>0){J=H<<3;K=bq(c[C>>2]|0,J)|0;if(!K){n=9920;o=j;p=y;break a}c[I>>2]=J;c[C>>2]=K;L=K}else L=c[C>>2]|0;c[E>>2]=H;c[L+(F<<2)>>2]=s;F=(D|0)==0;if(F){H=v+1|0;if(H<<2>>>0>w>>>0){E=H<<3;K=bq(z,E)|0;if(!K){n=9920;o=j;p=y;break a}M=C;N=c[C>>2]|0;O=K;P=E;Q=K;R=K;S=K}else{M=C;N=L;O=u;P=w;Q=y;R=x;S=z}c[O+(v<<2)>>2]=G;T=M;U=O;V=H;W=P;X=Q;Y=R;Z=S;_=N}else{T=C;U=u;V=v;W=w;X=y;Y=x;Z=z;_=L}C=k+(D<<2)|0;H=c[C>>2]|0;K=s-A|0;if((c[_+(H<<2)>>2]|0)>>>0>>0){E=c[T>>2]|0;J=H;while(1){I=J+1|0;c[C>>2]=I;if((c[E+(I<<2)>>2]|0)>>>0>>0)J=I;else{$=E;aa=I;break}}}else{$=_;aa=H}E=j+(D<<2)|0;J=c[E>>2]|0;if((c[$+(J<<2)>>2]|0)>>>0>>0){K=J;do{K=K+1|0;c[E>>2]=K}while((c[$+(K<<2)>>2]|0)>>>0>>0);ba=K;ca=c[C>>2]|0}else{ba=J;ca=aa}E=s+258|0;H=E>>>0>f>>>0?f:E;E=e+H|0;A=ba+-1|0;c:do if(A>>>0>=ca>>>0&(ba|0)!=0){I=e+s|0;da=I;d:do if(F){ea=0;fa=0;ga=A;while(1){ha=c[$+(ga<<2)>>2]|0;ia=s-ha|0;ja=c[U+(ga<<2)>>2]|0;ka=ja>>>0>G>>>0?G:ja;ja=ka>>>0>B>>>0?B:ka;ka=I+ja|0;e:do if((ka|0)==(E|0))la=E;else{ma=e+ha+ja|0;na=ka;while(1){if((a[ma>>0]|0)!=(a[na>>0]|0)){la=na;break e}na=na+1|0;if((na|0)==(E|0)){la=E;break}else ma=ma+1|0}}while(0);ka=la-da|0;if(ka>>>0>ea>>>0)if((ka|0)==258){oa=258;pa=ia;break d}else{qa=ka;ra=ia}else{qa=ea;ra=fa}ga=ga+-1|0;if(!(ga>>>0>=ca>>>0&ga>>>0>>0)){sa=qa;ta=ra;ua=53;break}else{ea=qa;fa=ra}}}else{fa=(s|0)==(H|0);ea=0;ga=0;ka=A;while(1){ja=c[$+(ka<<2)>>2]|0;ha=s-ja|0;if(fa)va=da;else{ma=e+ja|0;ja=I;while(1){if((a[ma>>0]|0)!=(a[ja>>0]|0)){wa=ja;break}ja=ja+1|0;if((ja|0)==(E|0)){wa=E;break}else ma=ma+1|0}va=wa}ma=va-da|0;if(ma>>>0>ea>>>0)if((ma|0)==258){oa=258;pa=ha;break d}else{xa=ma;ya=ha}else{xa=ea;ya=ga}ka=ka+-1|0;if(!(ka>>>0>=ca>>>0&ka>>>0>>0)){sa=xa;ta=ya;ua=53;break}else{ea=xa;ga=ya}}}while(0);if((ua|0)==53){ua=0;if(sa>>>0<3){ua=54;break}else{oa=sa;pa=ta}}da=28;I=1;while(1){ga=(I+da|0)>>>1;if((c[29120+(ga<<2)>>2]|0)>>>0>oa>>>0){ea=ga+-1|0;ka=c[29120+(ea<<2)>>2]|0;if(ka>>>0>oa>>>0){za=ea;Aa=I}else{Ba=ea;Ca=ka;break}}else{za=da;Aa=ga+1|0}if(Aa>>>0>za>>>0){Ba=28;Ca=258;break}else{da=za;I=Aa}}I=oa-Ca|0;da=29;ga=1;while(1){ka=(ga+da|0)>>>1;if((c[29376+(ka<<2)>>2]|0)>>>0>pa>>>0){ea=ka+-1|0;fa=c[29376+(ea<<2)>>2]|0;if(fa>>>0>pa>>>0){Da=ea;Ea=ga}else{Fa=ea;Ga=fa;break}}else{Da=da;Ea=ka+1|0}if(Ea>>>0>Da>>>0){Fa=29;Ga=24577;break}else{da=Da;ga=Ea}}ga=pa-Ga|0;da=Ba+257|0;ka=c[q>>2]|0;fa=ka+1|0;ea=c[r>>2]|0;do if(fa<<2>>>0>ea>>>0){ma=fa<<3;ja=bq(c[b>>2]|0,ma)|0;if(!ja){Ha=c[q>>2]|0;Ia=c[r>>2]|0;break}else{c[r>>2]=ma;c[b>>2]=ja;Ja=ja;Ka=ma;ua=74;break}}else{Ja=c[b>>2]|0;Ka=ea;ua=74}while(0);if((ua|0)==74){ua=0;c[q>>2]=fa;c[Ja+(ka<<2)>>2]=da;Ha=fa;Ia=Ka}ea=Ha+1|0;do if(ea<<2>>>0>Ia>>>0){ma=ea<<3;ja=bq(c[b>>2]|0,ma)|0;if(!ja){La=c[q>>2]|0;Ma=c[r>>2]|0;break}else{c[r>>2]=ma;c[b>>2]=ja;Na=ja;Oa=ma;ua=80;break}}else{Na=c[b>>2]|0;Oa=Ia;ua=80}while(0);if((ua|0)==80){ua=0;c[q>>2]=ea;c[Na+(Ha<<2)>>2]=I;La=ea;Ma=Oa}fa=La+1|0;do if(fa<<2>>>0>Ma>>>0){da=fa<<3;ka=bq(c[b>>2]|0,da)|0;if(!ka){Pa=c[q>>2]|0;Qa=c[r>>2]|0;break}else{c[r>>2]=da;c[b>>2]=ka;Ra=ka;Sa=da;ua=86;break}}else{Ra=c[b>>2]|0;Sa=Ma;ua=86}while(0);if((ua|0)==86){ua=0;c[q>>2]=fa;c[Ra+(La<<2)>>2]=Fa;Pa=fa;Qa=Sa}ea=Pa+1|0;do if(ea<<2>>>0>Qa>>>0){I=ea<<3;da=bq(c[b>>2]|0,I)|0;if(!da)break;c[r>>2]=I;c[b>>2]=da;Ta=da;ua=91}else{Ta=c[b>>2]|0;ua=91}while(0);if((ua|0)==91){ua=0;c[q>>2]=ea;c[Ta+(Pa<<2)>>2]=ga}fa=oa+-1|0;if(!fa){Ua=s;Va=t;Wa=U;Xa=V;Ya=W;Za=X;_a=Y;$a=Z;break}da=0;I=s;ka=U;ma=V;ja=W;ia=Y;na=Z;ab=X;while(1){bb=I+1|0;do if(bb>>>0>>0){cb=(I+7|0)>>>0>>0?6:f-bb|0;if(!cb){db=0;break}eb=0;fb=0;do{eb=d[e+(fb+bb)>>0]<<(fb<<1)^eb;fb=fb+1|0}while(fb>>>0>>0);db=eb&65535}else db=0;while(0);cb=h+(db*12|0)|0;fb=cb+4|0;ha=c[fb>>2]|0;gb=ha+1|0;hb=cb+8|0;if(gb<<2>>>0>(c[hb>>2]|0)>>>0){ib=gb<<3;jb=bq(c[cb>>2]|0,ib)|0;if(!jb){Ua=bb;Va=9922;Wa=ka;Xa=ma;Ya=ja;Za=ab;_a=ia;$a=na;break c}c[hb>>2]=ib;c[cb>>2]=jb;kb=jb}else kb=c[cb>>2]|0;c[fb>>2]=gb;c[kb+(ha<<2)>>2]=bb;if(!db){ha=f-bb|0;gb=ha>>>0<258?ha:258;f:do if(!gb)lb=0;else{ha=0;while(1){if(a[e+(ha+bb)>>0]|0){lb=ha;break f}ha=ha+1|0;if(ha>>>0>=gb>>>0){lb=gb;break}}}while(0);gb=ma+1|0;if(gb<<2>>>0>ja>>>0){ha=gb<<3;eb=bq(ia,ha)|0;if(!eb){Ua=bb;Va=9922;Wa=ka;Xa=ma;Ya=ja;Za=ab;_a=ia;$a=na;break c}mb=eb;nb=ha;ob=eb;pb=eb;qb=eb}else{mb=ka;nb=ja;ob=ab;pb=ia;qb=na}c[mb+(ma<<2)>>2]=lb;rb=mb;sb=gb;tb=nb;ub=ob;vb=pb;wb=qb}else{rb=ka;sb=ma;tb=ja;ub=ab;vb=ia;wb=na}da=da+1|0;if(da>>>0>=fa>>>0){Ua=bb;Va=t;Wa=rb;Xa=sb;Ya=tb;Za=ub;_a=vb;$a=wb;break}else{I=bb;ka=rb;ma=sb;ja=tb;ia=vb;na=wb;ab=ub}}}else ua=54;while(0);if((ua|0)==54){ua=0;E=d[e+s>>0]|0;A=c[q>>2]|0;H=A+1|0;if(H<<2>>>0>(c[r>>2]|0)>>>0){B=H<<3;F=bq(c[b>>2]|0,B)|0;if(!F){n=9921;o=j;p=X;break a}c[r>>2]=B;c[b>>2]=F;xb=F}else xb=c[b>>2]|0;c[q>>2]=H;c[xb+(A<<2)>>2]=E;Ua=s;Va=t;Wa=U;Xa=V;Ya=W;Za=X;_a=Y;$a=Z}s=Ua+1|0;if(s>>>0>=f>>>0){n=Va;o=j;p=Za;break}else{t=Va;u=Wa;v=Xa;w=Ya;x=_a;y=Za;z=$a}}}else{n=l;o=j;p=0}}else{n=9919;o=0;p=0}while(0);j=0;do{l=h+(j*12|0)|0;c[l+8>>2]=0;c[l+4>>2]=0;cq(c[l>>2]|0);c[l>>2]=0;j=j+1|0}while((j|0)!=65536);cq(h);cq(m);cq(o);cq(p);i=n;return i|0}function Ap(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;i=f+4|0;if(!(c[i>>2]|0))return;j=g+12|0;k=g+24|0;g=e+4|0;l=e+8|0;m=h+12|0;n=h+24|0;h=0;do{o=c[(c[f>>2]|0)+(h<<2)>>2]|0;p=c[(c[j>>2]|0)+(o<<2)>>2]|0;q=c[(c[k>>2]|0)+(o<<2)>>2]|0;if(q|0){r=q+-1|0;s=0;t=c[b>>2]|0;do{u=p>>>(r-s|0)&1;do if(!(t&7)){v=c[g>>2]|0;w=v+1|0;if((c[l>>2]|0)>>>0>>0){x=w<<1;y=bq(c[e>>2]|0,x)|0;if(!y)break;c[l>>2]=x;c[e>>2]=y;z=y}else z=c[e>>2]|0;c[g>>2]=w;a[z+v>>0]=0}while(0);v=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[v>>0]=u<<(c[b>>2]&7)|(d[v>>0]|0);t=(c[b>>2]|0)+1|0;c[b>>2]=t;s=s+1|0}while((s|0)!=(q|0))}if(o>>>0>256){q=c[28992+(o+-257<<2)>>2]|0;s=c[f>>2]|0;t=c[s+(h+1<<2)>>2]|0;r=c[s+(h+2<<2)>>2]|0;p=c[29248+(r<<2)>>2]|0;v=h+3|0;w=c[s+(v<<2)>>2]|0;if((o+-265|0)>>>0<=19){s=0;y=c[b>>2]|0;do{x=t>>>s&1;do if(!(y&7)){A=c[g>>2]|0;B=A+1|0;if((c[l>>2]|0)>>>0>>0){C=B<<1;D=bq(c[e>>2]|0,C)|0;if(!D)break;c[l>>2]=C;c[e>>2]=D;E=D}else E=c[e>>2]|0;c[g>>2]=B;a[E+A>>0]=0}while(0);u=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[u>>0]=x<<(c[b>>2]&7)|(d[u>>0]|0);y=(c[b>>2]|0)+1|0;c[b>>2]=y;s=s+1|0}while((s|0)!=(q|0))}q=c[(c[m>>2]|0)+(r<<2)>>2]|0;s=c[(c[n>>2]|0)+(r<<2)>>2]|0;if(s|0){y=s+-1|0;t=0;o=c[b>>2]|0;do{u=q>>>(y-t|0)&1;do if(!(o&7)){A=c[g>>2]|0;B=A+1|0;if((c[l>>2]|0)>>>0>>0){D=B<<1;C=bq(c[e>>2]|0,D)|0;if(!C)break;c[l>>2]=D;c[e>>2]=C;F=C}else F=c[e>>2]|0;c[g>>2]=B;a[F+A>>0]=0}while(0);x=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[x>>0]=u<<(c[b>>2]&7)|(d[x>>0]|0);o=(c[b>>2]|0)+1|0;c[b>>2]=o;t=t+1|0}while((t|0)!=(s|0))}if(r>>>0<4)G=v;else{s=0;t=c[b>>2]|0;do{o=w>>>s&1;do if(!(t&7)){y=c[g>>2]|0;q=y+1|0;if((c[l>>2]|0)>>>0>>0){x=q<<1;A=bq(c[e>>2]|0,x)|0;if(!A)break;c[l>>2]=x;c[e>>2]=A;H=A}else H=c[e>>2]|0;c[g>>2]=q;a[H+y>>0]=0}while(0);u=(c[e>>2]|0)+((c[g>>2]|0)+-1)|0;a[u>>0]=o<<(c[b>>2]&7)|(d[u>>0]|0);t=(c[b>>2]|0)+1|0;c[b>>2]=t;s=s+1|0}while((s|0)!=(p|0));G=v}}else G=h;h=G+1|0}while(h>>>0<(c[i>>2]|0)>>>0);return}function Bp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;g=Ia;Ia=Ia+16|0;h=g;c[a+36>>2]=e;i=(d|0)==0;if(i){j=80;Ia=g;return j|0}k=0;l=0;m=0;do{n=c[b+(m<<2)>>2]|0;l=n+l|0;k=k+((n|0)!=0&1)|0;m=m+1|0}while((m|0)!=(d|0));if(i){j=80;Ia=g;return j|0}i=a+40|0;c[i>>2]=d;m=a+24|0;n=a+32|0;o=a+28|0;c[o>>2]=0;p=d<<2;do if(p>>>0>(c[n>>2]|0)>>>0){q=d<<3;r=bq(c[m>>2]|0,q)|0;if(!r){j=9905;Ia=g;return j|0}else{c[n>>2]=q;c[m>>2]=r;break}}while(0);c[o>>2]=d;Av(c[m>>2]|0,0,p|0)|0;switch(k|0){case 0:{c[c[m>>2]>>2]=1;j=wp(a)|0;Ia=g;return j|0}case 1:{p=0;do{if(c[b+(p<<2)>>2]|0)c[(c[m>>2]|0)+(p<<2)>>2]=1;p=p+1|0}while((p|0)!=(d|0));j=wp(a)|0;Ia=g;return j|0}default:{c[h>>2]=0;d=h+8|0;c[d>>2]=0;p=h+4|0;c[p>>2]=0;o=h+12|0;c[o>>2]=16;n=Cp(h,b,c[i>>2]|0,l)|0;do if(!n){if(e){r=1;q=0;s=0;t=0;do{u=t;t=c[p>>2]|0;c[p>>2]=u;v=q;q=c[d>>2]|0;c[d>>2]=v;w=s;s=c[h>>2]|0;c[h>>2]=w;x=w;if(u|0){w=c[o>>2]|0;y=0;do{z=x+(B(w,y)|0)|0;c[z+8>>2]=0;c[z+4>>2]=0;cq(c[z>>2]|0);c[z>>2]=0;y=y+1|0}while(y>>>0>>0)}c[p>>2]=0;if(t>>>0>1){u=c[o>>2]|0;y=s;w=0;z=0;A=v;C=x;D=1;while(1){E=z+1|0;F=B(u,E)|0;if(F>>>0>A>>>0){G=F<<1;F=bq(C,G)|0;if(!F){H=9907;I=C;J=A;K=z;break}else{L=G;M=F}}else{L=A;M=C}F=M+(B(u,z)|0)|0;c[F>>2]=0;G=F+8|0;c[G>>2]=0;N=F+4|0;c[N>>2]=0;O=y+(w<<4)|0;P=F+12|0;c[P>>2]=c[O+12>>2];Q=O+4|0;R=c[Q>>2]|0;if(R&1073741823){S=R<<3;T=bq(0,S)|0;if(T|0){c[G>>2]=S;c[F>>2]=T;U=T;V=28}}else{U=0;V=28}if((V|0)==28?(V=0,c[N>>2]=R,R=c[Q>>2]|0,R|0):0){Q=c[O>>2]|0;O=0;do{c[U+(O<<2)>>2]=c[Q+(O<<2)>>2];O=O+1|0}while((O|0)!=(R|0))}R=y+(D<<4)|0;O=R+4|0;if(c[O>>2]|0){Q=0;do{T=c[(c[R>>2]|0)+(Q<<2)>>2]|0;S=c[N>>2]|0;W=S+1|0;do if(W<<2>>>0>(c[G>>2]|0)>>>0){X=W<<3;Y=bq(c[F>>2]|0,X)|0;if(!Y)break;c[G>>2]=X;c[F>>2]=Y;Z=Y;V=37}else{Z=c[F>>2]|0;V=37}while(0);if((V|0)==37){V=0;c[N>>2]=W;c[Z+(S<<2)>>2]=T}Q=Q+1|0}while(Q>>>0<(c[O>>2]|0)>>>0)}f[P>>2]=+f[R+12>>2]+ +f[P>>2];w=w+2|0;D=w|1;if(D>>>0>=t>>>0){H=0;I=M;J=L;K=E;break}else{z=E;A=L;C=M}}c[p>>2]=K;c[d>>2]=J;c[h>>2]=I;_=H}else _=0;if(r>>>0>>0)$=Cp(h,b,c[i>>2]|0,l)|0;else $=_;r=r+1|0}while(r>>>0<=e>>>0&($|0)==0);if(!$){aa=s;ba=t}else{ca=$;da=s;ea=t;V=60;break}}else{aa=0;ba=0}r=k+-1|0;q=c[p>>2]|0;if(q>>>0>r>>>0){C=c[h>>2]|0;A=c[o>>2]|0;z=r;do{D=C+(B(A,z)|0)|0;c[D+8>>2]=0;c[D+4>>2]=0;cq(c[D>>2]|0);c[D>>2]=0;z=z+1|0}while(z>>>0>>0);fa=A}else fa=c[o>>2]|0;A=B(fa,r)|0;if(A>>>0>(c[d>>2]|0)>>>0){z=A<<1;A=bq(c[h>>2]|0,z)|0;if(!A)ga=q;else{c[d>>2]=z;c[h>>2]=A;V=52}}else V=52;if((V|0)==52){c[p>>2]=r;ga=r}if(!ga)ha=0;else{A=c[h>>2]|0;z=0;do{C=A+(B(fa,z)|0)|0;t=c[C+4>>2]|0;if(t|0){s=c[m>>2]|0;D=c[C>>2]|0;C=0;do{w=s+(c[D+(C<<2)>>2]<<2)|0;c[w>>2]=(c[w>>2]|0)+1;C=C+1|0}while(C>>>0>>0)}z=z+1|0}while(z>>>0>>0);ha=ga}ia=wp(a)|0;ja=aa;ka=ba;la=ha;ma=ga}else{ca=n;da=0;ea=0;V=60}while(0);if((V|0)==60){V=c[p>>2]|0;ia=ca;ja=da;ka=ea;la=V;ma=V}V=c[h>>2]|0;if(la|0){la=c[o>>2]|0;o=0;do{ea=V+(B(la,o)|0)|0;c[ea+8>>2]=0;c[ea+4>>2]=0;cq(c[ea>>2]|0);c[ea>>2]=0;o=o+1|0}while(o>>>0>>0)}ma=p;c[ma>>2]=0;c[ma+4>>2]=0;cq(V);c[h>>2]=0;h=ja;if(ka|0){ja=0;do{V=h+(ja<<4)|0;c[V+8>>2]=0;c[V+4>>2]=0;cq(c[V>>2]|0);c[V>>2]=0;ja=ja+1|0}while((ja|0)!=(ka|0))}cq(h);j=ia;Ia=g;return j|0}}return 0}function Cp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0;g=a+4|0;a:do if(d|0){h=a+12|0;i=a+8|0;j=+(e>>>0);k=0;while(1){l=b+(k<<2)|0;m=c[l>>2]|0;if(m|0){n=c[g>>2]|0;o=n+1|0;p=c[h>>2]|0;q=B(p,o)|0;if(q>>>0>(c[i>>2]|0)>>>0){r=q<<1;q=bq(c[a>>2]|0,r)|0;if(!q)break;c[i>>2]=r;c[a>>2]=q;s=q;t=c[h>>2]|0;u=c[l>>2]|0}else{s=c[a>>2]|0;t=p;u=m}c[g>>2]=o;o=s+(B(t,n)|0)|0;c[o>>2]=0;n=o+8|0;c[n>>2]=0;m=o+4|0;c[m>>2]=0;f[o+12>>2]=+(u>>>0)/j;p=bq(0,8)|0;if(p|0){c[n>>2]=8;c[o>>2]=p;c[m>>2]=1;c[p>>2]=k}}k=k+1|0;if(k>>>0>=d>>>0)break a}c[i>>2]=0;c[g>>2]=0;cq(c[a>>2]|0);c[a>>2]=0;v=9904;return v|0}while(0);d=c[g>>2]|0;if(!d){v=0;return v|0}g=c[a>>2]|0;if((d|0)==1){v=0;return v|0}a=d;do{u=a*10|0;t=(u+-117|0)>>>0<13|(u+-130|0)>>>0<13?11:(u>>>0)/13|0;a=(t|0)==0?1:t;t=d-a|0;if(!t)w=0;else{u=0;s=0;while(1){b=u+a|0;e=g+(b<<4)+12|0;j=+f[e>>2];k=g+(u<<4)+12|0;x=+f[k>>2];if(j>2]=x;f[k>>2]=j;k=g+(u<<4)|0;e=g+(b<<4)|0;h=g+(u<<4)+4|0;p=c[h>>2]|0;m=g+(b<<4)+4|0;c[h>>2]=c[m>>2];c[m>>2]=p;p=g+(u<<4)+8|0;m=c[p>>2]|0;h=g+(b<<4)+8|0;c[p>>2]=c[h>>2];c[h>>2]=m;m=c[k>>2]|0;c[k>>2]=c[e>>2];c[e>>2]=m;y=1}else y=s;u=u+1|0;if(u>>>0>=t>>>0){w=y;break}else s=y}}}while(a>>>0>1|w<<24>>24!=0);v=0;return v|0}function Dp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=d>>>24&255;f=b+4|0;g=c[f>>2]|0;h=g+1|0;i=b+8|0;if((c[i>>2]|0)>>>0>>0){j=h<<1;k=bq(c[b>>2]|0,j)|0;if(k|0){c[i>>2]=j;c[b>>2]=k;l=k;m=5}}else{l=c[b>>2]|0;m=5}if((m|0)==5){c[f>>2]=h;a[l+g>>0]=e}e=d>>>16&255;g=c[f>>2]|0;l=g+1|0;if((c[i>>2]|0)>>>0>>0){h=l<<1;k=bq(c[b>>2]|0,h)|0;if(k|0){c[i>>2]=h;c[b>>2]=k;n=k;m=10}}else{n=c[b>>2]|0;m=10}if((m|0)==10){c[f>>2]=l;a[n+g>>0]=e}e=d>>>8&255;g=c[f>>2]|0;n=g+1|0;if((c[i>>2]|0)>>>0>>0){l=n<<1;k=bq(c[b>>2]|0,l)|0;if(k|0){c[i>>2]=l;c[b>>2]=k;o=k;m=15}}else{o=c[b>>2]|0;m=15}if((m|0)==15){c[f>>2]=n;a[o+g>>0]=e}e=d&255;d=c[f>>2]|0;g=d+1|0;do if((c[i>>2]|0)>>>0>>0){o=g<<1;n=bq(c[b>>2]|0,o)|0;if(!n)return;else{c[i>>2]=o;c[b>>2]=n;p=n;break}}else p=c[b>>2]|0;while(0);c[f>>2]=g;a[p+d>>0]=e;return}function Ep(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=Ia;Ia=Ia+16|0;j=i;if(g>>>0<2){k=53;Ia=i;return k|0}l=a[f>>0]|0;m=l&255;n=d[f+1>>0]|0;if(((m<<8|n)>>>0)%31|0|0){k=24;Ia=i;return k|0}if(l<<24>>24<0|(m&15|0)!=8){k=25;Ia=i;return k|0}if(n&32|0){k=26;Ia=i;return k|0}n=c[e>>2]|0;c[j>>2]=c[b>>2];m=j+4|0;c[m>>2]=n;c[j+8>>2]=n;n=tp(j,f,g,2)|0;l=c[j>>2]|0;c[b>>2]=l;b=c[m>>2]|0;c[e>>2]=b;e=l;if(n|0){k=n;Ia=i;return k|0}if(!(c[h>>2]|0)){h=f+(g+-4)|0;g=(d[h+1>>0]|0)<<16|(d[h>>0]|0)<<24|(d[h+2>>0]|0)<<8|(d[h+3>>0]|0);if(!b){o=0;p=1}else{h=0;f=1;n=b;b=e;while(1){e=n>>>0<5550?n:5550;n=n-e|0;if(!e){q=h;r=f;s=b}else{l=e;m=f;j=b;t=h;while(1){m=m+(d[j>>0]|0)|0;t=m+t|0;l=l+-1|0;if(!l)break;else j=j+1|0}q=t;r=m;s=b+e|0}f=(r>>>0)%65521|0;h=(q>>>0)%65521|0;if(!n)break;else b=s}o=h<<16;p=f}if((o|p|0)!=(g|0)){k=58;Ia=i;return k|0}}k=0;Ia=i;return k|0}function Fp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;i=Ia;Ia=Ia+32|0;j=i+12|0;k=i;l=c[b>>2]|0;m=c[e>>2]|0;c[k>>2]=l;n=k+4|0;c[n>>2]=m;o=k+8|0;c[o>>2]=m;p=m+1|0;if((m|0)!=-1){q=p<<1;r=bq(l,q)|0;if(!r){s=p;t=m;u=l;v=m}else{c[o>>2]=q;c[k>>2]=r;w=r;x=q;y=4}}else{w=l;x=-1;y=4}if((y|0)==4){c[n>>2]=p;a[w+m>>0]=120;s=m+2|0;t=x;u=w;v=p}if(t>>>0>>0){t=s<<1;p=bq(u,t)|0;if(p|0){c[o>>2]=t;c[k>>2]=p;z=p;y=8}}else{z=u;y=8}if((y|0)==8){c[n>>2]=s;a[z+v>>0]=1}c[j>>2]=0;v=j+8|0;c[v>>2]=0;z=j+4|0;c[z>>2]=0;s=yp(j,f,g,h)|0;if(s|0){A=c[k>>2]|0;c[b>>2]=A;B=c[n>>2]|0;c[e>>2]=B;Ia=i;return s|0}if(!g){C=0;D=1}else{h=0;u=1;p=g;g=f;while(1){f=p>>>0<5550?p:5550;p=p-f|0;if(!f){E=h;F=u;G=g}else{t=f;w=u;x=g;m=h;while(1){w=w+(d[x>>0]|0)|0;m=w+m|0;t=t+-1|0;if(!t)break;else x=x+1|0}E=m;F=w;G=g+f|0}u=(F>>>0)%65521|0;h=(E>>>0)%65521|0;if(!p)break;else g=G}C=h<<16;D=u}u=C|D;if(c[z>>2]|0){D=0;C=c[k>>2]|0;h=c[n>>2]|0;G=c[o>>2]|0;while(1){g=a[(c[j>>2]|0)+D>>0]|0;p=h+1|0;if(G>>>0

>>0){E=p<<1;F=bq(C,E)|0;if(!F){H=C;I=h;J=G}else{K=F;L=E;y=22}}else{K=C;L=G;y=22}if((y|0)==22){y=0;a[K+h>>0]=g;H=K;I=p;J=L}D=D+1|0;if(D>>>0>=(c[z>>2]|0)>>>0)break;else{C=H;h=I;G=J}}c[n>>2]=I;c[o>>2]=J;c[k>>2]=H}c[v>>2]=0;c[z>>2]=0;cq(c[j>>2]|0);c[j>>2]=0;Dp(k,u);A=c[k>>2]|0;c[b>>2]=A;B=c[n>>2]|0;c[e>>2]=B;Ia=i;return s|0}function Gp(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;if(!(c[585785]|0)){e=0;do{f=e>>>1;g=(e&1|0)==0?f:f^-306674912;f=g>>>1;h=(g&1|0)==0?f:f^-306674912;f=h>>>1;g=(h&1|0)==0?f:f^-306674912;f=g>>>1;h=(g&1|0)==0?f:f^-306674912;f=h>>>1;g=(h&1|0)==0?f:f^-306674912;f=g>>>1;h=(g&1|0)==0?f:f^-306674912;f=h>>>1;g=(h&1|0)==0?f:f^-306674912;f=g>>>1;c[1682848+(e<<2)>>2]=(g&1|0)==0?f:f^-306674912;e=e+1|0}while((e|0)!=256);c[585785]=1}if(!b){i=0;return i|0}e=-1;f=0;do{e=c[1682848+((e&255^(d[a+f>>0]|0))<<2)>>2]^e>>>8;f=f+1|0}while((f|0)!=(b|0));i=~e;return i|0}function Hp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;h=c[d>>2]|0;i=e+12|0;j=i+h|0;if(j>>>0>>0|j>>>0>>0){k=77;return k|0}i=bq(c[b>>2]|0,j)|0;if(!i){k=9930;return k|0}c[b>>2]=i;c[d>>2]=j;j=i+h|0;h=e>>>24&255;a[j>>0]=h;i=e>>>16&255;d=j+1|0;a[d>>0]=i;b=e>>>8&255;l=j+2|0;a[l>>0]=b;m=j+3|0;a[m>>0]=e;n=j+4|0;a[n>>0]=a[f>>0]|0;a[j+5>>0]=a[f+1>>0]|0;a[j+6>>0]=a[f+2>>0]|0;a[j+7>>0]=a[f+3>>0]|0;if(!e){o=h;p=i;q=b;r=0}else{b=0;do{a[j+(b+8)>>0]=a[g+b>>0]|0;b=b+1|0}while((b|0)!=(e|0));o=a[j>>0]|0;p=a[d>>0]|0;q=a[l>>0]|0;r=a[m>>0]|0}m=(p&255)<<16|(o&255)<<24|(q&255)<<8|r&255;r=Gp(n,m+4|0)|0;n=j+8+m|0;a[n>>0]=r>>>24;a[n+1>>0]=r>>>16;a[n+2>>0]=r>>>8;a[n+3>>0]=r;k=0;return k|0}function Ip(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=b+4|0;g=bq(c[f>>2]|0,(c[b>>2]<<2)+4|0)|0;h=b+8|0;i=bq(c[h>>2]|0,(c[b>>2]<<2)+4|0)|0;if(!((g|0)!=0&(i|0)!=0)){cq(g);cq(i);j=9933;return j|0}k=c[b>>2]|0;c[b>>2]=k+1;c[f>>2]=g;c[h>>2]=i;i=g+(k<<2)|0;c[i>>2]=0;k=bq(0,1)|0;if(k|0){a[k>>0]=0;c[i>>2]=k}k=(c[f>>2]|0)+((c[b>>2]|0)+-1<<2)|0;f=Ht(d)|0;i=bq(c[k>>2]|0,f+1|0)|0;if((i|0?(a[i+f>>0]=0,c[k>>2]=i,f|0):0)?(a[i>>0]=a[d>>0]|0,(f|0)!=1):0){i=1;do{a[(c[k>>2]|0)+i>>0]=a[d+i>>0]|0;i=i+1|0}while((i|0)!=(f|0))}f=(c[h>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[f>>2]=0;i=bq(0,1)|0;if(i|0){a[i>>0]=0;c[f>>2]=i}i=(c[h>>2]|0)+((c[b>>2]|0)+-1<<2)|0;b=Ht(e)|0;h=bq(c[i>>2]|0,b+1|0)|0;if(!h){j=0;return j|0}a[h+b>>0]=0;c[i>>2]=h;if(!b){j=0;return j|0}a[h>>0]=a[e>>0]|0;if((b|0)==1){j=0;return j|0}h=1;do{a[(c[i>>2]|0)+h>>0]=a[e+h>>0]|0;h=h+1|0}while((h|0)!=(b|0));j=0;return j|0}function Jp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=a+4|0;d=c[b>>2]|0;e=a+8|0;f=a+12|0;g=a+16|0;if(!(c[a>>2]|0)){h=d;cq(h);i=c[e>>2]|0;cq(i);j=c[f>>2]|0;cq(j);k=c[g>>2]|0;cq(k);return}l=0;m=d;while(1){d=m+(l<<2)|0;cq(c[d>>2]|0);c[d>>2]=0;d=(c[e>>2]|0)+(l<<2)|0;cq(c[d>>2]|0);c[d>>2]=0;d=(c[f>>2]|0)+(l<<2)|0;cq(c[d>>2]|0);c[d>>2]=0;d=(c[g>>2]|0)+(l<<2)|0;cq(c[d>>2]|0);c[d>>2]=0;l=l+1|0;d=c[b>>2]|0;if(l>>>0>=(c[a>>2]|0)>>>0){h=d;break}else m=d}cq(h);i=c[e>>2]|0;cq(i);j=c[f>>2]|0;cq(j);k=c[g>>2]|0;cq(k);return}function Kp(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=b+4|0;i=bq(c[h>>2]|0,(c[b>>2]<<2)+4|0)|0;j=b+8|0;k=bq(c[j>>2]|0,(c[b>>2]<<2)+4|0)|0;l=b+12|0;m=bq(c[l>>2]|0,(c[b>>2]<<2)+4|0)|0;n=b+16|0;o=bq(c[n>>2]|0,(c[b>>2]<<2)+4|0)|0;if(!((i|0)!=0&(k|0)!=0&(m|0)!=0&(o|0)!=0)){cq(i);cq(k);cq(m);cq(o);p=9934;return p|0}q=c[b>>2]|0;c[b>>2]=q+1;c[h>>2]=i;c[j>>2]=k;c[l>>2]=m;c[n>>2]=o;o=i+(q<<2)|0;c[o>>2]=0;q=bq(0,1)|0;if(q|0){a[q>>0]=0;c[o>>2]=q}q=(c[h>>2]|0)+((c[b>>2]|0)+-1<<2)|0;h=Ht(d)|0;o=bq(c[q>>2]|0,h+1|0)|0;if((o|0?(a[o+h>>0]=0,c[q>>2]=o,h|0):0)?(a[o>>0]=a[d>>0]|0,(h|0)!=1):0){o=1;do{a[(c[q>>2]|0)+o>>0]=a[d+o>>0]|0;o=o+1|0}while((o|0)!=(h|0))}h=(c[j>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[h>>2]=0;o=bq(0,1)|0;if(o|0){a[o>>0]=0;c[h>>2]=o}o=(c[j>>2]|0)+((c[b>>2]|0)+-1<<2)|0;j=Ht(e)|0;h=bq(c[o>>2]|0,j+1|0)|0;if((h|0?(a[h+j>>0]=0,c[o>>2]=h,j|0):0)?(a[h>>0]=a[e>>0]|0,(j|0)!=1):0){h=1;do{a[(c[o>>2]|0)+h>>0]=a[e+h>>0]|0;h=h+1|0}while((h|0)!=(j|0))}j=(c[l>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[j>>2]=0;h=bq(0,1)|0;if(h|0){a[h>>0]=0;c[j>>2]=h}h=(c[l>>2]|0)+((c[b>>2]|0)+-1<<2)|0;l=Ht(f)|0;j=bq(c[h>>2]|0,l+1|0)|0;if((j|0?(a[j+l>>0]=0,c[h>>2]=j,l|0):0)?(a[j>>0]=a[f>>0]|0,(l|0)!=1):0){j=1;do{a[(c[h>>2]|0)+j>>0]=a[f+j>>0]|0;j=j+1|0}while((j|0)!=(l|0))}l=(c[n>>2]|0)+((c[b>>2]|0)+-1<<2)|0;c[l>>2]=0;j=bq(0,1)|0;if(j|0){a[j>>0]=0;c[l>>2]=j}j=(c[n>>2]|0)+((c[b>>2]|0)+-1<<2)|0;b=Ht(g)|0;n=bq(c[j>>2]|0,b+1|0)|0;if(!n){p=0;return p|0}a[n+b>>0]=0;c[j>>2]=n;if(!b){p=0;return p|0}a[n>>0]=a[g>>0]|0;if((b|0)==1){p=0;return p|0}n=1;do{a[(c[j>>2]|0)+n>>0]=a[g+n>>0]|0;n=n+1|0}while((n|0)!=(b|0));p=0;return p|0}function Lp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[a+28>>2]|0;if(b|0)cq(b);c[a+32>>2]=0;b=a+68|0;d=a+72|0;e=c[d>>2]|0;f=a+76|0;if(!(c[b>>2]|0))g=e;else{h=0;i=e;while(1){e=i+(h<<2)|0;cq(c[e>>2]|0);c[e>>2]=0;e=(c[f>>2]|0)+(h<<2)|0;cq(c[e>>2]|0);c[e>>2]=0;h=h+1|0;e=c[d>>2]|0;if(h>>>0>=(c[b>>2]|0)>>>0){g=e;break}else i=e}}cq(g);cq(c[f>>2]|0);Jp(a+80|0);cq(c[a+132>>2]|0);cq(c[a+136>>2]|0);cq(c[a+140>>2]|0);return}function Mp(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;j=B(i,h)|0;h=c[f>>2]|0;i=c[f+4>>2]|0;switch(h|0){case 3:case 0:{k=1;break}case 2:{k=3;break}case 4:{k=2;break}case 6:{k=4;break}default:k=0}f=(B(k,i)|0)>>>3;k=h>>>2&1;l=c[g>>2]|0;if((l|0)==(h|0)?(c[g+4>>2]|0)==(i|0):0){switch(h|0){case 3:case 0:{m=1;break}case 2:{m=3;break}case 4:{m=2;break}case 6:{m=4;break}default:m=0}n=((B(B(i,j)|0,m)|0)+7|0)>>>3;if(!n){o=0;return o|0}m=0;do{a[b+m>>0]=a[e+m>>0]|0;m=m+1|0}while((m|0)!=(n|0));o=0;return o|0}switch(h|0){case 6:case 2:break;default:{if(!((h|4|0)==4&(i|0)==8)){o=59;return o|0}if((l|4|0)!=4){o=62;return o|0}h=g+4|0;n=c[h>>2]|0;switch(n|0){case 8:{switch(l|0){case 0:{if(!j){o=0;return o|0}m=g+16|0;p=g+20|0;if(!k){q=0;do{a[b+(B(q,f)|0)>>0]=a[e+q>>0]|0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}q=0;do{r=B(q,f)|0;s=b+(r+1)|0;a[s>>0]=-1;t=e+q|0;a[b+r>>0]=a[t>>0]|0;if(c[m>>2]|0?(c[p>>2]|0)==(d[t>>0]|0|0):0)a[s>>0]=0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}case 4:{if(!j){o=0;return o|0}if(!k){q=0;do{a[b+(B(q,f)|0)>>0]=a[e+(q<<1)>>0]|0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}else{q=0;do{p=q<<1;m=B(q,f)|0;a[b+m>>0]=a[e+p>>0]|0;a[b+(m+1)>>0]=a[e+(p|1)>>0]|0;q=q+1|0}while((q|0)!=(j|0));o=0;return o|0}break}default:{o=31;return o|0}}break}case 16:{switch(l|0){case 0:{if(!j){o=0;return o|0}q=g+16|0;p=g+20|0;if(!k){m=0;do{a[b+(B(m,f)|0)>>0]=a[e+(m<<1)>>0]|0;m=m+1|0}while((m|0)!=(j|0));o=0;return o|0}m=0;while(1){s=B(m,f)|0;t=b+(s+1)|0;a[t>>0]=-1;a[b+s>>0]=a[e+(m<<1)>>0]|0;if(c[q>>2]|0){s=m+1|0;if(((d[e+m>>0]|0)<<8|(d[e+s>>0]|0)|0)==(c[p>>2]|0)){a[t>>0]=0;u=s}else u=s}else u=m+1|0;if((u|0)==(j|0)){o=0;break}else m=u}return o|0}case 4:{if(!j){o=0;return o|0}if(!k){u=0;do{a[b+(B(u,f)|0)>>0]=a[e+(u<<2)>>0]|0;u=u+1|0}while((u|0)!=(j|0));o=0;return o|0}else{u=0;do{m=u<<2;p=B(u,f)|0;a[b+p>>0]=a[e+m>>0]|0;a[b+(p+1)>>0]=a[e+(m|2)>>0]|0;u=u+1|0}while((u|0)!=(j|0));o=0;return o|0}break}default:{o=31;return o|0}}break}default:{if(l|0){o=31;return o|0}if(!j){o=0;return o|0}u=g+16|0;m=g+20|0;if(!k){p=0;q=0;s=n;while(1){if(!s){v=0;w=q}else{t=0;r=s+-1|0;x=q;while(1){y=x+1|0;z=(((d[e+(x>>>3)>>0]|0)>>>(x&7^7)&1)<>>0>=s>>>0){v=z;w=y;break}else{t=z;x=y}}}a[b+(B(p,f)|0)>>0]=((v*255|0)>>>0)/(((1<>>0)|0;x=p+1|0;if((x|0)==(j|0)){o=0;break}p=x;q=w;s=c[h>>2]|0}return o|0}s=0;w=0;q=n;while(1){if(!q){A=0;C=w}else{n=0;p=q+-1|0;v=w;while(1){x=v+1|0;t=(((d[e+(v>>>3)>>0]|0)>>>(v&7^7)&1)<>>0>=q>>>0){A=t;C=x;break}else{n=t;v=x}}}v=B(s,f)|0;n=b+(v+1)|0;a[n>>0]=-1;if((A|0)!=0&(c[u>>2]|0)!=0?(p=(1<>2])+-1|0,!((p|0)==0?1:(p|0)!=(c[m>>2]|0))):0)a[n>>0]=0;a[b+v>>0]=((A*255|0)>>>0)/(((1<>2])+-1|0)>>>0)|0;v=s+1|0;if((v|0)==(j|0)){o=0;break}s=v;w=C;q=c[h>>2]|0}return o|0}}}}if((i|0)!=8){o=59;return o|0}i=g+4|0;h=c[i>>2]|0;switch(h|0){case 8:{switch(l|0){case 0:{if(!j){o=0;return o|0}q=g+16|0;C=g+20|0;if(!k){w=0;do{s=e+w|0;A=B(w,f)|0;a[b+A>>0]=a[s>>0]|0;a[b+(A+1)>>0]=a[s>>0]|0;a[b+(A+2)>>0]=a[s>>0]|0;w=w+1|0}while((w|0)!=(j|0));o=0;return o|0}w=0;do{s=B(w,f)|0;A=b+(s+3)|0;a[A>>0]=-1;m=e+w|0;a[b+s>>0]=a[m>>0]|0;a[b+(s+1)>>0]=a[m>>0]|0;a[b+(s+2)>>0]=a[m>>0]|0;if(c[q>>2]|0?(c[C>>2]|0)==(d[m>>0]|0|0):0)a[A>>0]=0;w=w+1|0}while((w|0)!=(j|0));o=0;return o|0}case 2:{if(!j){o=0;return o|0}w=(k|0)!=0;C=g+16|0;q=g+20|0;A=g+24|0;m=g+28|0;s=0;do{u=B(s,f)|0;if(w)a[b+(u+3)>>0]=-1;v=s*3|0;n=e+v|0;a[b+u>>0]=a[n>>0]|0;p=e+(v+1)|0;a[b+(u+1)>>0]=a[p>>0]|0;x=e+(v+2)|0;a[b+(u+2)>>0]=a[x>>0]|0;if((((w?(c[C>>2]|0)==1:0)?(c[q>>2]|0)==(d[n>>0]|0|0):0)?(c[A>>2]|0)==(d[p>>0]|0|0):0)?(c[m>>2]|0)==(d[x>>0]|0|0):0)a[b+(u+3)>>0]=0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}case 3:{if(!j){o=0;return o|0}s=g+12|0;m=(f|0)!=0;A=g+8|0;q=(f|0)==1;if(!k){C=0;while(1){w=e+C|0;u=a[w>>0]|0;if((c[s>>2]|0)>>>0<=(u&255)>>>0){o=46;D=179;break}if(m?(x=B(C,f)|0,a[b+x>>0]=a[(c[A>>2]|0)+((u&255)<<2)>>0]|0,!q):0){u=1;do{a[b+(u+x)>>0]=a[(c[A>>2]|0)+(((d[w>>0]|0)<<2)+u)>>0]|0;u=u+1|0}while((u|0)!=(f|0))}C=C+1|0;if(C>>>0>=j>>>0){o=0;D=179;break}}if((D|0)==179)return o|0}else{C=0;while(1){u=B(C,f)|0;a[b+(u+3)>>0]=-1;w=e+C|0;x=a[w>>0]|0;if((c[s>>2]|0)>>>0<=(x&255)>>>0){o=46;D=179;break}if(m?(a[b+u>>0]=a[(c[A>>2]|0)+((x&255)<<2)>>0]|0,!q):0){x=1;do{a[b+(x+u)>>0]=a[(c[A>>2]|0)+(((d[w>>0]|0)<<2)+x)>>0]|0;x=x+1|0}while((x|0)!=(f|0))}C=C+1|0;if(C>>>0>=j>>>0){o=0;D=179;break}}if((D|0)==179)return o|0}break}case 4:{if(!j){o=0;return o|0}if(!k){C=0;do{A=e+(C<<1)|0;q=B(C,f)|0;a[b+q>>0]=a[A>>0]|0;a[b+(q+1)>>0]=a[A>>0]|0;a[b+(q+2)>>0]=a[A>>0]|0;C=C+1|0}while((C|0)!=(j|0));o=0;return o|0}else{C=0;do{A=C<<1;q=e+A|0;m=B(C,f)|0;a[b+m>>0]=a[q>>0]|0;a[b+(m+1)>>0]=a[q>>0]|0;a[b+(m+2)>>0]=a[q>>0]|0;a[b+(m+3)>>0]=a[e+(A|1)>>0]|0;C=C+1|0}while((C|0)!=(j|0));o=0;return o|0}break}case 6:{if((j|0)==0|(f|0)==0){o=0;return o|0}C=0;do{A=C<<2;m=B(C,f)|0;q=0;do{a[b+(q+m)>>0]=a[e+(q+A)>>0]|0;q=q+1|0}while((q|0)!=(f|0));C=C+1|0}while((C|0)!=(j|0));o=0;return o|0}default:{o=0;return o|0}}break}case 16:{switch(l|0){case 0:{if(!j){o=0;return o|0}C=g+16|0;q=g+20|0;if(!k){A=0;do{m=e+(A<<1)|0;s=B(A,f)|0;a[b+s>>0]=a[m>>0]|0;a[b+(s+1)>>0]=a[m>>0]|0;a[b+(s+2)>>0]=a[m>>0]|0;A=A+1|0}while((A|0)!=(j|0));o=0;return o|0}A=0;while(1){m=B(A,f)|0;s=b+(m+3)|0;a[s>>0]=-1;x=e+(A<<1)|0;a[b+m>>0]=a[x>>0]|0;a[b+(m+1)>>0]=a[x>>0]|0;a[b+(m+2)>>0]=a[x>>0]|0;if(c[C>>2]|0){x=A+1|0;if(((d[e+A>>0]|0)<<8|(d[e+x>>0]|0)|0)==(c[q>>2]|0)){a[s>>0]=0;E=x}else E=x}else E=A+1|0;if((E|0)==(j|0)){o=0;break}else A=E}return o|0}case 2:{if(!j){o=0;return o|0}E=(k|0)!=0;A=g+16|0;q=g+20|0;C=g+24|0;x=g+28|0;s=0;do{m=B(s,f)|0;if(E)a[b+(m+3)>>0]=-1;w=s*6|0;u=e+w|0;a[b+m>>0]=a[u>>0]|0;p=e+(w+2)|0;a[b+(m+1)>>0]=a[p>>0]|0;n=e+(w+4)|0;a[b+(m+2)>>0]=a[n>>0]|0;if((((E?c[A>>2]|0:0)?((d[u>>0]|0)<<8|(d[e+(w|1)>>0]|0)|0)==(c[q>>2]|0):0)?((d[p>>0]|0)<<8|(d[e+(w+3)>>0]|0)|0)==(c[C>>2]|0):0)?((d[n>>0]|0)<<8|(d[e+(w+5)>>0]|0)|0)==(c[x>>2]|0):0)a[b+(m+3)>>0]=0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}case 4:{if(!j){o=0;return o|0}if(!k){s=0;do{x=e+(s<<2)|0;C=B(s,f)|0;a[b+C>>0]=a[x>>0]|0;a[b+(C+1)>>0]=a[x>>0]|0;a[b+(C+2)>>0]=a[x>>0]|0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}else{s=0;do{x=s<<2;C=e+x|0;q=B(s,f)|0;a[b+q>>0]=a[C>>0]|0;a[b+(q+1)>>0]=a[C>>0]|0;a[b+(q+2)>>0]=a[C>>0]|0;a[b+(q+3)>>0]=a[e+(x|2)>>0]|0;s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}break}case 6:{if((j|0)==0|(f|0)==0){o=0;return o|0}s=0;do{x=s<<3;q=B(s,f)|0;C=0;do{a[b+(C+q)>>0]=a[e+((C<<1)+x)>>0]|0;C=C+1|0}while((C|0)!=(f|0));s=s+1|0}while((s|0)!=(j|0));o=0;return o|0}default:{o=0;return o|0}}break}default:switch(l|0){case 0:{if(!j){o=0;return o|0}l=(k|0)==0;s=g+16|0;C=g+20|0;x=0;q=0;A=h;while(1){if(!A){F=0;G=x}else{E=0;m=A+-1|0;w=x;while(1){n=w+1|0;p=(((d[e+(w>>>3)>>0]|0)>>>(w&7^7)&1)<>>0>=A>>>0){F=p;G=n;break}else{E=p;w=n}}}w=B(q,f)|0;if((!l?(E=b+(w+3)|0,a[E>>0]=-1,(F|0)!=0&(c[s>>2]|0)!=0):0)?(m=(1<>2])+-1|0,!((m|0)==0?1:(m|0)!=(c[C>>2]|0))):0)a[E>>0]=0;E=(((F*255|0)>>>0)/(((1<>2])+-1|0)>>>0)|0)&255;a[b+w>>0]=E;a[b+(w+1)>>0]=E;a[b+(w+2)>>0]=E;E=q+1|0;if((E|0)==(j|0)){o=0;break}x=G;q=E;A=c[i>>2]|0}return o|0}case 3:{if(!j){o=0;return o|0}A=(k|0)==0;k=g+12|0;q=(f|0)==0;G=g+8|0;g=0;x=0;F=h;while(1){if(!F){H=0;I=x}else{h=0;C=F+-1|0;s=x;while(1){l=s+1|0;E=(((d[e+(s>>>3)>>0]|0)>>>(s&7^7)&1)<>>0>=F>>>0){H=E;I=l;break}else{h=E;s=l}}}if(!A)a[b+((B(g,f)|0)+3)>>0]=-1;if(H>>>0>=(c[k>>2]|0)>>>0){o=47;D=179;break}if(!q){s=H<<2;h=B(g,f)|0;C=0;do{a[b+(C+h)>>0]=a[(c[G>>2]|0)+(C+s)>>0]|0;C=C+1|0}while((C|0)!=(f|0))}C=g+1|0;if(C>>>0>=j>>>0){o=0;D=179;break}g=C;x=I;F=c[i>>2]|0}if((D|0)==179)return o|0;break}default:{o=0;return o|0}}}return 0}function Np(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;if((e|0)==0|(f|0)==0){c[b+208>>2]=48;return}if(f>>>0<29){c[b+208>>2]=27;return}f=b+52|0;Lp(f);g=b+56|0;c[g>>2]=0;c[f>>2]=0;h=b+88|0;i=b+72|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[i>>2]=6;h=b+76|0;c[h>>2]=8;c[b+80>>2]=0;c[b+84>>2]=0;j=b+68|0;c[j>>2]=0;k=b+60|0;c[k>>2]=0;l=b+64|0;c[l>>2]=0;m=b+104|0;c[b+168>>2]=0;n=b+184|0;o=m;p=o+48|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));a[m+48>>0]=0;m=b+208|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[n+24>>2]=0;if((((((((a[e>>0]|0)==-119?(a[e+1>>0]|0)==80:0)?(a[e+2>>0]|0)==78:0)?(a[e+3>>0]|0)==71:0)?(a[e+4>>0]|0)==13:0)?(a[e+5>>0]|0)==10:0)?(a[e+6>>0]|0)==26:0)?(a[e+7>>0]|0)==10:0){n=e+12|0;if((((a[n>>0]|0)==73?(a[e+13>>0]|0)==72:0)?(a[e+14>>0]|0)==68:0)?(a[e+15>>0]|0)==82:0){c[f>>2]=d[e+17>>0]<<16|d[e+16>>0]<<24|d[e+18>>0]<<8|d[e+19>>0];c[g>>2]=d[e+21>>0]<<16|d[e+20>>0]<<24|d[e+22>>0]<<8|d[e+23>>0];c[h>>2]=d[e+24>>0];c[i>>2]=d[e+25>>0];g=d[e+26>>0]|0;c[k>>2]=g;c[l>>2]=d[e+27>>0];c[j>>2]=d[e+28>>0];do if(!(c[b+4>>2]|0)){f=d[e+30>>0]<<16|d[e+29>>0]<<24|d[e+31>>0]<<8|d[e+32>>0];if((f|0)==(Gp(n,17)|0)){q=c[k>>2]|0;break}c[m>>2]=57;return}else q=g;while(0);if(q|0){c[m>>2]=32;return}if(c[l>>2]|0){c[m>>2]=33;return}if((c[j>>2]|0)>>>0>1){c[m>>2]=34;return}j=c[h>>2]|0;switch(c[i>>2]|0){case 0:{switch(j|0){case 1:case 2:case 4:case 8:case 16:{r=35;break}default:s=37}break}case 2:{switch(j|0){case 8:case 16:{r=35;break}default:s=37}break}case 3:{switch(j|0){case 1:case 2:case 4:case 8:{r=35;break}default:s=37}break}case 4:{switch(j|0){case 8:case 16:{r=35;break}default:s=37}break}case 6:{switch(j|0){case 8:case 16:{r=35;break}default:s=37}break}default:s=31}if((r|0)==35)s=0;c[m>>2]=s;return}c[m>>2]=29;return}c[m>>2]=28;return}function Op(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0;i=Ia;Ia=Ia+336|0;j=i+288|0;k=i+256|0;l=i+224|0;m=i+192|0;n=i+160|0;o=i+128|0;p=i+96|0;q=i+64|0;r=i+32|0;s=i;t=i+316|0;c[e>>2]=0;c[f>>2]=0;Np(b,g,h);u=b+208|0;if(c[u>>2]|0){Ia=i;return}v=g;w=b+4|0;x=b+80|0;y=b+84|0;z=b+72|0;A=b+88|0;C=b+100|0;D=b+96|0;E=b+92|0;F=b+12|0;G=b+104|0;H=b+116|0;I=b+112|0;J=b+108|0;K=j+8|0;L=j+4|0;M=b+16|0;N=j+8|0;O=j+4|0;P=b+152|0;Q=b+156|0;R=b+160|0;S=b+161|0;T=b+162|0;U=b+163|0;V=b+164|0;W=b+168|0;X=b+172|0;Y=b+176|0;Z=b+180|0;_=b+120|0;$=b+132|0;a:do if(h>>>0<45){aa=0;ba=4}else{ca=g+33|0;da=0;ea=1;fa=0;ga=0;ha=0;ia=45;b:while(1){ja=ca+1|0;ka=ca+2|0;la=ca+3|0;ma=d[ja>>0]<<16|d[ca>>0]<<24|d[ka>>0]<<8|d[la>>0];if((ma|0)<0){ba=6;break}if((ma+ia|0)>>>0>h>>>0){ba=9;break}if((ca+ma+12|0)>>>0>>0){ba=9;break}na=ca+8|0;oa=ca+4|0;pa=a[oa>>0]|0;c:do switch(pa<<24>>24){case 73:{switch(a[ca+5>>0]|0){case 68:break;case 69:{if((a[ca+6>>0]|0)!=78){ba=187;break b}if((a[ca+7>>0]|0)==68){qa=1;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c}else{ba=187;break b}break}default:{ba=187;break b}}if((a[ca+6>>0]|0)!=65){ba=187;break b}if((a[ca+7>>0]|0)!=84){ba=187;break b}wa=ma+ha|0;if(ga>>>0>>0){xa=wa<<1;ya=bq(fa,xa)|0;if(!ya){ba=19;break b}else{za=ya;Aa=xa}}else{za=fa;Aa=ga}if(!ma){qa=0;ra=da;sa=3;ta=za;ua=Aa;va=wa}else{xa=0;do{a[za+(xa+ha)>>0]=a[na+xa>>0]|0;xa=xa+1|0}while((xa|0)!=(ma|0));qa=0;ra=da;sa=3;ta=za;ua=Aa;va=wa}break}case 80:{if((a[ca+5>>0]|0)!=76){ba=187;break b}if((a[ca+6>>0]|0)!=84){ba=187;break b}if((a[ca+7>>0]|0)!=69){ba=187;break b}wa=c[x>>2]|0;if(wa|0)cq(wa);wa=(ma>>>0)/3|0;c[y>>2]=wa;xa=aq(wa<<2)|0;c[x>>2]=xa;wa=c[y>>2]|0;if(!xa)if(!wa){qa=0;ra=da;sa=2;ta=fa;ua=ga;va=ha;break c}else{ba=29;break b}if(wa>>>0>256){ba=31;break b}if(!wa){qa=0;ra=da;sa=2;ta=fa;ua=ga;va=ha}else{wa=0;ya=0;Ba=xa;while(1){xa=ya<<2;a[Ba+xa>>0]=a[na+wa>>0]|0;a[(c[x>>2]|0)+(xa|1)>>0]=a[na+(wa+1)>>0]|0;a[(c[x>>2]|0)+(xa|2)>>0]=a[na+(wa+2)>>0]|0;a[(c[x>>2]|0)+(xa|3)>>0]=-1;xa=ya+1|0;if(xa>>>0>=(c[y>>2]|0)>>>0){qa=0;ra=da;sa=2;ta=fa;ua=ga;va=ha;break c}wa=wa+3|0;ya=xa;Ba=c[x>>2]|0}}break}case 116:{switch(a[ca+5>>0]|0){case 82:{if((a[ca+6>>0]|0)!=78){ba=188;break c}if((a[ca+7>>0]|0)!=83){ba=188;break c}switch(c[z>>2]|0){case 3:{if(ma>>>0>(c[y>>2]|0)>>>0){ba=41;break b}if(!ma){qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c}Ba=0;do{a[(c[x>>2]|0)+(Ba<<2|3)>>0]=a[na+Ba>>0]|0;Ba=Ba+1|0}while((Ba|0)!=(ma|0));qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break}case 0:{if((ma|0)!=2){ba=46;break b}c[A>>2]=1;Ba=d[na>>0]<<8|d[ca+9>>0];c[C>>2]=Ba;c[D>>2]=Ba;c[E>>2]=Ba;qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}case 2:{if((ma|0)!=6){ba=49;break b}c[A>>2]=1;c[E>>2]=d[na>>0]<<8|d[ca+9>>0];c[D>>2]=d[ca+10>>0]<<8|d[ca+11>>0];c[C>>2]=d[ca+12>>0]<<8|d[ca+13>>0];qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}default:{ba=51;break b}}break}case 69:{if((a[ca+6>>0]|0)!=88){ba=188;break c}if((a[ca+7>>0]|0)!=116){ba=188;break c}if(!(c[F>>2]|0)){qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c}if(!(c[u>>2]|0)){d:do if(!ma){Ca=0;ba=72}else{Ba=0;while(1){ya=Ba+1|0;if(!(a[na+Ba>>0]|0)){Da=Ba;Ea=ya;break d}if(ya>>>0>>0)Ba=ya;else{Ca=ya;ba=72;break}}}while(0);if((ba|0)==72){ba=0;Da=Ca;Ea=Ca+1|0}do if(ma>>>0>Ea>>>0){Ba=aq(Ea)|0;if(Ba){a[Ba+Da>>0]=0;if(Da|0){ya=0;do{a[Ba+ya>>0]=a[na+ya>>0]|0;ya=ya+1|0}while((ya|0)!=(Da|0))}if(ma>>>0>>0){Fa=0;Ga=Ba;Ha=75}else{ya=ma-Ea|0;wa=aq(ya+1|0)|0;if(!wa){Fa=0;Ga=Ba;Ha=9939;break}a[wa+ya>>0]=0;if(ya|0){xa=0;do{a[wa+xa>>0]=a[na+(xa+Ea)>>0]|0;xa=xa+1|0}while((xa|0)!=(ya|0))}Fa=wa;Ga=Ba;Ha=Ip(_,Ba,wa)|0}}else{Fa=0;Ga=0;Ha=9938}}else{Fa=0;Ga=0;Ha=75}while(0);c[u>>2]=Ha;Ja=Fa;Ka=Ga}else{Ja=0;Ka=0}cq(Ka);cq(Ja);qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}case 73:{if((a[ca+6>>0]|0)!=77){ba=188;break c}if((a[ca+7>>0]|0)!=69){ba=188;break c}if((ma|0)!=7){ba=178;break b}a[P>>0]=1;c[Q>>2]=d[na>>0]<<8|d[ca+9>>0];a[R>>0]=a[ca+10>>0]|0;a[S>>0]=a[ca+11>>0]|0;a[T>>0]=a[ca+12>>0]|0;a[U>>0]=a[ca+13>>0]|0;a[V>>0]=a[ca+14>>0]|0;qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}default:{ba=188;break c}}break}case 98:{if(((a[ca+5>>0]|0)==75?(a[ca+6>>0]|0)==71:0)?(a[ca+7>>0]|0)==68:0)switch(c[z>>2]|0){case 3:{if((ma|0)!=1){ba=57;break b}c[G>>2]=1;ya=d[na>>0]|0;c[H>>2]=ya;c[I>>2]=ya;c[J>>2]=ya;qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}case 4:case 0:{if((ma|0)!=2){ba=60;break b}c[G>>2]=1;ya=d[na>>0]<<8|d[ca+9>>0];c[H>>2]=ya;c[I>>2]=ya;c[J>>2]=ya;qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}case 6:case 2:{if((ma|0)!=6){ba=63;break b}c[G>>2]=1;c[J>>2]=d[na>>0]<<8|d[ca+9>>0];c[I>>2]=d[ca+10>>0]<<8|d[ca+11>>0];c[H>>2]=d[ca+12>>0]<<8|d[ca+13>>0];qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c;break}default:{qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha;break c}}else ba=188;break}case 122:{if(((a[ca+5>>0]|0)==84?(a[ca+6>>0]|0)==88:0)?(a[ca+7>>0]|0)==116:0)if(c[F>>2]|0){c[j>>2]=0;c[K>>2]=0;c[L>>2]=0;do if(!(c[u>>2]|0)){e:do if(!ma)La=0;else{ya=0;while(1){if(!(a[na+ya>>0]|0)){La=ya;break e}xa=ya+1|0;if(xa>>>0>>0)ya=xa;else{La=xa;break}}}while(0);wa=La+2|0;if(ma>>>0<=wa>>>0){c[u>>2]=75;Ma=0;Na=0;break}Ba=La+1|0;ya=aq(Ba)|0;if(!ya){c[u>>2]=9940;Ma=0;Na=0;break}a[ya+La>>0]=0;if(La|0){xa=0;do{a[ya+xa>>0]=a[na+xa>>0]|0;xa=xa+1|0}while((xa|0)!=(La|0))}if(a[na+Ba>>0]|0){c[u>>2]=72;Ma=ya;Na=0;break}if(ma>>>0>>0){c[u>>2]=75;Ma=ya;Na=0;break}xa=Ep(j,L,na+wa|0,ma-wa|0,b)|0;c[u>>2]=xa;if(xa|0){Ma=ya;Na=c[j>>2]|0;break}xa=c[L>>2]|0;Oa=xa+1|0;do if((c[K>>2]|0)>>>0>>0){Pa=Oa<<1;Qa=c[j>>2]|0;Ra=bq(Qa,Pa)|0;if(!Ra){Sa=Qa;break}c[K>>2]=Pa;c[j>>2]=Ra;Ta=Ra;ba=113}else{Ta=c[j>>2]|0;ba=113}while(0);if((ba|0)==113){ba=0;c[L>>2]=Oa;a[Ta+xa>>0]=0;Sa=Ta}c[u>>2]=Ip(_,ya,Sa)|0;Ma=ya;Na=Sa}else{Ma=0;Na=0}while(0);cq(Ma);cq(Na);if(c[u>>2]|0){Ua=fa;break a}else{qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha}}else{qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha}else ba=188;break}case 105:{if(((a[ca+5>>0]|0)==84?(a[ca+6>>0]|0)==88:0)?(a[ca+7>>0]|0)==116:0)if(c[F>>2]|0){c[j>>2]=0;c[N>>2]=0;c[O>>2]=0;f:do if(!(c[u>>2]|0)){if(ma>>>0<5){c[u>>2]=76;Va=0;Wa=0;Xa=0;Ya=0;break}wa=0;while(1){if(!(a[na+wa>>0]|0)){Za=wa;break}Ba=wa+1|0;if(Ba>>>0>>0)wa=Ba;else{Za=Ba;break}}wa=Za+2|0;if(wa>>>0>=ma>>>0){c[u>>2]=75;Va=0;Wa=0;Xa=0;Ya=0;break}ya=Za+1|0;xa=aq(ya)|0;if(!xa){c[u>>2]=9941;Va=0;Wa=0;Xa=0;Ya=0;break}a[xa+Za>>0]=0;if(Za|0){Oa=0;do{a[xa+Oa>>0]=a[na+Oa>>0]|0;Oa=Oa+1|0}while((Oa|0)!=(Za|0))}Oa=a[na+ya>>0]|0;if(a[na+wa>>0]|0){c[u>>2]=72;Va=0;Wa=0;Xa=xa;Ya=0;break}Ba=Za+3|0;g:do if(Ba>>>0>>0){Ra=0;Pa=Ba;while(1){if(!(a[na+Pa>>0]|0)){_a=Ra;break g}Qa=Ra+1|0;Pa=Pa+1|0;if(Pa>>>0>=ma>>>0){_a=Qa;break}else Ra=Qa}}else _a=0;while(0);wa=_a+1|0;ya=wa+Ba|0;if(ya>>>0>=ma>>>0){c[u>>2]=75;Va=0;Wa=0;Xa=xa;Ya=0;break}Ra=aq(wa)|0;if(!Ra){c[u>>2]=9942;Va=0;Wa=0;Xa=xa;Ya=0;break}a[Ra+_a>>0]=0;if(_a|0){wa=0;do{a[Ra+wa>>0]=a[na+(wa+Ba)>>0]|0;wa=wa+1|0}while((wa|0)!=(_a|0))}wa=0;Ba=ya;while(1){if(!(a[na+Ba>>0]|0)){$a=wa;break}Pa=wa+1|0;Ba=Ba+1|0;if(Ba>>>0>=ma>>>0){$a=Pa;break}else wa=Pa}wa=$a+1|0;Ba=wa+ya|0;if(ma>>>0<=Ba>>>0){c[u>>2]=75;Va=0;Wa=Ra;Xa=xa;Ya=0;break}Pa=aq(wa)|0;if(!Pa){c[u>>2]=9943;Va=0;Wa=Ra;Xa=xa;Ya=0;break}a[Pa+$a>>0]=0;if($a|0){wa=0;do{a[Pa+wa>>0]=a[na+(wa+ya)>>0]|0;wa=wa+1|0}while((wa|0)!=($a|0))}if(ma>>>0>>0){c[u>>2]=75;Va=Pa;Wa=Ra;Xa=xa;Ya=0;break}wa=ma-Ba|0;h:do if(!(Oa<<24>>24)){ya=wa+1|0;do if(ya){Qa=ya<<1;ab=bq(0,Qa)|0;if(ab){c[N>>2]=Qa;c[j>>2]=ab;c[O>>2]=ya;a[ab+wa>>0]=0;if(!wa){bb=ab;break h}else{cb=ab;break}}else{c[u>>2]=9944;Va=Pa;Wa=Ra;Xa=xa;Ya=0;break f}}else{c[O>>2]=0;a[0+wa>>0]=0;cb=0}while(0);ya=0;do{a[cb+ya>>0]=a[na+(ya+Ba)>>0]|0;ya=ya+1|0}while((ya|0)!=(wa|0));bb=cb}else{ya=Ep(j,O,na+Ba|0,wa,b)|0;c[u>>2]=ya;if(ya|0){Va=Pa;Wa=Ra;Xa=xa;Ya=c[j>>2]|0;break f}ya=c[O>>2]|0;ab=ya+1|0;if((c[N>>2]|0)>>>0>>0){Qa=ab<<1;db=c[j>>2]|0;eb=bq(db,Qa)|0;if(!eb){bb=db;break}c[N>>2]=Qa;c[j>>2]=eb;fb=eb}else fb=c[j>>2]|0;c[O>>2]=ab;a[fb+ya>>0]=0;bb=fb}while(0);c[u>>2]=Kp($,xa,Ra,Pa,bb)|0;Va=Pa;Wa=Ra;Xa=xa;Ya=bb}else{Va=0;Wa=0;Xa=0;Ya=0}while(0);cq(Xa);cq(Wa);cq(Va);cq(Ya);if(c[u>>2]|0){Ua=fa;break a}else{qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha}}else{qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha}else ba=188;break}case 112:{if(((a[ca+5>>0]|0)==72?(a[ca+6>>0]|0)==89:0)?(a[ca+7>>0]|0)==115:0){if((ma|0)!=9){ba=184;break b}c[W>>2]=1;c[X>>2]=d[ca+9>>0]<<16|d[na>>0]<<24|d[ca+10>>0]<<8|d[ca+11>>0];c[Y>>2]=d[ca+13>>0]<<16|d[ca+12>>0]<<24|d[ca+14>>0]<<8|d[ca+15>>0];a[Z>>0]=a[ca+16>>0]|0;qa=0;ra=da;sa=ea;ta=fa;ua=ga;va=ha}else ba=188;break}default:if(!(pa&32)){ba=187;break b}else ba=188}while(0);if((ba|0)==188){ba=0;if(!(c[M>>2]|0)){qa=0;ra=1;sa=ea;ta=fa;ua=ga;va=ha}else{pa=ea+-1|0;na=b+184+(pa<<2)|0;wa=b+196+(pa<<2)|0;pa=ma+12|0;Ba=c[wa>>2]|0;Oa=Ba+pa|0;if(Oa>>>0>>0|Oa>>>0>>0){gb=77;ba=193;break}ya=bq(c[na>>2]|0,Oa)|0;if(!ya){gb=9929;ba=193;break}c[na>>2]=ya;c[wa>>2]=Oa;Oa=ya+Ba|0;Ba=0;do{a[Oa+Ba>>0]=a[ca+Ba>>0]|0;Ba=Ba+1|0}while((Ba|0)!=(pa|0));c[u>>2]=0;qa=0;ra=1;sa=ea;ta=fa;ua=ga;va=ha}}if((c[w>>2]|ra|0)==0?(pa=d[ja>>0]<<16|d[ca>>0]<<24|d[ka>>0]<<8|d[la>>0],Ba=ca+(pa+8)|0,Oa=d[Ba+1>>0]<<16|d[Ba>>0]<<24|d[Ba+2>>0]<<8|d[Ba+3>>0],(Oa|0)!=(Gp(oa,pa+4|0)|0)):0){ba=197;break}if(qa<<24>>24){ba=200;break}ca=ca+((d[ja>>0]<<16|d[ca>>0]<<24|d[ka>>0]<<8|d[la>>0])+12)|0;ia=ca-v+12|0;if(ca>>>0>>0|ia>>>0>h>>>0){aa=ta;ba=4;break a}else{da=ra;ea=sa;fa=ta;ga=ua;ha=va}}switch(ba|0){case 6:{c[u>>2]=63;Ua=fa;break a;break}case 9:{c[u>>2]=35;Ua=fa;break a;break}case 19:{c[u>>2]=9936;Ua=fa;break a;break}case 29:{c[y>>2]=0;c[u>>2]=9937;Ua=fa;break a;break}case 31:{c[u>>2]=38;Ua=fa;break a;break}case 41:{c[u>>2]=39;Ua=fa;break a;break}case 46:{c[u>>2]=40;Ua=fa;break a;break}case 49:{c[u>>2]=41;Ua=fa;break a;break}case 51:{c[u>>2]=42;Ua=fa;break a;break}case 57:{c[u>>2]=43;Ua=fa;break a;break}case 60:{c[u>>2]=44;Ua=fa;break a;break}case 63:{c[u>>2]=45;Ua=fa;break a;break}case 178:{c[u>>2]=73;Ua=fa;break a;break}case 184:{c[u>>2]=74;Ua=fa;break a;break}case 187:{c[u>>2]=69;Ua=fa;break a;break}case 193:{c[u>>2]=gb;Ua=fa;break a;break}case 197:{c[u>>2]=57;Ua=ta;break a;break}case 200:{if(c[u>>2]|0){Ua=ta;break a}c[t>>2]=0;ha=t+8|0;c[ha>>2]=0;ga=t+4|0;c[ga>>2]=0;ea=b+52|0;da=c[ea>>2]|0;ia=b+56|0;ca=c[ia>>2]|0;pa=b+76|0;Oa=c[pa>>2]|0;switch(c[z>>2]|0){case 3:case 0:{hb=1;break}case 2:{hb=3;break}case 4:{hb=2;break}case 6:{hb=4;break}default:hb=0}Ba=((B((B(B(Oa,ca)|0,hb)|0)+7|0,da)|0)>>>3)+ca|0;do if(Ba){ca=Ba<<1;da=bq(0,ca)|0;if(da){c[ha>>2]=ca;c[t>>2]=da;da=c[u>>2]|0;c[ga>>2]=Ba;if(!da){ba=211;break}else break}else{c[u>>2]=9945;break}}else{c[ga>>2]=0;ba=211}while(0);if((ba|0)==211?(Ba=Ep(t,ga,ta,va,b)|0,c[u>>2]=Ba,(Ba|0)==0):0){Ba=c[ia>>2]|0;fa=c[ea>>2]|0;da=c[z>>2]|0;ca=c[pa>>2]|0;switch(da|0){case 3:case 0:{ib=1;break}case 2:{ib=3;break}case 4:{ib=2;break}case 6:{ib=4;break}default:ib=0}Oa=((B(B(B(fa,Ba)|0,ca)|0,ib)|0)+7|0)>>>3;if(Oa){Ba=bq(0,Oa<<1)|0;if(Ba){Av(Ba|0,0,Oa|0)|0;fa=Ba;if(!(c[u>>2]|0)){jb=fa;kb=c[z>>2]|0;lb=c[pa>>2]|0;ba=221}else{mb=fa;nb=Oa}}else{ob=9946;pb=0;qb=0;ba=286}}else{jb=0;kb=da;lb=ca;ba=221}i:do if((ba|0)==221){ca=jb;da=c[t>>2]|0;switch(kb|0){case 3:case 0:{rb=1;break}case 2:{rb=3;break}case 4:{rb=2;break}case 6:{rb=4;break}default:rb=0}fa=B(rb,lb)|0;Ba=c[ea>>2]|0;ma=c[ia>>2]|0;if(!fa){ob=31;pb=jb;qb=Oa;ba=286}else{do if(!(c[b+68>>2]|0)){if(fa>>>0>=8){sb=Pp(ca,da,Ba,ma,fa)|0;break}ya=B(Ba,fa)|0;wa=ya+7&-8;if((ya|0)==(wa|0)){sb=Pp(ca,da,Ba,ma,fa)|0;break}na=Pp(da,da,Ba,ma,fa)|0;if(na|0){ob=na;pb=jb;qb=Oa;ba=286;break i}if((ma|0)==0|(ya|0)==0)sb=0;else{na=0;ab=0;eb=0;while(1){Qa=0;db=ab;tb=na;while(1){ub=1<<(tb&7^7);if(!(1<<(db&7^7)&d[da+(db>>>3)>>0])){vb=ca+(tb>>>3)|0;wb=vb;xb=(ub^255)&d[vb>>0]}else{vb=ca+(tb>>>3)|0;wb=vb;xb=ub|d[vb>>0]}a[wb>>0]=xb;Qa=Qa+1|0;if((Qa|0)==(ya|0))break;else{db=db+1|0;tb=tb+1|0}}eb=eb+1|0;if((eb|0)==(ma|0)){sb=0;break}else{na=na+ya|0;ab=ab+wa|0}}}}else{Qp(o,p,q,r,s,Ba,ma,fa);j:do if(fa>>>0>=8){wa=Pp(da+(c[r>>2]|0)|0,da+(c[q>>2]|0)|0,c[o>>2]|0,c[p>>2]|0,fa)|0;if(!wa){ab=Pp(da+(c[r+4>>2]|0)|0,da+(c[q+4>>2]|0)|0,c[o+4>>2]|0,c[p+4>>2]|0,fa)|0;if(!ab){ya=Pp(da+(c[r+8>>2]|0)|0,da+(c[q+8>>2]|0)|0,c[o+8>>2]|0,c[p+8>>2]|0,fa)|0;if(!ya){na=Pp(da+(c[r+12>>2]|0)|0,da+(c[q+12>>2]|0)|0,c[o+12>>2]|0,c[p+12>>2]|0,fa)|0;if(!na){eb=Pp(da+(c[r+16>>2]|0)|0,da+(c[q+16>>2]|0)|0,c[o+16>>2]|0,c[p+16>>2]|0,fa)|0;if(!eb){tb=Pp(da+(c[r+20>>2]|0)|0,da+(c[q+20>>2]|0)|0,c[o+20>>2]|0,c[p+20>>2]|0,fa)|0;if(tb|0){yb=0;zb=tb;Ab=tb;break}tb=Pp(da+(c[r+24>>2]|0)|0,da+(c[q+24>>2]|0)|0,c[o+24>>2]|0,c[p+24>>2]|0,fa)|0;if(!tb)ba=255;else{yb=0;zb=tb;Ab=tb}}else{yb=0;zb=eb;Ab=eb}}else{yb=0;zb=na;Ab=na}}else{yb=0;zb=ya;Ab=ya}}else{yb=0;zb=ab;Ab=ab}}else{yb=0;zb=wa;Ab=wa}}else{wa=0;while(1){ab=da+(c[r+(wa<<2)>>2]|0)|0;ya=c[o+(wa<<2)>>2]|0;na=c[p+(wa<<2)>>2]|0;eb=Pp(ab,da+(c[q+(wa<<2)>>2]|0)|0,ya,na,fa)|0;if(eb|0){yb=0;zb=eb;Ab=eb;break j}eb=da+(c[s+(wa<<2)>>2]|0)|0;tb=B(ya,fa)|0;ya=tb+7&-8;if(!((na|0)==0|(tb|0)==0)){db=0;Qa=0;xa=0;while(1){Ra=0;Pa=Qa;vb=db;while(1){ub=1<<(vb&7^7);if(!(1<<(Pa&7^7)&d[ab+(Pa>>>3)>>0])){Bb=eb+(vb>>>3)|0;Cb=Bb;Db=(ub^255)&d[Bb>>0]}else{Bb=eb+(vb>>>3)|0;Cb=Bb;Db=ub|d[Bb>>0]}a[Cb>>0]=Db;Ra=Ra+1|0;if((Ra|0)==(tb|0))break;else{Pa=Pa+1|0;vb=vb+1|0}}xa=xa+1|0;if((xa|0)==(na|0))break;else{db=db+tb|0;Qa=Qa+ya|0}}}wa=wa+1|0;if(wa>>>0>=7){ba=255;break}}}while(0);if((ba|0)==255){Qp(j,k,l,m,n,Ba,ma,fa);if(fa>>>0>7){wa=fa>>>3;if(wa|0){ya=0;do{Qa=c[k+(ya<<2)>>2]|0;do if(Qa|0){tb=c[j+(ya<<2)>>2]|0;if(!tb)break;db=c[n+(ya<<2)>>2]|0;na=c[29600+(ya<<2)>>2]|0;xa=c[29568+(ya<<2)>>2]|0;eb=c[29536+(ya<<2)>>2]|0;ab=c[29504+(ya<<2)>>2]|0;vb=0;do{Pa=(B((B(vb,xa)|0)+na|0,Ba)|0)+eb|0;Ra=B(vb,tb)|0;Bb=0;do{ub=(B(Bb+Ra|0,wa)|0)+db|0;Eb=B(Pa+(B(Bb,ab)|0)|0,wa)|0;Fb=0;do{a[ca+(Fb+Eb)>>0]=a[da+(ub+Fb)>>0]|0;Fb=Fb+1|0}while((Fb|0)!=(wa|0));Bb=Bb+1|0}while((Bb|0)!=(tb|0));vb=vb+1|0}while((vb|0)!=(Qa|0))}while(0);ya=ya+1|0}while((ya|0)!=7)}}else{ya=0;do{wa=c[j+(ya<<2)>>2]|0;Qa=c[k+(ya<<2)>>2]|0;if(!((wa|0)==0|(Qa|0)==0)){vb=c[29600+(ya<<2)>>2]|0;tb=c[29568+(ya<<2)>>2]|0;ab=c[29536+(ya<<2)>>2]|0;db=c[29504+(ya<<2)>>2]|0;eb=c[n+(ya<<2)>>2]<<3;na=0;do{xa=B(na,wa)|0;Bb=(B((B(na,tb)|0)+vb|0,Ba)|0)+ab|0;Pa=0;do{Ra=B(Bb+(B(Pa,db)|0)|0,fa)|0;Fb=0;ub=(B(Pa+xa|0,fa)|0)+eb|0;while(1){Eb=(d[da+(ub>>>3)>>0]|0)>>>(ub&7^7)&1;if(Eb|0){Gb=ca+(Ra>>>3)|0;a[Gb>>0]=Eb<<(Ra&7^7)|d[Gb>>0]}Fb=Fb+1|0;if((Fb|0)==(fa|0))break;else{Ra=Ra+1|0;ub=ub+1|0}}Pa=Pa+1|0}while((Pa|0)!=(wa|0));na=na+1|0}while((na|0)!=(Qa|0))}ya=ya+1|0}while((ya|0)!=7)}yb=1;zb=0;Ab=0}if(yb)sb=Ab;else{ob=zb;pb=jb;qb=Oa;ba=286;break i}}while(0);ob=sb;pb=jb;qb=Oa;ba=286}}while(0);if((ba|0)==286){c[u>>2]=ob;mb=pb;nb=qb}c[e>>2]=mb;c[f>>2]=nb}c[ha>>2]=0;c[ga>>2]=0;cq(c[t>>2]|0);Ua=ta;break a;break}}}while(0);if((ba|0)==4){c[u>>2]=30;Ua=aa}cq(Ua);if(c[u>>2]|0){Ia=i;return}Ua=b+20|0;aa=b+72|0;if(!(c[b+8>>2]|0)){ba=b+28|0;ta=c[ba>>2]|0;if(ta|0)cq(ta);c[Ua>>2]=c[aa>>2];c[Ua+4>>2]=c[aa+4>>2];c[Ua+8>>2]=c[aa+8>>2];c[Ua+12>>2]=c[aa+12>>2];c[Ua+16>>2]=c[aa+16>>2];c[Ua+20>>2]=c[aa+20>>2];c[Ua+24>>2]=c[aa+24>>2];c[Ua+28>>2]=c[aa+28>>2];ta=aq(c[y>>2]<<2)|0;c[ba>>2]=ta;t=c[y>>2]|0;if(!ta){Hb=(t|0)==0?0:9935;c[u>>2]=Hb;Ia=i;return}if(!(t&1073741823)){Hb=0;c[u>>2]=Hb;Ia=i;return}a[ta>>0]=a[c[x>>2]>>0]|0;if(!(c[y>>2]&1073741823)){Hb=0;c[u>>2]=Hb;Ia=i;return}ta=1;do{a[(c[ba>>2]|0)+ta>>0]=a[(c[x>>2]|0)+ta>>0]|0;ta=ta+1|0}while(ta>>>0>2]<<2>>>0);Hb=0;c[u>>2]=Hb;Ia=i;return}Hb=c[Ua>>2]|0;if((Hb|0)==(c[aa>>2]|0)?(c[b+24>>2]|0)==(c[b+76>>2]|0):0){Ia=i;return}y=c[e>>2]|0;switch(Hb|0){case 6:case 2:break;default:if((c[b+24>>2]|0)!=8){c[u>>2]=56;Ia=i;return}}ta=b+52|0;x=c[ta>>2]|0;ba=b+56|0;t=c[ba>>2]|0;nb=c[b+24>>2]|0;switch(Hb|0){case 3:case 0:{Ib=1;break}case 2:{Ib=3;break}case 4:{Ib=2;break}case 6:{Ib=4;break}default:Ib=0}Hb=((B(B(B(t,x)|0,nb)|0,Ib)|0)+7|0)>>>3;c[f>>2]=Hb;Ib=aq(Hb)|0;c[e>>2]=Ib;if(!Ib){c[u>>2]=9947;c[f>>2]=0}else c[u>>2]=Mp(Ib,y,Ua,aa,c[ta>>2]|0,c[ba>>2]|0)|0;cq(y);Ia=i;return}function Pp(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0;h=(g+7|0)>>>3;i=((B(g,e)|0)+7|0)>>>3;if(!f){j=0;return j|0}e=i+1|0;g=(i|0)==0;k=(h|0)==0;l=(i|0)!=0;m=(h|0)!=0;n=h>>>0>>0;o=0;p=0;a:while(1){q=B(o,i)|0;r=B(o,e)|0;s=p;p=b+q|0;q=c+(r+1)|0;b:do switch(a[c+r>>0]|0){case 0:{if(!g){t=0;do{a[p+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(i|0))}break}case 1:{if(!k){t=0;do{a[p+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(h|0))}if(n){t=h;do{a[p+t>>0]=(d[p+(t-h)>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}case 2:{if(!s){if(!l)break b;t=0;do{a[p+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(i|0))}else{if(!l)break b;t=0;do{a[p+t>>0]=(d[s+t>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}case 3:{if(!s){if(m){t=0;do{a[p+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{a[p+t>>0]=((d[p+(t-h)>>0]|0)>>>1&255)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}else{if(m){t=0;do{a[p+t>>0]=((d[s+t>>0]|0)>>>1&255)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{a[p+t>>0]=(((d[s+t>>0]|0)+(d[p+(t-h)>>0]|0)|0)>>>1)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}case 4:{if(!s){if(m){t=0;do{a[p+t>>0]=a[q+t>>0]|0;t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{a[p+t>>0]=(d[p+(t-h)>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}else{if(m){t=0;do{a[p+t>>0]=(d[s+t>>0]|0)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(h|0))}if(!n)break b;t=h;do{u=t-h|0;v=a[p+u>>0]|0;w=a[s+t>>0]|0;x=a[s+u>>0]|0;u=w&255;y=x&255;z=u-y|0;A=(z|0)>-1?z:0-z|0;z=v&255;C=z-y|0;D=(C|0)>-1?C:0-C|0;C=u+z+(B(y,-2)|0)|0;y=(C|0)>-1?C:0-C|0;a[p+t>>0]=(((A|0)>(D|0)|(A|0)>(y|0)?((D|0)>(y|0)?x:w):v)&255)+(d[q+t>>0]|0);t=t+1|0}while((t|0)!=(i|0))}break}default:{j=36;E=47;break a}}while(0);o=o+1|0;if(o>>>0>=f>>>0){j=0;E=47;break}}if((E|0)==47)return j|0;return 0}function Qp(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;c[a>>2]=(g+7|0)>>>3;j=(h+7|0)>>>3;c[b>>2]=j;k=(c[a>>2]|0)==0?0:j;c[b>>2]=k;if(!k)c[a>>2]=0;k=a+4|0;c[k>>2]=(g+3|0)>>>3;l=b+4|0;c[l>>2]=j;m=(c[k>>2]|0)==0?0:j;c[l>>2]=m;if(!m)c[k>>2]=0;m=a+8|0;c[m>>2]=(g+3|0)>>>2;j=(h+3|0)>>>3;n=b+8|0;c[n>>2]=j;o=(c[m>>2]|0)==0?0:j;c[n>>2]=o;if(!o)c[m>>2]=0;o=a+12|0;c[o>>2]=(g+1|0)>>>2;j=(h+3|0)>>>2;p=b+12|0;c[p>>2]=j;q=(c[o>>2]|0)==0?0:j;c[p>>2]=q;if(!q)c[o>>2]=0;q=a+16|0;c[q>>2]=(g+1|0)>>>1;j=(h+1|0)>>>2;r=b+16|0;c[r>>2]=j;s=(c[q>>2]|0)==0?0:j;c[r>>2]=s;if(!s)c[q>>2]=0;s=a+20|0;c[s>>2]=g>>>1;j=(h+1|0)>>>1;t=b+20|0;c[t>>2]=j;u=(c[s>>2]|0)==0?0:j;c[t>>2]=u;if(!u)c[s>>2]=0;u=a+24|0;c[u>>2]=g;g=h>>>1;h=b+24|0;c[h>>2]=g;j=(c[u>>2]|0)==0?0:g;c[h>>2]=j;if(!j)c[u>>2]=0;c[f>>2]=0;c[e>>2]=0;c[d>>2]=0;j=c[a>>2]|0;a=c[b>>2]|0;if(!j){v=0;w=0;x=0}else{b=B(j,i)|0;j=(b+7|0)>>>3;v=j;w=b;x=B(a,j+1|0)|0}j=d+4|0;c[j>>2]=x;x=e+4|0;c[x>>2]=(B(a,v)|0)+(c[e>>2]|0);v=f+4|0;c[v>>2]=(((B(w,a)|0)+7|0)>>>3)+(c[f>>2]|0);a=c[k>>2]|0;k=c[l>>2]|0;if(!a){y=0;z=0;A=0}else{l=B(a,i)|0;a=(l+7|0)>>>3;y=l;z=a;A=B(k,a+1|0)|0}a=d+8|0;c[a>>2]=A+(c[j>>2]|0);j=e+8|0;c[j>>2]=(B(k,z)|0)+(c[x>>2]|0);x=f+8|0;c[x>>2]=(((B(y,k)|0)+7|0)>>>3)+(c[v>>2]|0);v=c[m>>2]|0;m=c[n>>2]|0;if(!v){C=0;D=0;E=0}else{n=B(v,i)|0;v=(n+7|0)>>>3;C=n;D=v;E=B(m,v+1|0)|0}v=d+12|0;c[v>>2]=E+(c[a>>2]|0);a=e+12|0;c[a>>2]=(B(m,D)|0)+(c[j>>2]|0);j=f+12|0;c[j>>2]=(((B(C,m)|0)+7|0)>>>3)+(c[x>>2]|0);x=c[o>>2]|0;o=c[p>>2]|0;if(!x){F=0;G=0;H=0}else{p=B(x,i)|0;x=(p+7|0)>>>3;F=p;G=x;H=B(o,x+1|0)|0}x=d+16|0;c[x>>2]=H+(c[v>>2]|0);v=e+16|0;c[v>>2]=(B(o,G)|0)+(c[a>>2]|0);a=f+16|0;c[a>>2]=(((B(F,o)|0)+7|0)>>>3)+(c[j>>2]|0);j=c[q>>2]|0;q=c[r>>2]|0;if(!j){I=0;J=0;K=0}else{r=B(j,i)|0;j=(r+7|0)>>>3;I=j;J=r;K=B(q,j+1|0)|0}j=d+20|0;c[j>>2]=K+(c[x>>2]|0);x=e+20|0;c[x>>2]=(B(q,I)|0)+(c[v>>2]|0);v=f+20|0;c[v>>2]=(((B(J,q)|0)+7|0)>>>3)+(c[a>>2]|0);a=c[s>>2]|0;s=c[t>>2]|0;if(!a){L=0;M=0;N=0}else{t=B(a,i)|0;a=(t+7|0)>>>3;L=t;M=a;N=B(s,a+1|0)|0}a=d+24|0;c[a>>2]=N+(c[j>>2]|0);j=e+24|0;c[j>>2]=(B(s,M)|0)+(c[x>>2]|0);x=f+24|0;c[x>>2]=(((B(L,s)|0)+7|0)>>>3)+(c[v>>2]|0);v=c[a>>2]|0;a=c[u>>2]|0;u=c[h>>2]|0;if(!a){O=0;P=0;Q=0;R=Q+v|0;S=d+28|0;c[S>>2]=R;T=c[j>>2]|0;U=B(u,P)|0;V=U+T|0;W=e+28|0;c[W>>2]=V;X=c[x>>2]|0;Y=B(O,u)|0;Z=Y+7|0;_=Z>>>3;$=_+X|0;aa=f+28|0;c[aa>>2]=$;return}h=B(a,i)|0;i=(h+7|0)>>>3;O=h;P=i;Q=B(u,i+1|0)|0;R=Q+v|0;S=d+28|0;c[S>>2]=R;T=c[j>>2]|0;U=B(u,P)|0;V=U+T|0;W=e+28|0;c[W>>2]=V;X=c[x>>2]|0;Y=B(O,u)|0;Z=Y+7|0;_=Z>>>3;$=_+X|0;aa=f+28|0;c[aa>>2]=$;return}function Rp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;i=Ia;Ia=Ia+224|0;j=i+212|0;k=i;if(!f){l=100;Ia=i;return l|0}m=c[f>>2]|0;if(!m){n=c[f+8>>2]|0;Du(n,0,2)|0;o=Xu(n)|0;if(o>>>0>268435456){l=333;Ia=i;return l|0}Zu(n);p=aq(o)|0;Yu(p,1,o,n)|0;c[k+8>>2]=1;c[k+12>>2]=1;c[k+4>>2]=0;c[k+16>>2]=0;c[k>>2]=0;n=k+20|0;q=k+24|0;r=k+28|0;s=k+32|0;t=k+56|0;u=k+52|0;v=k+88|0;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=0;c[r+24>>2]=0;c[r+28>>2]=0;c[k+72>>2]=6;c[k+76>>2]=8;c[k+80>>2]=0;c[k+84>>2]=0;c[k+68>>2]=0;c[k+60>>2]=0;c[k+64>>2]=0;v=k+104|0;c[k+168>>2]=0;w=k+184|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;c[w+20>>2]=0;x=v;y=x+48|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));a[v+48>>0]=0;v=k+208|0;c[v>>2]=1;c[n>>2]=g;c[q>>2]=h;Op(k,b,j,p,o);o=c[v>>2]|0;c[d>>2]=c[u>>2];c[e>>2]=c[t>>2];t=c[r>>2]|0;if(t|0)cq(t);c[s>>2]=0;Lp(k+52|0);cq(p);z=o;A=c[f>>2]|0}else{z=0;A=m}if((A|0)!=1){l=z;Ia=i;return l|0}c[f+20>>2]=0;z=c[f+12>>2]|0;A=c[f+16>>2]|0;c[k+8>>2]=1;c[k+12>>2]=1;c[k+4>>2]=0;c[k+16>>2]=0;c[k>>2]=0;f=k+20|0;m=k+24|0;o=k+28|0;p=k+32|0;s=k+56|0;t=k+52|0;r=k+88|0;c[r>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[o+24>>2]=0;c[o+28>>2]=0;c[k+72>>2]=6;c[k+76>>2]=8;c[k+80>>2]=0;c[k+84>>2]=0;c[k+68>>2]=0;c[k+60>>2]=0;c[k+64>>2]=0;r=k+104|0;c[k+168>>2]=0;u=k+184|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[u+16>>2]=0;c[u+20>>2]=0;x=r;y=x+48|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));a[r+48>>0]=0;r=k+208|0;c[r>>2]=1;c[f>>2]=g;c[m>>2]=h;Op(k,b,j,z,A);A=c[r>>2]|0;c[d>>2]=c[t>>2];c[e>>2]=c[s>>2];s=c[o>>2]|0;if(s|0)cq(s);c[p>>2]=0;Lp(k+52|0);l=A;Ia=i;return l|0}function Sp(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Rp(a,b,c,d,6,8)|0}function Tp(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0;j=Ia;Ia=Ia+192|0;k=j+176|0;l=j+20|0;m=j+8|0;n=j+4|0;o=j;c[n>>2]=0;c[o>>2]=0;c[e>>2]=0;c[f>>2]=0;p=b+216|0;c[p>>2]=0;zv(l|0,b+28|0,156)|0;c[l>>2]=h;c[l+4>>2]=i;a:do if(c[b+12>>2]|0){q=B(i,h)|0;b:do switch(c[b+184>>2]|0){case 6:{r=(q|0)!=0;if((c[b+188>>2]|0)==8){if(!r)break b;s=0;while(1){if((a[g+(s<<2|3)>>0]|0)!=-1)break a;s=s+1|0;if(s>>>0>=q>>>0)break b}}if(r){s=0;do{t=s<<3;if((a[g+(t|6)>>0]|0)!=-1)break a;s=s+1|0;if((a[g+(t|7)>>0]|0)!=-1)break a}while(s>>>0>>0)}break}case 4:{s=(q|0)!=0;if((c[b+188>>2]|0)==8){if(!s)break b;r=0;while(1){if((a[g+(r<<1|1)>>0]|0)!=-1)break a;r=r+1|0;if(r>>>0>=q>>>0)break b}}if(s){r=0;do{t=r<<2;if((a[g+(t|2)>>0]|0)!=-1)break a;r=r+1|0;if((a[g+(t|3)>>0]|0)!=-1)break a}while(r>>>0>>0)}break}case 3:{r=c[b+192>>2]|0;s=c[b+196>>2]|0;if(s|0){t=0;do{if((a[r+(t<<2|3)>>0]|0)!=-1)break a;t=t+1|0}while(t>>>0>>0)}break}default:break a}while(0);q=l+20|0;switch(c[q>>2]|0){case 6:{c[q>>2]=2;break a;break}case 4:{c[q>>2]=0;break a;break}default:break a}}while(0);if((c[b+8>>2]|0)>>>0>32768){c[p>>2]=60;Ia=j;return}if((c[b>>2]|0)>>>0>2){c[p>>2]=61;Ia=j;return}if((c[b+44>>2]|0)>>>0>1){c[p>>2]=71;Ia=j;return}q=l+20|0;s=c[q>>2]|0;t=l+24|0;r=c[t>>2]|0;switch(s|0){case 0:{switch(r|0){case 1:case 2:case 4:case 8:case 16:break;default:{u=37;v=42}}break}case 2:{switch(r|0){case 8:case 16:break;default:{u=37;v=42}}break}case 3:{switch(r|0){case 1:case 2:case 4:case 8:break;default:{u=37;v=42}}break}case 4:{switch(r|0){case 8:case 16:break;default:{u=37;v=42}}break}case 6:{switch(r|0){case 8:case 16:break;default:{u=37;v=42}}break}default:{u=31;v=42}}if((v|0)==42){c[p>>2]=u;Ia=j;return}c[p>>2]=0;u=b+184|0;w=c[u>>2]|0;x=c[b+188>>2]|0;switch(w|0){case 0:{switch(x|0){case 1:case 2:case 4:case 8:case 16:break;default:{y=37;v=49}}break}case 2:{switch(x|0){case 8:case 16:break;default:{y=37;v=49}}break}case 3:{switch(x|0){case 1:case 2:case 4:case 8:break;default:{y=37;v=49}}break}case 4:{switch(x|0){case 8:case 16:break;default:{y=37;v=49}}break}case 6:{switch(x|0){case 8:case 16:break;default:{y=37;v=49}}break}default:{y=31;v=49}}if((v|0)==49){c[p>>2]=y;Ia=j;return}c[p>>2]=0;do if((w|0)==(s|0)&(x|0)==(r|0))Up(n,o,g,l);else{y=B(i,h)|0;switch(s|0){case 3:case 0:{z=-1;v=55;break}case 2:{A=3;v=54;break}case 4:break;case 6:{A=4;v=54;break}default:{z=0;v=55}}if((v|0)==54){C=((B(B(r,y)|0,A)|0)+7|0)>>>3;v=56}else if((v|0)==55)switch(s|0){case 2:case 6:{C=((B(z&r,y)|0)+7|0)>>>3;v=56;break}default:{}}if((v|0)==56?(r|0)==8:0){y=aq(C)|0;if(!((C|0)!=0&(y|0)==0)){if((c[p>>2]|0)==0?(D=Mp(y,g,q,u,h,i)|0,c[p>>2]=D,(D|0)==0):0)Up(n,o,y,l)}else c[p>>2]=9955;cq(y);break}c[p>>2]=59;Ia=j;return}while(0);c[m>>2]=0;u=m+8|0;c[u>>2]=0;g=m+4|0;c[g>>2]=0;c:do if(!(c[p>>2]|0)){C=bq(0,2)|0;if(!C){E=0;F=0}else{c[u>>2]=2;c[m>>2]=C;c[g>>2]=1;a[C>>0]=-119;E=c[g>>2]|0;F=c[u>>2]|0}C=E+1|0;if(F>>>0>>0){r=C<<1;z=bq(c[m>>2]|0,r)|0;if(!z){G=C;H=F;I=E}else{c[u>>2]=r;c[m>>2]=z;J=z;v=72}}else{J=c[m>>2]|0;v=72}if((v|0)==72){c[g>>2]=C;a[J+E>>0]=80;C=c[g>>2]|0;G=C+1|0;H=c[u>>2]|0;I=C}if(H>>>0>>0){C=G<<1;z=bq(c[m>>2]|0,C)|0;if(!z){K=G;L=H;M=I}else{c[u>>2]=C;c[m>>2]=z;N=z;v=77}}else{N=c[m>>2]|0;v=77}if((v|0)==77){c[g>>2]=G;a[N+I>>0]=78;z=c[g>>2]|0;K=z+1|0;L=c[u>>2]|0;M=z}if(L>>>0>>0){z=K<<1;C=bq(c[m>>2]|0,z)|0;if(!C){O=K;P=L;Q=M}else{c[u>>2]=z;c[m>>2]=C;R=C;v=82}}else{R=c[m>>2]|0;v=82}if((v|0)==82){c[g>>2]=K;a[R+M>>0]=71;C=c[g>>2]|0;O=C+1|0;P=c[u>>2]|0;Q=C}if(P>>>0>>0){C=O<<1;z=bq(c[m>>2]|0,C)|0;if(!z){S=O;T=P;U=Q}else{c[u>>2]=C;c[m>>2]=z;V=z;v=87}}else{V=c[m>>2]|0;v=87}if((v|0)==87){c[g>>2]=O;a[V+Q>>0]=13;z=c[g>>2]|0;S=z+1|0;T=c[u>>2]|0;U=z}if(T>>>0>>0){z=S<<1;C=bq(c[m>>2]|0,z)|0;if(!C){W=S;X=T;Y=U}else{c[u>>2]=z;c[m>>2]=C;Z=C;v=92}}else{Z=c[m>>2]|0;v=92}if((v|0)==92){c[g>>2]=S;a[Z+U>>0]=10;C=c[g>>2]|0;W=C+1|0;X=c[u>>2]|0;Y=C}if(X>>>0>>0){C=W<<1;z=bq(c[m>>2]|0,C)|0;if(!z){_=W;$=X;aa=Y}else{c[u>>2]=C;c[m>>2]=z;ba=z;v=97}}else{ba=c[m>>2]|0;v=97}if((v|0)==97){c[g>>2]=W;a[ba+Y>>0]=26;z=c[g>>2]|0;_=z+1|0;$=c[u>>2]|0;aa=z}if($>>>0<_>>>0){z=_<<1;C=bq(c[m>>2]|0,z)|0;if(C|0){c[u>>2]=z;c[m>>2]=C;ca=C;v=102}}else{ca=c[m>>2]|0;v=102}if((v|0)==102){c[g>>2]=_;a[ca+aa>>0]=10}C=c[t>>2]|0;z=c[q>>2]|0;r=c[l+16>>2]|0;s=bq(0,8)|0;A=(s|0)==0;x=A?0:8;w=A?0:4;y=s+(A?-4:0)|0;a[y>>0]=h>>>24;a[y+1>>0]=h>>>16;a[y+2>>0]=h>>>8;a[y+3>>0]=h;y=w+4|0;if(x>>>0>>0){A=y<<1;D=bq(s,A)|0;da=(D|0)==0;ea=da?s:D;fa=da?w:y;ga=da?x:A}else{ea=s;fa=y;ga=x}x=ea+(fa+-4)|0;a[x>>0]=i>>>24;a[x+1>>0]=i>>>16;a[x+2>>0]=i>>>8;a[x+3>>0]=i;x=C&255;C=fa+1|0;if(ga>>>0>>0){y=C<<1;s=bq(ea,y)|0;if(!s){ha=C;ia=ea;ja=fa;ka=ga}else{la=s;ma=y;v=107}}else{la=ea;ma=ga;v=107}if((v|0)==107){a[la+fa>>0]=x;ha=fa+2|0;ia=la;ja=C;ka=ma}C=z&255;if(ka>>>0>>0){z=ha<<1;x=bq(ia,z)|0;if(!x){na=ha;oa=ia;pa=ja;qa=ka}else{ra=x;sa=z;v=110}}else{ra=ia;sa=ka;v=110}if((v|0)==110){a[ra+ja>>0]=C;na=ha+1|0;oa=ra;pa=ha;qa=sa}if(qa>>>0>>0){C=na<<1;z=bq(oa,C)|0;if(!z){ta=na;ua=oa;va=pa;wa=qa}else{xa=z;ya=C;v=113}}else{xa=oa;ya=qa;v=113}if((v|0)==113){a[xa+pa>>0]=0;ta=na+1|0;ua=xa;va=na;wa=ya}if(wa>>>0>>0){C=ta<<1;z=bq(ua,C)|0;if(!z){za=ta;Aa=ua;Ba=va;Ca=wa}else{Da=z;Ea=C;v=116}}else{Da=ua;Ea=wa;v=116}if((v|0)==116){a[Da+va>>0]=0;za=ta+1|0;Aa=Da;Ba=ta;Ca=Ea}C=r&255;if(Ca>>>0>>0){r=bq(Aa,za<<1)|0;if(!r){Fa=Aa;Ga=Ba}else{Ha=r;v=119}}else{Ha=Aa;v=119}if((v|0)==119){a[Ha+Ba>>0]=C;Fa=Ha;Ga=za}if(!(Hp(m,g,Ga,66868,Fa)|0))c[u>>2]=c[g>>2];cq(Fa);C=c[l+132>>2]|0;if(C|0){r=c[l+144>>2]|0;z=C;d:do if(r|0){x=C;y=c[g>>2]|0;while(1){s=x+1|0;A=x+2|0;da=x+3|0;w=(d[s>>0]<<16|d[x>>0]<<24|d[A>>0]<<8|d[da>>0])+12|0;D=w+y|0;if(D>>>0>>0|D>>>0>>0){Ja=77;break}Ka=bq(c[m>>2]|0,D)|0;if(!Ka){Ja=9929;break}c[m>>2]=Ka;c[g>>2]=D;La=Ka+y|0;if(!w)Ma=D;else{D=0;do{a[La+D>>0]=a[x+D>>0]|0;D=D+1|0}while((D|0)!=(w|0));Ma=c[g>>2]|0}c[u>>2]=Ma;x=x+((d[s>>0]<<16|d[x>>0]<<24|d[A>>0]<<8|d[da>>0])+12)|0;if((x-z|0)>>>0>=r>>>0)break d;else y=Ma}c[p>>2]=Ja;break c}while(0);c[p>>2]=0}if((c[q>>2]|0)==3){r=l+32|0;z=c[r>>2]|0;if((z+-1|0)>>>0>255){c[p>>2]=68;break}if(!(z&1073741823)){Na=0;Oa=0}else{C=l+28|0;y=0;x=0;w=0;D=0;La=z;while(1){do if((y&3|0)==3){Pa=x;Qa=w;Ra=D;Sa=La}else{z=a[(c[C>>2]|0)+y>>0]|0;Ka=D+1|0;if(w>>>0>>0){Ta=Ka<<1;Ua=bq(x,Ta)|0;if(!Ua){Pa=x;Qa=w;Ra=D;Sa=La;break}else{Va=Ua;Wa=Ta}}else{Va=x;Wa=w}a[Va+D>>0]=z;Pa=Va;Qa=Wa;Ra=Ka;Sa=c[r>>2]|0}while(0);y=y+1|0;if(y>>>0>=Sa<<2>>>0){Na=Pa;Oa=Ra;break}else{x=Pa;w=Qa;D=Ra;La=Sa}}}if(!(Hp(m,g,Oa,66873,Na)|0))c[u>>2]=c[g>>2];cq(Na)}e:do if(!(c[b+16>>2]|0))v=161;else{La=c[q>>2]|0;switch(La|0){case 6:case 2:break;default:{Xa=La;break e}}La=l+32|0;D=c[La>>2]|0;if((D+-1|0)>>>0>255){c[p>>2]=68;break c}if(!(D&1073741823)){Ya=0;Za=0}else{w=l+28|0;x=0;y=0;r=0;C=0;Ka=D;while(1){do if((x&3|0)==3){_a=y;$a=r;ab=C;bb=Ka}else{D=a[(c[w>>2]|0)+x>>0]|0;z=C+1|0;if(r>>>0>>0){Ta=z<<1;Ua=bq(y,Ta)|0;if(!Ua){_a=y;$a=r;ab=C;bb=Ka;break}else{cb=Ua;db=Ta}}else{cb=y;db=r}a[cb+C>>0]=D;_a=cb;$a=db;ab=z;bb=c[La>>2]|0}while(0);x=x+1|0;if(x>>>0>=bb<<2>>>0){Ya=_a;Za=ab;break}else{y=_a;r=$a;C=ab;Ka=bb}}}if(!(Hp(m,g,Za,66873,Ya)|0))c[u>>2]=c[g>>2];cq(Ya);v=161}while(0);if((v|0)==161)Xa=c[q>>2]|0;f:do if((Xa|0)==3){Ka=c[l+28>>2]|0;C=c[l+32>>2]|0;if(!C)break;r=0;while(1){if((a[Ka+(r<<2|3)>>0]|0)!=-1)break;r=r+1|0;if(r>>>0>=C>>>0)break f}Vp(m,q);eb=c[q>>2]|0;v=168}else{eb=Xa;v=168}while(0);g:do if((v|0)==168){switch(eb|0){case 2:case 0:break;default:break g}if(!(c[l+36>>2]|0))break;Vp(m,q)}while(0);if(c[l+52>>2]|0){h:do switch(c[l+20>>2]|0){case 4:case 0:{C=l+56|0;r=c[C>>2]|0;Ka=bq(0,2)|0;if(!Ka){y=bq(0,2)|0;if(!y){fb=0;gb=0;break h}else{hb=r;ib=y;jb=0;kb=1}}else{a[Ka>>0]=r>>>8;hb=c[C>>2]|0;ib=Ka;jb=1;kb=2}a[ib+jb>>0]=hb;fb=ib;gb=kb;break}case 6:case 2:{Ka=l+56|0;C=c[Ka>>2]|0;r=bq(0,2)|0;if(!r){y=bq(0,2)|0;if(!y){lb=0;mb=0;nb=0}else{ob=C;pb=y;qb=0;rb=1;v=180}}else{a[r>>0]=C>>>8;ob=c[Ka>>2]|0;pb=r;qb=1;rb=2;v=180}if((v|0)==180){a[pb+qb>>0]=ob;lb=pb;mb=rb;nb=2}r=l+60|0;Ka=c[r>>2]|0;C=Ka>>>8&255;y=mb+1|0;if(nb>>>0>>0){x=y<<1;La=bq(lb,x)|0;if(!La){sb=y;tb=lb;ub=mb;vb=nb;wb=Ka}else{xb=La;yb=x;v=183}}else{xb=lb;yb=nb;v=183}if((v|0)==183){a[xb+mb>>0]=C;sb=mb+2|0;tb=xb;ub=y;vb=yb;wb=c[r>>2]|0}r=wb&255;if(vb>>>0>>0){y=sb<<1;C=bq(tb,y)|0;if(!C){zb=sb;Ab=tb;Bb=ub;Cb=vb}else{Db=C;Eb=y;v=186}}else{Db=tb;Eb=vb;v=186}if((v|0)==186){a[Db+ub>>0]=r;zb=sb+1|0;Ab=Db;Bb=sb;Cb=Eb}r=l+64|0;y=c[r>>2]|0;C=y>>>8&255;if(Cb>>>0>>0){x=zb<<1;La=bq(Ab,x)|0;if(!La){Fb=zb;Gb=Ab;Hb=Bb;Ib=Cb;Jb=y}else{Kb=La;Lb=x;v=189}}else{Kb=Ab;Lb=Cb;v=189}if((v|0)==189){a[Kb+Bb>>0]=C;Fb=zb+1|0;Gb=Kb;Hb=zb;Ib=Lb;Jb=c[r>>2]|0}r=Jb&255;if(Ib>>>0>>0){C=bq(Gb,Fb<<1)|0;if(!C){fb=Gb;gb=Hb;break h}else Mb=C}else Mb=Gb;a[Mb+Hb>>0]=r;fb=Mb;gb=Fb;break}case 3:{r=c[l+56>>2]|0;C=bq(0,2)|0;if(!C){fb=0;gb=0;break h}a[C>>0]=r;fb=C;gb=1;break}default:{fb=0;gb=0}}while(0);if(!(Hp(m,g,gb,66878,fb)|0))c[u>>2]=c[g>>2];cq(fb)}if(c[l+116>>2]|0){C=c[l+120>>2]|0;r=bq(0,8)|0;x=(r|0)==0;La=x?0:8;y=x?0:4;Ka=r+(x?-4:0)|0;a[Ka>>0]=C>>>24;a[Ka+1>>0]=C>>>16;a[Ka+2>>0]=C>>>8;a[Ka+3>>0]=C;C=c[l+124>>2]|0;Ka=y+4|0;if(La>>>0>>0){x=Ka<<1;w=bq(r,x)|0;da=(w|0)==0;Nb=da?r:w;Ob=da?y:Ka;Pb=da?La:x}else{Nb=r;Ob=Ka;Pb=La}La=Nb+(Ob+-4)|0;a[La>>0]=C>>>24;a[La+1>>0]=C>>>16;a[La+2>>0]=C>>>8;a[La+3>>0]=C;C=a[l+128>>0]|0;La=Ob+1|0;if(Pb>>>0>>0){Ka=bq(Nb,La<<1)|0;if(!Ka){Qb=Nb;Rb=Ob}else{Sb=Ka;v=203}}else{Sb=Nb;v=203}if((v|0)==203){a[Sb+Ob>>0]=C;Qb=Sb;Rb=La}if(!(Hp(m,g,Rb,66883,Qb)|0))c[u>>2]=c[g>>2];cq(Qb)}La=c[l+136>>2]|0;if(La|0){C=c[l+148>>2]|0;Ka=La;i:do if(C|0){r=La;x=c[g>>2]|0;while(1){da=r+1|0;y=r+2|0;w=r+3|0;A=(d[da>>0]<<16|d[r>>0]<<24|d[y>>0]<<8|d[w>>0])+12|0;s=A+x|0;if(s>>>0>>0|s>>>0>>0){Tb=77;break}z=bq(c[m>>2]|0,s)|0;if(!z){Tb=9929;break}c[m>>2]=z;c[g>>2]=s;D=z+x|0;if(!A)Ub=s;else{s=0;do{a[D+s>>0]=a[r+s>>0]|0;s=s+1|0}while((s|0)!=(A|0));Ub=c[g>>2]|0}c[u>>2]=Ub;r=r+((d[da>>0]<<16|d[r>>0]<<24|d[y>>0]<<8|d[w>>0])+12)|0;if((r-Ka|0)>>>0>=C>>>0)break i;else x=Ub}c[p>>2]=Tb;break c}while(0);c[p>>2]=0}C=c[n>>2]|0;Ka=c[o>>2]|0;c[k>>2]=0;c[k+8>>2]=0;La=k+4|0;c[La>>2]=0;x=Fp(k,La,C,Ka,b)|0;Ka=c[k>>2]|0;do if(!x){C=Hp(m,g,c[La>>2]|0,66888,Ka)|0;if(C|0){Vb=C;break}c[u>>2]=c[g>>2];Vb=0}else Vb=x;while(0);cq(Ka);c[p>>2]=Vb;if(Vb|0)break;do if(a[l+100>>0]|0){x=aq(7)|0;if(!x)break;La=l+104|0;a[x>>0]=(c[La>>2]|0)>>>8;a[x+1>>0]=c[La>>2];a[x+2>>0]=a[l+108>>0]|0;a[x+3>>0]=a[l+109>>0]|0;a[x+4>>0]=a[l+110>>0]|0;a[x+5>>0]=a[l+111>>0]|0;a[x+6>>0]=a[l+112>>0]|0;if(!(Hp(m,g,7,66893,x)|0))c[u>>2]=c[g>>2];cq(x)}while(0);Ka=l+68|0;x=c[Ka>>2]|0;j:do if(x){La=l+72|0;C=b+24|0;r=l+76|0;A=k+8|0;s=k+4|0;D=0;z=x;while(1){Ta=c[(c[La>>2]|0)+(D<<2)>>2]|0;if((Ht(Ta)|0)>>>0>79){v=231;break}Ua=a[Ta>>0]|0;if(!(Ua<<24>>24)){v=233;break}Wb=c[(c[r>>2]|0)+(D<<2)>>2]|0;if(!(c[C>>2]|0))Wp(m,Ta,Wb);else{Xb=Ht(Wb)|0;c[k>>2]=0;c[A>>2]=0;c[s>>2]=0;Yb=0;Zb=0;_b=0;$b=0;ac=1;bc=Ua;Ua=1;while(1){if(Ua){cc=ac<<1;dc=bq(Zb,cc)|0;if(!dc){ec=Zb;fc=_b;gc=$b}else{hc=dc;ic=cc;v=238}}else{hc=Zb;ic=$b;v=238}if((v|0)==238){v=0;a[hc+_b>>0]=bc;ec=hc;fc=ac;gc=ic}Yb=Yb+1|0;bc=a[Ta+Yb>>0]|0;ac=fc+1|0;Ua=gc>>>0>>0;if(!(bc<<24>>24))break;else{Zb=ec;_b=fc;$b=gc}}if(Ua){$b=ac<<1;_b=bq(ec,$b)|0;if(!_b){jc=ac;kc=ec;lc=fc;mc=gc}else{nc=_b;oc=$b;v=242}}else{nc=ec;oc=gc;v=242}if((v|0)==242){v=0;a[nc+fc>>0]=0;jc=fc+2|0;kc=nc;lc=ac;mc=oc}if(mc>>>0>>0){$b=jc<<1;_b=bq(kc,$b)|0;if(!_b){pc=kc;qc=lc;rc=mc}else{sc=_b;tc=$b;v=245}}else{sc=kc;tc=mc;v=245}if((v|0)==245){v=0;a[sc+lc>>0]=0;pc=sc;qc=jc;rc=tc}do if(!(Fp(k,s,Wb,Xb,b)|0)){$b=c[s>>2]|0;if(!$b){uc=pc;vc=qc}else{_b=0;Zb=pc;bc=qc;Yb=rc;Ta=$b;while(1){$b=a[(c[k>>2]|0)+_b>>0]|0;w=bc+1|0;if(Yb>>>0>>0){y=w<<1;da=bq(Zb,y)|0;if(!da){wc=Zb;xc=bc;yc=Yb;zc=Ta}else{Ac=da;Bc=y;v=251}}else{Ac=Zb;Bc=Yb;v=251}if((v|0)==251){v=0;a[Ac+bc>>0]=$b;wc=Ac;xc=w;yc=Bc;zc=c[s>>2]|0}_b=_b+1|0;if(_b>>>0>=zc>>>0){uc=wc;vc=xc;break}else{Zb=wc;bc=xc;Yb=yc;Ta=zc}}}if(Hp(m,g,vc,66898,uc)|0){Cc=uc;break}c[u>>2]=c[g>>2];Cc=uc}else Cc=pc;while(0);c[A>>2]=0;c[s>>2]=0;cq(c[k>>2]|0);cq(Cc)}D=D+1|0;Xb=c[Ka>>2]|0;if(D>>>0>=Xb>>>0){Dc=Xb;break j}else z=Xb}if((v|0)==231){c[p>>2]=66;Dc=z;break}else if((v|0)==233){c[p>>2]=67;Dc=z;break}}else Dc=0;while(0);k:do if(c[b+20>>2]|0){if(Dc|0){Ka=c[l+72>>2]|0;x=0;do{if(!(xt(c[Ka+(x<<2)>>2]|0,66903)|0))break k;x=x+1|0}while(x>>>0>>0)}Wp(m,66903,66911)}while(0);x=l+80|0;l:do if(c[x>>2]|0){Ka=l+84|0;z=b+24|0;D=l+88|0;s=l+92|0;A=l+96|0;C=k+8|0;r=k+4|0;La=0;while(1){Xb=c[(c[Ka>>2]|0)+(La<<2)>>2]|0;if((Ht(Xb)|0)>>>0>79){v=267;break}Wb=a[Xb>>0]|0;if(!(Wb<<24>>24)){v=269;break}ac=c[z>>2]|0;Ua=c[(c[D>>2]|0)+(La<<2)>>2]|0;Ta=c[(c[s>>2]|0)+(La<<2)>>2]|0;Yb=c[(c[A>>2]|0)+(La<<2)>>2]|0;bc=Ht(Yb)|0;Zb=0;_b=0;w=0;$b=0;y=1;da=Wb;Wb=1;while(1){if(Wb){cc=y<<1;dc=bq(_b,cc)|0;if(!dc){Ec=_b;Fc=w;Gc=$b}else{Hc=dc;Ic=cc;v=273}}else{Hc=_b;Ic=$b;v=273}if((v|0)==273){v=0;a[Hc+w>>0]=da;Ec=Hc;Fc=y;Gc=Ic}Zb=Zb+1|0;da=a[Xb+Zb>>0]|0;y=Fc+1|0;Wb=Gc>>>0>>0;if(!(da<<24>>24))break;else{_b=Ec;w=Fc;$b=Gc}}if(Wb){$b=y<<1;w=bq(Ec,$b)|0;if(!w){Jc=y;Kc=Ec;Lc=Fc;Mc=Gc}else{Nc=w;Oc=$b;v=277}}else{Nc=Ec;Oc=Gc;v=277}if((v|0)==277){v=0;a[Nc+Fc>>0]=0;Jc=Fc+2|0;Kc=Nc;Lc=y;Mc=Oc}$b=(ac|0)!=0;w=$b&1;if(Mc>>>0>>0){_b=Jc<<1;da=bq(Kc,_b)|0;if(!da){Pc=Jc;Qc=Kc;Rc=Lc;Sc=Mc}else{Tc=da;Uc=_b;v=280}}else{Tc=Kc;Uc=Mc;v=280}if((v|0)==280){v=0;a[Tc+Lc>>0]=w;Pc=Lc+2|0;Qc=Tc;Rc=Jc;Sc=Uc}if(Sc>>>0>>0){w=Pc<<1;_b=bq(Qc,w)|0;if(!_b){Vc=Pc;Wc=Qc;Xc=Rc;Yc=Sc}else{Zc=_b;_c=w;v=283}}else{Zc=Qc;_c=Sc;v=283}if((v|0)==283){v=0;a[Zc+Rc>>0]=0;Vc=Pc+1|0;Wc=Zc;Xc=Pc;Yc=_c}w=a[Ua>>0]|0;_b=Yc>>>0>>0;if(!(w<<24>>24)){$c=_b;ad=Vc;bd=Wc;cd=Xc;dd=Yc}else{da=0;Zb=Wc;Xb=Xc;cc=Yc;dc=Vc;ed=w;w=_b;while(1){if(w){_b=dc<<1;fd=bq(Zb,_b)|0;if(!fd){gd=Zb;hd=Xb;id=cc}else{jd=fd;kd=_b;v=288}}else{jd=Zb;kd=cc;v=288}if((v|0)==288){v=0;a[jd+Xb>>0]=ed;gd=jd;hd=dc;id=kd}da=da+1|0;ed=a[Ua+da>>0]|0;_b=hd+1|0;fd=id>>>0<_b>>>0;if(!(ed<<24>>24)){$c=fd;ad=_b;bd=gd;cd=hd;dd=id;break}else{Zb=gd;Xb=hd;cc=id;dc=_b;w=fd}}}if($c){w=ad<<1;dc=bq(bd,w)|0;if(!dc){ld=bd;md=cd;nd=dd}else{od=dc;pd=w;v=292}}else{od=bd;pd=dd;v=292}if((v|0)==292){v=0;a[od+cd>>0]=0;ld=od;md=ad;nd=pd}w=a[Ta>>0]|0;dc=md+1|0;cc=nd>>>0>>0;if(!(w<<24>>24)){qd=cc;rd=dc;sd=ld;td=md;ud=nd}else{Xb=0;Zb=ld;ed=md;da=nd;Ua=dc;dc=w;w=cc;while(1){if(w){cc=Ua<<1;ac=bq(Zb,cc)|0;if(!ac){vd=Zb;wd=ed;xd=da}else{yd=ac;zd=cc;v=297}}else{yd=Zb;zd=da;v=297}if((v|0)==297){v=0;a[yd+ed>>0]=dc;vd=yd;wd=Ua;xd=zd}Xb=Xb+1|0;dc=a[Ta+Xb>>0]|0;cc=wd+1|0;ac=xd>>>0>>0;if(!(dc<<24>>24)){qd=ac;rd=cc;sd=vd;td=wd;ud=xd;break}else{Zb=vd;ed=wd;da=xd;Ua=cc;w=ac}}}if(qd){w=rd<<1;Ua=bq(sd,w)|0;if(!Ua){Ad=sd;Bd=td;Cd=ud}else{Dd=Ua;Ed=w;v=301}}else{Dd=sd;Ed=ud;v=301}if((v|0)==301){v=0;a[Dd+td>>0]=0;Ad=Dd;Bd=rd;Cd=Ed}do if($b){c[k>>2]=0;c[C>>2]=0;c[r>>2]=0;if(Fp(k,r,Yb,bc,b)|0){Fd=Ad;break}w=c[r>>2]|0;if(!w){Gd=Ad;Hd=Bd;Id=Cd}else{Ua=0;da=Ad;ed=Bd;Zb=Cd;dc=w;while(1){w=a[(c[k>>2]|0)+Ua>>0]|0;Xb=ed+1|0;if(Zb>>>0>>0){Ta=Xb<<1;ac=bq(da,Ta)|0;if(!ac){Jd=da;Kd=ed;Ld=Zb;Md=dc}else{Nd=ac;Od=Ta;v=308}}else{Nd=da;Od=Zb;v=308}if((v|0)==308){v=0;a[Nd+ed>>0]=w;Jd=Nd;Kd=Xb;Ld=Od;Md=c[r>>2]|0}Ua=Ua+1|0;if(Ua>>>0>=Md>>>0){Gd=Jd;Hd=Kd;Id=Ld;break}else{da=Jd;ed=Kd;Zb=Ld;dc=Md}}}dc=a[Yb>>0]|0;if(!(dc<<24>>24)){Pd=Gd;Qd=Hd;v=322;break}Zb=0;ed=Gd;da=Hd;Ua=Id;Xb=dc;while(1){dc=da+1|0;if(Ua>>>0>>0){w=dc<<1;Ta=bq(ed,w)|0;if(!Ta){Rd=ed;Sd=da;Td=Ua}else{Ud=Ta;Vd=w;v=314}}else{Ud=ed;Vd=Ua;v=314}if((v|0)==314){v=0;a[Ud+da>>0]=Xb;Rd=Ud;Sd=dc;Td=Vd}Zb=Zb+1|0;Xb=a[Yb+Zb>>0]|0;if(!(Xb<<24>>24)){Pd=Rd;Qd=Sd;v=322;break}else{ed=Rd;da=Sd;Ua=Td}}}else{Ua=a[Yb>>0]|0;if(!(Ua<<24>>24)){Pd=Ad;Qd=Bd;v=322;break}da=0;ed=Ad;Xb=Bd;Zb=Cd;dc=Ua;while(1){Ua=Xb+1|0;if(Zb>>>0>>0){w=Ua<<1;Ta=bq(ed,w)|0;if(!Ta){Wd=ed;Xd=Xb;Yd=Zb}else{Zd=Ta;_d=w;v=320}}else{Zd=ed;_d=Zb;v=320}if((v|0)==320){v=0;a[Zd+Xb>>0]=dc;Wd=Zd;Xd=Ua;Yd=_d}da=da+1|0;dc=a[Yb+da>>0]|0;if(!(dc<<24>>24)){Pd=Wd;Qd=Xd;v=322;break}else{ed=Wd;Xb=Xd;Zb=Yd}}}while(0);do if((v|0)==322){v=0;if(Hp(m,g,Qd,66920,Pd)|0){Fd=Pd;break}c[u>>2]=c[g>>2];Fd=Pd}while(0);cq(Fd);La=La+1|0;if(La>>>0>=(c[x>>2]|0)>>>0)break l}if((v|0)==267){c[p>>2]=66;break}else if((v|0)==269){c[p>>2]=67;break}}while(0);x=c[l+140>>2]|0;if(x|0){La=c[l+152>>2]|0;r=x;m:do if(La|0){C=x;A=c[g>>2]|0;while(1){s=C+1|0;D=C+2|0;z=C+3|0;Ka=(d[s>>0]<<16|d[C>>0]<<24|d[D>>0]<<8|d[z>>0])+12|0;Yb=Ka+A|0;if(Yb>>>0>>0|Yb>>>0>>0){$d=77;break}bc=bq(c[m>>2]|0,Yb)|0;if(!bc){$d=9929;break}c[m>>2]=bc;c[g>>2]=Yb;$b=bc+A|0;if(!Ka)ae=Yb;else{Yb=0;do{a[$b+Yb>>0]=a[C+Yb>>0]|0;Yb=Yb+1|0}while((Yb|0)!=(Ka|0));ae=c[g>>2]|0}c[u>>2]=ae;C=C+((d[s>>0]<<16|d[C>>0]<<24|d[D>>0]<<8|d[z>>0])+12)|0;if((C-r|0)>>>0>=La>>>0)break m;else A=ae}c[p>>2]=$d;break c}while(0);c[p>>2]=0}La=c[g>>2]|0;r=La+12|0;if(La>>>0>4294967283)break;x=bq(c[m>>2]|0,r)|0;if(!x)break;c[m>>2]=x;c[g>>2]=r;r=x+La|0;a[r>>0]=0;a[r+1>>0]=0;a[r+2>>0]=0;a[r+3>>0]=0;La=r+4|0;a[La>>0]=73;a[r+5>>0]=69;a[r+6>>0]=78;a[r+7>>0]=68;x=Gp(La,4)|0;La=r+8|0;a[La>>0]=x>>>24;a[La+1>>0]=x>>>16;a[La+2>>0]=x>>>8;a[La+3>>0]=x;c[u>>2]=c[g>>2]}while(0);cq(c[n>>2]|0);c[e>>2]=c[m>>2];c[f>>2]=c[g>>2];Ia=j;return}function Up(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0;h=Ia;Ia=Ia+320|0;i=h+288|0;j=h+256|0;k=h+224|0;l=h+192|0;m=h+160|0;n=h+128|0;o=h+96|0;p=h+64|0;q=h+32|0;r=h;s=g+20|0;t=g+24|0;u=c[t>>2]|0;switch(c[s>>2]|0){case 3:case 0:{v=1;break}case 2:{v=3;break}case 4:{v=2;break}case 6:{v=4;break}default:v=0}w=B(v,u)|0;u=c[g>>2]|0;v=c[g+4>>2]|0;if(!(c[g+16>>2]|0)){g=B(u,w)|0;x=g+7|0;y=B(x>>>3,v)|0;z=y+v|0;c[e>>2]=z;A=aq(z)|0;c[b>>2]=A;if((A|0)==0?c[e>>2]|0:0){Ia=h;return}if(w>>>0<8?(z=x&-8,(g|0)!=(z|0)):0){if(y){x=bq(0,y<<1)|0;if(!x)C=0;else{D=x;E=13}}else{D=0;E=13}if((E|0)==13){Xp(D,f,z,g,v);Yp(c[b>>2]|0,D,u,v,c[s>>2]|0,c[t>>2]|0)|0;C=D}cq(C);Ia=h;return}Yp(A,f,u,v,c[s>>2]|0,c[t>>2]|0)|0;Ia=h;return}A=B(w,u)|0;C=((B(A,v)|0)+7|0)>>>3;D=aq(C)|0;g=(C|0)==0|(D|0)!=0;C=g?0:9952;if(g){Qp(n,o,p,q,r,u,v,w);z=c[p+28>>2]|0;c[e>>2]=z;x=aq(z)|0;c[b>>2]=x;if(!((x|0)==0?(c[e>>2]|0)!=0:0))E=19;do if((E|0)==19){Qp(i,j,k,l,m,u,v,w);if(w>>>0>7){e=w>>>3;if(e|0){x=0;do{z=c[j+(x<<2)>>2]|0;if(z|0?(y=c[i+(x<<2)>>2]|0,y|0):0){F=c[29600+(x<<2)>>2]|0;G=c[29568+(x<<2)>>2]|0;H=c[29536+(x<<2)>>2]|0;I=c[29504+(x<<2)>>2]|0;J=c[m+(x<<2)>>2]|0;K=0;do{L=(B((B(K,G)|0)+F|0,u)|0)+H|0;M=B(K,y)|0;N=0;do{O=B(L+(B(N,I)|0)|0,e)|0;P=(B(N+M|0,e)|0)+J|0;Q=0;do{a[D+(P+Q)>>0]=a[f+(Q+O)>>0]|0;Q=Q+1|0}while((Q|0)!=(e|0));N=N+1|0}while((N|0)!=(y|0));K=K+1|0}while((K|0)!=(z|0))}x=x+1|0}while((x|0)!=7)}}else{x=(w|0)==0;e=0;do{z=c[i+(e<<2)>>2]|0;K=c[j+(e<<2)>>2]|0;if(K|0?(y=29600+(e<<2)|0,J=29568+(e<<2)|0,I=29536+(e<<2)|0,z|0):0){H=c[29504+(e<<2)>>2]|0;F=c[m+(e<<2)>>2]<<3;G=0;do{N=B(G,z)|0;if(!x){M=B(c[J>>2]|0,G)|0;L=(B(M+(c[y>>2]|0)|0,u)|0)+(c[I>>2]|0)|0;M=0;do{Q=(B(M+N|0,w)|0)+F|0;O=0;P=B(L+(B(M,H)|0)|0,w)|0;while(1){R=1<<(Q&7^7);if(!(1<<(P&7^7)&(d[f+(P>>>3)>>0]|0))){S=D+(Q>>>3)|0;T=S;U=(R^255)&(d[S>>0]|0)}else{S=D+(Q>>>3)|0;T=S;U=R|(d[S>>0]|0)}a[T>>0]=U;O=O+1|0;if((O|0)==(w|0))break;else{Q=Q+1|0;P=P+1|0}}M=M+1|0}while((M|0)!=(z|0))}G=G+1|0}while((G|0)!=(K|0))}e=e+1|0}while((e|0)!=7)}e=B((A+7|0)>>>3,v)|0;x=(e|0)==0;K=e<<1;if(w>>>0>=8){Yp((c[b>>2]|0)+(c[p>>2]|0)|0,D+(c[q>>2]|0)|0,c[n>>2]|0,c[o>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;Yp((c[b>>2]|0)+(c[p+4>>2]|0)|0,D+(c[q+4>>2]|0)|0,c[n+4>>2]|0,c[o+4>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;Yp((c[b>>2]|0)+(c[p+8>>2]|0)|0,D+(c[q+8>>2]|0)|0,c[n+8>>2]|0,c[o+8>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;Yp((c[b>>2]|0)+(c[p+12>>2]|0)|0,D+(c[q+12>>2]|0)|0,c[n+12>>2]|0,c[o+12>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;Yp((c[b>>2]|0)+(c[p+16>>2]|0)|0,D+(c[q+16>>2]|0)|0,c[n+16>>2]|0,c[o+16>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;Yp((c[b>>2]|0)+(c[p+20>>2]|0)|0,D+(c[q+20>>2]|0)|0,c[n+20>>2]|0,c[o+20>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;Yp((c[b>>2]|0)+(c[p+24>>2]|0)|0,D+(c[q+24>>2]|0)|0,c[n+24>>2]|0,c[o+24>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;break}if(!x){e=bq(0,K)|0;if(!e){V=9954;W=0}else{X=e;E=48}}else{X=0;E=48}if((E|0)==48)if(g){e=X+(c[q>>2]|0)|0;G=c[n>>2]|0;z=B(G,w)|0;H=c[o>>2]|0;Xp(e,D+(c[r>>2]|0)|0,z+7&-8,z,H);V=Yp((c[b>>2]|0)+(c[p>>2]|0)|0,e,G,H,c[s>>2]|0,c[t>>2]|0)|0;W=X}else{V=C;W=X}cq(W);if(!x){H=bq(0,K)|0;if(!H){Y=9954;Z=0}else{_=H;E=56}}else{_=0;E=56}if((E|0)==56)if(!V){H=_+(c[q+4>>2]|0)|0;G=c[n+4>>2]|0;e=B(G,w)|0;z=c[o+4>>2]|0;Xp(H,D+(c[r+4>>2]|0)|0,e+7&-8,e,z);Y=Yp((c[b>>2]|0)+(c[p+4>>2]|0)|0,H,G,z,c[s>>2]|0,c[t>>2]|0)|0;Z=_}else{Y=V;Z=_}cq(Z);if(!x){z=bq(0,K)|0;if(!z){$=9954;aa=0}else{ba=z;E=60}}else{ba=0;E=60}if((E|0)==60)if(!Y){z=ba+(c[q+8>>2]|0)|0;G=c[n+8>>2]|0;H=B(G,w)|0;e=c[o+8>>2]|0;Xp(z,D+(c[r+8>>2]|0)|0,H+7&-8,H,e);$=Yp((c[b>>2]|0)+(c[p+8>>2]|0)|0,z,G,e,c[s>>2]|0,c[t>>2]|0)|0;aa=ba}else{$=Y;aa=ba}cq(aa);if(!x){e=bq(0,K)|0;if(!e){ca=9954;da=0}else{ea=e;E=64}}else{ea=0;E=64}if((E|0)==64)if(!$){e=ea+(c[q+12>>2]|0)|0;G=c[n+12>>2]|0;z=B(G,w)|0;H=c[o+12>>2]|0;Xp(e,D+(c[r+12>>2]|0)|0,z+7&-8,z,H);ca=Yp((c[b>>2]|0)+(c[p+12>>2]|0)|0,e,G,H,c[s>>2]|0,c[t>>2]|0)|0;da=ea}else{ca=$;da=ea}cq(da);if(!x){H=bq(0,K)|0;if(!H){fa=9954;ga=0}else{ha=H;E=68}}else{ha=0;E=68}if((E|0)==68)if(!ca){H=ha+(c[q+16>>2]|0)|0;G=c[n+16>>2]|0;e=B(G,w)|0;z=c[o+16>>2]|0;Xp(H,D+(c[r+16>>2]|0)|0,e+7&-8,e,z);fa=Yp((c[b>>2]|0)+(c[p+16>>2]|0)|0,H,G,z,c[s>>2]|0,c[t>>2]|0)|0;ga=ha}else{fa=ca;ga=ha}cq(ga);if(!x){z=bq(0,K)|0;if(!z){ia=9954;ja=0}else{ka=z;E=72}}else{ka=0;E=72}if((E|0)==72)if(!fa){z=ka+(c[q+20>>2]|0)|0;G=c[n+20>>2]|0;H=B(G,w)|0;e=c[o+20>>2]|0;Xp(z,D+(c[r+20>>2]|0)|0,H+7&-8,H,e);ia=Yp((c[b>>2]|0)+(c[p+20>>2]|0)|0,z,G,e,c[s>>2]|0,c[t>>2]|0)|0;ja=ka}else{ia=fa;ja=ka}cq(ja);if(!x){x=bq(0,K)|0;if(!x)la=0;else{ma=x;E=76}}else{ma=0;E=76}if((E|0)==76)if(!ia){x=ma+(c[q+24>>2]|0)|0;K=c[n+24>>2]|0;e=B(K,w)|0;G=c[o+24>>2]|0;Xp(x,D+(c[r+24>>2]|0)|0,e+7&-8,e,G);Yp((c[b>>2]|0)+(c[p+24>>2]|0)|0,x,K,G,c[s>>2]|0,c[t>>2]|0)|0;la=ma}else la=ma;cq(la)}while(0)}cq(D);Ia=h;return}function Vp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;a:do switch(c[d>>2]|0){case 3:{e=d+12|0;if(!(c[e>>2]|0)){f=0;g=0}else{h=d+8|0;i=0;j=0;k=0;l=0;while(1){m=a[(c[h>>2]|0)+(i<<2|3)>>0]|0;n=k+1|0;if(l>>>0>>0){o=n<<1;p=bq(j,o)|0;if(!p){q=j;r=k;s=l}else{t=p;u=o;v=6}}else{t=j;u=l;v=6}if((v|0)==6){v=0;a[t+k>>0]=m;q=t;r=n;s=u}i=i+1|0;if(i>>>0>=(c[e>>2]|0)>>>0){f=q;g=r;break}else{j=q;k=r;l=s}}}break}case 0:{if(!(c[d+16>>2]|0)){f=0;g=0}else{l=d+20|0;k=c[l>>2]|0;j=bq(0,2)|0;if(!j){e=c[l>>2]|0;i=bq(0,2)|0;if(!i){f=0;g=0;break a}else{w=e;x=i;y=0;z=1}}else{a[j>>0]=k>>>8;w=c[l>>2]|0;x=j;y=1;z=2}a[x+y>>0]=w;f=x;g=z}break}case 2:{if(!(c[d+16>>2]|0)){f=0;g=0}else{j=d+20|0;l=c[j>>2]|0;k=bq(0,2)|0;if(!k){i=c[j>>2]|0;e=bq(0,2)|0;if(!e){A=0;B=0;C=0}else{D=i;E=e;F=0;G=1;v=17}}else{a[k>>0]=l>>>8;D=c[j>>2]|0;E=k;F=1;G=2;v=17}if((v|0)==17){a[E+F>>0]=D;A=E;B=G;C=2}k=d+24|0;j=(c[k>>2]|0)>>>8&255;l=B+1|0;if(C>>>0>>0){e=l<<1;i=bq(A,e)|0;if(!i){H=l;I=A;J=B;K=C}else{L=i;M=e;v=20}}else{L=A;M=C;v=20}if((v|0)==20){a[L+B>>0]=j;H=B+2|0;I=L;J=l;K=M}l=c[k>>2]&255;if(K>>>0>>0){k=H<<1;j=bq(I,k)|0;if(!j){N=H;O=I;P=J;Q=K}else{R=j;S=k;v=23}}else{R=I;S=K;v=23}if((v|0)==23){a[R+J>>0]=l;N=H+1|0;O=R;P=H;Q=S}l=d+28|0;k=(c[l>>2]|0)>>>8&255;if(Q>>>0>>0){j=N<<1;e=bq(O,j)|0;if(!e){T=N;U=O;V=P;W=Q}else{X=e;Y=j;v=26}}else{X=O;Y=Q;v=26}if((v|0)==26){a[X+P>>0]=k;T=N+1|0;U=X;V=N;W=Y}k=c[l>>2]&255;if(W>>>0>>0){l=bq(U,T<<1)|0;if(!l){f=U;g=V;break a}else Z=l}else Z=U;a[Z+V>>0]=k;f=Z;g=T}break}default:{f=0;g=0}}while(0);T=b+4|0;if(Hp(b,T,g,66930,f)|0){cq(f);return}c[b+8>>2]=c[T>>2];cq(f);return}function Wp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;f=a[d>>0]|0;if(f<<24>>24){g=0;h=0;i=0;j=0;k=f;f=1;l=1;while(1){if(f){m=l<<1;n=bq(h,m)|0;if(!n){o=h;p=i;q=j}else{r=n;s=m;t=5}}else{r=h;s=j;t=5}if((t|0)==5){t=0;a[r+i>>0]=k;o=r;p=l;q=s}g=g+1|0;k=a[d+g>>0]|0;l=p+1|0;f=q>>>0>>0;if(!(k<<24>>24))break;else{h=o;i=p;j=q}}if(f){u=l;v=o;w=p;x=q;t=8}else{y=l;z=o;A=p;B=q;t=9}}else{u=1;v=0;w=0;x=0;t=8}if((t|0)==8){q=u<<1;p=bq(v,q)|0;if(!p){C=v;D=w;E=x}else{y=u;z=p;A=w;B=q;t=9}}if((t|0)==9){a[z+A>>0]=0;C=z;D=y;E=B}B=a[e>>0]|0;if(!(B<<24>>24)){F=C;G=D}else{y=0;z=C;C=D;D=E;E=B;while(1){B=C+1|0;if(D>>>0>>0){A=B<<1;q=bq(z,A)|0;if(!q){H=z;I=C;J=D}else{K=q;L=A;t=14}}else{K=z;L=D;t=14}if((t|0)==14){t=0;a[K+C>>0]=E;H=K;I=B;J=L}y=y+1|0;E=a[e+y>>0]|0;if(!(E<<24>>24)){F=H;G=I;break}else{z=H;C=I;D=J}}}J=b+4|0;if(Hp(b,J,G,66925,F)|0){cq(F);return}c[b+8>>2]=c[J>>2];cq(F);return}function Xp(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=e-f|0;if(!g)return;i=(h|0)!=0;if(!f){j=0;k=0;while(1){if(i){l=0;m=j;while(1){n=b+(m>>>3)|0;a[n>>0]=(1<<(m&7^7)^255)&(d[n>>0]|0);l=l+1|0;if((l|0)==(h|0))break;else m=m+1|0}o=j+e|0}else o=j;k=k+1|0;if((k|0)==(g|0))break;else j=o}return}o=0;j=0;k=0;while(1){m=j+f|0;l=0;n=o;p=j;while(1){q=1<<(p&7^7);if(!(1<<(n&7^7)&(d[c+(n>>>3)>>0]|0))){r=b+(p>>>3)|0;s=r;t=(q^255)&(d[r>>0]|0)}else{r=b+(p>>>3)|0;s=r;t=q|(d[r>>0]|0)}a[s>>0]=t;l=l+1|0;if((l|0)==(f|0))break;else{n=n+1|0;p=p+1|0}}o=o+f|0;if(i){p=0;n=m;while(1){l=b+(n>>>3)|0;a[l>>0]=(1<<(n&7^7)^255)&(d[l>>0]|0);p=p+1|0;if((p|0)==(h|0))break;else n=n+1|0}u=j+e|0}else u=m;k=k+1|0;if((k|0)==(g|0))break;else j=u}return} function Kc(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=b+12|0;f=c[e>>2]|0;do if((a[f+50>>0]|0)==2){g=f+20|0;h=c[g>>2]|0;if(!h){Gc(b,0);i=f+8|0;j=f+12|0;k=(c[j>>2]|0)+(c[i>>2]|0)|0;l=j;m=k;n=i;o=f+49|0;p=k}else{k=f+49|0;if((a[k>>0]|0)!=5)do cd(b)|0;while((a[k>>0]|0)!=5);a[k>>0]=0;i=f+8|0;j=f+12|0;q=(c[j>>2]|0)+(c[i>>2]|0)|0;r=q>>>0>(B(c[f+132>>2]|0,(h>>>0)/100|0)|0)>>>0;l=j;m=q;n=i;o=k;p=r?0:h}c[g>>2]=p;r=(m|0)/100|0;i=c[f+128>>2]|0;q=B(r,0-i|0)|0;j=(i|0)<(2147483644/(r|0)|0|0)?q:-2147483644;c[n>>2]=0-j;c[l>>2]=j+m;s=o}else{j=f+12|0;q=c[f+136>>2]|0;r=(q|0)>40?q:40;q=((c[j>>2]|0)/200|0)+1|0;i=B(r,q)|0;t=f+49|0;u=(q|0)<(2147483644/(r>>>0)|0|0)?i:2147483644;do{u=u-(cd(b)|0)|0;v=(a[t>>0]|0)==5;if((u|0)<=-1600){w=12;break}}while(!v);if((w|0)==12?!v:0){g=((u|0)/(r|0)|0)*200|0;h=f+8|0;c[h>>2]=(c[j>>2]|0)-g+(c[h>>2]|0);c[j>>2]=g;s=t;break}g=(c[f+20>>2]|0)/100|0;h=c[f+128>>2]|0;k=f+8|0;i=B(h,0-g|0)|0;q=(h|0)<(2147483644/(g|0)|0|0)?i:-2147483644;i=(c[j>>2]|0)+(c[k>>2]|0)+q|0;c[k>>2]=0-q;c[j>>2]=i;s=t}while(0);v=f+92|0;if(!(c[v>>2]|0))return;f=0;while(1){if(f>>>0>=4?(a[s>>0]|0)!=5:0){w=22;break}b=c[e>>2]|0;o=b+92|0;m=c[o>>2]|0;c[o>>2]=c[m>>2];o=b+56|0;c[m>>2]=c[o>>2];c[o>>2]=m;o=m+5|0;m=a[o>>0]|0;a[o>>0]=m&-17;if((d[b+49>>0]|0)>=2)a[o>>0]=a[b+48>>0]&3|m&-88;if(!(c[v>>2]|0)){w=22;break}else f=f+1|0}if((w|0)==22)return}function Lc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=Ia;Ia=Ia+16|0;h=g+8|0;i=g;j=c[d+4>>2]|0;do if((j|0)!=3){if((j&15|0)==4?(k=c[d>>2]|0,Sc(k+16|0,c[k+12>>2]|0,h)|0):0){c[i>>2]=c[h>>2];c[i+4>>2]=3;l=i;m=6;break}}else{l=d;m=6}while(0);a:do if((m|0)==6){i=c[e+4>>2]|0;do if((i|0)==3)n=e;else{if((i&15|0)==4?(j=c[e>>2]|0,Sc(j+16|0,c[j+12>>2]|0,h)|0):0){n=h;break}break a}while(0);c[b>>2]=od(f+-6|0,c[l>>2]|0,c[n>>2]|0)|0;c[b+4>>2]=3;Ia=g;return}while(0);if(!(Wc(a,d,e,b,f)|0))pd(a,d,e);else{Ia=g;return}}function Mc(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;h=Ia;Ia=Ia+16|0;i=h;j=g+4|0;k=c[j>>2]|0;a:do switch(k&15){case 5:{l=c[g>>2]|0;m=c[l+8>>2]|0;do if(m|0?(n=m+6|0,o=a[n>>0]|0,(o&16)==0):0){p=c[(c[e+12>>2]|0)+172>>2]|0;q=(c[m+16>>2]|0)+(((1<<(d[m+7>>0]|0))+-1&c[p+8>>2])*20|0)|0;while(1){if((c[q+12>>2]|0)==68?(c[q+8>>2]|0)==(p|0):0){r=7;break}s=c[q+16>>2]|0;if(!s){t=2336224;break}else q=s}if((r|0)==7)t=q;p=t+4|0;if(c[p>>2]|0)if(!t)break;else{u=t;v=p;break a}else{a[n>>0]=o|16;break}}while(0);c[f>>2]=(nd(l)|0)<<16;c[f+4>>2]=3;Ia=h;return}case 4:{c[f>>2]=c[(c[g>>2]|0)+12>>2]<<16;c[f+4>>2]=3;Ia=h;return}case 7:{w=(c[g>>2]|0)+8|0;r=16;break}default:{w=(c[e+12>>2]|0)+276+((k&15)<<2)|0;r=16}}while(0);if((r|0)==16){r=c[w>>2]|0;b:do if(!r)x=2336224;else{w=c[(c[e+12>>2]|0)+172>>2]|0;k=(c[r+16>>2]|0)+(((1<<(d[r+7>>0]|0))+-1&c[w+8>>2])*20|0)|0;while(1){if((c[k+12>>2]|0)==68?(c[k+8>>2]|0)==(w|0):0)break;t=c[k+16>>2]|0;if(!t){x=2336224;break b}else k=t}x=k}while(0);r=x+4|0;if(!(c[r>>2]|0))$c(e,g,48052);else{u=x;v=r}}r=e+28|0;x=f-(c[r>>2]|0)|0;f=e+8|0;w=c[f>>2]|0;c[f>>2]=w+8;c[w>>2]=c[u>>2];c[w+4>>2]=c[v>>2];v=c[f>>2]|0;c[f>>2]=v+8;c[v>>2]=c[g>>2];c[v+4>>2]=c[j>>2];v=c[f>>2]|0;c[f>>2]=v+8;c[v>>2]=c[g>>2];c[v+4>>2]=c[j>>2];j=(c[f>>2]|0)+-24|0;v=a[(c[e+16>>2]|0)+18>>0]&1;g=e+38|0;w=(b[g>>1]|0)+1<<16>>16;b[g>>1]=w;if((w&65535)>199){if(w<<16>>16==200)wc(e,47685,i);if((w&65535)>224)uc(e,6)}w=v<<24>>24!=0;if(!w){v=e+36|0;b[v>>1]=(b[v>>1]|0)+1<<16>>16}if(!(Ac(e,j,1)|0))Bc(e);if(!w){w=e+36|0;b[w>>1]=(b[w>>1]|0)+-1<<16>>16}b[g>>1]=(b[g>>1]|0)+-1<<16>>16;g=(c[r>>2]|0)+x|0;x=c[f>>2]|0;r=x+-8|0;c[f>>2]=r;c[g>>2]=c[r>>2];c[g+4>>2]=c[x+-4>>2];Ia=h;return}function Nc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;e=Ia;Ia=Ia+48|0;f=e+32|0;g=e;h=b+8|0;i=b+12|0;j=d;d=c[h>>2]|0;a:while(1){k=d+-16|0;l=d+-12|0;m=c[l>>2]|0;n=d+-8|0;do if((m|0)==3|(m&15|0)==4){o=d+-4|0;p=c[o>>2]|0;if((p&15|0)==4){q=c[n>>2]|0;r=q;s=p;t=q;u=m}else{if((p|0)!=3){v=16;break}p=Yc(g,c[n>>2]|0)|0;if(p>>>0<41)w=Zc(b,g,p)|0;else{if((p+1|0)>>>0>4294967277){v=9;break a}q=c[i>>2]|0;x=c[q+44>>2]|0;y=p+17|0;z=q+4|0;A=Pa[c[q>>2]&1](c[z>>2]|0,0,4,y)|0;if((y|0)!=0&(A|0)==0){if(!(a[q+51>>0]|0)){v=13;break a}Gc(b,1);B=Pa[c[q>>2]&1](c[z>>2]|0,0,4,y)|0;if(!B){v=13;break a}else C=B}else C=A;A=q+12|0;c[A>>2]=(c[A>>2]|0)+y;y=q+56|0;a[C+5>>0]=a[q+48>>0]&3;a[C+4>>0]=20;c[C>>2]=c[y>>2];c[y>>2]=C;c[C+12>>2]=p;c[C+8>>2]=x;a[C+6>>0]=0;x=C+16|0;zv(x|0,g|0,p|0)|0;a[x+p>>0]=0;w=C}c[n>>2]=w;p=(a[w+4>>0]|64)&255;c[o>>2]=p;r=w;s=p;t=w;u=c[l>>2]|0}p=c[t+12>>2]|0;o=(u&15|0)==4;if(!p){if(!((u|0)==3&(o^1))){D=2;break}x=Yc(g,c[k>>2]|0)|0;if(x>>>0<41)E=Zc(b,g,x)|0;else{if((x+1|0)>>>0>4294967277){v=23;break a}y=c[i>>2]|0;q=c[y+44>>2]|0;A=x+17|0;B=y+4|0;z=Pa[c[y>>2]&1](c[B>>2]|0,0,4,A)|0;if((A|0)!=0&(z|0)==0){if(!(a[y+51>>0]|0)){v=27;break a}Gc(b,1);F=Pa[c[y>>2]&1](c[B>>2]|0,0,4,A)|0;if(!F){v=27;break a}else G=F}else G=z;z=y+12|0;c[z>>2]=(c[z>>2]|0)+A;A=y+56|0;a[G+5>>0]=a[y+48>>0]&3;a[G+4>>0]=20;c[G>>2]=c[A>>2];c[A>>2]=G;c[G+12>>2]=x;c[G+8>>2]=q;a[G+6>>0]=0;q=G+16|0;zv(q|0,g|0,x|0)|0;a[q+x>>0]=0;E=G}c[k>>2]=E;c[l>>2]=(a[E+4>>0]|64)&255;D=2;break}if(o?(c[(c[k>>2]|0)+12>>2]|0)==0:0){c[k>>2]=r;c[l>>2]=s;D=2;break}b:do if((j|0)>1){o=p;x=1;while(1){q=d+(0-x<<3)+-8|0;A=q+4|0;y=c[A>>2]|0;if((y&15|0)==4)H=c[q>>2]|0;else{if((y|0)!=3){I=o;J=x;break b}y=Yc(g,c[q>>2]|0)|0;if(y>>>0<41)K=Zc(b,g,y)|0;else{if((y+1|0)>>>0>4294967277){v=41;break a}z=c[i>>2]|0;F=c[z+44>>2]|0;B=y+17|0;L=z+4|0;M=Pa[c[z>>2]&1](c[L>>2]|0,0,4,B)|0;if((B|0)!=0&(M|0)==0){if(!(a[z+51>>0]|0)){v=45;break a}Gc(b,1);N=Pa[c[z>>2]&1](c[L>>2]|0,0,4,B)|0;if(!N){v=45;break a}else O=N}else O=M;M=z+12|0;c[M>>2]=(c[M>>2]|0)+B;B=z+56|0;a[O+5>>0]=a[z+48>>0]&3;a[O+4>>0]=20;c[O>>2]=c[B>>2];c[B>>2]=O;c[O+12>>2]=y;c[O+8>>2]=F;a[O+6>>0]=0;F=O+16|0;zv(F|0,g|0,y|0)|0;a[F+y>>0]=0;K=O}c[q>>2]=K;c[A>>2]=(a[K+4>>0]|64)&255;H=K}A=c[H+12>>2]|0;if(A>>>0>=(-3-o|0)>>>0){v=49;break a}q=A+o|0;A=x+1|0;if((A|0)<(j|0)){o=q;x=A}else{I=q;J=A;break}}}else{I=p;J=1}while(0);p=c[i>>2]|0;x=p+116|0;o=p+124|0;A=c[o>>2]|0;if(A>>>0>>0){q=I>>>0>32?I:32;if((q+1|0)>>>0>4294967293){v=54;break a}y=c[x>>2]|0;F=(y|0)==0;B=p+4|0;z=Pa[c[p>>2]&1](c[B>>2]|0,y,A,q)|0;if(!z){if(!(a[p+51>>0]|0)){v=58;break a}Gc(b,1);M=Pa[c[p>>2]&1](c[B>>2]|0,y,A,q)|0;if(!M){v=58;break a}else P=M}else P=z;z=p+12|0;c[z>>2]=(F?0:0-A|0)+q+(c[z>>2]|0);c[x>>2]=P;c[o>>2]=q;Q=P}else Q=c[x>>2]|0;x=0;q=J;while(1){o=c[d+(0-q<<3)>>2]|0;z=c[o+12>>2]|0;zv(Q+x|0,o+16|0,z|0)|0;c[584060]=(c[584060]|0)+(z>>>5);x=z+x|0;if((q|0)<=1)break;else q=q+-1|0}q=0-J|0;z=d+(q<<3)|0;if(x>>>0<41)R=Zc(b,Q,x)|0;else{if((x+1|0)>>>0>4294967277){v=65;break a}o=c[i>>2]|0;A=c[o+44>>2]|0;F=x+17|0;p=o+4|0;M=Pa[c[o>>2]&1](c[p>>2]|0,0,4,F)|0;if((F|0)!=0&(M|0)==0){if(!(a[o+51>>0]|0)){v=69;break a}Gc(b,1);y=Pa[c[o>>2]&1](c[p>>2]|0,0,4,F)|0;if(!y){v=69;break a}else S=y}else S=M;M=o+12|0;c[M>>2]=(c[M>>2]|0)+F;F=o+56|0;a[S+5>>0]=a[o+48>>0]&3;a[S+4>>0]=20;c[S>>2]=c[F>>2];c[F>>2]=S;c[S+12>>2]=x;c[S+8>>2]=A;a[S+6>>0]=0;A=S+16|0;zv(A|0,Q|0,x|0)|0;a[A+x>>0]=0;R=S}c[z>>2]=R;c[d+(q<<3)+4>>2]=(a[R+4>>0]|64)&255;D=J}else v=16;while(0);if((v|0)==16){v=0;if(!(Wc(b,k,n,k,28)|0)){v=17;break}else D=2}j=j+1-D|0;d=(c[h>>2]|0)+(1-D<<3)|0;c[h>>2]=d;if((j|0)<=1){v=73;break}}switch(v|0){case 9:{Hc(b);break}case 13:{uc(b,4);break}case 17:{_c(b,k,n);break}case 23:{Hc(b);break}case 27:{uc(b,4);break}case 41:{Hc(b);break}case 45:{uc(b,4);break}case 49:{wc(b,47883,f);break}case 54:{Hc(b);break}case 58:{uc(b,4);break}case 65:{Hc(b);break}case 69:{uc(b,4);break}case 73:{Ia=e;return}}}function Oc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=b+12|0;g=c[f>>2]|0;h=b+56|0;b=c[h>>2]|0;if(!b)return;i=g+48|0;j=g+56|0;k=g+50|0;l=g+49|0;m=b;while(1){b=m+8|0;n=c[b>>2]|0;if(n>>>0>>0){o=16;break}c[h>>2]=c[m>>2];p=m+12|0;do if(((a[i>>0]^3)&(a[m+5>>0]^3))<<24>>24){q=m+16|0;c[(c[q>>2]|0)+12>>2]=c[p>>2];c[(c[p>>2]|0)+16>>2]=c[q>>2];r=c[b>>2]|0;c[p>>2]=c[r>>2];s=c[r+4>>2]|0;c[q>>2]=s;c[b>>2]=p;c[m>>2]=c[j>>2];c[j>>2]=m;q=m+5|0;r=a[q>>0]|0;t=r&255;if(!(t&7)){if((a[k>>0]|0)!=2?(d[l>>0]|0)>=2:0){a[q>>0]=t&184|a[i>>0]&3;break}a[q>>0]=r&-69|4;if(s&64|0?(s=c[p>>2]|0,a[s+5>>0]&3):0)Fc(g,s)}}else{if((n|0)!=(p|0)){s=m+16|0;c[(c[s>>2]|0)+12>>2]=c[p>>2];c[(c[p>>2]|0)+16>>2]=c[s>>2]}s=c[f>>2]|0;Pa[c[s>>2]&1](c[s+4>>2]|0,m,20,0)|0;r=s+12|0;c[r>>2]=(c[r>>2]|0)+-20}while(0);m=c[h>>2]|0;if(!m){o=16;break}}if((o|0)==16)return}function Pc(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;h=Ia;Ia=Ia+16|0;i=h;j=f+4|0;a:do switch(c[j>>2]&63){case 0:{k=1;break}case 3:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 1:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 2:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 54:case 22:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 4:{k=(c[f>>2]|0)==(c[g>>2]|0);break}case 20:{l=c[f>>2]|0;m=c[g>>2]|0;n=c[l+12>>2]|0;if((l|0)!=(m|0))if((n|0)==(c[m+12>>2]|0))k=(Us(l+16|0,m+16|0,n)|0)==0;else k=0;else k=1;break}case 7:{n=c[f>>2]|0;m=c[g>>2]|0;if((n|0)!=(m|0))if(((e|0)!=0?(l=c[n+8>>2]|0,n=c[m+8>>2]|0,(l|0)!=0):0)?(m=l+6|0,o=a[m>>0]|0,(o&32)==0):0){p=c[(c[e+12>>2]|0)+176>>2]|0;q=c[p+8>>2]|0;r=(c[l+16>>2]|0)+(((1<<(d[l+7>>0]|0))+-1&q)*20|0)|0;while(1){if((c[r+12>>2]|0)==68?(c[r+8>>2]|0)==(p|0):0){s=17;break}t=c[r+16>>2]|0;if(!t){u=2336224;break}else r=t}if((s|0)==17)u=r;t=u+4|0;v=c[t>>2]|0;if(!v){a[m>>0]=o|32;k=0;break a}if(u)if((l|0)!=(n|0))if((n|0)!=0?(w=n+6|0,x=a[w>>0]|0,(x&32)==0):0){y=(c[n+16>>2]|0)+(((1<<(d[n+7>>0]|0))+-1&q)*20|0)|0;while(1){if((c[y+12>>2]|0)==68?(c[y+8>>2]|0)==(p|0):0){s=28;break}z=c[y+16>>2]|0;if(!z){A=2336224;break}else y=z}if((s|0)==28)A=y;p=c[A+4>>2]|0;if(!p){a[w>>0]=x|32;k=0;break a}if((A|0)!=0&(v|0)==(p|0)?(Pc(0,u,A)|0)!=0:0){B=u;C=t;s=59}else k=0}else k=0;else{B=u;C=t;s=59}else k=0}else k=0;else k=1;break}case 5:{p=c[f>>2]|0;q=c[g>>2]|0;if((p|0)!=(q|0))if(((e|0)!=0?(n=c[p+8>>2]|0,p=c[q+8>>2]|0,(n|0)!=0):0)?(q=n+6|0,l=a[q>>0]|0,(l&32)==0):0){o=c[(c[e+12>>2]|0)+176>>2]|0;m=c[o+8>>2]|0;r=(c[n+16>>2]|0)+(((1<<(d[n+7>>0]|0))+-1&m)*20|0)|0;while(1){if((c[r+12>>2]|0)==68?(c[r+8>>2]|0)==(o|0):0){s=41;break}z=c[r+16>>2]|0;if(!z){D=2336224;break}else r=z}if((s|0)==41)D=r;t=D+4|0;v=c[t>>2]|0;if(!v){a[q>>0]=l|32;k=0;break a}if(D)if((n|0)!=(p|0))if((p|0)!=0?(x=p+6|0,w=a[x>>0]|0,(w&32)==0):0){y=(c[p+16>>2]|0)+(((1<<(d[p+7>>0]|0))+-1&m)*20|0)|0;while(1){if((c[y+12>>2]|0)==68?(c[y+8>>2]|0)==(o|0):0){s=52;break}z=c[y+16>>2]|0;if(!z){E=2336224;break}else y=z}if((s|0)==52)E=y;o=c[E+4>>2]|0;if(!o){a[x>>0]=w|32;k=0;break a}if((E|0)!=0&(v|0)==(o|0)?(Pc(0,D,E)|0)!=0:0){B=D;C=t;s=59}else k=0}else k=0;else{B=D;C=t;s=59}else k=0}else k=0;else k=1;break}default:k=(c[f>>2]|0)==(c[g>>2]|0)}while(0);b:do if((s|0)==59){D=e+8|0;E=c[D>>2]|0;u=e+28|0;A=E-(c[u>>2]|0)|0;c[D>>2]=E+8;c[E>>2]=c[B>>2];c[E+4>>2]=c[C>>2];E=c[D>>2]|0;c[D>>2]=E+8;c[E>>2]=c[f>>2];c[E+4>>2]=c[j>>2];E=c[D>>2]|0;c[D>>2]=E+8;c[E>>2]=c[g>>2];c[E+4>>2]=c[g+4>>2];E=(c[D>>2]|0)+-24|0;o=a[(c[e+16>>2]|0)+18>>0]&1;m=e+38|0;p=(b[m>>1]|0)+1<<16>>16;b[m>>1]=p;if((p&65535)>199){if(p<<16>>16==200)wc(e,47685,i);if((p&65535)>224)uc(e,6)}p=o<<24>>24!=0;if(!p){o=e+36|0;b[o>>1]=(b[o>>1]|0)+1<<16>>16}if(!(Ac(e,E,1)|0))Bc(e);if(!p){p=e+36|0;b[p>>1]=(b[p>>1]|0)+-1<<16>>16}b[m>>1]=(b[m>>1]|0)+-1<<16>>16;m=(c[u>>2]|0)+A|0;A=c[D>>2]|0;u=A+-8|0;c[D>>2]=u;c[m>>2]=c[u>>2];c[m+4>>2]=c[A+-4>>2];A=c[D>>2]|0;switch(c[A+4>>2]|0){case 0:{k=0;break b;break}case 1:{k=(c[A>>2]|0)!=0;break b;break}default:{k=1;break b}}}while(0);Ia=h;return k&1|0}function Qc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=c[b+4>>2]|0;if((e|0)==3){if((c[d+4>>2]|0)==3){f=(c[b>>2]|0)<(c[d>>2]|0)&1;return f|0}}else if((e&15|0)==4?(c[d+4>>2]&15|0)==4:0){e=c[b>>2]|0;g=c[d>>2]|0;h=e+16|0;i=g+16|0;j=av(h,i)|0;a:do if(!j){k=c[g+12>>2]|0;l=i;m=c[e+12>>2]|0;n=h;while(1){o=Ht(n)|0;if((o|0)==(k|0)){p=0;break a}q=o+1|0;if((o|0)==(m|0)){p=-1;break a}l=l+q|0;n=n+q|0;o=av(n,l)|0;if(o|0){p=o;break}else{k=k-q|0;m=m-q|0}}}else p=j;while(0);f=p>>>31;return f|0}p=a+8|0;if(!(Wc(a,b,d,c[p>>2]|0,26)|0))Xc(a,b,d);d=c[p>>2]|0;p=c[d+4>>2]|0;switch(p|0){case 1:{f=(c[d>>2]|0)!=0&1;return f|0}case 0:{f=p;return f|0}default:{f=1;return f|0}}return 0}function Rc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=c[b+4>>2]|0;if((e|0)==3){if((c[d+4>>2]|0)==3){f=(c[b>>2]|0)<=(c[d>>2]|0);g=f&1;return g|0}}else if((e&15|0)==4?(c[d+4>>2]&15|0)==4:0){e=c[b>>2]|0;h=c[d>>2]|0;i=e+16|0;j=h+16|0;k=av(i,j)|0;a:do if(!k){l=c[h+12>>2]|0;m=j;n=c[e+12>>2]|0;o=i;while(1){p=Ht(o)|0;q=(p|0)==(n|0);if((p|0)==(l|0))break;r=p+1|0;if(q){s=-1;break a}m=m+r|0;o=o+r|0;p=av(o,m)|0;if(p|0){s=p;break a}else{l=l-r|0;n=n-r|0}}s=(q^1)&1}else s=k;while(0);f=(s|0)<1;g=f&1;return g|0}s=a+8|0;k=(Wc(a,b,d,c[s>>2]|0,27)|0)==0;q=c[s>>2]|0;if(!k)switch(c[q+4>>2]|0){case 1:{f=(c[q>>2]|0)!=0;g=f&1;return g|0}case 0:{f=0;g=f&1;return g|0}default:{f=1;g=f&1;return g|0}}if(!(Wc(a,d,b,q,26)|0))Xc(a,b,d);d=c[s>>2]|0;switch(c[d+4>>2]|0){case 1:{f=(c[d>>2]|0)==0;g=f&1;return g|0}case 0:{f=1;g=f&1;return g|0}default:{f=0;g=f&1;return g|0}}return 0}function Sc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0;g=Ia;Ia=Ia+16|0;h=g;if(Ru(b,47811)|0){i=0;Ia=g;return i|0}do if(!(Ru(b,47814)|0)){if(!(Ru(b,47817)|0)){j=~~(+eu(b,h)*65536.0)>>>0;c[f>>2]=j;k=c[h>>2]|0;break}c[h>>2]=b;j=b;while(1){l=a[j>>0]|0;m=j+1|0;if(!(a[64+((l&255)+1)>>0]&8))break;else j=m}switch(l<<24>>24){case 45:{n=1;o=m;break}case 43:{n=0;o=m;break}default:{n=0;o=j}}a:do if((a[o>>0]|0)==48){switch(a[o+1>>0]|0){case 66:case 98:break;default:{p=0;q=b;break a}}r=o+2|0;s=a[r>>0]|0;if((s&-2)<<24>>24==48){t=0;u=s;v=0;w=r;do{t=t<<1|u<<24>>24==49;v=v+1|0;w=w+1|0;u=a[w>>0]|0}while((u&-2)<<24>>24==48);x=t<<16;y=v;z=w;A=u}else{x=0;y=0;z=r;A=s}B=z;if(A<<24>>24==46){C=z+1|0;D=C;E=a[C>>0]|0;if((E&-2)<<24>>24==48){F=0;G=0;H=E;E=C;do{F=G>>>0<16?F<<1|H<<24>>24==49:F;G=G+1|0;E=E+1|0;H=a[E>>0]|0}while((H&-2)<<24>>24==48);I=F;J=G;K=E}else{I=0;J=0;K=D}H=K-D|0;L=I<<((H+-1|0)>>>0<15?16-H|0:0);M=J;N=K}else{L=0;M=0;N=B}if(M|y){c[h>>2]=N;H=N;switch(a[H>>0]|0){case 80:case 112:{p=0;q=H;break a;break}default:{}}c[h>>2]=H;s=L+x|0;if(!n){p=~~+Ks(+(s|0),0);q=H;break}else{p=~~+Ks(+(0-s|0),0);q=H;break}}else{p=0;q=b}}else{p=0;q=b}while(0);c[f>>2]=p;k=q}else{c[h>>2]=b;j=b;while(1){O=a[j>>0]|0;P=j+1|0;if(!(a[64+((O&255)+1)>>0]&8))break;else j=P}switch(O<<24>>24){case 45:{Q=1;R=P;break}case 43:{Q=0;R=P;break}default:{Q=0;R=j}}b:do if((a[R>>0]|0)==48){switch(a[R+1>>0]|0){case 88:case 120:break;default:{S=0;T=b;break b}}H=R+2|0;s=a[H>>0]|0;r=s&255;if(!(a[64+(r+1)>>0]&16)){U=0;V=0;W=H;X=s}else{s=0;u=r;r=0;w=H;do{H=u+-48|0;s=(H>>>0<10?H:(u|32)+-87|0)+(s<<4)|0;r=r+1|0;w=w+1|0;Y=a[w>>0]|0;u=Y&255}while((a[64+(u+1)>>0]&16)!=0);U=s<<16;V=r;W=w;X=Y}u=W;if(X<<24>>24==46){B=W+1|0;D=B;E=d[B>>0]|0;if(!(a[64+(E+1)>>0]&16)){Z=0;_=0;$=D}else{G=0;F=0;H=E;E=B;do{B=H+-48|0;G=F>>>0<4?(B>>>0<10?B:(H|32)+-87|0)+(G<<4)|0:G;F=F+1|0;E=E+1|0;H=d[E>>0]|0}while((a[64+(H+1)>>0]&16)!=0);Z=G;_=F;$=E}H=$-D|0;aa=Z<<((H+-1|0)>>>0<3?16-(H<<2)|0:0);ba=_;ca=$}else{aa=0;ba=0;ca=u}if(ba|V){c[h>>2]=ca;H=ca;switch(a[H>>0]|0){case 80:case 112:{S=0;T=H;break b;break}default:{}}c[h>>2]=H;w=aa+U|0;if(!Q){S=~~+Ks(+(w|0),0);T=H;break}else{S=~~+Ks(+(0-w|0),0);T=H;break}}else{S=0;T=b}}else{S=0;T=b}while(0);c[f>>2]=S;k=T}while(0);if((k|0)==(b|0)){i=0;Ia=g;return i|0}if(!(a[64+((d[k>>0]|0)+1)>>0]&8))da=k;else{T=k;do T=T+1|0;while((a[64+((d[T>>0]|0)+1)>>0]&8)!=0);c[h>>2]=T;da=T}i=(da|0)==(b+e|0)&1;Ia=g;return i|0}function Tc(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;h=Ia;Ia=Ia+16|0;i=h;j=e+28|0;k=c[j>>2]|0;l=e+7|0;m=a[l>>0]|0;n=m&255;o=e+16|0;p=c[o>>2]|0;if((k|0)<(f|0)){if((f+1|0)>>>0>536870911)Hc(b);q=e+12|0;r=c[q>>2]|0;s=k<<3;k=f<<3;t=c[b+12>>2]|0;u=(r|0)==0;v=t+4|0;w=Pa[c[t>>2]&1](c[v>>2]|0,r,s,k)|0;if((k|0)!=0&(w|0)==0){if(!(a[t+51>>0]|0))uc(b,4);Gc(b,1);x=Pa[c[t>>2]&1](c[v>>2]|0,r,s,k)|0;if(!x)uc(b,4);else y=x}else y=w;w=t+12|0;c[w>>2]=(u?0:0-s|0)+k+(c[w>>2]|0);c[q>>2]=y;q=c[j>>2]|0;if((q|0)<(f|0)){w=q;do{c[y+(w<<3)+4>>2]=0;w=w+1|0}while((w|0)!=(f|0))}c[j>>2]=f}if(!g){c[o>>2]=2336252;z=0;A=0;B=2336252}else{f=g+-1|0;if(f>>>0>255){g=f;j=0;while(1){w=j+8|0;y=g>>>8;if(g>>>0>65535){g=y;j=w}else{C=w;D=y;break}}}else{C=0;D=f}f=C+(d[400+D>>0]|0)|0;if((f|0)>30)wc(b,47702,i);i=1<>>0>214748364)Hc(b);D=20<>2]|0;j=C+4|0;g=Pa[c[C>>2]&1](c[j>>2]|0,0,0,D)|0;if(f>>>0<30&(g|0)==0){if(!(a[C+51>>0]|0))uc(b,4);Gc(b,1);y=Pa[c[C>>2]&1](c[j>>2]|0,0,0,D)|0;if(!y)uc(b,4);else E=y}else E=g;g=C+12|0;c[g>>2]=(c[g>>2]|0)+D;c[o>>2]=E;D=0;g=E;do{c[g+(D*20|0)+16>>2]=0;c[g+(D*20|0)+12>>2]=0;c[g+(D*20|0)+4>>2]=0;D=D+1|0;g=c[o>>2]|0}while((D|0)<(i|0));z=i;A=f&255;B=g}a[l>>0]=A;c[e+20>>2]=B+(z*20|0);if(m<<24>>24!=31){m=1<>2]|0){A=p+(m*20|0)+8|0;l=Ic(e,A)|0;if((l|0)==2336224)F=Jc(b,e,A)|0;else F=l;c[F>>2]=c[p+(m*20|0)>>2];c[F+4>>2]=c[B>>2]}}while((z|0)>1)}if((p|0)==2336252){Ia=h;return}F=20<>2]|0;Pa[c[n>>2]&1](c[n+4>>2]|0,p,F,0)|0;b=n+12|0;c[b>>2]=(c[b>>2]|0)-((p|0)==0?0:F);Ia=h;return}function Uc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=d<<2;f=e+16|0;g=c[b+12>>2]|0;h=g+4|0;i=Pa[c[g>>2]&1](c[h>>2]|0,0,6,f)|0;if((f|0)!=0&(i|0)==0){if(!(a[g+51>>0]|0))uc(b,4);Gc(b,1);j=Pa[c[g>>2]&1](c[h>>2]|0,0,6,f)|0;if(!j)uc(b,4);else k=j}else k=i;i=g+12|0;c[i>>2]=(c[i>>2]|0)+f;f=g+56|0;a[k+5>>0]=a[g+48>>0]&3;a[k+4>>0]=6;c[k>>2]=c[f>>2];c[f>>2]=k;c[k+12>>2]=0;a[k+6>>0]=d;if(!d)return k|0;Av(k+16|0,0,e|0)|0;return k|0}function Vc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;e=c[b+12>>2]|0;f=b+56|0;g=c[f>>2]|0;a:do if(!g)h=f;else{i=f;j=g;while(1){k=c[j+8>>2]|0;if(k>>>0>>0){h=i;break a}if((k|0)==(d|0))break;k=c[j>>2]|0;if(!k){l=8;break}else{m=j;j=k;i=m}}if((l|0)==8){h=j;break}i=j+5|0;m=a[i>>0]^3;if(((a[e+48>>0]^3)&m)<<24>>24){n=j;return n|0}a[i>>0]=m;n=j;return n|0}while(0);l=e+4|0;g=Pa[c[e>>2]&1](c[l>>2]|0,0,10,20)|0;if(!g){if(!(a[e+51>>0]|0))uc(b,4);Gc(b,1);f=Pa[c[e>>2]&1](c[l>>2]|0,0,10,20)|0;if(!f)uc(b,4);else o=f}else o=g;g=e+12|0;c[g>>2]=(c[g>>2]|0)+20;g=(h|0)==0?e+56|0:h;a[o+5>>0]=a[e+48>>0]&3;a[o+4>>0]=10;c[o>>2]=c[g>>2];c[g>>2]=o;c[o+8>>2]=d;c[o+12>>2]=e+96;d=e+112|0;e=c[d>>2]|0;c[o+16>>2]=e;c[e+12>>2]=o;c[d>>2]=o;n=o;return n|0}function Wc(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=Ia;Ia=Ia+16|0;k=j;l=f+4|0;m=c[l>>2]|0;switch(m&15){case 5:{n=(c[f>>2]|0)+8|0;break}case 7:{n=(c[f>>2]|0)+8|0;break}default:n=(c[e+12>>2]|0)+276+((m&15)<<2)|0}m=c[n>>2]|0;a:do if(!m)o=2336224;else{n=c[(c[e+12>>2]|0)+156+(i<<2)>>2]|0;p=(c[m+16>>2]|0)+(((1<<(d[m+7>>0]|0))+-1&c[n+8>>2])*20|0)|0;while(1){if((c[p+12>>2]|0)==68?(c[p+8>>2]|0)==(n|0):0)break;q=c[p+16>>2]|0;if(!q){o=2336224;break a}else p=q}o=p}while(0);b:do if(!(c[o+4>>2]|0)){m=c[g+4>>2]|0;switch(m&15){case 5:{r=(c[g>>2]|0)+8|0;break}case 7:{r=(c[g>>2]|0)+8|0;break}default:r=(c[e+12>>2]|0)+276+((m&15)<<2)|0}m=c[r>>2]|0;if(!m)s=2336224;else{n=c[(c[e+12>>2]|0)+156+(i<<2)>>2]|0;q=(c[m+16>>2]|0)+(((1<<(d[m+7>>0]|0))+-1&c[n+8>>2])*20|0)|0;while(1){if((c[q+12>>2]|0)==68?(c[q+8>>2]|0)==(n|0):0)break;m=c[q+16>>2]|0;if(!m){s=2336224;break b}else q=m}s=q}}else s=o;while(0);o=s+4|0;if(!(c[o>>2]|0)){t=0;Ia=j;return t|0}i=e+28|0;r=h-(c[i>>2]|0)|0;h=e+8|0;n=c[h>>2]|0;c[h>>2]=n+8;c[n>>2]=c[s>>2];c[n+4>>2]=c[o>>2];o=c[h>>2]|0;c[h>>2]=o+8;c[o>>2]=c[f>>2];c[o+4>>2]=c[l>>2];l=c[h>>2]|0;c[h>>2]=l+8;c[l>>2]=c[g>>2];c[l+4>>2]=c[g+4>>2];g=(c[h>>2]|0)+-24|0;l=a[(c[e+16>>2]|0)+18>>0]&1;o=e+38|0;f=(b[o>>1]|0)+1<<16>>16;b[o>>1]=f;if((f&65535)>199){if(f<<16>>16==200)wc(e,47685,k);if((f&65535)>224)uc(e,6)}f=l<<24>>24!=0;if(!f){l=e+36|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16}if(!(Ac(e,g,1)|0))Bc(e);if(!f){f=e+36|0;b[f>>1]=(b[f>>1]|0)+-1<<16>>16}b[o>>1]=(b[o>>1]|0)+-1<<16>>16;o=(c[i>>2]|0)+r|0;r=c[h>>2]|0;i=r+-8|0;c[h>>2]=i;c[o>>2]=c[i>>2];c[o+4>>2]=c[r+-4>>2];t=1;Ia=j;return t|0}function Xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Ia;Ia=Ia+16|0;f=e+8|0;g=e;e=c[16+((c[b+4>>2]&15)+1<<2)>>2]|0;b=c[16+((c[d+4>>2]&15)+1<<2)>>2]|0;if((e|0)==(b|0)){c[g>>2]=e;wc(a,47820,g)}else{c[f>>2]=e;c[f+4>>2]=b;wc(a,47853,f)}}function Yc(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;d=Ia;Ia=Ia+64|0;e=d+48|0;f=d+40|0;h=d+32|0;i=d;j=+(c|0)*.0000152587890625;g[h>>3]=j;Xs(i,48022,h)|0;if((Hu(i,48028)|0)==0?(Hu(i,48034)|0)==0:0){g[e>>3]=j;Xs(i,48046,e)|0}else{g[f>>3]=j;Xs(i,48040,f)|0}f=Ht(i)|0;e=f+-1|0;h=i+e|0;c=a[h>>0]|0;k=(f|0)>0;if(k&c<<24>>24==48){f=h;l=e;while(1){a[f>>0]=0;e=l;l=l+-1|0;m=i+l|0;n=a[m>>0]|0;o=(e|0)>0;if(!(o&n<<24>>24==48)){p=o;q=n;r=m;break}else f=m}}else{p=k;q=c;r=h}if(!(p&q<<24>>24==46)){s=Ht(i)|0;t=s+1|0;zv(b|0,i|0,t|0)|0;Ia=d;return s|0}a[r>>0]=0;s=Ht(i)|0;t=s+1|0;zv(b|0,i|0,t|0)|0;Ia=d;return s|0}function Zc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;g=b+12|0;h=c[g>>2]|0;i=c[h+44>>2]^f;j=f>>>5;if(j>>>0>>0){k=~j;l=f;m=i;while(1){n=(m<<5)+(m>>>2)+(d[e+(l+-1)>>0]|0)^m;l=l+k|0;if(l>>>0<=j>>>0){o=n;break}else m=n}}else o=i;i=h+24|0;m=h+32|0;j=c[m>>2]|0;l=(c[i>>2]|0)+((j+-1&o)<<2)|0;k=c[l>>2]|0;a:do if(k|0){n=k;while(1){if(((o|0)==(c[n+8>>2]|0)?(c[n+12>>2]|0)==(f|0):0)?(Us(e,n+16|0,f)|0)==0:0)break;p=c[n>>2]|0;if(!p)break a;else n=p}p=n+5|0;q=a[p>>0]^3;if(((a[h+48>>0]^3)&q)<<24>>24){r=n;return r|0}a[p>>0]=q;r=n;return r|0}while(0);k=h+28|0;if((j|0)<1073741823?(c[k>>2]|0)>>>0>=j>>>0:0){bd(b,j<<1);s=(c[i>>2]|0)+(((c[m>>2]|0)+-1&o)<<2)|0;t=c[g>>2]|0}else{s=l;t=h}h=f+17|0;l=t+4|0;g=Pa[c[t>>2]&1](c[l>>2]|0,0,4,h)|0;if((h|0)!=0&(g|0)==0){if(!(a[t+51>>0]|0))uc(b,4);Gc(b,1);m=Pa[c[t>>2]&1](c[l>>2]|0,0,4,h)|0;if(!m)uc(b,4);else u=m}else u=g;g=t+12|0;c[g>>2]=(c[g>>2]|0)+h;h=(s|0)==0?t+56|0:s;a[u+5>>0]=a[t+48>>0]&3;a[u+4>>0]=4;c[u>>2]=c[h>>2];c[h>>2]=u;c[u+12>>2]=f;c[u+8>>2]=o;a[u+6>>0]=0;o=u+16|0;zv(o|0,e|0,f|0)|0;a[o+f>>0]=0;c[k>>2]=(c[k>>2]|0)+1;r=u;return r|0}function _c(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+4>>2]|0;$c(a,(e|0)==3|(e&15|0)==4?d:b,47906)}function $c(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=Ia;Ia=Ia+32|0;g=f+16|0;h=f;i=f+24|0;f=c[b+16>>2]|0;c[i>>2]=0;j=c[16+((c[d+4>>2]&15)+1<<2)>>2]|0;a:do if(a[f+18>>0]&1){k=c[c[f>>2]>>2]|0;l=a[k+6>>0]|0;b:do if(l<<24>>24){m=l&255;n=0;while(1){if((c[(c[k+16+(n<<2)>>2]|0)+8>>2]|0)==(d|0))break;o=n+1|0;if(o>>>0>>0)n=o;else break b}m=c[(c[(c[k+12>>2]|0)+28>>2]|0)+(n<<3)>>2]|0;o=(m|0)==0?47918:m+16|0;c[i>>2]=o;p=47920;q=o;c[h>>2]=e;r=h+4|0;c[r>>2]=p;s=h+8|0;c[s>>2]=q;t=h+12|0;c[t>>2]=j;wc(b,47928,h)}while(0);l=c[f+24>>2]|0;o=c[f+4>>2]|0;m=l;if(l>>>0>>0){u=l;while(1){if((u|0)==(d|0))break;u=u+8|0;if(u>>>0>=o>>>0)break a}o=c[k+12>>2]|0;u=ad(o,((c[f+28>>2]|0)-(c[o+12>>2]|0)>>2)+-1|0,d-m>>3,i)|0;if(u|0){p=u;q=c[i>>2]|0;c[h>>2]=e;r=h+4|0;c[r>>2]=p;s=h+8|0;c[s>>2]=q;t=h+12|0;c[t>>2]=j;wc(b,47928,h)}}}while(0);c[g>>2]=e;c[g+4>>2]=j;wc(b,47963,g)}function ad(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;g=b+24|0;h=b+12|0;i=c[b+60>>2]|0;j=(i|0)>0;k=d;d=e;a:while(1){b:do if(j){l=c[g>>2]|0;e=d+1|0;m=0;while(1){if((c[l+(m*12|0)+4>>2]|0)>(k|0))break b;if((c[l+(m*12|0)+8>>2]|0)>(k|0)){n=e+-1|0;if(!n){o=8;break a}else p=n}else p=e;n=m+1|0;if((n|0)<(i|0)){e=p;m=n}else break}}while(0);c[f>>2]=0;if((k|0)<=0){q=0;o=51;break}r=c[h>>2]|0;e=-1;n=0;s=0;while(1){t=c[r+(s<<2)>>2]|0;u=t>>>6&255;switch(t&63){case 4:{v=(u|0)>(d|0)|(u+(t>>>23)|0)<(d|0)?e:(s|0)<(n|0)?-1:s;w=n;break}case 47:{v=(u+2|0)>(d|0)?e:(s|0)<(n|0)?-1:s;w=n;break}case 43:case 42:{v=(u|0)>(d|0)?e:(s|0)<(n|0)?-1:s;w=n;break}case 36:{x=s+-131070+(t>>>14)|0;v=e;w=(x|0)>(n|0)&((x|0)<=(k|0)&(s|0)<(x|0))?x:n;break}case 40:{v=(u|0)==(d|0)?((s|0)<(n|0)?-1:s):e;w=n;break}default:{v=((u|0)==(d|0)?(a[336+(t&63)>>0]&64)!=0:0)?((s|0)<(n|0)?-1:s):e;w=n}}s=s+1|0;if((s|0)==(k|0))break;else{e=v;n=w}}if((v|0)==-1){q=0;o=51;break}y=c[r+(v<<2)>>2]|0;switch(y&63){case 7:case 6:{o=22;break a;break}case 5:{o=39;break a;break}case 2:case 1:{o=40;break a;break}case 12:{o=45;break a;break}case 0:break;default:{q=0;o=51;break a}}d=y>>>23;if(d>>>0>=(y>>>6&255)>>>0){q=0;o=51;break}else k=v}if((o|0)==8){c[f>>2]=(c[l+(m*12|0)>>2]|0)+16;q=58987;return q|0}else if((o|0)==22){m=y>>>14;l=m&511;k=y>>>23;c:do if((y&63|0)==7)if(j){d=c[g>>2]|0;w=k+1|0;h=0;while(1){if((c[d+(h*12|0)+4>>2]|0)>(v|0)){z=0;break c}if((c[d+(h*12|0)+8>>2]|0)>(v|0)){p=w+-1|0;if(!p)break;else A=p}else A=w;p=h+1|0;if((p|0)<(i|0)){w=A;h=p}else{z=0;break c}}z=(c[d+(h*12|0)>>2]|0)+16|0}else z=0;else{w=c[(c[b+28>>2]|0)+(k<<3)>>2]|0;z=(w|0)==0?47918:w+16|0}while(0);if(!(y&4194304)){k=ad(b,v,l,f)|0;if(!((k|0)!=0?(a[k>>0]|0)==99:0))o=36}else{k=c[b+8>>2]|0;l=m&255;if((c[k+(l<<3)+4>>2]&15|0)==4)c[f>>2]=(c[k+(l<<3)>>2]|0)+16;else o=36}if((o|0)==36)c[f>>2]=47918;if(!z){q=48e3;return q|0}l=(xt(z,47988)|0)==0;q=l?47993:48e3;return q|0}else if((o|0)==39){l=c[(c[b+28>>2]|0)+(y>>>23<<3)>>2]|0;c[f>>2]=(l|0)==0?47918:l+16|0;q=47920;return q|0}else if((o|0)==40){if((y&63|0)==1)B=y>>>14;else B=(c[r+(v+1<<2)>>2]|0)>>>6;r=c[b+8>>2]|0;if((c[r+(B<<3)+4>>2]&15|0)!=4){q=0;return q|0}c[f>>2]=(c[r+(B<<3)>>2]|0)+16;q=48013;return q|0}else if((o|0)==45){B=y>>>14;if(!(y&4194304)){y=ad(b,v,B&511,f)|0;if(y|0?(a[y>>0]|0)==99:0){q=48006;return q|0}}else{y=c[b+8>>2]|0;b=B&255;if((c[y+(b<<3)+4>>2]&15|0)==4){c[f>>2]=(c[y+(b<<3)>>2]|0)+16;q=48006;return q|0}}c[f>>2]=47918;q=48006;return q|0}else if((o|0)==51)return q|0;return 0}function bd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=b+12|0;g=c[f>>2]|0;h=g+24|0;i=g+49|0;if(!(1<>0]&-5))do cd(b)|0;while(!(1<>0]&-5|0));i=g+32|0;g=c[i>>2]|0;if((g|0)<(e|0)){if((e+1|0)>>>0>1073741823)Hc(b);j=c[h>>2]|0;k=g<<2;l=e<<2;m=c[f>>2]|0;n=(j|0)==0;o=m+4|0;p=Pa[c[m>>2]&1](c[o>>2]|0,j,k,l)|0;if((l|0)!=0&(p|0)==0){if(!(a[m+51>>0]|0))uc(b,4);Gc(b,1);q=Pa[c[m>>2]&1](c[o>>2]|0,j,k,l)|0;if(!q)uc(b,4);else r=q}else r=p;p=m+12|0;c[p>>2]=(n?0:0-k|0)+l+(c[p>>2]|0);c[h>>2]=r;p=c[i>>2]|0;if((p|0)<(e|0)?(c[r+(p<<2)>>2]=0,r=p+1|0,(r|0)!=(e|0)):0){l=r;do{c[(c[h>>2]|0)+(l<<2)>>2]=0;l=l+1|0}while((l|0)!=(e|0));s=p}else s=p}else s=g;if((s|0)>0){g=e+-1|0;p=0;l=s;while(1){r=(c[h>>2]|0)+(p<<2)|0;k=c[r>>2]|0;c[r>>2]=0;if(!k)t=l;else{r=k;do{k=r;r=c[r>>2]|0;n=c[k+8>>2]&g;c[k>>2]=c[(c[h>>2]|0)+(n<<2)>>2];c[(c[h>>2]|0)+(n<<2)>>2]=k;n=k+5|0;a[n>>0]=a[n>>0]&-65}while((r|0)!=0);t=c[i>>2]|0}p=p+1|0;if((p|0)>=(t|0)){u=t;break}else l=t}}else u=s;if((u|0)<=(e|0)){c[i>>2]=e;return}if((e+1|0)>>>0>1073741823)Hc(b);s=c[h>>2]|0;t=u<<2;u=e<<2;l=c[f>>2]|0;f=(s|0)==0;p=l+4|0;g=Pa[c[l>>2]&1](c[p>>2]|0,s,t,u)|0;if((u|0)!=0&(g|0)==0){if(!(a[l+51>>0]|0))uc(b,4);Gc(b,1);r=Pa[c[l>>2]&1](c[p>>2]|0,s,t,u)|0;if(!r)uc(b,4);else v=r}else v=g;g=l+12|0;c[g>>2]=(f?0:0-t|0)+u+(c[g>>2]|0);c[h>>2]=v;c[i>>2]=e;return}function cd(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;e=Ia;Ia=Ia+16|0;f=e;g=b+12|0;h=c[g>>2]|0;i=h+49|0;switch(a[i>>0]|0){case 5:{j=h+16|0;c[j>>2]=c[h+32>>2]<<2;k=h+72|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;k=c[h+144>>2]|0;if(k|0?a[k+5>>0]&3:0)Fc(h,k);if(c[h+40>>2]&64|0?(k=c[h+36>>2]|0,a[k+5>>0]&3):0)Fc(h,k);dd(h);k=c[h+92>>2]|0;if(k|0){l=h+48|0;m=k;do{k=m+5|0;a[k>>0]=a[l>>0]&3|a[k>>0]&-72;Fc(h,m);m=c[m>>2]|0}while((m|0)!=0)}a[i>>0]=0;n=c[j>>2]|0;Ia=e;return n|0}case 0:{j=h+72|0;if(c[j>>2]|0){m=h+16|0;l=c[m>>2]|0;ed(h);n=(c[m>>2]|0)-l|0;Ia=e;return n|0}a[i>>0]=1;l=h+16|0;m=c[l>>2]|0;k=h+20|0;c[k>>2]=m;if(a[b+5>>0]&3)Fc(h,b);if(c[h+40>>2]&64|0?(o=c[h+36>>2]|0,a[o+5>>0]&3):0)Fc(h,o);dd(h);o=h+96|0;p=c[h+112>>2]|0;if((p|0)!=(o|0)){q=p;do{if(((a[q+5>>0]&7)==0?(p=c[q+8>>2]|0,c[p+4>>2]&64|0):0)?(r=c[p>>2]|0,a[r+5>>0]&3):0)Fc(h,r);q=c[q+16>>2]|0}while((q|0)!=(o|0))}if(c[j>>2]|0)do ed(h);while((c[j>>2]|0)!=0);o=(c[l>>2]|0)-m|0;m=h+80|0;q=c[m>>2]|0;r=h+76|0;p=c[r>>2]|0;s=h+84|0;t=c[s>>2]|0;c[s>>2]=0;c[r>>2]=0;c[m>>2]=0;c[j>>2]=p;if(p|0)do ed(h);while((c[j>>2]|0)!=0);c[j>>2]=q;if(q|0)do ed(h);while((c[j>>2]|0)!=0);c[j>>2]=t;if(t|0)do ed(h);while((c[j>>2]|0)!=0);t=o-(c[l>>2]|0)|0;do{o=c[s>>2]|0;c[s>>2]=0;if(!o)break;q=0;p=o;while(1){o=p;p=c[p+24>>2]|0;if(fd(h,o)|0)if(!(c[j>>2]|0))u=1;else{do ed(h);while((c[j>>2]|0)!=0);u=1}else u=q;if(!p)break;else q=u}}while((u|0)!=0);gd(h,c[m>>2]|0,0);u=h+88|0;gd(h,c[u>>2]|0,0);q=c[m>>2]|0;p=c[u>>2]|0;o=t+(c[l>>2]|0)|0;t=c[g>>2]|0;r=t+60|0;v=t+92|0;t=c[v>>2]|0;if(!t)w=v;else{v=t;while(1){t=c[v>>2]|0;if(!t)break;else v=t}w=v}v=c[r>>2]|0;if(v|0){t=r;r=w;w=v;while(1){v=w+5|0;x=d[v>>0]|0;if(!(x&3)){y=w;z=r}else{a[v>>0]=x|8;c[t>>2]=c[w>>2];c[w>>2]=c[r>>2];c[r>>2]=w;y=t;z=w}w=c[y>>2]|0;if(!w)break;else{t=y;r=z}}}z=c[h+92>>2]|0;if(z|0){r=h+48|0;y=z;do{z=y+5|0;a[z>>0]=a[r>>0]&3|a[z>>0]&-72;Fc(h,y);y=c[y>>2]|0}while((y|0)!=0)}if(c[j>>2]|0)do ed(h);while((c[j>>2]|0)!=0);y=o-(c[l>>2]|0)|0;while(1){o=c[s>>2]|0;c[s>>2]=0;if(!o)break;r=0;z=o;while(1){o=z;z=c[z+24>>2]|0;if(fd(h,o)|0)if(!(c[j>>2]|0))A=1;else{do ed(h);while((c[j>>2]|0)!=0);A=1}else A=r;if(!z)break;else r=A}if(!A){B=72;break}}if((B|0)==72?(A=c[s>>2]|0,A|0):0){s=A;do{A=c[s+16>>2]|0;j=a[s+7>>0]|0;r=A+((1<<(j&255))*20|0)|0;if(j<<24>>24!=31){j=A;do{A=j+4|0;do if(c[A>>2]|0){z=j+12|0;o=c[z>>2]|0;if(!(o&64))break;t=c[j+8>>2]|0;if((o&15|0)==4){if(!t)break;if(!(a[t+5>>0]&3))break;Fc(h,t);break}else{o=t+5|0;if(!(a[o>>0]&3))break;c[A>>2]=0;if(!(a[o>>0]&3))break;c[z>>2]=11;break}}while(0);j=j+20|0}while(j>>>0>>0)}s=c[s+24>>2]|0}while((s|0)!=0)}s=c[u>>2]|0;if(s|0){r=s;do{s=c[r+16>>2]|0;j=a[r+7>>0]|0;A=s+((1<<(j&255))*20|0)|0;if(j<<24>>24!=31){j=s;do{s=j+4|0;do if(c[s>>2]|0){z=j+12|0;o=c[z>>2]|0;if(!(o&64))break;t=c[j+8>>2]|0;if((o&15|0)==4){if(!t)break;if(!(a[t+5>>0]&3))break;Fc(h,t);break}else{o=t+5|0;if(!(a[o>>0]&3))break;c[s>>2]=0;if(!(a[o>>0]&3))break;c[z>>2]=11;break}}while(0);j=j+20|0}while(j>>>0>>0)}r=c[r+24>>2]|0}while((r|0)!=0)}gd(h,c[m>>2]|0,q);gd(h,c[u>>2]|0,p);p=h+48|0;a[p>>0]=a[p>>0]^3;p=y+(c[l>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+p;n=((hd(b)|0)*5|0)+p|0;Ia=e;return n|0}case 2:{p=h+52|0;k=h+32|0;l=h+24|0;y=0;while(1){u=(c[p>>2]|0)+y|0;q=c[k>>2]|0;if((u|0)>=(q|0)){C=y;D=u;E=q;break}q=(c[l>>2]|0)+(u<<2)|0;u=c[g>>2]|0;m=d[u+48>>0]|0;r=m^3;A=(a[u+50>>0]|0)==2;u=A?255:184;j=A?64:m&3;m=A?64:0;A=c[q>>2]|0;a:do if(A|0){s=q;z=-3;o=A;while(1){if(!z)break a;z=z+-1|0;t=o+5|0;w=d[t>>0]|0;if(!((w^3)&r)){c[s>>2]=c[o>>2];id(b,o);F=s}else{if(m&w|0)break a;if((a[o+4>>0]|0)==8)jd(b,o);a[t>>0]=u&w|j;F=o}o=c[F>>2]|0;if(!o)break;else s=F}}while(0);y=y+1|0;if(y>>>0>=80){B=116;break}}if((B|0)==116){C=y;D=(c[p>>2]|0)+y|0;E=c[k>>2]|0}c[p>>2]=D;if((D|0)>=(E|0))a[i>>0]=3;n=C*5|0;Ia=e;return n|0}case 3:{C=h+68|0;E=c[C>>2]|0;if(!E){a[i>>0]=4;n=0;Ia=e;return n|0}D=d[h+48>>0]|0;p=D^3;k=(a[h+50>>0]|0)==2;y=k?255:184;B=k?64:D&3;D=k?64:0;k=c[E>>2]|0;b:do if(!k)G=0;else{F=E;l=80;j=k;while(1){if(!l){G=F;break b}l=l+-1|0;u=j+5|0;m=d[u>>0]|0;if(!((m^3)&p)){c[F>>2]=c[j>>2];id(b,j);H=F}else{if(D&m|0){G=0;break b}if((a[j+4>>0]|0)==8)jd(b,j);a[u>>0]=y&m|B;H=j}j=c[H>>2]|0;if(!j){G=0;break}else F=H}}while(0);c[C>>2]=G;n=400;Ia=e;return n|0}case 4:{G=h+64|0;C=c[G>>2]|0;if(C|0){H=d[h+48>>0]|0;B=H^3;y=(a[h+50>>0]|0)==2;D=y?255:184;p=y?64:H&3;H=y?64:0;y=c[C>>2]|0;c:do if(!y)I=0;else{k=C;E=80;F=y;while(1){if(!E){I=k;break c}E=E+-1|0;j=F+5|0;l=d[j>>0]|0;if(!((l^3)&B)){c[k>>2]=c[F>>2];id(b,F);J=k}else{if(H&l|0){I=0;break c}if((a[F+4>>0]|0)==8)jd(b,F);a[j>>0]=D&l|p;J=F}F=c[J>>2]|0;if(!F){I=0;break}else k=J}}while(0);c[G>>2]=I;n=400;Ia=e;return n|0}I=c[h+144>>2]|0;c[f>>2]=I;G=d[h+48>>0]|0;J=G^3;p=a[h+50>>0]|0;D=p<<24>>24==2;H=D?255:184;B=D?64:G&3;G=D?64:0;if(!I){K=p;L=h}else{h=f;f=1;p=I;while(1){if(!f)break;f=f+-1|0;I=p+5|0;D=d[I>>0]|0;if(!((D^3)&J)){c[h>>2]=c[p>>2];id(b,p);M=h}else{if(G&D|0)break;if((a[p+4>>0]|0)==8)jd(b,p);a[I>>0]=H&D|B;M=p}p=c[M>>2]|0;if(!p)break;else h=M}M=c[g>>2]|0;K=a[M+50>>0]|0;L=M}if(K<<24>>24!=1){K=(c[L+32>>2]|0)/2|0;if((c[L+28>>2]|0)>>>0>>0){bd(b,K);N=c[g>>2]|0}else N=L;g=L+116|0;K=c[g>>2]|0;b=L+124|0;L=c[b>>2]|0;M=Pa[c[N>>2]&1](c[N+4>>2]|0,K,L,0)|0;h=N+12|0;c[h>>2]=(c[h>>2]|0)-((K|0)==0?0:L);c[g>>2]=M;c[b>>2]=0}a[i>>0]=5;n=5;Ia=e;return n|0}default:{n=0;Ia=e;return n|0}}return 0}function dd(b){b=b|0;var d=0;d=c[b+276>>2]|0;if(d|0?a[d+5>>0]&3:0)Fc(b,d);d=c[b+280>>2]|0;if(d|0?a[d+5>>0]&3:0)Fc(b,d);d=c[b+284>>2]|0;if(d|0?a[d+5>>0]&3:0)Fc(b,d);d=c[b+288>>2]|0;if(d|0?a[d+5>>0]&3:0)Fc(b,d);d=c[b+292>>2]|0;if(d|0?a[d+5>>0]&3:0)Fc(b,d);d=c[b+296>>2]|0;if(d|0?a[d+5>>0]&3:0)Fc(b,d);d=c[b+300>>2]|0;if(d|0?a[d+5>>0]&3:0)Fc(b,d);d=c[b+304>>2]|0;if(d|0?a[d+5>>0]&3:0)Fc(b,d);d=c[b+308>>2]|0;if(!d)return;if(!(a[d+5>>0]&3))return;Fc(b,d);return}function ed(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;e=b+72|0;f=c[e>>2]|0;g=f+5|0;a[g>>0]=a[g>>0]|4;switch(a[f+4>>0]|0){case 5:{h=f+24|0;c[e>>2]=c[h>>2];i=c[f+8>>2]|0;do if(i){j=i+6|0;k=a[j>>0]|0;if(!(k&8)){l=c[b+168>>2]|0;m=(c[i+16>>2]|0)+(((1<>0])+-1&c[l+8>>2])*20|0)|0;while(1){if((c[m+12>>2]|0)==68?(c[m+8>>2]|0)==(l|0):0){n=7;break}o=c[m+16>>2]|0;if(!o){p=2336224;break}else m=o}if((n|0)==7)p=m;if(!(c[p+4>>2]|0)){a[j>>0]=k|8;q=0}else q=p}else q=0;if(a[i+5>>0]&3)Fc(b,i);if(((q|0)!=0?(c[q+4>>2]&15|0)==4:0)?(l=(c[q>>2]|0)+16|0,o=Tt(l,107)|0,r=(o|0)!=0,o=(Tt(l,118)|0)!=0,r|o):0){l=f+5|0;a[l>>0]=a[l>>0]&-5;if(r)if(o){o=b+88|0;c[h>>2]=c[o>>2];c[o>>2]=f;break}else{fd(b,f)|0;break}o=c[f+16>>2]|0;r=a[f+7>>0]|0;l=o+((1<<(r&255))*20|0)|0;s=(c[f+28>>2]|0)>0&1;if(r<<24>>24==31)t=s;else{r=o;o=s;while(1){s=r+4|0;u=r+12|0;v=(c[u>>2]&64|0)==0;a:do if(!(c[s>>2]|0))if(!v?(a[(c[r+8>>2]|0)+5>>0]&3)!=0:0){c[u>>2]=11;w=o}else w=o;else{if(!v?(x=c[r+8>>2]|0,a[x+5>>0]&3):0)Fc(b,x);if(!o){x=c[s>>2]|0;do if(x&64|0){y=c[r>>2]|0;if((x&15|0)!=4)if(!(a[y+5>>0]&3))break;else{w=1;break a}if(y|0){if(!(a[y+5>>0]&3))break;Fc(b,y)}}while(0);w=0}else w=o}while(0);r=r+20|0;if(r>>>0>=l>>>0){t=w;break}else o=w}}if(!t){o=b+76|0;c[h>>2]=c[o>>2];c[o>>2]=f;break}else{o=b+80|0;c[h>>2]=c[o>>2];c[o>>2]=f;break}}else n=41}else n=41;while(0);if((n|0)==41){n=f+16|0;h=c[n>>2]|0;t=h+((1<>0])*20|0)|0;w=f+28|0;q=c[w>>2]|0;if((q|0)>0){i=f+12|0;p=0;o=q;while(1){q=c[i>>2]|0;if((c[q+(p<<3)+4>>2]&64|0)!=0?(l=c[q+(p<<3)>>2]|0,(a[l+5>>0]&3)!=0):0){Fc(b,l);z=c[w>>2]|0}else z=o;p=p+1|0;if((p|0)>=(z|0))break;else o=z}A=c[n>>2]|0}else A=h;if(A>>>0>>0){h=A;do{A=h+4|0;n=c[A>>2]|0;z=h+12|0;o=(c[z>>2]&64|0)==0;if(!n){if(!o?a[(c[h+8>>2]|0)+5>>0]&3:0)c[z>>2]=11}else{if(!o?(o=c[h+8>>2]|0,(a[o+5>>0]&3)!=0):0){Fc(b,o);B=c[A>>2]|0}else B=n;if(B&64|0?(n=c[h>>2]|0,a[n+5>>0]&3):0)Fc(b,n)}h=h+20|0}while(h>>>0>>0)}}C=(c[f+28>>2]<<3)+32+(20<>0])|0;break}case 6:{c[e>>2]=c[f+8>>2];t=c[f+12>>2]|0;if(t|0?a[t+5>>0]&3:0)Fc(b,t);t=f+6|0;h=a[t>>0]|0;if(!(h<<24>>24))C=16;else{B=0;n=h;while(1){h=c[f+16+(B<<2)>>2]|0;if((h|0)!=0?(a[h+5>>0]&3)!=0:0){Fc(b,h);D=a[t>>0]|0}else D=n;B=B+1|0;E=D&255;if(B>>>0>=E>>>0)break;else n=D}C=(E<<2)+16|0}break}case 38:{c[e>>2]=c[f+8>>2];E=f+6|0;D=a[E>>0]|0;if(!(D<<24>>24))C=16;else{n=0;B=D;while(1){if((c[f+16+(n<<3)+4>>2]&64|0)!=0?(D=c[f+16+(n<<3)>>2]|0,(a[D+5>>0]&3)!=0):0){Fc(b,D);F=a[E>>0]|0}else F=B;n=n+1|0;G=F&255;if(n>>>0>=G>>>0)break;else B=F}C=(G<<3)+16|0}break}case 8:{G=f+60|0;c[e>>2]=c[G>>2];F=b+76|0;c[G>>2]=c[F>>2];c[F>>2]=f;a[g>>0]=a[g>>0]&-5;g=f+28|0;F=c[g>>2]|0;if(!F)C=1;else{G=f+8|0;B=c[G>>2]|0;if(F>>>0>>0){n=F;E=B;while(1){if((c[n+4>>2]&64|0)!=0?(B=c[n>>2]|0,(a[B+5>>0]&3)!=0):0){Fc(b,B);H=c[G>>2]|0}else H=E;B=n+8|0;if(B>>>0>>0){n=B;E=H}else{I=B;break}}}else I=F;if((a[b+49>>0]|0)==1){F=(c[g>>2]|0)+(c[f+32>>2]<<3)|0;if(I>>>0>>0){g=I;do{c[g+4>>2]=0;g=g+8|0}while(g>>>0>>0);J=116}else J=116}else{F=f+72|0;g=c[f+16>>2]|0;if((g|0)==(F|0))J=116;else{I=0;H=F;do{I=I+1|0;H=c[H+12>>2]|0}while((H|0)!=(g|0));J=(I*40|0)+116|0}}C=(c[f+32>>2]<<3)+J|0}break}case 9:{c[e>>2]=c[f+72>>2];e=f+32|0;J=c[e>>2]|0;if(J|0?a[J+5>>0]&3:0)c[e>>2]=0;e=c[f+36>>2]|0;if(e|0?a[e+5>>0]&3:0)Fc(b,e);e=f+44|0;J=c[e>>2]|0;if((J|0)>0){I=f+8|0;g=0;H=J;while(1){J=c[I>>2]|0;if((c[J+(g<<3)+4>>2]&64|0)!=0?(F=c[J+(g<<3)>>2]|0,(a[F+5>>0]&3)!=0):0){Fc(b,F);K=c[e>>2]|0}else K=H;g=g+1|0;if((g|0)>=(K|0))break;else H=K}}K=f+40|0;H=c[K>>2]|0;if((H|0)>0){g=f+28|0;I=0;F=H;while(1){H=c[(c[g>>2]|0)+(I<<3)>>2]|0;if((H|0)!=0?(a[H+5>>0]&3)!=0:0){Fc(b,H);L=c[K>>2]|0}else L=F;I=I+1|0;if((I|0)>=(L|0))break;else F=L}}L=f+56|0;F=c[L>>2]|0;if((F|0)>0){I=f+16|0;g=0;H=F;while(1){J=c[(c[I>>2]|0)+(g<<2)>>2]|0;if((J|0)!=0?(a[J+5>>0]&3)!=0:0){Fc(b,J);M=c[L>>2]|0}else M=H;g=g+1|0;if((g|0)>=(M|0)){N=M;break}else H=M}}else N=F;F=f+60|0;M=c[F>>2]|0;if((M|0)>0){H=f+24|0;g=0;I=M;while(1){J=c[(c[H>>2]|0)+(g*12|0)>>2]|0;if((J|0)!=0?(a[J+5>>0]&3)!=0:0){Fc(b,J);O=c[F>>2]|0}else O=I;g=g+1|0;if((g|0)>=(O|0))break;else I=O}P=O;Q=c[L>>2]|0}else{P=M;Q=N}C=(P*12|0)+80+((c[f+48>>2]|0)+Q+(c[f+52>>2]|0)<<2)+((c[K>>2]|0)+(c[e>>2]|0)<<3)|0;break}default:return}e=b+16|0;c[e>>2]=(c[e>>2]|0)+C;return}function fd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;f=e+16|0;g=c[f>>2]|0;h=g+((1<<(d[e+7>>0]|0))*20|0)|0;i=e+28|0;j=c[i>>2]|0;if((j|0)>0){k=e+12|0;l=0;m=0;n=j;while(1){j=c[k>>2]|0;if((c[j+(m<<3)+4>>2]&64|0)!=0?(o=c[j+(m<<3)>>2]|0,(a[o+5>>0]&3)!=0):0){Fc(b,o);p=1;q=c[i>>2]|0}else{p=l;q=n}m=m+1|0;if((m|0)>=(q|0))break;else{l=p;n=q}}r=p;s=c[f>>2]|0}else{r=0;s=g}if(s>>>0>>0){g=s;s=0;f=0;p=r;while(1){q=g+4|0;n=c[q>>2]|0;l=g+12|0;m=c[l>>2]|0;i=(m&64|0)==0;a:do if(!n)if(!i?(a[(c[g+8>>2]|0)+5>>0]&3)!=0:0){c[l>>2]=11;t=s;u=f;v=p}else{t=s;u=f;v=p}else{do if(i){w=n;x=19}else{k=c[g+8>>2]|0;if((m&15|0)==4){if(!k){w=n;x=19;break}if(!(a[k+5>>0]&3)){w=n;x=19;break}Fc(b,k);w=c[q>>2]|0;x=19;break}o=(n&64|0)==0;if(!(a[k+5>>0]&3))if(o){t=s;u=f;v=p;break a}else break;if(o){t=s;u=1;v=p;break a}t=(a[(c[g>>2]|0)+5>>0]&3)==0?s:1;u=1;v=p;break a}while(0);if((x|0)==19?(x=0,(w&64|0)==0):0){t=s;u=f;v=p;break}o=c[g>>2]|0;if(!(a[o+5>>0]&3)){t=s;u=f;v=p}else{Fc(b,o);t=s;u=f;v=1}}while(0);g=g+20|0;if(g>>>0>=h>>>0)break;else{s=t;f=u;p=v}}if(t|0){y=v;z=b+84|0;A=c[z>>2]|0;B=e+24|0;c[B>>2]=A;c[z>>2]=e;return y|0}if(!u)C=v;else{y=v;z=b+88|0;A=c[z>>2]|0;B=e+24|0;c[B>>2]=A;c[z>>2]=e;return y|0}}else C=r;y=C;z=b+76|0;A=c[z>>2]|0;B=e+24|0;c[B>>2]=A;c[z>>2]=e;return y|0}function gd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if((e|0)==(f|0))return;g=e;do{e=g+16|0;h=c[e>>2]|0;i=h+((1<<(d[g+7>>0]|0))*20|0)|0;j=g+28|0;if((c[j>>2]|0)>0){k=g+12|0;l=0;do{m=c[k>>2]|0;if(md(b,m+(l<<3)|0)|0)c[m+(l<<3)+4>>2]=0;l=l+1|0}while((l|0)<(c[j>>2]|0));n=c[e>>2]|0}else n=h;if(n>>>0>>0){j=n;do{l=j+4|0;if(((c[l>>2]|0?md(b,j)|0:0)?(c[l>>2]=0,l=j+12|0,c[l>>2]&64|0):0)?a[(c[j+8>>2]|0)+5>>0]&3:0)c[l>>2]=11;j=j+20|0}while(j>>>0>>0)}g=c[g+24>>2]|0}while((g|0)!=(f|0));return}function hd(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;e=b+12|0;f=c[e>>2]|0;a[f+49>>0]=2;c[f+52>>2]=0;g=f+60|0;h=d[f+48>>0]|0;i=(a[f+50>>0]|0)==2;j=c[g>>2]|0;a:do if(!j){k=0;l=1}else{m=i?64:0;n=i?64:h&3;o=i?255:184;p=h;q=1;r=j;while(1){s=p^3;t=g;u=1;v=r;while(1){if(!u)break;u=u+-1|0;w=v+5|0;x=d[w>>0]|0;if(!((x^3)&s)){c[t>>2]=c[v>>2];id(b,v);y=t}else{if(m&x|0){k=0;l=q;break a}if((a[v+4>>0]|0)==8)jd(b,v);a[w>>0]=o&x|n;y=v}v=c[y>>2]|0;if(!v){k=0;l=q;break a}else t=y}if((t|0)!=(g|0)){k=t;l=q;break a}v=c[e>>2]|0;s=q+1|0;u=d[v+48>>0]|0;x=(a[v+50>>0]|0)==2;r=c[g>>2]|0;if(!r){k=0;l=s;break}else{m=x?64:0;n=x?64:u&3;o=x?255:184;p=u;q=s}}}while(0);c[f+68>>2]=k;k=f+56|0;g=0;b:while(1){g=g+1|0;y=c[e>>2]|0;j=d[y+48>>0]|0;h=j^3;i=(a[y+50>>0]|0)==2;y=i?255:184;q=i?64:j&3;j=i?64:0;i=c[k>>2]|0;if(!i){z=0;A=26;break}p=k;o=1;n=i;while(1){if(!o)break;o=o+-1|0;i=n+5|0;m=d[i>>0]|0;if(!((m^3)&h)){c[p>>2]=c[n>>2];id(b,n);B=p}else{if(j&m|0){z=0;A=26;break b}if((a[n+4>>0]|0)==8)jd(b,n);a[i>>0]=y&m|q;B=n}n=c[B>>2]|0;if(!n){z=0;A=26;break b}else p=B}if((p|0)!=(k|0)){z=p;A=26;break}}if((A|0)==26){c[f+64>>2]=z;return g+l|0}return 0}function id(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;do switch(a[e+4>>0]|0){case 9:{kd(b,e);return}case 6:{f=(d[e+6>>0]<<2)+16|0;g=c[b+12>>2]|0;Pa[c[g>>2]&1](c[g+4>>2]|0,e,f,0)|0;h=g+12|0;c[h>>2]=(c[h>>2]|0)-f;return}case 38:{f=(d[e+6>>0]<<3)+16|0;h=c[b+12>>2]|0;Pa[c[h>>2]&1](c[h+4>>2]|0,e,f,0)|0;g=h+12|0;c[g>>2]=(c[g>>2]|0)-f;return}case 10:{f=e+12|0;if((c[e+8>>2]|0)!=(f|0)){g=e+16|0;c[(c[g>>2]|0)+12>>2]=c[f>>2];c[(c[f>>2]|0)+16>>2]=c[g>>2]}g=c[b+12>>2]|0;Pa[c[g>>2]&1](c[g+4>>2]|0,e,20,0)|0;f=g+12|0;c[f>>2]=(c[f>>2]|0)+-20;return}case 5:{f=c[e+16>>2]|0;if((f|0)==2336252)i=b+12|0;else{g=20<>0];h=b+12|0;j=c[h>>2]|0;Pa[c[j>>2]&1](c[j+4>>2]|0,f,g,0)|0;k=j+12|0;c[k>>2]=(c[k>>2]|0)-((f|0)==0?0:g);i=h}h=c[e+12>>2]|0;g=c[e+28>>2]<<3;f=c[i>>2]|0;Pa[c[f>>2]&1](c[f+4>>2]|0,h,g,0)|0;k=f+12|0;c[k>>2]=(c[k>>2]|0)-((h|0)==0?0:g);g=c[i>>2]|0;Pa[c[g>>2]&1](c[g+4>>2]|0,e,32,0)|0;h=g+12|0;c[h>>2]=(c[h>>2]|0)+-32;return}case 8:{ld(b,e);return}case 7:{h=(c[e+16>>2]|0)+24|0;g=c[b+12>>2]|0;Pa[c[g>>2]&1](c[g+4>>2]|0,e,h,0)|0;k=g+12|0;c[k>>2]=(c[k>>2]|0)-h;return}case 4:{h=c[b+12>>2]|0;k=h+28|0;c[k>>2]=(c[k>>2]|0)+-1;l=h;break}case 20:{l=c[b+12>>2]|0;break}default:return}while(0);b=(c[e+12>>2]|0)+17|0;Pa[c[l>>2]&1](c[l+4>>2]|0,e,b,0)|0;e=l+12|0;c[e>>2]=(c[e>>2]|0)-b;return}function jd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=e+28|0;if(!(c[f>>2]|0))return;g=e+56|0;h=b+12|0;i=c[h>>2]|0;j=d[i+48>>0]|0;k=j^3;l=(a[i+50>>0]|0)==2;i=l?255:184;m=l?64:j&3;j=l?64:0;l=c[g>>2]|0;a:do if(l|0){n=g;o=-3;p=l;while(1){if(!o)break a;o=o+-1|0;q=p+5|0;r=d[q>>0]|0;if(!((r^3)&k)){c[n>>2]=c[p>>2];id(b,p);s=n}else{if(j&r|0)break a;if((a[p+4>>0]|0)==8)jd(b,p);a[q>>0]=i&r|m;s=p}p=c[s>>2]|0;if(!p)break;else n=s}}while(0);s=e+16|0;m=(c[s>>2]|0)+12|0;i=c[m>>2]|0;c[m>>2]=0;if(i|0){m=e+12|0;b=i;do{i=b;b=c[b+12>>2]|0;j=c[m>>2]|0;Pa[c[j>>2]&1](c[j+4>>2]|0,i,40,0)|0;k=j+12|0;c[k>>2]=(c[k>>2]|0)-((i|0)==0?0:40)}while((b|0)!=0)}if((a[(c[h>>2]|0)+50>>0]|0)==1)return;h=c[e+8>>2]|0;b=c[s>>2]|0;if(!b)t=h;else{s=b;b=h;while(1){h=c[s+4>>2]|0;m=b>>>0>>0?h:b;s=c[s+8>>2]|0;if(!s){t=m;break}else b=m}}b=t-(c[f>>2]|0)|0;f=b>>3;t=f+11+((f+1|0)/8|0)|0;f=(t|0)<1e6?t:1e6;if((b|0)>7999992)return;if((f|0)>=(c[e+32>>2]|0))return;vc(e,f);return}function kd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=c[b+12>>2]|0;e=c[b+48>>2]<<2;f=a+12|0;a=c[f>>2]|0;Pa[c[a>>2]&1](c[a+4>>2]|0,d,e,0)|0;g=a+12|0;c[g>>2]=(c[g>>2]|0)-((d|0)==0?0:e);e=c[b+16>>2]|0;d=c[b+56>>2]<<2;g=c[f>>2]|0;Pa[c[g>>2]&1](c[g+4>>2]|0,e,d,0)|0;a=g+12|0;c[a>>2]=(c[a>>2]|0)-((e|0)==0?0:d);d=c[b+8>>2]|0;e=c[b+44>>2]<<3;a=c[f>>2]|0;Pa[c[a>>2]&1](c[a+4>>2]|0,d,e,0)|0;g=a+12|0;c[g>>2]=(c[g>>2]|0)-((d|0)==0?0:e);e=c[b+20>>2]|0;d=c[b+52>>2]<<2;g=c[f>>2]|0;Pa[c[g>>2]&1](c[g+4>>2]|0,e,d,0)|0;a=g+12|0;c[a>>2]=(c[a>>2]|0)-((e|0)==0?0:d);d=c[b+24>>2]|0;e=(c[b+60>>2]|0)*12|0;a=c[f>>2]|0;Pa[c[a>>2]&1](c[a+4>>2]|0,d,e,0)|0;g=a+12|0;c[g>>2]=(c[g>>2]|0)-((d|0)==0?0:e);e=c[b+28>>2]|0;d=c[b+40>>2]<<3;g=c[f>>2]|0;Pa[c[g>>2]&1](c[g+4>>2]|0,e,d,0)|0;a=g+12|0;c[a>>2]=(c[a>>2]|0)-((e|0)==0?0:d);d=c[f>>2]|0;Pa[c[d>>2]&1](c[d+4>>2]|0,b,80,0)|0;f=d+12|0;c[f>>2]=(c[f>>2]|0)-((b|0)==0?0:80);return}function ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=b+28|0;Oc(b,c[d>>2]|0);e=c[d>>2]|0;if(e|0){c[b+16>>2]=b+72;f=b+84|0;g=c[f>>2]|0;c[f>>2]=0;f=b+12|0;if(!g)h=e;else{e=g;do{g=e;e=c[e+12>>2]|0;i=c[f>>2]|0;Pa[c[i>>2]&1](c[i+4>>2]|0,g,40,0)|0;j=i+12|0;c[j>>2]=(c[j>>2]|0)-((g|0)==0?0:40)}while((e|0)!=0);h=c[d>>2]|0}d=c[b+32>>2]<<3;e=c[f>>2]|0;Pa[c[e>>2]&1](c[e+4>>2]|0,h,d,0)|0;f=e+12|0;c[f>>2]=(c[f>>2]|0)-((h|0)==0?0:d)}d=c[a+12>>2]|0;Pa[c[d>>2]&1](c[d+4>>2]|0,b,116,0)|0;b=d+12|0;c[b>>2]=(c[b>>2]|0)+-116;return}function md(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=c[d+4>>2]|0;if(!(e&64)){f=0;return f|0}g=c[d>>2]|0;if((e&15|0)!=4){f=a[g+5>>0]&3;return f|0}if(!g){f=0;return f|0}if(!(a[g+5>>0]&3)){f=0;return f|0}Fc(b,g);f=0;return f|0}function nd(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=c[a+28>>2]|0;if(b|0?(e=c[a+12>>2]|0,(c[e+(b+-1<<3)+4>>2]|0)==0):0){if(b>>>0<=1){f=0;return f|0}g=b;h=0;while(1){i=(g+h|0)>>>1;j=(c[e+(i+-1<<3)+4>>2]|0)==0;k=j?h:i;g=j?i:g;if((g-k|0)>>>0<=1){f=k;break}else h=k}return f|0}h=c[a+16>>2]|0;if((h|0)==2336252){f=b;return f|0}g=a+12|0;e=a+7|0;a=b;k=b+1|0;while(1){i=k+-1|0;a:do if(i>>>0>>0)l=(c[g>>2]|0)+(i<<3)|0;else{j=k<<16;m=0-j|0;n=h+(((((j|0)<0?((j|0)==(m|0)?0:m):j)|0)%((1<<(d[e>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[n+12>>2]|0)==3?(c[n+8>>2]|0)==(j|0):0)break;m=c[n+16>>2]|0;if(!m){l=2336224;break a}else n=m}l=n}while(0);if(!(c[l+4>>2]|0))break;i=k<<1;if(i>>>0>2147483645){o=17;break}else{j=k;k=i;a=j}}if((o|0)==17){o=1;while(1){l=o+-1|0;b:do if(l>>>0>>0)p=(c[g>>2]|0)+(l<<3)|0;else{j=o<<16;i=0-j|0;m=h+(((((j|0)<0?((j|0)==(i|0)?0:i):j)|0)%((1<<(d[e>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[m+12>>2]|0)==3?(c[m+8>>2]|0)==(j|0):0)break;i=c[m+16>>2]|0;if(!i){p=2336224;break b}else m=i}p=m}while(0);if(!(c[p+4>>2]|0)){f=l;break}else o=o+1|0}return f|0}if((k-a|0)>>>0<=1){f=a;return f|0}o=k;k=a;while(1){a=(o+k|0)>>>1;p=a+-1|0;c:do if(p>>>0>>0)q=(c[g>>2]|0)+(p<<3)|0;else{j=a<<16;n=0-j|0;i=h+(((((j|0)<0?((j|0)==(n|0)?0:n):j)|0)%((1<<(d[e>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[i+12>>2]|0)==3?(c[i+8>>2]|0)==(j|0):0)break;n=c[i+16>>2]|0;if(!n){q=2336224;break c}else i=n}q=i}while(0);p=(c[q+4>>2]|0)==0;o=p?a:o;l=p?k:a;if((o-l|0)>>>0<=1){f=l;break}else k=l}return f|0}function od(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;do switch(a|0){case 0:{d=c+b|0;break}case 1:{d=b-c|0;break}case 2:{d=el(b,c)|0;break}case 3:{d=fl(b,c)|0;break}case 4:{d=gl(b,c)|0;break}case 5:{d=hl(b,c)|0;break}case 6:{d=c&b;break}case 7:{d=c|b;break}case 8:{d=c^b;break}case 9:{d=rl(b,c)|0;break}case 10:{d=sl(b,c)|0;break}case 11:{d=ql(b,c)|0;break}case 12:{d=ol(b,c)|0;break}case 13:{d=pl(b,c)|0;break}case 14:{d=~b;break}case 15:{d=(fl(b,c)|0)&-65536;break}case 16:{d=Wk(b)|0;break}case 17:{d=Vk(b)|0;break}case 18:{d=Uk(b)|0;break}case 19:{d=0-b|0;break}default:d=0}while(0);return d|0}function pd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ia;Ia=Ia+16|0;e=(qd(b,d)|0)==0;$c(a,e?b:c,48066)}function qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Ia;Ia=Ia+16|0;e=d;f=c[a+4>>2]|0;if((f|0)!=3)if((f&15|0)==4?(f=c[a>>2]|0,(Sc(f+16|0,c[f+12>>2]|0,e)|0)!=0):0){c[b>>2]=c[e>>2];c[b+4>>2]=3;g=b}else g=0;else g=a;Ia=d;return g|0}function rd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;switch(c[e+4>>2]&63){case 3:{f=c[e>>2]|0;g=0-f|0;h=(c[b+16>>2]|0)+(((((f|0)<0?((f|0)==(g|0)?0:g):f)|0)%((1<>0])+-1|1|0)|0)*20|0)|0;return h|0}case 20:{f=c[e>>2]|0;g=f+6|0;if(!(a[g>>0]|0)){i=f+16|0;j=c[f+12>>2]|0;k=f+8|0;l=c[k>>2]^j;m=j>>>5;if(m>>>0>>0){n=~m;o=j;j=l;while(1){p=(j<<5)+(j>>>2)+(d[i+(o+-1)>>0]|0)^j;o=o+n|0;if(o>>>0<=m>>>0){q=p;break}else j=p}}else q=l;c[k>>2]=q;a[g>>0]=1;r=c[e>>2]|0}else r=f;h=(c[b+16>>2]|0)+(((1<>0])+-1&c[r+8>>2])*20|0)|0;return h|0}case 4:{h=(c[b+16>>2]|0)+(((1<>0])+-1&c[(c[e>>2]|0)+8>>2])*20|0)|0;return h|0}case 1:{h=(c[b+16>>2]|0)+(((1<>0])+-1&c[e>>2])*20|0)|0;return h|0}case 2:{h=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<>0])+-1|1)>>>0)|0)*20|0)|0;return h|0}case 54:case 22:{h=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<>0])+-1|1)>>>0)|0)*20|0)|0;return h|0}default:{h=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<>0])+-1|1)>>>0)|0)*20|0)|0;return h|0}}return 0}function sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=d;d=xc(a,b,f)|0;Ia=e;return d|0}function td(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(e>>>0<41){f=Zc(b,d,e)|0;return f|0}if((e+1|0)>>>0>4294967277)Hc(b);g=c[b+12>>2]|0;h=c[g+44>>2]|0;i=e+17|0;j=g+4|0;k=Pa[c[g>>2]&1](c[j>>2]|0,0,4,i)|0;if((i|0)!=0&(k|0)==0){if(!(a[g+51>>0]|0))uc(b,4);Gc(b,1);l=Pa[c[g>>2]&1](c[j>>2]|0,0,4,i)|0;if(!l)uc(b,4);else m=l}else m=k;k=g+12|0;c[k>>2]=(c[k>>2]|0)+i;i=g+56|0;a[m+5>>0]=a[g+48>>0]&3;a[m+4>>0]=20;c[m>>2]=c[i>>2];c[i>>2]=m;c[m+12>>2]=e;c[m+8>>2]=h;a[m+6>>0]=0;h=m+16|0;zv(h|0,d|0,e|0)|0;a[h+e>>0]=0;f=m;return f|0}function ud(a){a=a|0;return (c[a+8>>2]|0)-((c[c[a+16>>2]>>2]|0)+8)>>3|0}function vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((b|0)<=-1){d=a+8|0;c[d>>2]=(c[d>>2]|0)+(b+1<<3);return}d=c[c[a+16>>2]>>2]|0;e=a+8|0;a=c[e>>2]|0;f=d+8+(b<<3)|0;if(a>>>0>>0){g=((d+(b<<3)+4+(3-a)|0)>>>3)+1|0;b=a;do{c[b+4>>2]=0;b=b+8|0}while(b>>>0>>0);c[e>>2]=a+(g<<3)}c[e>>2]=f;return}function wd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+16|0;h=c[g>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){i=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){i=(c[b+12>>2]|0)+36|0;break}j=-1001e3-e|0;k=c[h>>2]|0;if((c[k+4>>2]|32|0)==54)i=2336224;else{l=c[k>>2]|0;i=(j|0)>(d[l+6>>0]|0|0)?2336224:l+16+(j+-1<<3)|0}}else{j=(c[h>>2]|0)+(e<<3)|0;i=j>>>0<(c[b+8>>2]|0)>>>0?j:2336224}while(0);do if((f|0)<=0){if((f|0)>=-1000999){m=(c[b+8>>2]|0)+(f<<3)|0;break}if((f|0)==-1001e3){m=(c[b+12>>2]|0)+36|0;break}e=-1001e3-f|0;j=c[h>>2]|0;if((c[j+4>>2]|32|0)==54)m=2336224;else{l=c[j>>2]|0;m=(e|0)>(d[l+6>>0]|0|0)?2336224:l+16+(e+-1<<3)|0}}else{e=(c[h>>2]|0)+(f<<3)|0;m=e>>>0<(c[b+8>>2]|0)>>>0?e:2336224}while(0);c[m>>2]=c[i>>2];h=i+4|0;c[m+4>>2]=c[h>>2];if((f|0)>=-1001e3)return;if(!(c[h>>2]&64))return;h=c[i>>2]|0;if(!(a[h+5>>0]&3))return;i=(c[c[c[g>>2]>>2]>>2]|0)+5|0;g=a[i>>0]|0;if(!(g&4))return;f=c[b+12>>2]|0;if((d[f+49>>0]|0)<2){Fc(f,h);return}else{a[i>>0]=a[f+48>>0]&3|g&-72;return}}function xd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)f=2336224;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2336224:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2336224}while(0);b=a+8|0;a=c[b>>2]|0;c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[b>>2]=(c[b>>2]|0)+8;return}function yd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[a+16>>2]|0;do if((b|0)>0){f=(c[e>>2]|0)+(b<<3)|0;if(f>>>0<(c[a+8>>2]|0)>>>0)g=f;else{h=-1;return h|0}}else{if((b|0)>=-1000999){g=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){g=(c[a+12>>2]|0)+36|0;break}f=-1001e3-b|0;i=c[e>>2]|0;if((c[i+4>>2]|32|0)==54){h=-1;return h|0}j=c[i>>2]|0;if((f|0)>(d[j+6>>0]|0|0)){h=-1;return h|0}else g=j+16+(f+-1<<3)|0}while(0);if((g|0)==2336224){h=-1;return h|0}h=c[g+4>>2]&15;return h|0}function zd(a,b){a=a|0;b=b|0;return c[16+(b+1<<2)>>2]|0}function Ad(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Ia;Ia=Ia+16|0;g=f+8|0;h=f;i=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){j=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){j=(c[a+12>>2]|0)+36|0;break}k=-1001e3-b|0;l=c[i>>2]|0;if((c[l+4>>2]|32|0)==54)j=2336224;else{m=c[l>>2]|0;j=(k|0)>(d[m+6>>0]|0|0)?2336224:m+16+(k+-1<<3)|0}}else{k=(c[i>>2]|0)+(b<<3)|0;j=k>>>0<(c[a+8>>2]|0)>>>0?k:2336224}while(0);a=c[j+4>>2]|0;do if((a|0)==3)n=j;else{if((a&15|0)==4?(b=c[j>>2]|0,Sc(b+16|0,c[b+12>>2]|0,g)|0):0){c[h>>2]=c[g>>2];c[h+4>>2]=3;n=h;break}if(!e){o=0;Ia=f;return o|0}c[e>>2]=0;o=0;Ia=f;return o|0}while(0);if(e|0)c[e>>2]=1;o=c[n>>2]|0;Ia=f;return o|0}function Bd(a){a=a|0;var b=0,d=0,e=0,f=0;b=Ia;Ia=Ia+16|0;d=b;e=c[a+4>>2]|0;if((e|0)==3){f=c[a>>2]|0;Ia=b;return f|0}if((e&15|0)==4?(e=c[a>>2]|0,Sc(e+16|0,c[e+12>>2]|0,d)|0):0){f=c[d>>2]|0;Ia=b;return f|0}f=0;Ia=b;return f|0}function Cd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=Ia;Ia=Ia+16|0;g=f;h=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){i=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){i=(c[a+12>>2]|0)+36|0;break}j=-1001e3-b|0;k=c[h>>2]|0;if((c[k+4>>2]|32|0)==54)i=2336224;else{l=c[k>>2]|0;i=(j|0)>(d[l+6>>0]|0|0)?2336224:l+16+(j+-1<<3)|0}}else{j=(c[h>>2]|0)+(b<<3)|0;i=j>>>0<(c[a+8>>2]|0)>>>0?j:2336224}while(0);a=c[i+4>>2]|0;do if((a|0)==3)m=c[i>>2]|0;else{if((a&15|0)==4?(b=c[i>>2]|0,Sc(b+16|0,c[b+12>>2]|0,g)|0):0){m=c[g>>2]|0;break}if(!e){n=0;Ia=f;return n|0}c[e>>2]=0;n=0;Ia=f;return n|0}while(0);g=m>>16;if(!e){n=g;Ia=f;return n|0}c[e>>2]=1;n=g;Ia=f;return n|0}function Dd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)f=2336224;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2336224:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2336224}while(0);a=c[f+4>>2]|0;switch(a|0){case 1:{j=(c[f>>2]|0)!=0&1;return j|0}case 0:{j=a;return j|0}default:{j=1;return j|0}}return 0}function Ed(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=b+16|0;h=c[g>>2]|0;i=(e|0)>0;do if(!i){if((e|0)>=-1000999){j=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){j=(c[b+12>>2]|0)+36|0;break}k=-1001e3-e|0;l=c[h>>2]|0;if((c[l+4>>2]|32|0)==54)j=2336224;else{m=c[l>>2]|0;j=(k|0)>(d[m+6>>0]|0)?2336224:m+16+(k+-1<<3)|0}}else{k=(c[h>>2]|0)+(e<<3)|0;j=k>>>0<(c[b+8>>2]|0)>>>0?k:2336224}while(0);do if((c[j+4>>2]&15|0)!=4){if(!(Fd(b,j)|0)){if(!f){n=0;return n|0}c[f>>2]=0;n=0;return n|0}h=b+12|0;k=c[h>>2]|0;m=k+12|0;l=c[m>>2]|0;do if((l|0)>0)if(!(a[k+51>>0]|0)){o=k+8|0;c[o>>2]=l+1600+(c[o>>2]|0);c[m>>2]=-1600;break}else{Kc(b);break}while(0);m=c[g>>2]|0;if(i){l=(c[m>>2]|0)+(e<<3)|0;p=l>>>0<(c[b+8>>2]|0)>>>0?l:2336224;break}if((e|0)>=-1000999){p=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){p=(c[h>>2]|0)+36|0;break}l=-1001e3-e|0;k=c[m>>2]|0;if((c[k+4>>2]|32|0)==54)p=2336224;else{m=c[k>>2]|0;p=(l|0)>(d[m+6>>0]|0)?2336224:m+16+(l+-1<<3)|0}}else p=j;while(0);if(f|0)c[f>>2]=c[(c[p>>2]|0)+12>>2];n=(c[p>>2]|0)+16|0;return n|0}function Fd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=Ia;Ia=Ia+32|0;f=e;g=d+4|0;if((c[g>>2]|0)!=3){h=0;Ia=e;return h|0}i=Yc(f,c[d>>2]|0)|0;if(i>>>0<41)j=Zc(b,f,i)|0;else{if((i+1|0)>>>0>4294967277)Hc(b);k=c[b+12>>2]|0;l=c[k+44>>2]|0;m=i+17|0;n=k+4|0;o=Pa[c[k>>2]&1](c[n>>2]|0,0,4,m)|0;if((m|0)!=0&(o|0)==0){if(!(a[k+51>>0]|0))uc(b,4);Gc(b,1);p=Pa[c[k>>2]&1](c[n>>2]|0,0,4,m)|0;if(!p)uc(b,4);else q=p}else q=o;o=k+12|0;c[o>>2]=(c[o>>2]|0)+m;m=k+56|0;a[q+5>>0]=a[k+48>>0]&3;a[q+4>>0]=20;c[q>>2]=c[m>>2];c[m>>2]=q;c[q+12>>2]=i;c[q+8>>2]=l;a[q+6>>0]=0;l=q+16|0;zv(l|0,f|0,i|0)|0;a[l+i>>0]=0;j=q}c[d>>2]=j;c[g>>2]=(a[j+4>>0]|64)&255;h=1;Ia=e;return h|0}function Gd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)f=2336224;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2336224:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2336224}while(0);switch(c[f+4>>2]&15){case 4:{j=c[(c[f>>2]|0)+12>>2]|0;return j|0}case 7:{j=c[(c[f>>2]|0)+16>>2]|0;return j|0}case 5:{j=nd(c[f>>2]|0)|0;return j|0}default:{j=0;return j|0}}return 0}function Hd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[a+16>>2]|0;f=(b|0)>0;do if(!f){if((b|0)>=-1000999){g=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){g=(c[a+12>>2]|0)+36|0;break}h=-1001e3-b|0;i=c[e>>2]|0;if((c[i+4>>2]|32|0)==54)g=2336224;else{j=c[i>>2]|0;g=(h|0)>(d[j+6>>0]|0|0)?2336224:j+16+(h+-1<<3)|0}}else{h=(c[e>>2]|0)+(b<<3)|0;g=h>>>0<(c[a+8>>2]|0)>>>0?h:2336224}while(0);switch(c[g+4>>2]&63){case 5:{k=c[g>>2]|0;return k|0}case 6:{k=c[g>>2]|0;return k|0}case 38:{k=c[g>>2]|0;return k|0}case 54:case 22:{k=c[g>>2]|0;return k|0}case 8:{k=c[g>>2]|0;return k|0}case 2:case 7:{do if(!f){if((b|0)>=-1000999){l=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){l=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)l=2336224;else{j=c[h>>2]|0;l=(g|0)>(d[j+6>>0]|0|0)?2336224:j+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;l=g>>>0<(c[a+8>>2]|0)>>>0?g:2336224}while(0);switch(c[l+4>>2]&15){case 7:{k=(c[l>>2]|0)+24|0;return k|0}case 2:{k=c[l>>2]|0;return k|0}default:{k=0;return k|0}}break}default:{k=0;return k|0}}return 0}function Id(a){a=a|0;var b=0;b=a+8|0;a=c[b>>2]|0;c[a+4>>2]=0;c[b>>2]=a+8;return}function Jd(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[d>>2]|0;c[a>>2]=b;c[a+4>>2]=3;c[d>>2]=(c[d>>2]|0)+8;return}function Kd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[b+12>>2]|0;g=f+12|0;h=c[g>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[g>>2]=-1600;break}else{Kc(b);break}while(0);g=td(b,d,e)|0;e=b+8|0;b=c[e>>2]|0;c[b>>2]=g;c[b+4>>2]=(a[g+4>>0]|64)&255;c[e>>2]=(c[e>>2]|0)+8;return g+16|0}function Ld(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!d){e=b+8|0;f=c[e>>2]|0;c[f+4>>2]=0;c[e>>2]=f+8;g=0;return g|0}f=c[b+12>>2]|0;e=f+12|0;h=c[e>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[e>>2]=-1600;break}else{Kc(b);break}while(0);e=td(b,d,Ht(d)|0)|0;d=b+8|0;b=c[d>>2]|0;c[b>>2]=e;c[b+4>>2]=(a[e+4>>0]|64)&255;c[d>>2]=(c[d>>2]|0)+8;g=e+16|0;return g|0}function Md(a,b){a=a|0;b=b|0;return td(a,b,Ht(b)|0)|0}function Nd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[b+12>>2]|0;g=f+12|0;h=c[g>>2]|0;do if((h|0)>0)if(!(a[f+51>>0]|0)){i=f+8|0;c[i>>2]=h+1600+(c[i>>2]|0);c[g>>2]=-1600;break}else{Kc(b);break}while(0);return xc(b,d,e)|0}function Od(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=Ia;Ia=Ia+16|0;g=f;h=c[b+12>>2]|0;i=h+12|0;j=c[i>>2]|0;do if((j|0)>0)if(!(a[h+51>>0]|0)){k=h+8|0;c[k>>2]=j+1600+(c[k>>2]|0);c[i>>2]=-1600;break}else{Kc(b);break}while(0);c[g>>2]=e;e=xc(b,d,g)|0;Ia=f;return e|0}function Pd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;a:do if((e|0)<0){switch(e|0){case -3333:break;default:break a}f=b+8|0;g=c[f>>2]|0;c[g>>2]=d;h=f;i=54;j=g;k=j+4|0;c[k>>2]=i;l=c[h>>2]|0;m=l+8|0;c[h>>2]=m;return}else{switch(e|0){case 0:break;default:break a}g=b+8|0;f=c[g>>2]|0;c[f>>2]=d;h=g;i=22;j=f;k=j+4|0;c[k>>2]=i;l=c[h>>2]|0;m=l+8|0;c[h>>2]=m;return}while(0);f=b+12|0;g=c[f>>2]|0;n=g+12|0;o=c[n>>2]|0;if((o|0)<=0){p=(e<<3)+16|0;q=g+4|0;r=Pa[c[g>>2]&1](c[q>>2]|0,0,6,p)|0;if((p|0)!=0&(r|0)==0){if(!(a[g+51>>0]|0))uc(b,4);Gc(b,1);s=Pa[c[g>>2]&1](c[q>>2]|0,0,6,p)|0;if(!s)uc(b,4);else{t=s;u=n;v=g;w=p}}else{t=r;u=n;v=g;w=p}}else{if(!(a[g+51>>0]|0)){p=g+8|0;c[p>>2]=o+1600+(c[p>>2]|0);c[n>>2]=-1600;x=g}else{Kc(b);x=c[f>>2]|0}f=(e<<3)+16|0;g=x+4|0;n=Pa[c[x>>2]&1](c[g>>2]|0,0,6,f)|0;if((f|0)!=0&(n|0)==0){if(!(a[x+51>>0]|0))uc(b,4);Gc(b,1);p=Pa[c[x>>2]&1](c[g>>2]|0,0,6,f)|0;if(!p)uc(b,4);else y=p}else y=n;t=y;u=x+12|0;v=x;w=f}c[u>>2]=(c[u>>2]|0)+w;w=v+56|0;a[t+5>>0]=a[v+48>>0]&3;a[t+4>>0]=38;c[t>>2]=c[w>>2];c[w>>2]=t;a[t+6>>0]=e;c[t+12>>2]=d;d=b+8|0;b=(c[d>>2]|0)+(0-e<<3)|0;c[d>>2]=b;w=e;e=b;do{w=w+-1|0;c[t+16+(w<<3)>>2]=c[e+(w<<3)>>2];c[t+16+(w<<3)+4>>2]=c[e+(w<<3)+4>>2];e=c[d>>2]|0}while((w|0)!=0);c[e>>2]=t;h=d;i=102;j=e;k=j+4|0;c[k>>2]=i;l=c[h>>2]|0;m=l+8|0;c[h>>2]=m;return}function Qd(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=c[d>>2]|0;c[a>>2]=(b|0)!=0&1;c[a+4>>2]=1;c[d>>2]=(c[d>>2]|0)+8;return}function Rd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=c[(c[b+12>>2]|0)+36>>2]|0;a:do if((c[f+28>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+8|0;else{h=(c[f+16>>2]|0)+((131072%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==131072:0)break;i=c[h+16>>2]|0;if(!i){g=2336224;break a}else h=i}g=h}while(0);f=b+8|0;i=c[f>>2]|0;c[f>>2]=i+8;j=td(b,e,Ht(e)|0)|0;c[i>>2]=j;c[i+4>>2]=(a[j+4>>0]|64)&255;j=(c[f>>2]|0)+-8|0;Dc(b,g,j,j);return}function Sd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=c[a+16>>2]|0;do if((b|0)<=0){if((b|0)>=-1000999){f=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){f=(c[a+12>>2]|0)+36|0;break}g=-1001e3-b|0;h=c[e>>2]|0;if((c[h+4>>2]|32|0)==54)f=2336224;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2336224:i+16+(g+-1<<3)|0}}else{g=(c[e>>2]|0)+(b<<3)|0;f=g>>>0<(c[a+8>>2]|0)>>>0?g:2336224}while(0);b=(c[a+8>>2]|0)+-8|0;Dc(a,f,b,b);return}function Td(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;f=b+12|0;g=c[f>>2]|0;h=g+12|0;i=c[h>>2]|0;do if((i|0)>0)if(!(a[g+51>>0]|0)){j=g+8|0;c[j>>2]=i+1600+(c[j>>2]|0);c[h>>2]=-1600;k=g;break}else{Kc(b);k=c[f>>2]|0;break}else k=g;while(0);g=k+4|0;f=Pa[c[k>>2]&1](c[g>>2]|0,0,5,32)|0;if(!f){if(!(a[k+51>>0]|0))uc(b,4);Gc(b,1);h=Pa[c[k>>2]&1](c[g>>2]|0,0,5,32)|0;if(!h)uc(b,4);else l=h}else l=f;f=k+12|0;c[f>>2]=(c[f>>2]|0)+32;f=k+56|0;a[l+5>>0]=a[k+48>>0]&3;a[l+4>>0]=5;c[l>>2]=c[f>>2];c[f>>2]=l;c[l+8>>2]=0;a[l+6>>0]=-1;c[l+12>>2]=0;c[l+28>>2]=0;c[l+16>>2]=2336252;a[l+7>>0]=0;c[l+20>>2]=2336252;f=b+8|0;k=c[f>>2]|0;c[k>>2]=l;c[k+4>>2]=69;c[f>>2]=(c[f>>2]|0)+8;if(!((d|0)>0|(e|0)>0))return;Tc(b,l,d,e);return}function Ud(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=c[(c[b+12>>2]|0)+36>>2]|0;a:do if((c[f+28>>2]|0)>>>0>1)g=(c[f+12>>2]|0)+8|0;else{h=(c[f+16>>2]|0)+((131072%((1<<(d[f+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[h+12>>2]|0)==3?(c[h+8>>2]|0)==131072:0)break;i=c[h+16>>2]|0;if(!i){g=2336224;break a}else h=i}g=h}while(0);f=b+8|0;i=c[f>>2]|0;c[f>>2]=i+8;j=td(b,e,Ht(e)|0)|0;c[i>>2]=j;c[i+4>>2]=(a[j+4>>0]|64)&255;j=c[f>>2]|0;Ec(b,g,j+-8|0,j+-16|0);c[f>>2]=(c[f>>2]|0)+-16;return}function Vd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;g=Ia;Ia=Ia+16|0;h=g;i=c[b+16>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){j=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){j=(c[b+12>>2]|0)+36|0;break}k=-1001e3-e|0;l=c[i>>2]|0;if((c[l+4>>2]|32|0)==54)j=2336224;else{m=c[l>>2]|0;j=(k|0)>(d[m+6>>0]|0|0)?2336224:m+16+(k+-1<<3)|0}}else{k=(c[i>>2]|0)+(e<<3)|0;j=k>>>0<(c[b+8>>2]|0)>>>0?k:2336224}while(0);e=c[j>>2]|0;i=b+8|0;k=c[i>>2]|0;m=k+-8|0;l=f+-1|0;a:do if(l>>>0<(c[e+28>>2]|0)>>>0){n=(c[e+12>>2]|0)+(l<<3)|0;o=16}else{p=f<<16;q=0-p|0;r=(c[e+16>>2]|0)+(((((p|0)<0?((p|0)==(q|0)?0:q):p)|0)%((1<<(d[e+7>>0]|0))+-1|1|0)|0)*20|0)|0;while(1){if((c[r+12>>2]|0)==3?(c[r+8>>2]|0)==(p|0):0)break;q=c[r+16>>2]|0;if(!q){s=p;o=18;break a}else r=q}n=r;o=16}while(0);if((o|0)==16)if((n|0)==2336224){s=f<<16;o=18}else t=n;if((o|0)==18){c[h>>2]=s;c[h+4>>2]=3;t=Jc(b,e,h)|0}c[t>>2]=c[m>>2];c[t+4>>2]=c[k+-4>>2];k=c[i>>2]|0;if(!(c[k+-4>>2]&64)){u=k;v=u+-8|0;c[i>>2]=v;Ia=g;return}if(!(a[(c[k+-8>>2]|0)+5>>0]&3)){u=k;v=u+-8|0;c[i>>2]=v;Ia=g;return}t=c[j>>2]|0;j=t+5|0;m=a[j>>0]|0;if(!(m&4)){u=k;v=u+-8|0;c[i>>2]=v;Ia=g;return}k=c[b+12>>2]|0;a[j>>0]=m&-5;m=k+76|0;c[t+24>>2]=c[m>>2];c[m>>2]=t;u=c[i>>2]|0;v=u+-8|0;c[i>>2]=v;Ia=g;return}function Wd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=c[b+16>>2]|0;do if((e|0)<=0){if((e|0)>=-1000999){g=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){g=(c[b+12>>2]|0)+36|0;break}h=-1001e3-e|0;i=c[f>>2]|0;if((c[i+4>>2]|32|0)==54)g=2336224;else{j=c[i>>2]|0;g=(h|0)>(d[j+6>>0]|0|0)?2336224:j+16+(h+-1<<3)|0}}else{h=(c[f>>2]|0)+(e<<3)|0;g=h>>>0<(c[b+8>>2]|0)>>>0?h:2336224}while(0);e=b+8|0;f=c[e>>2]|0;if(!(c[f+-4>>2]|0)){k=0;l=0}else{h=c[f+-8>>2]|0;k=h;l=h}h=c[g+4>>2]|0;switch(h&15){case 5:{c[(c[g>>2]|0)+8>>2]=l;if(!k){m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}if(a[k+5>>0]&3?(f=c[g>>2]|0,j=f+5|0,i=a[j>>0]|0,i&4):0){o=c[b+12>>2]|0;a[j>>0]=i&-5;i=o+76|0;c[f+24>>2]=c[i>>2];c[i>>2]=f}Xd(b,c[g>>2]|0,k);m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}case 7:{c[(c[g>>2]|0)+8>>2]=k;if(!k){m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}do if(a[l+5>>0]&3?(f=(c[g>>2]|0)+5|0,i=a[f>>0]|0,i&4):0){o=c[b+12>>2]|0;if((d[o+49>>0]|0)<2){Fc(o,l);break}else{a[f>>0]=a[o+48>>0]&3|i&-72;break}}while(0);Xd(b,c[g>>2]|0,k);m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}default:{c[(c[b+12>>2]|0)+276+((h&15)<<2)>>2]=k;m=c[e>>2]|0;n=m+-8|0;c[e>>2]=n;return 1}}return 0}function Xd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;g=b+12|0;h=c[g>>2]|0;i=e+5|0;if((f|0)==0|(a[i>>0]&24)!=0)return;j=f+6|0;k=a[j>>0]|0;if(k&4)return;l=c[h+164>>2]|0;m=(c[f+16>>2]|0)+(((1<>0])+-1&c[l+8>>2])*20|0)|0;while(1){if((c[m+12>>2]|0)==68?(c[m+8>>2]|0)==(l|0):0){n=6;break}f=c[m+16>>2]|0;if(!f){o=2336224;break}else m=f}if((n|0)==6)o=m;if(!(c[o+4>>2]|0)){a[j>>0]=k|4;return}if(!o)return;o=h+64|0;k=c[o>>2]|0;if((k|0)==(e|0)){j=h;while(1){m=d[j+48>>0]|0;n=m^3;l=(a[j+50>>0]|0)==2;f=l?255:184;p=l?64:m&3;m=l?64:0;l=c[k>>2]|0;a:do if(!l)q=0;else{r=k;s=1;t=l;while(1){if(!s){q=r;break a}s=s+-1|0;u=t+5|0;v=d[u>>0]|0;if(!((v^3)&n)){c[r>>2]=c[t>>2];id(b,t);w=r}else{if(m&v|0){q=0;break a}if((a[t+4>>0]|0)==8)jd(b,t);a[u>>0]=f&v|p;w=t}t=c[w>>2]|0;if(!t){q=0;break}else r=w}}while(0);if((q|0)!=(k|0))break;j=c[g>>2]|0}c[o>>2]=q}q=h+56|0;o=c[q>>2]|0;if((o|0)==(e|0))x=q;else{q=o;while(1){o=c[q>>2]|0;if((o|0)==(e|0))break;else q=o}x=q}c[x>>2]=c[e>>2];x=h+60|0;c[e>>2]=c[x>>2];c[x>>2]=e;e=a[i>>0]|16;a[i>>0]=e;x=e&255;if((d[h+49>>0]|0)<2)y=x&191;else y=x&184|a[h+48>>0]&3;a[i>>0]=y;return}function Yd(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;k=Ia;Ia=Ia+16|0;l=k;m=k+8|0;if(!h)n=0;else{o=c[e+16>>2]|0;do if((h|0)<=0){if((h|0)>=-1000999){p=(c[e+8>>2]|0)+(h<<3)|0;break}if((h|0)==-1001e3){p=(c[e+12>>2]|0)+36|0;break}q=-1001e3-h|0;r=c[o>>2]|0;if((c[r+4>>2]|32|0)==54)p=2336224;else{s=c[r>>2]|0;p=(q|0)>(d[s+6>>0]|0)?2336224:s+16+(q+-1<<3)|0}}else{q=(c[o>>2]|0)+(h<<3)|0;p=q>>>0<(c[e+8>>2]|0)>>>0?q:2336224}while(0);n=p-(c[e+28>>2]|0)|0}p=e+8|0;h=(c[p>>2]|0)+(~f<<3)|0;c[m>>2]=h;f=h;if((j|0)!=0?(b[e+36>>1]|0)==0:0){o=c[e+16>>2]|0;c[o+28>>2]=j;c[o+24>>2]=i;c[o+20>>2]=f-(c[e+28>>2]|0);a[o+36>>0]=a[e+41>>0]|0;i=e+68|0;j=o+32|0;c[j>>2]=c[i>>2];c[i>>2]=n;q=o+18|0;a[q>>0]=a[q>>0]|16;o=e+38|0;s=(b[o>>1]|0)+1<<16>>16;b[o>>1]=s;if((s&65535)>199){if(s<<16>>16==200)wc(e,47685,l);if((s&65535)>224)uc(e,6)}if(!(Ac(e,h,g)|0))Bc(e);b[o>>1]=(b[o>>1]|0)+-1<<16>>16;a[q>>0]=a[q>>0]&-17;c[i>>2]=c[j>>2];t=0}else{c[m+4>>2]=g;t=_d(e,3,m,f-(c[e+28>>2]|0)|0,n)|0}if((g|0)!=-1){Ia=k;return t|0}g=(c[e+16>>2]|0)+4|0;e=c[p>>2]|0;if((c[g>>2]|0)>>>0>=e>>>0){Ia=k;return t|0}c[g>>2]=e;Ia=k;return t|0}function Zd(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=Ia;Ia=Ia+16|0;f=e;g=c[d>>2]|0;h=c[d+4>>2]|0;d=a+38|0;i=(b[d>>1]|0)+1<<16>>16;b[d>>1]=i;if((i&65535)>199){if(i<<16>>16==200)wc(a,47685,f);if((i&65535)>224)uc(a,6)}i=a+36|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;if(!(Ac(a,g,h)|0))Bc(a);b[i>>1]=(b[i>>1]|0)+-1<<16>>16;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;Ia=e;return}function _d(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=d+16|0;j=c[i>>2]|0;k=d+41|0;l=a[k>>0]|0;m=d+36|0;n=b[m>>1]|0;o=d+68|0;p=c[o>>2]|0;c[o>>2]=h;h=tc(d,e,f)|0;if(!h){c[o>>2]=p;return h|0}f=d+28|0;e=(c[f>>2]|0)+g|0;Oc(d,e);switch(h|0){case 4:{g=c[(c[d+12>>2]|0)+152>>2]|0;c[e>>2]=g;q=(a[g+4>>0]|64)&255;break}case 6:{g=Zc(d,48345,23)|0;c[e>>2]=g;q=(a[g+4>>0]|64)&255;break}default:{g=c[d+8>>2]|0;c[e>>2]=c[g+-8>>2];q=c[g+-4>>2]|0}}c[e+4>>2]=q;q=e+8|0;c[d+8>>2]=q;c[i>>2]=j;a[k>>0]=l;b[m>>1]=n;if(!j)r=q;else{n=j;j=q;while(1){q=c[n+4>>2]|0;m=j>>>0>>0?q:j;n=c[n+8>>2]|0;if(!n){r=m;break}else j=m}}j=r-(c[f>>2]|0)|0;f=j>>3;r=f+11+((f+1|0)/8|0)|0;f=(r|0)<1e6?r:1e6;if((j|0)>7999992){c[o>>2]=p;return h|0}if((f|0)>=(c[d+32>>2]|0)){c[o>>2]=p;return h|0}vc(d,f);c[o>>2]=p;return h|0}function $d(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;i=Ia;Ia=Ia+32|0;j=i;c[j+16>>2]=b;c[j+8>>2]=e;c[j+12>>2]=f;c[j>>2]=0;c[j+4>>2]=0;f=ae(b,j,(g|0)==0?47918:g,h)|0;if(f|0){Ia=i;return f|0}h=c[(c[b+8>>2]|0)+-8>>2]|0;if((a[h+6>>0]|0)!=1){Ia=i;return f|0}g=b+12|0;b=c[(c[g>>2]|0)+36>>2]|0;a:do if((c[b+28>>2]|0)>>>0>1)k=(c[b+12>>2]|0)+8|0;else{j=(c[b+16>>2]|0)+((131072%((1<>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[j+12>>2]|0)==3?(c[j+8>>2]|0)==131072:0)break;e=c[j+16>>2]|0;if(!e){k=2336224;break a}else j=e}k=j}while(0);b=h+16|0;h=c[(c[b>>2]|0)+8>>2]|0;c[h>>2]=c[k>>2];e=k+4|0;c[h+4>>2]=c[e>>2];if(!(c[e>>2]&64)){Ia=i;return f|0}e=c[k>>2]|0;if(!(a[e+5>>0]&3)){Ia=i;return f|0}k=(c[b>>2]|0)+5|0;b=a[k>>0]|0;if(!(b&4)){Ia=i;return f|0}h=c[g>>2]|0;if((d[h+49>>0]|0)<2){Fc(h,e);Ia=i;return f|0}else{a[k>>0]=a[h+48>>0]&3|b&-72;Ia=i;return f|0}return 0}function ae(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=Ia;Ia=Ia+64|0;h=g;i=a+36|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;c[h>>2]=d;c[h+56>>2]=e;c[h+52>>2]=f;f=h+16|0;c[f>>2]=0;e=h+24|0;c[e>>2]=0;d=h+28|0;c[d>>2]=0;j=h+36|0;c[j>>2]=0;k=h+40|0;c[k>>2]=0;l=h+48|0;c[l>>2]=0;m=h+4|0;c[m>>2]=0;n=h+12|0;c[n>>2]=0;o=_d(a,4,h,(c[a+8>>2]|0)-(c[a+28>>2]|0)|0,c[a+68>>2]|0)|0;h=c[m>>2]|0;p=c[n>>2]|0;q=a+12|0;a=c[q>>2]|0;r=Pa[c[a>>2]&1](c[a+4>>2]|0,h,p,0)|0;s=a+12|0;c[s>>2]=(c[s>>2]|0)+((h|0)==0?0:0-p|0);c[m>>2]=r;c[n>>2]=0;n=c[f>>2]|0;f=c[e>>2]<<1;e=c[q>>2]|0;Pa[c[e>>2]&1](c[e+4>>2]|0,n,f,0)|0;r=e+12|0;c[r>>2]=(c[r>>2]|0)+((n|0)==0?0:0-f|0);f=c[d>>2]|0;d=c[j>>2]<<4;j=c[q>>2]|0;Pa[c[j>>2]&1](c[j+4>>2]|0,f,d,0)|0;n=j+12|0;c[n>>2]=(c[n>>2]|0)+((f|0)==0?0:0-d|0);d=c[k>>2]|0;k=c[l>>2]<<4;l=c[q>>2]|0;Pa[c[l>>2]&1](c[l+4>>2]|0,d,k,0)|0;q=l+12|0;c[q>>2]=(c[q>>2]|0)+((d|0)==0?0:0-k|0);b[i>>1]=(b[i>>1]|0)+-1<<16>>16;Ia=g;return o|0}function be(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=Ia;Ia=Ia+32|0;g=f+8|0;h=f;i=f+16|0;j=c[e>>2]|0;k=c[j>>2]|0;c[j>>2]=k+-1;if(!k){k=Oa[c[j+8>>2]&7](c[j+16>>2]|0,c[j+12>>2]|0,i)|0;l=c[i>>2]|0;if((k|0)==0|(l|0)==0)m=-1;else{c[j>>2]=l+-1;c[j+4>>2]=k+1;m=d[k>>0]|0}n=m}else{m=j+4|0;j=c[m>>2]|0;c[m>>2]=j+1;n=d[j>>0]|0}j=c[e+52>>2]|0;m=(j|0)==0;if((n|0)==27){if(!m?(Tt(j,98)|0)==0:0){c[h>>2]=48411;c[h+4>>2]=j;sd(b,48369,h)|0;uc(b,3)}o=ce(b,c[e>>2]|0,e+4|0,c[e+56>>2]|0)|0}else{if(!m?(Tt(j,116)|0)==0:0){c[g>>2]=48418;c[g+4>>2]=j;sd(b,48369,g)|0;uc(b,3)}o=de(b,c[e>>2]|0,e+4|0,e+16|0,c[e+56>>2]|0,n)|0}n=o+6|0;if(!(a[n>>0]|0)){Ia=f;return}e=b+12|0;g=o+16|0;j=o+5|0;o=0;while(1){m=c[e>>2]|0;h=m+4|0;k=Pa[c[m>>2]&1](c[h>>2]|0,0,10,20)|0;if(!k){if(!(a[m+51>>0]|0)){p=20;break}Gc(b,1);l=Pa[c[m>>2]&1](c[h>>2]|0,0,10,20)|0;if(!l){p=20;break}else q=l}else q=k;k=m+12|0;c[k>>2]=(c[k>>2]|0)+20;k=m+56|0;l=q+5|0;a[l>>0]=a[m+48>>0]&3;a[q+4>>0]=10;c[q>>2]=c[k>>2];c[k>>2]=q;c[q+8>>2]=q+12;c[q+16>>2]=0;c[g+(o<<2)>>2]=q;do if(a[l>>0]&3?(k=a[j>>0]|0,k&4):0){m=c[e>>2]|0;if((d[m+49>>0]|0)<2){Fc(m,q);break}else{a[j>>0]=a[m+48>>0]&3|k&-72;break}}while(0);o=o+1|0;if(o>>>0>=(d[n>>0]|0)>>>0){p=27;break}}if((p|0)==20)uc(b,4);else if((p|0)==27){Ia=f;return}}function ce(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;h=Ia;Ia=Ia+96|0;i=h+56|0;j=h+80|0;k=h+32|0;l=h;m=h+64|0;switch(a[g>>0]|0){case 61:case 64:{n=g+1|0;break}case 27:{n=49513;break}default:n=g}c[m+12>>2]=n;c[m>>2]=d;c[m+4>>2]=e;c[m+8>>2]=f;c[k>>2]=1635077147;a[k+4>>0]=82;a[k+5>>0]=0;f=k+7|0;a[k+6>>0]=1;n=k+12|0;a[f>>0]=4;a[f+1>>0]=4;a[f+2>>0]=4;a[f+3>>0]=4;a[k+11>>0]=1;c[n>>2]=c[9016];b[n+4>>1]=b[18034]|0;a[l>>0]=27;n=e+16|0;f=e+8|0;g=e+12|0;o=e+4|0;p=17;q=l+1|0;r=c[e>>2]|0;while(1){if(!r){s=Oa[c[f>>2]&7](c[n>>2]|0,c[g>>2]|0,j)|0;t=c[j>>2]|0;if((s|0)==0|(t|0)==0){u=10;break}c[e>>2]=t;c[o>>2]=s;v=t;w=s}else{v=r;w=c[o>>2]|0}s=p>>>0>v>>>0?v:p;zv(q|0,w|0,s|0)|0;r=(c[e>>2]|0)-s|0;c[e>>2]=r;c[o>>2]=(c[o>>2]|0)+s;p=p-s|0;if(!p)break;else q=q+s|0}if((u|0)==10)gf(m,49527);if(Us(k,l,18)|0){if((c[k>>2]|0)!=(c[l>>2]|0))gf(m,49537);if(Us(k,l,6)|0)gf(m,49543);if(!(Us(k,l,12)|0))gf(m,49576);else gf(m,49563)}l=d+12|0;k=c[l>>2]|0;u=k+4|0;q=Pa[c[k>>2]&1](c[u>>2]|0,0,6,20)|0;if(!q){if(!(a[k+51>>0]|0))uc(d,4);Gc(d,1);p=Pa[c[k>>2]&1](c[u>>2]|0,0,6,20)|0;if(!p)uc(d,4);else x=p}else x=q;q=k+12|0;c[q>>2]=(c[q>>2]|0)+20;q=k+56|0;a[x+5>>0]=a[k+48>>0]&3;a[x+4>>0]=6;c[x>>2]=c[q>>2];c[q>>2]=x;q=x+12|0;c[q>>2]=0;a[x+6>>0]=1;c[x+16>>2]=0;k=d+8|0;p=c[k>>2]|0;c[p>>2]=x;c[p+4>>2]=70;p=(c[k>>2]|0)+8|0;c[k>>2]=p;u=p;do if(((c[d+24>>2]|0)-u|0)<8){p=c[d+32>>2]|0;if((p|0)>1e6)uc(d,6);o=(u-(c[d+28>>2]|0)>>3)+5|0;r=p<<1;p=(r|0)<1e6?r:1e6;r=(p|0)<(o|0)?o:p;if((r|0)>1e6){vc(d,1000200);wc(d,47670,i)}else{vc(d,r);break}}while(0);i=c[l>>2]|0;l=i+4|0;u=Pa[c[i>>2]&1](c[l>>2]|0,0,9,80)|0;if(!u){if(!(a[i+51>>0]|0))uc(d,4);Gc(d,1);r=Pa[c[i>>2]&1](c[l>>2]|0,0,9,80)|0;if(!r)uc(d,4);else y=r}else y=u;u=i+12|0;c[u>>2]=(c[u>>2]|0)+80;u=i+56|0;a[y+5>>0]=a[i+48>>0]&3;a[y+4>>0]=9;c[y>>2]=c[u>>2];c[u>>2]=y;a[y+76>>0]=0;a[y+77>>0]=0;a[y+78>>0]=0;u=y+8|0;i=u+64|0;do{c[u>>2]=0;u=u+4|0}while((u|0)<(i|0));c[q>>2]=y;hf(m,y);y=c[q>>2]|0;q=c[y+40>>2]|0;if((q|0)==1){z=x;Ia=h;return z|0}x=Uc(d,q)|0;c[x+12>>2]=y;y=c[k>>2]|0;c[y+-8>>2]=x;c[y+-4>>2]=70;z=x;Ia=h;return z|0}function de(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;j=Ia;Ia=Ia+160|0;k=j+8|0;l=j;m=j+144|0;n=j+128|0;o=j+64|0;p=j+12|0;q=d+12|0;r=c[q>>2]|0;s=r+4|0;t=Pa[c[r>>2]&1](c[s>>2]|0,0,6,20)|0;if(!t){if(!(a[r+51>>0]|0))uc(d,4);Gc(d,1);u=Pa[c[r>>2]&1](c[s>>2]|0,0,6,20)|0;if(!u)uc(d,4);else v=u}else v=t;t=r+12|0;c[t>>2]=(c[t>>2]|0)+20;t=r+56|0;a[v+5>>0]=a[r+48>>0]&3;a[v+4>>0]=6;c[v>>2]=c[t>>2];c[t>>2]=v;t=v+12|0;c[t>>2]=0;a[v+6>>0]=1;c[v+16>>2]=0;r=d+8|0;u=c[r>>2]|0;c[u>>2]=v;c[u+4>>2]=70;u=(c[r>>2]|0)+8|0;c[r>>2]=u;r=u;do if(((c[d+24>>2]|0)-r|0)<8){u=c[d+32>>2]|0;if((u|0)>1e6)uc(d,6);s=(r-(c[d+28>>2]|0)>>3)+5|0;w=u<<1;u=(w|0)<1e6?w:1e6;w=(u|0)<(s|0)?s:u;if((w|0)>1e6){vc(d,1000200);wc(d,47670,l)}else{vc(d,w);break}}while(0);l=c[q>>2]|0;q=l+4|0;r=Pa[c[l>>2]&1](c[q>>2]|0,0,9,80)|0;if(!r){if(!(a[l+51>>0]|0))uc(d,4);Gc(d,1);w=Pa[c[l>>2]&1](c[q>>2]|0,0,9,80)|0;if(!w)uc(d,4);else x=w}else x=r;r=l+12|0;c[r>>2]=(c[r>>2]|0)+80;r=l+56|0;a[x+5>>0]=a[l+48>>0]&3;a[x+4>>0]=9;c[x>>2]=c[r>>2];c[r>>2]=x;a[x+76>>0]=0;a[x+77>>0]=0;a[x+78>>0]=0;r=x+8|0;l=r+64|0;do{c[r>>2]=0;r=r+4|0}while((r|0)<(l|0));c[t>>2]=x;c[p>>2]=x;t=td(d,h,Ht(h)|0)|0;c[x+36>>2]=t;h=o+40|0;c[h>>2]=f;f=o+44|0;c[f>>2]=g;c[g+28>>2]=0;c[g+16>>2]=0;c[g+4>>2]=0;a[o+56>>0]=46;g=o+32|0;c[g>>2]=d;c[o>>2]=i;c[o+20>>2]=286;c[o+36>>2]=e;e=o+28|0;c[e>>2]=0;i=o+4|0;c[i>>2]=1;r=o+8|0;c[r>>2]=1;l=o+48|0;c[l>>2]=t;t=Zc(d,47988,4)|0;d=o+52|0;c[d>>2]=t;w=t+5|0;a[w>>0]=a[w>>0]|32;w=c[g>>2]|0;g=c[h>>2]|0;h=c[g>>2]|0;t=g+8|0;q=c[t>>2]|0;u=w+12|0;s=c[u>>2]|0;y=(h|0)==0;z=s+4|0;A=Pa[c[s>>2]&1](c[z>>2]|0,h,q,32)|0;if(!A){if(!(a[s+51>>0]|0))uc(w,4);Gc(w,1);B=Pa[c[s>>2]&1](c[z>>2]|0,h,q,32)|0;if(!B)uc(w,4);else C=B}else C=A;A=s+12|0;c[A>>2]=(c[A>>2]|0)+(y?32:32-q|0);c[g>>2]=C;c[t>>2]=32;c[p+8>>2]=c[e>>2];t=p+12|0;c[t>>2]=o;c[e>>2]=p;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=-1;c[p+32>>2]=0;c[p+36>>2]=0;e=p+44|0;c[e>>2]=0;a[e+4>>0]=0;c[p+40>>2]=c[(c[f>>2]|0)+4>>2];f=p+16|0;c[f>>2]=0;c[x+36>>2]=c[l>>2];a[x+78>>0]=2;x=c[u>>2]|0;u=x+4|0;l=Pa[c[x>>2]&1](c[u>>2]|0,0,5,32)|0;if(!l){if(!(a[x+51>>0]|0))uc(w,4);Gc(w,1);e=Pa[c[x>>2]&1](c[u>>2]|0,0,5,32)|0;if(!e)uc(w,4);else D=e}else D=l;l=x+12|0;c[l>>2]=(c[l>>2]|0)+32;l=x+56|0;a[D+5>>0]=a[x+48>>0]&3;a[D+4>>0]=5;c[D>>2]=c[l>>2];c[l>>2]=D;c[D+8>>2]=0;a[D+6>>0]=-1;c[D+12>>2]=0;c[D+28>>2]=0;c[D+16>>2]=2336252;a[D+7>>0]=0;c[D+20>>2]=2336252;c[p+4>>2]=D;l=w+8|0;x=c[l>>2]|0;c[x>>2]=D;c[x+4>>2]=69;x=(c[l>>2]|0)+8|0;c[l>>2]=x;l=x;do if(((c[w+24>>2]|0)-l|0)<8){x=c[w+32>>2]|0;if((x|0)>1e6)uc(w,6);D=(l-(c[w+28>>2]|0)>>3)+5|0;e=x<<1;x=(e|0)<1e6?e:1e6;e=(x|0)<(D|0)?D:x;if((e|0)>1e6){vc(w,1000200);wc(w,47670,k)}else{vc(w,e);break}}while(0);a[m+10>>0]=0;a[m+8>>0]=a[p+46>>0]|0;w=c[(c[t>>2]|0)+44>>2]|0;b[m+4>>1]=c[w+28>>2];b[m+6>>1]=c[w+16>>2];a[m+9>>0]=0;c[m>>2]=c[f>>2];c[f>>2]=m;a[(c[p>>2]|0)+77>>0]=1;c[n+8>>2]=-1;c[n+12>>2]=-1;c[n>>2]=7;c[n+4>>2]=0;ee(p,c[d>>2]|0,n)|0;c[r>>2]=c[i>>2];i=o+20|0;if((c[i>>2]|0)==286){r=fe(o,o+16|0)|0;n=o+12|0;c[n>>2]=r;E=r;F=n}else{n=i;r=c[n>>2]|0;d=c[n+4>>2]|0;n=o+12|0;c[n>>2]=r;c[n+4>>2]=d;c[i>>2]=286;E=r;F=o+12|0}r=E;a:while(1){switch(r|0){case 277:case 286:case 262:case 261:case 260:{G=r;break a;break}default:{}}ge(o);E=c[F>>2]|0;if((r|0)==274){G=E;break}else r=E}if((G|0)==286){ie(o);Ia=j;return v|0}else he(o,286);return 0}function ee(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[b>>2]|0;h=g+40|0;i=c[h>>2]|0;j=b+47|0;k=a[j>>0]|0;if(k<<24>>24==-1)xe(b,255,49504);if((i|0)>(k&255|0))l=i;else{k=g+28|0;c[k>>2]=ne(c[(c[b+12>>2]|0)+32>>2]|0,c[k>>2]|0,h,8,255,49504)|0;l=c[h>>2]|0}h=c[g+28>>2]|0;if((i|0)<(l|0)){k=i;do{c[h+(k<<3)>>2]=0;k=k+1|0}while((k|0)<(l|0))}l=d[j>>0]|0;a[h+(l<<3)+4>>0]=(c[f>>2]|0)==7&1;a[h+(l<<3)+5>>0]=c[f+4>>2];c[h+(l<<3)>>2]=e;if(!(a[e+5>>0]&3)){m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}l=g+5|0;g=a[l>>0]|0;if(!(g&4)){m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}h=c[(c[(c[b+12>>2]|0)+32>>2]|0)+12>>2]|0;if((d[h+49>>0]|0)<2){Fc(h,e);m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}else{a[l>>0]=a[h+48>>0]&3|g&-72;m=a[j>>0]|0;n=m+1<<24>>24;a[j>>0]=n;o=m&255;return o|0}return 0}function fe(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Ic=0;f=Ia;Ia=Ia+16|0;g=f+12|0;h=f;i=b+40|0;c[(c[i>>2]|0)+4>>2]=0;j=b+36|0;a:while(1){k=c[b>>2]|0;b:do switch(k|0){case 91:{l=34;break a;break}case 61:{l=38;break a;break}case 94:{l=50;break a;break}case 64:{l=62;break a;break}case 60:{l=68;break a;break}case 62:{l=92;break a;break}case 126:{l=122;break a;break}case 58:{l=134;break a;break}case 39:case 34:{l=146;break a;break}case 46:{l=293;break a;break}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{m=k;break a;break}case -1:{n=286;l=497;break a;break}case 13:case 10:{af(b);break}case 11:case 9:case 12:case 32:{o=c[j>>2]|0;p=c[o>>2]|0;c[o>>2]=p+-1;if(!p){p=Oa[c[o+8>>2]&7](c[o+16>>2]|0,c[o+12>>2]|0,g)|0;q=c[g>>2]|0;if((p|0)==0|(q|0)==0)r=-1;else{c[o>>2]=q+-1;c[o+4>>2]=p+1;r=d[p>>0]|0}s=r}else{p=o+4|0;o=c[p>>2]|0;c[p>>2]=o+1;s=d[o>>0]|0}c[b>>2]=s;break}case 45:{o=c[j>>2]|0;p=c[o>>2]|0;c[o>>2]=p+-1;if(!p){p=Oa[c[o+8>>2]&7](c[o+16>>2]|0,c[o+12>>2]|0,g)|0;q=c[g>>2]|0;if((p|0)==0|(q|0)==0)t=-1;else{c[o>>2]=q+-1;c[o+4>>2]=p+1;t=d[p>>0]|0}u=t}else{p=o+4|0;o=c[p>>2]|0;c[p>>2]=o+1;u=d[o>>0]|0}c[b>>2]=u;if((u|0)!=45){n=45;l=497;break a}o=c[j>>2]|0;p=c[o>>2]|0;c[o>>2]=p+-1;if(!p){p=Oa[c[o+8>>2]&7](c[o+16>>2]|0,c[o+12>>2]|0,g)|0;q=c[g>>2]|0;if((p|0)==0|(q|0)==0)v=-1;else{c[o>>2]=q+-1;c[o+4>>2]=p+1;v=d[p>>0]|0}w=v}else{p=o+4|0;o=c[p>>2]|0;c[p>>2]=o+1;w=d[o>>0]|0}c[b>>2]=w;do if((w|0)==91){o=bf(b)|0;c[(c[i>>2]|0)+4>>2]=0;if((o|0)>-1){cf(b,0,o);c[(c[i>>2]|0)+4>>2]=0;break b}else{x=c[b>>2]|0;break}}else x=w;while(0);o=x;while(1){switch(o|0){case -1:case 13:case 10:{break b;break}default:{}}p=c[j>>2]|0;q=c[p>>2]|0;c[p>>2]=q+-1;if(!q){q=Oa[c[p+8>>2]&7](c[p+16>>2]|0,c[p+12>>2]|0,g)|0;y=c[g>>2]|0;if((q|0)==0|(y|0)==0)z=-1;else{c[p>>2]=y+-1;c[p+4>>2]=q+1;z=d[q>>0]|0}A=z}else{q=p+4|0;p=c[q>>2]|0;c[q>>2]=p+1;A=d[p>>0]|0}c[b>>2]=A;o=A}break}default:{l=469;break a}}while(0)}switch(l|0){case 34:{A=bf(b)|0;if((A|0)>-1){cf(b,e,A);n=289;Ia=f;return n|0}if((A|0)==-1){n=91;Ia=f;return n|0}else ve(b,49279,289);break}case 38:{A=c[j>>2]|0;z=c[A>>2]|0;c[A>>2]=z+-1;if(!z){z=Oa[c[A+8>>2]&7](c[A+16>>2]|0,c[A+12>>2]|0,g)|0;x=c[g>>2]|0;if((z|0)==0|(x|0)==0)B=-1;else{c[A>>2]=x+-1;c[A+4>>2]=z+1;B=d[z>>0]|0}C=B}else{B=A+4|0;A=c[B>>2]|0;c[B>>2]=A+1;C=d[A>>0]|0}c[b>>2]=C;if((C|0)!=61){n=61;Ia=f;return n|0}C=c[j>>2]|0;A=c[C>>2]|0;c[C>>2]=A+-1;if(!A){A=Oa[c[C+8>>2]&7](c[C+16>>2]|0,c[C+12>>2]|0,g)|0;B=c[g>>2]|0;if((A|0)==0|(B|0)==0)D=-1;else{c[C>>2]=B+-1;c[C+4>>2]=A+1;D=d[A>>0]|0}E=D}else{D=C+4|0;C=c[D>>2]|0;c[D>>2]=C+1;E=d[C>>0]|0}c[b>>2]=E;n=281;Ia=f;return n|0}case 50:{E=c[j>>2]|0;C=c[E>>2]|0;c[E>>2]=C+-1;if(!C){C=Oa[c[E+8>>2]&7](c[E+16>>2]|0,c[E+12>>2]|0,g)|0;D=c[g>>2]|0;if((C|0)==0|(D|0)==0)F=-1;else{c[E>>2]=D+-1;c[E+4>>2]=C+1;F=d[C>>0]|0}G=F}else{F=E+4|0;E=c[F>>2]|0;c[F>>2]=E+1;G=d[E>>0]|0}c[b>>2]=G;if((G|0)!=94){n=94;Ia=f;return n|0}G=c[j>>2]|0;E=c[G>>2]|0;c[G>>2]=E+-1;if(!E){E=Oa[c[G+8>>2]&7](c[G+16>>2]|0,c[G+12>>2]|0,g)|0;F=c[g>>2]|0;if((E|0)==0|(F|0)==0)H=-1;else{c[G>>2]=F+-1;c[G+4>>2]=E+1;H=d[E>>0]|0}I=H}else{H=G+4|0;G=c[H>>2]|0;c[H>>2]=G+1;I=d[G>>0]|0}c[b>>2]=I;n=295;Ia=f;return n|0}case 62:{I=c[j>>2]|0;G=c[I>>2]|0;c[I>>2]=G+-1;if(!G){G=Oa[c[I+8>>2]&7](c[I+16>>2]|0,c[I+12>>2]|0,g)|0;H=c[g>>2]|0;if((G|0)==0|(H|0)==0)J=-1;else{c[I>>2]=H+-1;c[I+4>>2]=G+1;J=d[G>>0]|0}K=J}else{J=I+4|0;I=c[J>>2]|0;c[J>>2]=I+1;K=d[I>>0]|0}c[b>>2]=K;n=64;Ia=f;return n|0}case 68:{K=c[j>>2]|0;I=c[K>>2]|0;c[K>>2]=I+-1;if(!I){I=Oa[c[K+8>>2]&7](c[K+16>>2]|0,c[K+12>>2]|0,g)|0;J=c[g>>2]|0;if((I|0)==0|(J|0)==0)L=-1;else{c[K>>2]=J+-1;c[K+4>>2]=I+1;L=d[I>>0]|0}M=L}else{L=K+4|0;K=c[L>>2]|0;c[L>>2]=K+1;M=d[K>>0]|0}c[b>>2]=M;switch(M|0){case 61:{M=c[j>>2]|0;K=c[M>>2]|0;c[M>>2]=K+-1;if(!K){K=Oa[c[M+8>>2]&7](c[M+16>>2]|0,c[M+12>>2]|0,g)|0;L=c[g>>2]|0;if((K|0)==0|(L|0)==0)N=-1;else{c[M>>2]=L+-1;c[M+4>>2]=K+1;N=d[K>>0]|0}O=N}else{N=M+4|0;M=c[N>>2]|0;c[N>>2]=M+1;O=d[M>>0]|0}c[b>>2]=O;n=283;Ia=f;return n|0}case 60:{O=c[j>>2]|0;M=c[O>>2]|0;c[O>>2]=M+-1;if(!M){M=Oa[c[O+8>>2]&7](c[O+16>>2]|0,c[O+12>>2]|0,g)|0;N=c[g>>2]|0;if((M|0)==0|(N|0)==0)P=-1;else{c[O>>2]=N+-1;c[O+4>>2]=M+1;P=d[M>>0]|0}Q=P}else{P=O+4|0;O=c[P>>2]|0;c[P>>2]=O+1;Q=d[O>>0]|0}c[b>>2]=Q;if((Q|0)!=62){n=290;Ia=f;return n|0}Q=c[j>>2]|0;O=c[Q>>2]|0;c[Q>>2]=O+-1;if(!O){O=Oa[c[Q+8>>2]&7](c[Q+16>>2]|0,c[Q+12>>2]|0,g)|0;P=c[g>>2]|0;if((O|0)==0|(P|0)==0)R=-1;else{c[Q>>2]=P+-1;c[Q+4>>2]=O+1;R=d[O>>0]|0}S=R}else{R=Q+4|0;Q=c[R>>2]|0;c[R>>2]=Q+1;S=d[Q>>0]|0}c[b>>2]=S;n=293;Ia=f;return n|0}default:{n=60;Ia=f;return n|0}}break}case 92:{S=c[j>>2]|0;Q=c[S>>2]|0;c[S>>2]=Q+-1;if(!Q){Q=Oa[c[S+8>>2]&7](c[S+16>>2]|0,c[S+12>>2]|0,g)|0;R=c[g>>2]|0;if((Q|0)==0|(R|0)==0)T=-1;else{c[S>>2]=R+-1;c[S+4>>2]=Q+1;T=d[Q>>0]|0}U=T}else{T=S+4|0;S=c[T>>2]|0;c[T>>2]=S+1;U=d[S>>0]|0}c[b>>2]=U;switch(U|0){case 61:{U=c[j>>2]|0;S=c[U>>2]|0;c[U>>2]=S+-1;if(!S){S=Oa[c[U+8>>2]&7](c[U+16>>2]|0,c[U+12>>2]|0,g)|0;T=c[g>>2]|0;if((S|0)==0|(T|0)==0)V=-1;else{c[U>>2]=T+-1;c[U+4>>2]=S+1;V=d[S>>0]|0}W=V}else{V=U+4|0;U=c[V>>2]|0;c[V>>2]=U+1;W=d[U>>0]|0}c[b>>2]=W;n=282;Ia=f;return n|0}case 62:{W=c[j>>2]|0;U=c[W>>2]|0;c[W>>2]=U+-1;if(!U){U=Oa[c[W+8>>2]&7](c[W+16>>2]|0,c[W+12>>2]|0,g)|0;V=c[g>>2]|0;if((U|0)==0|(V|0)==0)X=-1;else{c[W>>2]=V+-1;c[W+4>>2]=U+1;X=d[U>>0]|0}Y=X}else{X=W+4|0;W=c[X>>2]|0;c[X>>2]=W+1;Y=d[W>>0]|0}c[b>>2]=Y;switch(Y|0){case 62:{Y=c[j>>2]|0;W=c[Y>>2]|0;c[Y>>2]=W+-1;if(!W){W=Oa[c[Y+8>>2]&7](c[Y+16>>2]|0,c[Y+12>>2]|0,g)|0;X=c[g>>2]|0;if((W|0)==0|(X|0)==0)Z=-1;else{c[Y>>2]=X+-1;c[Y+4>>2]=W+1;Z=d[W>>0]|0}_=Z}else{Z=Y+4|0;Y=c[Z>>2]|0;c[Z>>2]=Y+1;_=d[Y>>0]|0}c[b>>2]=_;n=292;Ia=f;return n|0}case 60:{_=c[j>>2]|0;Y=c[_>>2]|0;c[_>>2]=Y+-1;if(!Y){Y=Oa[c[_+8>>2]&7](c[_+16>>2]|0,c[_+12>>2]|0,g)|0;Z=c[g>>2]|0;if((Y|0)==0|(Z|0)==0)$=-1;else{c[_>>2]=Z+-1;c[_+4>>2]=Y+1;$=d[Y>>0]|0}aa=$}else{$=_+4|0;_=c[$>>2]|0;c[$>>2]=_+1;aa=d[_>>0]|0}c[b>>2]=aa;n=294;Ia=f;return n|0}default:{n=291;Ia=f;return n|0}}break}default:{n=62;Ia=f;return n|0}}break}case 122:{aa=c[j>>2]|0;_=c[aa>>2]|0;c[aa>>2]=_+-1;if(!_){_=Oa[c[aa+8>>2]&7](c[aa+16>>2]|0,c[aa+12>>2]|0,g)|0;$=c[g>>2]|0;if((_|0)==0|($|0)==0)ba=-1;else{c[aa>>2]=$+-1;c[aa+4>>2]=_+1;ba=d[_>>0]|0}ca=ba}else{ba=aa+4|0;aa=c[ba>>2]|0;c[ba>>2]=aa+1;ca=d[aa>>0]|0}c[b>>2]=ca;if((ca|0)!=61){n=126;Ia=f;return n|0}ca=c[j>>2]|0;aa=c[ca>>2]|0;c[ca>>2]=aa+-1;if(!aa){aa=Oa[c[ca+8>>2]&7](c[ca+16>>2]|0,c[ca+12>>2]|0,g)|0;ba=c[g>>2]|0;if((aa|0)==0|(ba|0)==0)da=-1;else{c[ca>>2]=ba+-1;c[ca+4>>2]=aa+1;da=d[aa>>0]|0}ea=da}else{da=ca+4|0;ca=c[da>>2]|0;c[da>>2]=ca+1;ea=d[ca>>0]|0}c[b>>2]=ea;n=284;Ia=f;return n|0}case 134:{ea=c[j>>2]|0;ca=c[ea>>2]|0;c[ea>>2]=ca+-1;if(!ca){ca=Oa[c[ea+8>>2]&7](c[ea+16>>2]|0,c[ea+12>>2]|0,g)|0;da=c[g>>2]|0;if((ca|0)==0|(da|0)==0)fa=-1;else{c[ea>>2]=da+-1;c[ea+4>>2]=ca+1;fa=d[ca>>0]|0}ga=fa}else{fa=ea+4|0;ea=c[fa>>2]|0;c[fa>>2]=ea+1;ga=d[ea>>0]|0}c[b>>2]=ga;if((ga|0)!=58){n=58;Ia=f;return n|0}ga=c[j>>2]|0;ea=c[ga>>2]|0;c[ga>>2]=ea+-1;if(!ea){ea=Oa[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;fa=c[g>>2]|0;if((ea|0)==0|(fa|0)==0)ha=-1;else{c[ga>>2]=fa+-1;c[ga+4>>2]=ea+1;ha=d[ea>>0]|0}ia=ha}else{ha=ga+4|0;ga=c[ha>>2]|0;c[ha>>2]=ga+1;ia=d[ga>>0]|0}c[b>>2]=ia;n=285;Ia=f;return n|0}case 146:{ia=c[i>>2]|0;ga=ia+4|0;ha=c[ga>>2]|0;ea=ha+1|0;fa=ia+8|0;ca=c[fa>>2]|0;if(ea>>>0>ca>>>0){if(ca>>>0>2147483645)ve(b,48651,0);da=ca<<1;aa=c[b+32>>2]|0;if((da|0)==-2)Hc(aa);ba=c[ia>>2]|0;_=c[aa+12>>2]|0;$=(ba|0)==0;Y=_+4|0;Z=Pa[c[_>>2]&1](c[Y>>2]|0,ba,ca,da)|0;if((da|0)!=0&(Z|0)==0){if(!(a[_+51>>0]|0))uc(aa,4);Gc(aa,1);W=Pa[c[_>>2]&1](c[Y>>2]|0,ba,ca,da)|0;if(!W)uc(aa,4);else ja=W}else ja=Z;Z=_+12|0;c[Z>>2]=($?0:0-ca|0)+da+(c[Z>>2]|0);c[ia>>2]=ja;c[fa>>2]=da;da=c[ga>>2]|0;ka=da+1|0;la=ja;ma=da}else{ka=ea;la=c[ia>>2]|0;ma=ha}ha=k&255;c[ga>>2]=ka;a[la+ma>>0]=ha;ma=c[j>>2]|0;la=c[ma>>2]|0;c[ma>>2]=la+-1;if(!la){la=Oa[c[ma+8>>2]&7](c[ma+16>>2]|0,c[ma+12>>2]|0,g)|0;ka=c[g>>2]|0;if((la|0)==0|(ka|0)==0)na=-1;else{c[ma>>2]=ka+-1;c[ma+4>>2]=la+1;na=d[la>>0]|0}oa=na}else{na=ma+4|0;ma=c[na>>2]|0;c[na>>2]=ma+1;oa=d[ma>>0]|0}c[b>>2]=oa;c:do if((oa|0)!=(k|0)){ma=b+32|0;na=h+4|0;la=h+8|0;ka=oa;d:while(1){e:do switch(ka|0){case -1:{l=165;break d;break}case 13:case 10:{l=166;break d;break}case 92:{ga=c[j>>2]|0;ia=c[ga>>2]|0;c[ga>>2]=ia+-1;if(!ia){ia=Oa[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;ea=c[g>>2]|0;if((ia|0)==0|(ea|0)==0)pa=-1;else{c[ga>>2]=ea+-1;c[ga+4>>2]=ia+1;pa=d[ia>>0]|0}qa=pa}else{ia=ga+4|0;ga=c[ia>>2]|0;c[ia>>2]=ga+1;qa=d[ga>>0]|0}c[b>>2]=qa;do switch(qa|0){case -1:{ra=qa;break e;break}case 97:{sa=7;l=240;break}case 98:{sa=8;l=240;break}case 102:{sa=12;l=240;break}case 110:{sa=10;l=240;break}case 114:{sa=13;l=240;break}case 116:{sa=9;l=240;break}case 118:{sa=11;l=240;break}case 42:{sa=1;l=240;break}case 35:{sa=2;l=240;break}case 45:{sa=3;l=240;break}case 124:{sa=4;l=240;break}case 43:{sa=5;l=240;break}case 94:{sa=6;l=240;break}case 120:{c[h>>2]=120;ga=c[j>>2]|0;ia=c[ga>>2]|0;c[ga>>2]=ia+-1;if(!ia){ia=Oa[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;ea=c[g>>2]|0;if((ia|0)==0|(ea|0)==0)ta=-1;else{c[ga>>2]=ea+-1;c[ga+4>>2]=ia+1;ta=d[ia>>0]|0}ua=ta}else{ia=ga+4|0;ga=c[ia>>2]|0;c[ia>>2]=ga+1;ua=d[ga>>0]|0}c[b>>2]=ua;c[na>>2]=ua;if(!(a[64+(ua+1)>>0]&16)){va=2;l=191;break d}ga=ua+-48|0;ia=ga>>>0<10?ga:(ua|32)+268435369|0;ga=c[j>>2]|0;ea=c[ga>>2]|0;c[ga>>2]=ea+-1;if(!ea){ea=Oa[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;da=c[g>>2]|0;if((ea|0)==0|(da|0)==0)wa=-1;else{c[ga>>2]=da+-1;c[ga+4>>2]=ea+1;wa=d[ea>>0]|0}xa=wa}else{ea=ga+4|0;ga=c[ea>>2]|0;c[ea>>2]=ga+1;xa=d[ga>>0]|0}c[b>>2]=xa;c[la>>2]=xa;if(!(a[64+(xa+1)>>0]&16)){va=3;l=191;break d}ga=xa+-48|0;sa=(ga>>>0<10?ga:(xa|32)+-87|0)+(ia<<4)|0;l=240;break}case 13:case 10:{af(b);ya=10;break}case 39:case 34:case 92:{sa=qa;l=240;break}case 122:{ia=c[j>>2]|0;ga=c[ia>>2]|0;c[ia>>2]=ga+-1;if(!ga){ga=Oa[c[ia+8>>2]&7](c[ia+16>>2]|0,c[ia+12>>2]|0,g)|0;ea=c[g>>2]|0;if((ga|0)==0|(ea|0)==0)za=-1;else{c[ia>>2]=ea+-1;c[ia+4>>2]=ga+1;za=d[ga>>0]|0}Aa=za}else{ga=ia+4|0;ia=c[ga>>2]|0;c[ga>>2]=ia+1;Aa=d[ia>>0]|0}c[b>>2]=Aa;if(!(a[64+(Aa+1)>>0]&8)){ra=Aa;break e}ia=Aa;while(1){switch(ia|0){case 13:case 10:{af(b);Ba=c[b>>2]|0;break}default:{ga=c[j>>2]|0;ea=c[ga>>2]|0;c[ga>>2]=ea+-1;if(!ea){ea=Oa[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;da=c[g>>2]|0;if((ea|0)==0|(da|0)==0)Ca=-1;else{c[ga>>2]=da+-1;c[ga+4>>2]=ea+1;Ca=d[ea>>0]|0}Da=Ca}else{ea=ga+4|0;ga=c[ea>>2]|0;c[ea>>2]=ga+1;Da=d[ga>>0]|0}c[b>>2]=Da;Ba=Da}}if(!(a[64+(Ba+1)>>0]&8)){ra=Ba;break e}else ia=Ba}break}default:{ia=qa+-48|0;if(ia>>>0>=10){l=218;break d}c[h>>2]=qa;ga=c[j>>2]|0;ea=c[ga>>2]|0;c[ga>>2]=ea+-1;if(!ea){ea=Oa[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;da=c[g>>2]|0;if((ea|0)==0|(da|0)==0)Ea=-1;else{c[ga>>2]=da+-1;c[ga+4>>2]=ea+1;Ea=d[ea>>0]|0}Fa=Ea}else{ea=ga+4|0;ga=c[ea>>2]|0;c[ea>>2]=ga+1;Fa=d[ga>>0]|0}c[b>>2]=Fa;ga=Fa+-48|0;if(ga>>>0<10){c[na>>2]=Fa;ea=ga+(ia*10|0)|0;ga=c[j>>2]|0;da=c[ga>>2]|0;c[ga>>2]=da+-1;if(!da){da=Oa[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;ja=c[g>>2]|0;if((da|0)==0|(ja|0)==0)Ga=-1;else{c[ga>>2]=ja+-1;c[ga+4>>2]=da+1;Ga=d[da>>0]|0}Ha=Ga}else{da=ga+4|0;ga=c[da>>2]|0;c[da>>2]=ga+1;Ha=d[ga>>0]|0}c[b>>2]=Ha;ga=Ha+-48|0;if(ga>>>0<10){c[la>>2]=Ha;da=ga+(ea*10|0)|0;ga=c[j>>2]|0;ja=c[ga>>2]|0;c[ga>>2]=ja+-1;if(!ja){ja=Oa[c[ga+8>>2]&7](c[ga+16>>2]|0,c[ga+12>>2]|0,g)|0;fa=c[g>>2]|0;if((ja|0)==0|(fa|0)==0)Ja=-1;else{c[ga>>2]=fa+-1;c[ga+4>>2]=ja+1;Ja=d[ja>>0]|0}Ka=Ja}else{ja=ga+4|0;ga=c[ja>>2]|0;c[ja>>2]=ga+1;Ka=d[ga>>0]|0}c[b>>2]=Ka;La=da;Ma=3}else{La=ea;Ma=2}if((La|0)>255){l=226;break d}else Na=La}else Na=ia;ya=Na}}while(0);if((l|0)==240){l=0;ia=c[j>>2]|0;ea=c[ia>>2]|0;c[ia>>2]=ea+-1;if(!ea){ea=Oa[c[ia+8>>2]&7](c[ia+16>>2]|0,c[ia+12>>2]|0,g)|0;da=c[g>>2]|0;if((ea|0)==0|(da|0)==0)Qa=-1;else{c[ia>>2]=da+-1;c[ia+4>>2]=ea+1;Qa=d[ea>>0]|0}Ra=Qa}else{ea=ia+4|0;ia=c[ea>>2]|0;c[ea>>2]=ia+1;Ra=d[ia>>0]|0}c[b>>2]=Ra;ya=sa}ia=c[i>>2]|0;ea=ia+4|0;da=c[ea>>2]|0;ga=da+1|0;ja=ia+8|0;fa=c[ja>>2]|0;if(ga>>>0>fa>>>0){if(fa>>>0>2147483645){l=249;break d}Z=fa<<1;Sa=c[ma>>2]|0;if((Z|0)==-2){l=251;break d}ca=c[ia>>2]|0;$=c[Sa+12>>2]|0;_=(ca|0)==0;W=$+4|0;aa=Pa[c[$>>2]&1](c[W>>2]|0,ca,fa,Z)|0;if((Z|0)!=0&(aa|0)==0){if(!(a[$+51>>0]|0)){l=255;break d}Gc(Sa,1);ba=Pa[c[$>>2]&1](c[W>>2]|0,ca,fa,Z)|0;if(!ba){l=255;break d}else Ta=ba}else Ta=aa;aa=$+12|0;c[aa>>2]=(_?0:0-fa|0)+Z+(c[aa>>2]|0);c[ia>>2]=Ta;c[ja>>2]=Z;Z=c[ea>>2]|0;Ua=Z+1|0;Va=Ta;Wa=Z}else{Ua=ga;Va=c[ia>>2]|0;Wa=da}c[ea>>2]=Ua;a[Va+Wa>>0]=ya;ra=c[b>>2]|0;break}default:{ea=c[i>>2]|0;da=ea+4|0;ia=c[da>>2]|0;ga=ia+1|0;Z=ea+8|0;ja=c[Z>>2]|0;if(ga>>>0>ja>>>0){if(ja>>>0>2147483645){l=261;break d}aa=ja<<1;Xa=c[ma>>2]|0;if((aa|0)==-2){l=263;break d}fa=c[ea>>2]|0;_=c[Xa+12>>2]|0;$=(fa|0)==0;ba=_+4|0;ca=Pa[c[_>>2]&1](c[ba>>2]|0,fa,ja,aa)|0;if((aa|0)!=0&(ca|0)==0){if(!(a[_+51>>0]|0)){l=267;break d}Gc(Xa,1);W=Pa[c[_>>2]&1](c[ba>>2]|0,fa,ja,aa)|0;if(!W){l=267;break d}else Ya=W}else Ya=ca;ca=_+12|0;c[ca>>2]=($?0:0-ja|0)+aa+(c[ca>>2]|0);c[ea>>2]=Ya;c[Z>>2]=aa;aa=c[da>>2]|0;Za=aa+1|0;_a=Ya;$a=aa}else{Za=ga;_a=c[ea>>2]|0;$a=ia}c[da>>2]=Za;a[_a+$a>>0]=ka;da=c[j>>2]|0;ia=c[da>>2]|0;c[da>>2]=ia+-1;if(!ia){ia=Oa[c[da+8>>2]&7](c[da+16>>2]|0,c[da+12>>2]|0,g)|0;ea=c[g>>2]|0;if((ia|0)==0|(ea|0)==0)ab=-1;else{c[da>>2]=ea+-1;c[da+4>>2]=ia+1;ab=d[ia>>0]|0}bb=ab}else{ia=da+4|0;da=c[ia>>2]|0;c[ia>>2]=da+1;bb=d[da>>0]|0}c[b>>2]=bb;ra=bb}}while(0);if((ra|0)==(k|0))break c;else ka=ra}switch(l|0){case 165:{ve(b,49309,286);break}case 166:{ve(b,49309,289);break}case 191:{df(b,h,va,49327);break}case 218:{df(b,b,1,49354);break}case 226:{df(b,h,Ma,49378);break}case 249:{ve(b,48651,0);break}case 251:{Hc(Sa);break}case 255:{uc(Sa,4);break}case 261:{ve(b,48651,0);break}case 263:{Hc(Xa);break}case 267:{uc(Xa,4);break}}}while(0);Xa=c[i>>2]|0;Sa=Xa+4|0;Ma=c[Sa>>2]|0;h=Ma+1|0;va=Xa+8|0;ra=c[va>>2]|0;if(h>>>0>ra>>>0){if(ra>>>0>2147483645)ve(b,48651,0);bb=ra<<1;ab=c[b+32>>2]|0;if((bb|0)==-2)Hc(ab);$a=c[Xa>>2]|0;_a=c[ab+12>>2]|0;Za=($a|0)==0;Ya=_a+4|0;ya=Pa[c[_a>>2]&1](c[Ya>>2]|0,$a,ra,bb)|0;if((bb|0)!=0&(ya|0)==0){if(!(a[_a+51>>0]|0))uc(ab,4);Gc(ab,1);Wa=Pa[c[_a>>2]&1](c[Ya>>2]|0,$a,ra,bb)|0;if(!Wa)uc(ab,4);else cb=Wa}else cb=ya;ya=_a+12|0;c[ya>>2]=(Za?0:0-ra|0)+bb+(c[ya>>2]|0);c[Xa>>2]=cb;c[va>>2]=bb;bb=c[Sa>>2]|0;db=bb+1|0;eb=cb;fb=bb}else{db=h;eb=c[Xa>>2]|0;fb=Ma}c[Sa>>2]=db;a[eb+fb>>0]=ha;ha=c[j>>2]|0;fb=c[ha>>2]|0;c[ha>>2]=fb+-1;if(!fb){fb=Oa[c[ha+8>>2]&7](c[ha+16>>2]|0,c[ha+12>>2]|0,g)|0;eb=c[g>>2]|0;if((fb|0)==0|(eb|0)==0)gb=-1;else{c[ha>>2]=eb+-1;c[ha+4>>2]=fb+1;gb=d[fb>>0]|0}hb=gb}else{gb=ha+4|0;ha=c[gb>>2]|0;c[gb>>2]=ha+1;hb=d[ha>>0]|0}c[b>>2]=hb;hb=c[i>>2]|0;c[e>>2]=le(b,(c[hb>>2]|0)+1|0,(c[hb+4>>2]|0)+-2|0)|0;n=289;Ia=f;return n|0}case 293:{hb=c[i>>2]|0;ha=hb+4|0;gb=c[ha>>2]|0;fb=gb+1|0;eb=hb+8|0;db=c[eb>>2]|0;if(fb>>>0>db>>>0){if(db>>>0>2147483645)ve(b,48651,0);Sa=db<<1;Ma=c[b+32>>2]|0;if((Sa|0)==-2)Hc(Ma);Xa=c[hb>>2]|0;h=c[Ma+12>>2]|0;bb=(Xa|0)==0;cb=h+4|0;va=Pa[c[h>>2]&1](c[cb>>2]|0,Xa,db,Sa)|0;if((Sa|0)!=0&(va|0)==0){if(!(a[h+51>>0]|0))uc(Ma,4);Gc(Ma,1);ya=Pa[c[h>>2]&1](c[cb>>2]|0,Xa,db,Sa)|0;if(!ya)uc(Ma,4);else ib=ya}else ib=va;va=h+12|0;c[va>>2]=(bb?0:0-db|0)+Sa+(c[va>>2]|0);c[hb>>2]=ib;c[eb>>2]=Sa;Sa=c[ha>>2]|0;jb=Sa+1|0;kb=ib;lb=Sa}else{jb=fb;kb=c[hb>>2]|0;lb=gb}c[ha>>2]=jb;a[kb+lb>>0]=46;lb=c[j>>2]|0;kb=c[lb>>2]|0;c[lb>>2]=kb+-1;if(!kb){kb=Oa[c[lb+8>>2]&7](c[lb+16>>2]|0,c[lb+12>>2]|0,g)|0;jb=c[g>>2]|0;if((kb|0)==0|(jb|0)==0)mb=-1;else{c[lb>>2]=jb+-1;c[lb+4>>2]=kb+1;mb=d[kb>>0]|0}nb=mb}else{mb=lb+4|0;lb=c[mb>>2]|0;c[mb>>2]=lb+1;nb=d[lb>>0]|0}c[b>>2]=nb;if(!nb){n=46;Ia=f;return n|0}if(!(jt(74667,nb,2)|0)){if((nb+-48|0)>>>0<10){m=nb;break}else n=46;Ia=f;return n|0}lb=c[i>>2]|0;mb=lb+4|0;kb=c[mb>>2]|0;jb=kb+1|0;ha=lb+8|0;gb=c[ha>>2]|0;if(jb>>>0>gb>>>0){if(gb>>>0>2147483645)ve(b,48651,0);hb=gb<<1;fb=c[b+32>>2]|0;if((hb|0)==-2)Hc(fb);Sa=c[lb>>2]|0;ib=c[fb+12>>2]|0;eb=(Sa|0)==0;va=ib+4|0;db=Pa[c[ib>>2]&1](c[va>>2]|0,Sa,gb,hb)|0;if((hb|0)!=0&(db|0)==0){if(!(a[ib+51>>0]|0))uc(fb,4);Gc(fb,1);bb=Pa[c[ib>>2]&1](c[va>>2]|0,Sa,gb,hb)|0;if(!bb)uc(fb,4);else ob=bb}else ob=db;db=ib+12|0;c[db>>2]=(eb?0:0-gb|0)+hb+(c[db>>2]|0);c[lb>>2]=ob;c[ha>>2]=hb;hb=c[mb>>2]|0;pb=hb+1|0;qb=ob;rb=hb}else{pb=jb;qb=c[lb>>2]|0;rb=kb}c[mb>>2]=pb;a[qb+rb>>0]=nb;nb=c[j>>2]|0;rb=c[nb>>2]|0;c[nb>>2]=rb+-1;if(!rb){rb=Oa[c[nb+8>>2]&7](c[nb+16>>2]|0,c[nb+12>>2]|0,g)|0;qb=c[g>>2]|0;if((rb|0)==0|(qb|0)==0)sb=-1;else{c[nb>>2]=qb+-1;c[nb+4>>2]=rb+1;sb=d[rb>>0]|0}tb=sb}else{sb=nb+4|0;nb=c[sb>>2]|0;c[sb>>2]=nb+1;tb=d[nb>>0]|0}c[b>>2]=tb;if(!tb){n=279;Ia=f;return n|0}if(!(jt(74667,tb,2)|0)){n=279;Ia=f;return n|0}nb=c[i>>2]|0;sb=nb+4|0;rb=c[sb>>2]|0;qb=rb+1|0;pb=nb+8|0;mb=c[pb>>2]|0;if(qb>>>0>mb>>>0){if(mb>>>0>2147483645)ve(b,48651,0);kb=mb<<1;lb=c[b+32>>2]|0;if((kb|0)==-2)Hc(lb);jb=c[nb>>2]|0;hb=c[lb+12>>2]|0;ob=(jb|0)==0;ha=hb+4|0;db=Pa[c[hb>>2]&1](c[ha>>2]|0,jb,mb,kb)|0;if((kb|0)!=0&(db|0)==0){if(!(a[hb+51>>0]|0))uc(lb,4);Gc(lb,1);gb=Pa[c[hb>>2]&1](c[ha>>2]|0,jb,mb,kb)|0;if(!gb)uc(lb,4);else ub=gb}else ub=db;db=hb+12|0;c[db>>2]=(ob?0:0-mb|0)+kb+(c[db>>2]|0);c[nb>>2]=ub;c[pb>>2]=kb;kb=c[sb>>2]|0;vb=kb+1|0;wb=ub;xb=kb}else{vb=qb;wb=c[nb>>2]|0;xb=rb}c[sb>>2]=vb;a[wb+xb>>0]=tb;tb=c[j>>2]|0;xb=c[tb>>2]|0;c[tb>>2]=xb+-1;if(!xb){xb=Oa[c[tb+8>>2]&7](c[tb+16>>2]|0,c[tb+12>>2]|0,g)|0;wb=c[g>>2]|0;if((xb|0)==0|(wb|0)==0)yb=-1;else{c[tb>>2]=wb+-1;c[tb+4>>2]=xb+1;yb=d[xb>>0]|0}zb=yb}else{yb=tb+4|0;tb=c[yb>>2]|0;c[yb>>2]=tb+1;zb=d[tb>>0]|0}c[b>>2]=zb;n=280;Ia=f;return n|0}case 469:{if(!((k&-128|0)==128|((k|0)==95|(dv(k)|0)!=0))?!((k|0)<0|(k&-2|0)==30):0){zb=c[j>>2]|0;tb=c[zb>>2]|0;c[zb>>2]=tb+-1;if(!tb){tb=Oa[c[zb+8>>2]&7](c[zb+16>>2]|0,c[zb+12>>2]|0,g)|0;yb=c[g>>2]|0;if((tb|0)==0|(yb|0)==0)Ab=-1;else{c[zb>>2]=yb+-1;c[zb+4>>2]=tb+1;Ab=d[tb>>0]|0}Bb=Ab}else{Ab=zb+4|0;zb=c[Ab>>2]|0;c[Ab>>2]=zb+1;Bb=d[zb>>0]|0}c[b>>2]=Bb;n=k;Ia=f;return n|0}Bb=b+32|0;zb=k;while(1){k=c[i>>2]|0;Ab=k+4|0;tb=c[Ab>>2]|0;yb=tb+1|0;xb=k+8|0;wb=c[xb>>2]|0;if(yb>>>0>wb>>>0){if(wb>>>0>2147483645){l=475;break}vb=wb<<1;Cb=c[Bb>>2]|0;if((vb|0)==-2){l=477;break}sb=c[k>>2]|0;rb=c[Cb+12>>2]|0;nb=(sb|0)==0;qb=rb+4|0;kb=Pa[c[rb>>2]&1](c[qb>>2]|0,sb,wb,vb)|0;if((vb|0)!=0&(kb|0)==0){if(!(a[rb+51>>0]|0)){l=481;break}Gc(Cb,1);ub=Pa[c[rb>>2]&1](c[qb>>2]|0,sb,wb,vb)|0;if(!ub){l=481;break}else Db=ub}else Db=kb;kb=rb+12|0;c[kb>>2]=(nb?0:0-wb|0)+vb+(c[kb>>2]|0);c[k>>2]=Db;c[xb>>2]=vb;vb=c[Ab>>2]|0;Eb=vb+1|0;Fb=Db;Gb=vb}else{Eb=yb;Fb=c[k>>2]|0;Gb=tb}c[Ab>>2]=Eb;a[Fb+Gb>>0]=zb;Ab=c[j>>2]|0;tb=c[Ab>>2]|0;c[Ab>>2]=tb+-1;if(!tb){tb=Oa[c[Ab+8>>2]&7](c[Ab+16>>2]|0,c[Ab+12>>2]|0,g)|0;k=c[g>>2]|0;if((tb|0)==0|(k|0)==0)Hb=-1;else{c[Ab>>2]=k+-1;c[Ab+4>>2]=tb+1;Hb=d[tb>>0]|0}Ib=Hb}else{tb=Ab+4|0;Ab=c[tb>>2]|0;c[tb>>2]=Ab+1;Ib=d[Ab>>0]|0}c[b>>2]=Ib;if(Ib>>>0>127|((cv(Ib)|0)!=0|(Ib|0)==95)|(Ib&-2|0)==30)zb=Ib;else{l=489;break}}if((l|0)==475)ve(b,48651,0);else if((l|0)==477)Hc(Cb);else if((l|0)==481)uc(Cb,4);else if((l|0)==489){Cb=c[i>>2]|0;Ib=le(b,c[Cb>>2]|0,c[Cb+4>>2]|0)|0;c[e>>2]=Ib;if((a[Ib+4>>0]|0)==4){Cb=a[Ib+6>>0]|0;Ia=f;return (Cb<<24>>24==0?288:Cb&255|256)|0}else{n=288;Ia=f;return n|0}}break}case 497:{Ia=f;return n|0}}Cb=c[i>>2]|0;Ib=Cb+4|0;zb=c[Ib>>2]|0;Hb=zb+1|0;Gb=Cb+8|0;Fb=c[Gb>>2]|0;if(Hb>>>0>Fb>>>0){if(Fb>>>0>2147483645)ve(b,48651,0);Eb=Fb<<1;Db=c[b+32>>2]|0;if((Eb|0)==-2)Hc(Db);Bb=c[Cb>>2]|0;Ab=c[Db+12>>2]|0;tb=(Bb|0)==0;k=Ab+4|0;yb=Pa[c[Ab>>2]&1](c[k>>2]|0,Bb,Fb,Eb)|0;if((Eb|0)!=0&(yb|0)==0){if(!(a[Ab+51>>0]|0))uc(Db,4);Gc(Db,1);vb=Pa[c[Ab>>2]&1](c[k>>2]|0,Bb,Fb,Eb)|0;if(!vb)uc(Db,4);else Jb=vb}else Jb=yb;yb=Ab+12|0;c[yb>>2]=(tb?0:0-Fb|0)+Eb+(c[yb>>2]|0);c[Cb>>2]=Jb;c[Gb>>2]=Eb;Eb=c[Ib>>2]|0;Kb=Eb+1|0;Lb=Jb;Mb=Eb}else{Kb=Hb;Lb=c[Cb>>2]|0;Mb=zb}c[Ib>>2]=Kb;a[Lb+Mb>>0]=m;Mb=c[j>>2]|0;Lb=c[Mb>>2]|0;c[Mb>>2]=Lb+-1;if(!Lb){Lb=Oa[c[Mb+8>>2]&7](c[Mb+16>>2]|0,c[Mb+12>>2]|0,g)|0;Kb=c[g>>2]|0;if((Lb|0)==0|(Kb|0)==0)Nb=-1;else{c[Mb>>2]=Kb+-1;c[Mb+4>>2]=Lb+1;Nb=d[Lb>>0]|0}Ob=Nb}else{Nb=Mb+4|0;Mb=c[Nb>>2]|0;c[Nb>>2]=Mb+1;Ob=d[Mb>>0]|0}c[b>>2]=Ob;if(!((m|0)!=48|(Ob|0)==0)?(jt(49403,Ob,3)|0)!=0:0){m=c[i>>2]|0;Mb=m+4|0;Nb=c[Mb>>2]|0;Lb=Nb+1|0;Kb=m+8|0;Ib=c[Kb>>2]|0;if(Lb>>>0>Ib>>>0){if(Ib>>>0>2147483645)ve(b,48651,0);zb=Ib<<1;Cb=c[b+32>>2]|0;if((zb|0)==-2)Hc(Cb);Hb=c[m>>2]|0;Eb=c[Cb+12>>2]|0;Jb=(Hb|0)==0;Gb=Eb+4|0;yb=Pa[c[Eb>>2]&1](c[Gb>>2]|0,Hb,Ib,zb)|0;if((zb|0)!=0&(yb|0)==0){if(!(a[Eb+51>>0]|0))uc(Cb,4);Gc(Cb,1);Fb=Pa[c[Eb>>2]&1](c[Gb>>2]|0,Hb,Ib,zb)|0;if(!Fb)uc(Cb,4);else Pb=Fb}else Pb=yb;yb=Eb+12|0;c[yb>>2]=(Jb?0:0-Ib|0)+zb+(c[yb>>2]|0);c[m>>2]=Pb;c[Kb>>2]=zb;zb=c[Mb>>2]|0;Qb=zb+1|0;Rb=Pb;Sb=zb}else{Qb=Lb;Rb=c[m>>2]|0;Sb=Nb}c[Mb>>2]=Qb;a[Rb+Sb>>0]=Ob;Sb=c[j>>2]|0;Rb=c[Sb>>2]|0;c[Sb>>2]=Rb+-1;if(!Rb){Rb=Oa[c[Sb+8>>2]&7](c[Sb+16>>2]|0,c[Sb+12>>2]|0,g)|0;Qb=c[g>>2]|0;if((Rb|0)==0|(Qb|0)==0)Tb=-1;else{c[Sb>>2]=Qb+-1;c[Sb+4>>2]=Rb+1;Tb=d[Rb>>0]|0}Ub=Tb}else{Tb=Sb+4|0;Sb=c[Tb>>2]|0;c[Tb>>2]=Sb+1;Ub=d[Sb>>0]|0}c[b>>2]=Ub;Vb=49409;Wb=Ub}else{Vb=49406;Wb=Ob}Ob=b+32|0;Ub=Wb;while(1){if(Ub)if(jt(Vb,Ub,3)|0){Wb=c[i>>2]|0;Sb=Wb+4|0;Tb=c[Sb>>2]|0;Rb=Tb+1|0;Qb=Wb+8|0;Mb=c[Qb>>2]|0;if(Rb>>>0>Mb>>>0){if(Mb>>>0>2147483645){l=388;break}Nb=Mb<<1;Xb=c[Ob>>2]|0;if((Nb|0)==-2){l=390;break}m=c[Wb>>2]|0;Lb=c[Xb+12>>2]|0;zb=(m|0)==0;Pb=Lb+4|0;Kb=Pa[c[Lb>>2]&1](c[Pb>>2]|0,m,Mb,Nb)|0;if((Nb|0)!=0&(Kb|0)==0){if(!(a[Lb+51>>0]|0)){l=394;break}Gc(Xb,1);yb=Pa[c[Lb>>2]&1](c[Pb>>2]|0,m,Mb,Nb)|0;if(!yb){l=394;break}else Yb=yb}else Yb=Kb;Kb=Lb+12|0;c[Kb>>2]=(zb?0:0-Mb|0)+Nb+(c[Kb>>2]|0);c[Wb>>2]=Yb;c[Qb>>2]=Nb;Nb=c[Sb>>2]|0;Zb=Nb+1|0;_b=Yb;$b=Nb}else{Zb=Rb;_b=c[Wb>>2]|0;$b=Tb}c[Sb>>2]=Zb;a[_b+$b>>0]=Ub;Sb=c[j>>2]|0;Tb=c[Sb>>2]|0;c[Sb>>2]=Tb+-1;if(!Tb){Tb=Oa[c[Sb+8>>2]&7](c[Sb+16>>2]|0,c[Sb+12>>2]|0,g)|0;Wb=c[g>>2]|0;if((Tb|0)==0|(Wb|0)==0)ac=-1;else{c[Sb>>2]=Wb+-1;c[Sb+4>>2]=Tb+1;ac=d[Tb>>0]|0}bc=ac}else{Tb=Sb+4|0;Sb=c[Tb>>2]|0;c[Tb>>2]=Sb+1;bc=d[Sb>>0]|0}c[b>>2]=bc;if(bc)if(!(jt(49412,bc,3)|0))cc=bc;else{Sb=c[i>>2]|0;Tb=Sb+4|0;Wb=c[Tb>>2]|0;Rb=Wb+1|0;Nb=Sb+8|0;Qb=c[Nb>>2]|0;if(Rb>>>0>Qb>>>0){if(Qb>>>0>2147483645){l=406;break}Kb=Qb<<1;dc=c[Ob>>2]|0;if((Kb|0)==-2){l=408;break}Mb=c[Sb>>2]|0;zb=c[dc+12>>2]|0;Lb=(Mb|0)==0;yb=zb+4|0;m=Pa[c[zb>>2]&1](c[yb>>2]|0,Mb,Qb,Kb)|0;if((Kb|0)!=0&(m|0)==0){if(!(a[zb+51>>0]|0)){l=412;break}Gc(dc,1);Pb=Pa[c[zb>>2]&1](c[yb>>2]|0,Mb,Qb,Kb)|0;if(!Pb){l=412;break}else ec=Pb}else ec=m;m=zb+12|0;c[m>>2]=(Lb?0:0-Qb|0)+Kb+(c[m>>2]|0);c[Sb>>2]=ec;c[Nb>>2]=Kb;Kb=c[Tb>>2]|0;fc=Kb+1|0;gc=ec;hc=Kb}else{fc=Rb;gc=c[Sb>>2]|0;hc=Wb}c[Tb>>2]=fc;a[gc+hc>>0]=bc;Tb=c[j>>2]|0;Wb=c[Tb>>2]|0;c[Tb>>2]=Wb+-1;if(!Wb){Wb=Oa[c[Tb+8>>2]&7](c[Tb+16>>2]|0,c[Tb+12>>2]|0,g)|0;Sb=c[g>>2]|0;if((Wb|0)==0|(Sb|0)==0)ic=-1;else{c[Tb>>2]=Sb+-1;c[Tb+4>>2]=Wb+1;ic=d[Wb>>0]|0}jc=ic}else{Wb=Tb+4|0;Tb=c[Wb>>2]|0;c[Wb>>2]=Tb+1;jc=d[Tb>>0]|0}c[b>>2]=jc;cc=jc}else cc=0}else cc=Ub;else cc=0;kc=c[i>>2]|0;lc=kc+4|0;mc=c[lc>>2]|0;nc=mc+1|0;oc=kc+8|0;pc=c[oc>>2]|0;qc=nc>>>0>pc>>>0;if(!((cc|0)==46?1:(a[64+(cc+1)>>0]&16)!=0)){l=438;break}if(qc){if(pc>>>0>2147483645){l=424;break}Tb=pc<<1;rc=c[Ob>>2]|0;if((Tb|0)==-2){l=426;break}Wb=c[kc>>2]|0;Sb=c[rc+12>>2]|0;Rb=(Wb|0)==0;Kb=Sb+4|0;Nb=Pa[c[Sb>>2]&1](c[Kb>>2]|0,Wb,pc,Tb)|0;if((Tb|0)!=0&(Nb|0)==0){if(!(a[Sb+51>>0]|0)){l=430;break}Gc(rc,1);m=Pa[c[Sb>>2]&1](c[Kb>>2]|0,Wb,pc,Tb)|0;if(!m){l=430;break}else sc=m}else sc=Nb;Nb=Sb+12|0;c[Nb>>2]=(Rb?0:0-pc|0)+Tb+(c[Nb>>2]|0);c[kc>>2]=sc;c[oc>>2]=Tb;Tb=c[lc>>2]|0;tc=Tb+1|0;vc=sc;wc=Tb}else{tc=nc;vc=c[kc>>2]|0;wc=mc}c[lc>>2]=tc;a[vc+wc>>0]=cc;Tb=c[j>>2]|0;Nb=c[Tb>>2]|0;c[Tb>>2]=Nb+-1;if(!Nb){Nb=Oa[c[Tb+8>>2]&7](c[Tb+16>>2]|0,c[Tb+12>>2]|0,g)|0;Rb=c[g>>2]|0;if((Nb|0)==0|(Rb|0)==0)xc=-1;else{c[Tb>>2]=Rb+-1;c[Tb+4>>2]=Nb+1;xc=d[Nb>>0]|0}yc=xc}else{Nb=Tb+4|0;Tb=c[Nb>>2]|0;c[Nb>>2]=Tb+1;yc=d[Tb>>0]|0}c[b>>2]=yc;Ub=yc}switch(l|0){case 388:{ve(b,48651,0);break}case 390:{Hc(Xb);break}case 394:{uc(Xb,4);break}case 406:{ve(b,48651,0);break}case 408:{Hc(dc);break}case 412:{uc(dc,4);break}case 424:{ve(b,48651,0);break}case 426:{Hc(rc);break}case 430:{uc(rc,4);break}case 438:{if(qc){if(pc>>>0>2147483645)ve(b,48651,0);qc=pc<<1;rc=c[Ob>>2]|0;if((qc|0)==-2)Hc(rc);Ob=c[kc>>2]|0;dc=c[rc+12>>2]|0;Xb=(Ob|0)==0;l=dc+4|0;yc=Pa[c[dc>>2]&1](c[l>>2]|0,Ob,pc,qc)|0;if((qc|0)!=0&(yc|0)==0){if(!(a[dc+51>>0]|0))uc(rc,4);Gc(rc,1);Ub=Pa[c[dc>>2]&1](c[l>>2]|0,Ob,pc,qc)|0;if(!Ub)uc(rc,4);else zc=Ub}else zc=yc;yc=dc+12|0;c[yc>>2]=(Xb?0:0-pc|0)+qc+(c[yc>>2]|0);c[kc>>2]=zc;c[oc>>2]=qc;qc=c[lc>>2]|0;Ac=qc+1|0;Bc=zc;Cc=qc}else{Ac=nc;Bc=c[kc>>2]|0;Cc=mc}c[lc>>2]=Ac;a[Bc+Cc>>0]=0;Cc=b+56|0;Bc=a[Cc>>0]|0;Ac=c[i>>2]|0;lc=c[Ac>>2]|0;mc=c[Ac+4>>2]|0;if(!mc){Dc=lc;Ec=-1}else{Ac=mc;do{Ac=Ac+-1|0;mc=lc+Ac|0;if((a[mc>>0]|0)==46)a[mc>>0]=Bc}while((Ac|0)!=0);Ac=c[i>>2]|0;Dc=c[Ac>>2]|0;Ec=(c[Ac+4>>2]|0)+-1|0}if(Sc(Dc,Ec,e)|0){n=287;Ia=f;return n|0}Ec=a[Cc>>0]|0;Dc=a[c[(ev()|0)>>2]>>0]|0;a[Cc>>0]=Dc;Ac=c[i>>2]|0;Bc=c[Ac>>2]|0;lc=c[Ac+4>>2]|0;if(!lc){Fc=Bc;Ic=-1}else{Ac=lc;do{Ac=Ac+-1|0;lc=Bc+Ac|0;if((a[lc>>0]|0)==Ec<<24>>24)a[lc>>0]=Dc}while((Ac|0)!=0);Ac=c[i>>2]|0;Fc=c[Ac>>2]|0;Ic=(c[Ac+4>>2]|0)+-1|0}if(Sc(Fc,Ic,e)|0){n=287;Ia=f;return n|0}n=a[Cc>>0]|0;Cc=c[i>>2]|0;i=c[Cc>>2]|0;f=c[Cc+4>>2]|0;if(!f)ve(b,49415,287);Cc=f;do{Cc=Cc+-1|0;f=i+Cc|0;if((a[f>>0]|0)==n<<24>>24)a[f>>0]=46}while((Cc|0)!=0);ve(b,49415,287);break}}return 0} function xs(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;if(!a)return;b=a+-8|0;d=c[825011]|0;e=c[a+-4>>2]|0;a=e&-8;f=b+a|0;do if(!(e&1)){g=c[b>>2]|0;if(!(e&3))return;h=b+(0-g)|0;i=g+a|0;if(h>>>0>>0)return;if((c[825012]|0)==(h|0)){j=f+4|0;k=c[j>>2]|0;if((k&3|0)!=3){l=h;m=i;n=h;break}c[825009]=i;c[j>>2]=k&-2;c[h+4>>2]=i|1;c[h+i>>2]=i;return}k=g>>>3;if(g>>>0<256){g=c[h+8>>2]|0;j=c[h+12>>2]|0;if((j|0)==(g|0)){c[825007]=c[825007]&~(1<>2]=j;c[j+8>>2]=g;l=h;m=i;n=h;break}}g=c[h+24>>2]|0;j=c[h+12>>2]|0;do if((j|0)==(h|0)){k=h+16|0;o=k+4|0;p=c[o>>2]|0;if(!p){q=c[k>>2]|0;if(!q){r=0;break}else{s=q;t=k}}else{s=p;t=o}o=s;p=t;while(1){k=o+20|0;q=c[k>>2]|0;if(!q){u=o+16|0;v=c[u>>2]|0;if(!v)break;else{w=v;x=u}}else{w=q;x=k}o=w;p=x}c[p>>2]=0;r=o}else{k=c[h+8>>2]|0;c[k+12>>2]=j;c[j+8>>2]=k;r=j}while(0);if(g){j=c[h+28>>2]|0;k=3300332+(j<<2)|0;if((c[k>>2]|0)==(h|0)){c[k>>2]=r;if(!r){c[825008]=c[825008]&~(1<>2]|0)==(h|0)?j:g+20|0)>>2]=r;if(!r){l=h;m=i;n=h;break}}c[r+24>>2]=g;j=h+16|0;k=c[j>>2]|0;if(k|0){c[r+16>>2]=k;c[k+24>>2]=r}k=c[j+4>>2]|0;if(k){c[r+20>>2]=k;c[k+24>>2]=r;l=h;m=i;n=h}else{l=h;m=i;n=h}}else{l=h;m=i;n=h}}else{l=b;m=a;n=b}while(0);if(n>>>0>=f>>>0)return;b=f+4|0;a=c[b>>2]|0;if(!(a&1))return;if(!(a&2)){if((c[825013]|0)==(f|0)){r=(c[825010]|0)+m|0;c[825010]=r;c[825013]=l;c[l+4>>2]=r|1;if((l|0)!=(c[825012]|0))return;c[825012]=0;c[825009]=0;return}if((c[825012]|0)==(f|0)){r=(c[825009]|0)+m|0;c[825009]=r;c[825012]=n;c[l+4>>2]=r|1;c[n+r>>2]=r;return}r=(a&-8)+m|0;x=a>>>3;do if(a>>>0<256){w=c[f+8>>2]|0;t=c[f+12>>2]|0;if((t|0)==(w|0)){c[825007]=c[825007]&~(1<>2]=t;c[t+8>>2]=w;break}}else{w=c[f+24>>2]|0;t=c[f+12>>2]|0;do if((t|0)==(f|0)){s=f+16|0;d=s+4|0;e=c[d>>2]|0;if(!e){k=c[s>>2]|0;if(!k){y=0;break}else{z=k;A=s}}else{z=e;A=d}d=z;e=A;while(1){s=d+20|0;k=c[s>>2]|0;if(!k){j=d+16|0;q=c[j>>2]|0;if(!q)break;else{B=q;C=j}}else{B=k;C=s}d=B;e=C}c[e>>2]=0;y=d}else{o=c[f+8>>2]|0;c[o+12>>2]=t;c[t+8>>2]=o;y=t}while(0);if(w|0){t=c[f+28>>2]|0;h=3300332+(t<<2)|0;if((c[h>>2]|0)==(f|0)){c[h>>2]=y;if(!y){c[825008]=c[825008]&~(1<>2]|0)==(f|0)?t:w+20|0)>>2]=y;if(!y)break}c[y+24>>2]=w;t=f+16|0;h=c[t>>2]|0;if(h|0){c[y+16>>2]=h;c[h+24>>2]=y}h=c[t+4>>2]|0;if(h|0){c[y+20>>2]=h;c[h+24>>2]=y}}}while(0);c[l+4>>2]=r|1;c[n+r>>2]=r;if((l|0)==(c[825012]|0)){c[825009]=r;return}else D=r}else{c[b>>2]=a&-2;c[l+4>>2]=m|1;c[n+m>>2]=m;D=m}m=D>>>3;if(D>>>0<256){n=3300068+(m<<1<<2)|0;a=c[825007]|0;b=1<>2]|0;F=b}c[F>>2]=l;c[E+12>>2]=l;c[l+8>>2]=E;c[l+12>>2]=n;return}n=D>>>8;if(n)if(D>>>0>16777215)G=31;else{E=(n+1048320|0)>>>16&8;F=n<>>16&4;b=F<>>16&2;a=14-(n|E|F)+(b<>>15)|0;G=D>>>(a+7|0)&1|a<<1}else G=0;a=3300332+(G<<2)|0;c[l+28>>2]=G;c[l+20>>2]=0;c[l+16>>2]=0;F=c[825008]|0;b=1<>2]=l;c[l+24>>2]=a;c[l+12>>2]=l;c[l+8>>2]=l}else{E=c[a>>2]|0;b:do if((c[E+4>>2]&-8|0)==(D|0))H=E;else{n=D<<((G|0)==31?0:25-(G>>>1)|0);m=E;while(1){I=m+16+(n>>>31<<2)|0;r=c[I>>2]|0;if(!r)break;if((c[r+4>>2]&-8|0)==(D|0)){H=r;break b}else{n=n<<1;m=r}}c[I>>2]=l;c[l+24>>2]=m;c[l+12>>2]=l;c[l+8>>2]=l;break a}while(0);E=H+8|0;w=c[E>>2]|0;c[w+12>>2]=l;c[E>>2]=l;c[l+8>>2]=w;c[l+12>>2]=H;c[l+24>>2]=0}while(0);l=(c[825015]|0)+-1|0;c[825015]=l;if(l|0)return;l=3300484;while(1){H=c[l>>2]|0;if(!H)break;else l=H+8|0}c[825015]=-1;return}function ys(a,b){a=a|0;b=b|0;var d=0,e=0;if(a){d=B(b,a)|0;if((b|a)>>>0>65535)e=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1;else e=d}else e=0;d=ws(e)|0;if(!d)return d|0;if(!(c[d+-4>>2]&3))return d|0;Av(d|0,0,e|0)|0;return d|0}function zs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a){d=ws(b)|0;return d|0}if(b>>>0>4294967231){c[(Gs()|0)>>2]=12;d=0;return d|0}e=As(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(e|0){d=e+8|0;return d|0}e=ws(b)|0;if(!e){d=0;return d|0}f=c[a+-4>>2]|0;g=(f&-8)-((f&3|0)==0?8:4)|0;zv(e|0,a|0,(g>>>0>>0?g:b)|0)|0;xs(a);d=e;return d|0}function As(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=a+4|0;e=c[d>>2]|0;f=e&-8;g=a+f|0;if(!(e&3)){if(b>>>0<256){h=0;return h|0}if(f>>>0>=(b+4|0)>>>0?(f-b|0)>>>0<=c[825127]<<1>>>0:0){h=a;return h|0}h=0;return h|0}if(f>>>0>=b>>>0){i=f-b|0;if(i>>>0<=15){h=a;return h|0}j=a+b|0;c[d>>2]=e&1|b|2;c[j+4>>2]=i|3;k=g+4|0;c[k>>2]=c[k>>2]|1;Bs(j,i);h=a;return h|0}if((c[825013]|0)==(g|0)){i=(c[825010]|0)+f|0;j=i-b|0;k=a+b|0;if(i>>>0<=b>>>0){h=0;return h|0}c[d>>2]=e&1|b|2;c[k+4>>2]=j|1;c[825013]=k;c[825010]=j;h=a;return h|0}if((c[825012]|0)==(g|0)){j=(c[825009]|0)+f|0;if(j>>>0>>0){h=0;return h|0}k=j-b|0;if(k>>>0>15){i=a+b|0;l=a+j|0;c[d>>2]=e&1|b|2;c[i+4>>2]=k|1;c[l>>2]=k;m=l+4|0;c[m>>2]=c[m>>2]&-2;n=i;o=k}else{c[d>>2]=e&1|j|2;k=a+j+4|0;c[k>>2]=c[k>>2]|1;n=0;o=0}c[825009]=o;c[825012]=n;h=a;return h|0}n=c[g+4>>2]|0;if(n&2|0){h=0;return h|0}o=(n&-8)+f|0;if(o>>>0>>0){h=0;return h|0}f=o-b|0;k=n>>>3;do if(n>>>0<256){j=c[g+8>>2]|0;i=c[g+12>>2]|0;if((i|0)==(j|0)){c[825007]=c[825007]&~(1<>2]=i;c[i+8>>2]=j;break}}else{j=c[g+24>>2]|0;i=c[g+12>>2]|0;do if((i|0)==(g|0)){m=g+16|0;l=m+4|0;p=c[l>>2]|0;if(!p){q=c[m>>2]|0;if(!q){r=0;break}else{s=q;t=m}}else{s=p;t=l}l=s;p=t;while(1){m=l+20|0;q=c[m>>2]|0;if(!q){u=l+16|0;v=c[u>>2]|0;if(!v)break;else{w=v;x=u}}else{w=q;x=m}l=w;p=x}c[p>>2]=0;r=l}else{m=c[g+8>>2]|0;c[m+12>>2]=i;c[i+8>>2]=m;r=i}while(0);if(j|0){i=c[g+28>>2]|0;m=3300332+(i<<2)|0;if((c[m>>2]|0)==(g|0)){c[m>>2]=r;if(!r){c[825008]=c[825008]&~(1<>2]|0)==(g|0)?i:j+20|0)>>2]=r;if(!r)break}c[r+24>>2]=j;i=g+16|0;m=c[i>>2]|0;if(m|0){c[r+16>>2]=m;c[m+24>>2]=r}m=c[i+4>>2]|0;if(m|0){c[r+20>>2]=m;c[m+24>>2]=r}}}while(0);if(f>>>0<16){c[d>>2]=e&1|o|2;r=a+o+4|0;c[r>>2]=c[r>>2]|1;h=a;return h|0}else{r=a+b|0;c[d>>2]=e&1|b|2;c[r+4>>2]=f|3;b=a+o+4|0;c[b>>2]=c[b>>2]|1;Bs(r,f);h=a;return h|0}return 0}function Bs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;d=a+b|0;e=c[a+4>>2]|0;do if(!(e&1)){f=c[a>>2]|0;if(!(e&3))return;g=a+(0-f)|0;h=f+b|0;if((c[825012]|0)==(g|0)){i=d+4|0;j=c[i>>2]|0;if((j&3|0)!=3){k=g;l=h;break}c[825009]=h;c[i>>2]=j&-2;c[g+4>>2]=h|1;c[d>>2]=h;return}j=f>>>3;if(f>>>0<256){f=c[g+8>>2]|0;i=c[g+12>>2]|0;if((i|0)==(f|0)){c[825007]=c[825007]&~(1<>2]=i;c[i+8>>2]=f;k=g;l=h;break}}f=c[g+24>>2]|0;i=c[g+12>>2]|0;do if((i|0)==(g|0)){j=g+16|0;m=j+4|0;n=c[m>>2]|0;if(!n){o=c[j>>2]|0;if(!o){p=0;break}else{q=o;r=j}}else{q=n;r=m}m=q;n=r;while(1){j=m+20|0;o=c[j>>2]|0;if(!o){s=m+16|0;t=c[s>>2]|0;if(!t)break;else{u=t;v=s}}else{u=o;v=j}m=u;n=v}c[n>>2]=0;p=m}else{j=c[g+8>>2]|0;c[j+12>>2]=i;c[i+8>>2]=j;p=i}while(0);if(f){i=c[g+28>>2]|0;j=3300332+(i<<2)|0;if((c[j>>2]|0)==(g|0)){c[j>>2]=p;if(!p){c[825008]=c[825008]&~(1<>2]|0)==(g|0)?i:f+20|0)>>2]=p;if(!p){k=g;l=h;break}}c[p+24>>2]=f;i=g+16|0;j=c[i>>2]|0;if(j|0){c[p+16>>2]=j;c[j+24>>2]=p}j=c[i+4>>2]|0;if(j){c[p+20>>2]=j;c[j+24>>2]=p;k=g;l=h}else{k=g;l=h}}else{k=g;l=h}}else{k=a;l=b}while(0);b=d+4|0;a=c[b>>2]|0;if(!(a&2)){if((c[825013]|0)==(d|0)){p=(c[825010]|0)+l|0;c[825010]=p;c[825013]=k;c[k+4>>2]=p|1;if((k|0)!=(c[825012]|0))return;c[825012]=0;c[825009]=0;return}if((c[825012]|0)==(d|0)){p=(c[825009]|0)+l|0;c[825009]=p;c[825012]=k;c[k+4>>2]=p|1;c[k+p>>2]=p;return}p=(a&-8)+l|0;v=a>>>3;do if(a>>>0<256){u=c[d+8>>2]|0;r=c[d+12>>2]|0;if((r|0)==(u|0)){c[825007]=c[825007]&~(1<>2]=r;c[r+8>>2]=u;break}}else{u=c[d+24>>2]|0;r=c[d+12>>2]|0;do if((r|0)==(d|0)){q=d+16|0;e=q+4|0;j=c[e>>2]|0;if(!j){i=c[q>>2]|0;if(!i){w=0;break}else{x=i;y=q}}else{x=j;y=e}e=x;j=y;while(1){q=e+20|0;i=c[q>>2]|0;if(!i){o=e+16|0;s=c[o>>2]|0;if(!s)break;else{z=s;A=o}}else{z=i;A=q}e=z;j=A}c[j>>2]=0;w=e}else{m=c[d+8>>2]|0;c[m+12>>2]=r;c[r+8>>2]=m;w=r}while(0);if(u|0){r=c[d+28>>2]|0;h=3300332+(r<<2)|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=w;if(!w){c[825008]=c[825008]&~(1<>2]|0)==(d|0)?r:u+20|0)>>2]=w;if(!w)break}c[w+24>>2]=u;r=d+16|0;h=c[r>>2]|0;if(h|0){c[w+16>>2]=h;c[h+24>>2]=w}h=c[r+4>>2]|0;if(h|0){c[w+20>>2]=h;c[h+24>>2]=w}}}while(0);c[k+4>>2]=p|1;c[k+p>>2]=p;if((k|0)==(c[825012]|0)){c[825009]=p;return}else B=p}else{c[b>>2]=a&-2;c[k+4>>2]=l|1;c[k+l>>2]=l;B=l}l=B>>>3;if(B>>>0<256){a=3300068+(l<<1<<2)|0;b=c[825007]|0;p=1<>2]|0;D=p}c[D>>2]=k;c[C+12>>2]=k;c[k+8>>2]=C;c[k+12>>2]=a;return}a=B>>>8;if(a)if(B>>>0>16777215)E=31;else{C=(a+1048320|0)>>>16&8;D=a<>>16&4;p=D<>>16&2;b=14-(a|C|D)+(p<>>15)|0;E=B>>>(b+7|0)&1|b<<1}else E=0;b=3300332+(E<<2)|0;c[k+28>>2]=E;c[k+20>>2]=0;c[k+16>>2]=0;D=c[825008]|0;p=1<>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;return}p=c[b>>2]|0;a:do if((c[p+4>>2]&-8|0)==(B|0))F=p;else{b=B<<((E|0)==31?0:25-(E>>>1)|0);D=p;while(1){G=D+16+(b>>>31<<2)|0;C=c[G>>2]|0;if(!C)break;if((c[C+4>>2]&-8|0)==(B|0)){F=C;break a}else{b=b<<1;D=C}}c[G>>2]=k;c[k+24>>2]=D;c[k+12>>2]=k;c[k+8>>2]=k;return}while(0);G=F+8|0;B=c[G>>2]|0;c[B+12>>2]=k;c[G>>2]=k;c[k+8>>2]=B;c[k+12>>2]=F;c[k+24>>2]=0;return}function Cs(a){a=a|0;var b=0,d=0;b=Ia;Ia=Ia+16|0;d=b;c[d>>2]=Hs(c[a+60>>2]|0)|0;a=Fs(ea(6,d|0)|0)|0;Ia=b;return a|0}function Ds(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;f=Ia;Ia=Ia+32|0;g=f+16|0;h=f;c[h>>2]=d;i=h+4|0;j=b+48|0;k=c[j>>2]|0;c[i>>2]=e-((k|0)!=0&1);l=b+44|0;c[h+8>>2]=c[l>>2];c[h+12>>2]=k;c[g>>2]=c[b+60>>2];c[g+4>>2]=h;c[g+8>>2]=2;h=Fs(Z(145,g|0)|0)|0;if((h|0)>=1){g=c[i>>2]|0;if(h>>>0>g>>>0){i=c[l>>2]|0;l=b+4|0;c[l>>2]=i;k=i;c[b+8>>2]=k+(h-g);if(!(c[j>>2]|0))m=e;else{c[l>>2]=k+1;a[d+(e+-1)>>0]=a[k>>0]|0;m=e}}else m=h}else{c[b>>2]=c[b>>2]|h&48^16;m=h}Ia=f;return m|0}function Es(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Ia;Ia=Ia+32|0;f=e;g=e+20|0;c[f>>2]=c[a+60>>2];c[f+4>>2]=0;c[f+8>>2]=b;c[f+12>>2]=g;c[f+16>>2]=d;if((Fs(Y(140,f|0)|0)|0)<0){c[g>>2]=-1;h=-1}else h=c[g>>2]|0;Ia=e;return h|0}function Fs(a){a=a|0;var b=0;if(a>>>0>4294963200){c[(Gs()|0)>>2]=0-a;b=-1}else b=a;return b|0}function Gs(){return 3300524}function Hs(a){a=a|0;return a|0}function Is(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Ia;Ia=Ia+32|0;g=f;c[b+36>>2]=5;if((c[b>>2]&64|0)==0?(c[g>>2]=c[b+60>>2],c[g+4>>2]=21523,c[g+8>>2]=f+16,da(54,g|0)|0):0)a[b+75>>0]=-1;g=Js(b,d,e)|0;Ia=f;return g|0}function Js(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=Ia;Ia=Ia+48|0;f=e+32|0;g=e+16|0;h=e;i=a+28|0;j=c[i>>2]|0;c[h>>2]=j;k=a+20|0;l=(c[k>>2]|0)-j|0;c[h+4>>2]=l;c[h+8>>2]=b;c[h+12>>2]=d;b=l+d|0;l=a+60|0;c[g>>2]=c[l>>2];c[g+4>>2]=h;c[g+8>>2]=2;j=Fs(_(146,g|0)|0)|0;a:do if((b|0)!=(j|0)){g=2;m=b;n=h;o=j;while(1){if((o|0)<0)break;m=m-o|0;p=c[n+4>>2]|0;q=o>>>0>p>>>0;r=q?n+8|0:n;s=g+(q<<31>>31)|0;t=o-(q?p:0)|0;c[r>>2]=(c[r>>2]|0)+t;p=r+4|0;c[p>>2]=(c[p>>2]|0)-t;c[f>>2]=c[l>>2];c[f+4>>2]=r;c[f+8>>2]=s;o=Fs(_(146,f|0)|0)|0;if((m|0)==(o|0)){u=3;break a}else{g=s;n=r}}c[a+16>>2]=0;c[i>>2]=0;c[k>>2]=0;c[a>>2]=c[a>>2]|32;if((g|0)==2)v=0;else v=d-(c[n+4>>2]|0)|0}else u=3;while(0);if((u|0)==3){u=c[a+44>>2]|0;c[a+16>>2]=u+(c[a+48>>2]|0);a=u;c[i>>2]=a;c[k>>2]=a;v=d}Ia=e;return v|0}function Ks(a,b){a=+a;b=b|0;return +(+Ls(a,b))}function Ls(a,b){a=+a;b=b|0;var d=0.0,e=0,f=0,i=0.0,j=0;if((b|0)<=1023)if((b|0)<-1022){d=a*2.2250738585072014e-308;e=(b|0)<-2044;f=b+2044|0;i=e?d*2.2250738585072014e-308:d;j=e?((f|0)>-1022?f:-1022):b+1022|0}else{i=a;j=b}else{d=a*8988465674311579538646525.0e283;f=(b|0)>2046;e=b+-2046|0;i=f?d*8988465674311579538646525.0e283:d;j=f?((e|0)<1023?e:1023):b+-1023|0}b=uv(j+1023|0,0,52)|0;j=G()|0;c[h>>2]=b;c[h+4>>2]=j;return +(i*+g[h>>3])}function Ms(a,b){a=+a;b=b|0;var d=0,e=0,f=0,i=0.0,j=0.0,k=0,l=0.0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=tv(d|0,e|0,52)|0;G()|0;switch(f&2047){case 0:{if(a!=0.0){i=+Ms(a*18446744073709551616.0,b);j=i;k=(c[b>>2]|0)+-64|0}else{j=a;k=0}c[b>>2]=k;l=j;break}case 2047:{l=a;break}default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;l=+g[h>>3]}}return +l}function Ns(a,b){a=+a;b=+b;return +(+Os(a,b))}function Os(a,b){a=+a;b=+b;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;g[h>>3]=b;f=c[h+4>>2]&-2147483648|e&2147483647;c[h>>2]=d;c[h+4>>2]=f;return +(+g[h>>3])}function Ps(a,b){a=+a;b=+b;var d=0,e=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0.0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;g[h>>3]=b;f=c[h>>2]|0;i=c[h+4>>2]|0;j=tv(d|0,e|0,52)|0;G()|0;k=j&2047;j=tv(f|0,i|0,52)|0;G()|0;l=j&2047;j=e&-2147483648;m=uv(f|0,i|0,1)|0;n=G()|0;a:do if(!((m|0)==0&(n|0)==0)?(o=Qs(b)|0,p=(G()|0)&2147483647,!((k|0)==2047|(p>>>0>2146435072|(p|0)==2146435072&o>>>0>0))):0){o=uv(d|0,e|0,1)|0;p=G()|0;if(!(p>>>0>n>>>0|(p|0)==(n|0)&o>>>0>m>>>0))return +((o|0)==(m|0)&(p|0)==(n|0)?a*0.0:a);if(!k){p=uv(d|0,e|0,12)|0;o=G()|0;if((o|0)>-1|(o|0)==-1&p>>>0>4294967295){q=0;r=p;p=o;while(1){o=q+-1|0;r=uv(r|0,p|0,1)|0;p=G()|0;if(!((p|0)>-1|(p|0)==-1&r>>>0>4294967295)){s=o;break}else q=o}}else s=0;q=uv(d|0,e|0,1-s|0)|0;t=s;u=q;v=G()|0}else{t=k;u=d;v=e&1048575|1048576}if(!l){q=uv(f|0,i|0,12)|0;r=G()|0;if((r|0)>-1|(r|0)==-1&q>>>0>4294967295){p=0;o=q;q=r;while(1){r=p+-1|0;o=uv(o|0,q|0,1)|0;q=G()|0;if(!((q|0)>-1|(q|0)==-1&o>>>0>4294967295)){w=r;break}else p=r}}else w=0;p=uv(f|0,i|0,1-w|0)|0;x=w;y=p;z=G()|0}else{x=l;y=f;z=i&1048575|1048576}p=lv(u|0,v|0,y|0,z|0)|0;o=G()|0;q=(o|0)>-1|(o|0)==-1&p>>>0>4294967295;b:do if((t|0)>(x|0)){r=t;A=o;B=q;C=u;D=v;E=p;while(1){if(B)if((E|0)==0&(A|0)==0)break;else{F=E;H=A}else{F=C;H=D}I=uv(F|0,H|0,1)|0;J=G()|0;K=r+-1|0;L=lv(I|0,J|0,y|0,z|0)|0;M=G()|0;N=(M|0)>-1|(M|0)==-1&L>>>0>4294967295;if((K|0)>(x|0)){r=K;A=M;B=N;C=I;D=J;E=L}else{O=K;P=N;Q=L;R=M;S=I;T=J;break b}}U=a*0.0;break a}else{O=t;P=q;Q=p;R=o;S=u;T=v}while(0);if(P)if((Q|0)==0&(R|0)==0){U=a*0.0;break}else{V=R;W=Q}else{V=T;W=S}if(V>>>0<1048576|(V|0)==1048576&W>>>0<0){o=O;p=W;q=V;while(1){E=uv(p|0,q|0,1)|0;D=G()|0;C=o+-1|0;if(D>>>0<1048576|(D|0)==1048576&E>>>0<0){o=C;p=E;q=D}else{X=C;Y=E;Z=D;break}}}else{X=O;Y=W;Z=V}if((X|0)>0){q=kv(Y|0,Z|0,0,-1048576)|0;p=G()|0;o=uv(X|0,0,52)|0;_=p|(G()|0);$=q|o}else{o=tv(Y|0,Z|0,1-X|0)|0;_=G()|0;$=o}c[h>>2]=$;c[h+4>>2]=_|j;U=+g[h>>3]}else aa=3;while(0);if((aa|0)==3){ba=a*b;U=ba/ba}return +U}function Qs(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;F(c[h+4>>2]|0);return b|0}function Rs(a,b){a=+a;b=+b;return +(+Ps(a,b))}function Ss(a,b){a=+a;b=b|0;return +(+Ls(a,b))}function Ts(a,b){a=+a;b=b|0;return +(+Ms(a,b))}function Us(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;a:do if(!d)e=0;else{f=b;g=d;h=c;while(1){i=a[f>>0]|0;j=a[h>>0]|0;if(i<<24>>24!=j<<24>>24)break;g=g+-1|0;if(!g){e=0;break a}else{f=f+1|0;h=h+1|0}}e=(i&255)-(j&255)|0}while(0);return e|0}function Vs(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;if(!e)f=0;else{g=a[b>>0]|0;a:do if(!(g<<24>>24)){h=c;i=0}else{j=b;k=e;l=c;m=g;while(1){k=k+-1|0;n=a[l>>0]|0;if(!(m<<24>>24==n<<24>>24&((k|0)!=0&n<<24>>24!=0))){h=l;i=m;break a}j=j+1|0;n=l+1|0;m=a[j>>0]|0;if(!(m<<24>>24)){h=n;i=0;break}else l=n}}while(0);f=(i&255)-(d[h>>0]|0)|0}return f|0}function Ws(a){a=a|0;return (a+-48|0)>>>0<10|0}function Xs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=d;d=Ys(a,b,f)|0;Ia=e;return d|0}function Ys(a,b,c){a=a|0;b=b|0;c=c|0;return Zs(a,2147483647,b,c)|0}function Zs(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=Ia;Ia=Ia+128|0;h=g+124|0;i=g;j=i;k=36276;l=j+124|0;do{c[j>>2]=c[k>>2];j=j+4|0;k=k+4|0}while((j|0)<(l|0));if((d+-1|0)>>>0>2147483646)if(!d){m=h;n=1;o=4}else{c[(Gs()|0)>>2]=75;p=-1}else{m=b;n=d;o=4}if((o|0)==4){o=-2-m|0;d=n>>>0>o>>>0?o:n;c[i+48>>2]=d;n=i+20|0;c[n>>2]=m;c[i+44>>2]=m;o=m+d|0;m=i+16|0;c[m>>2]=o;c[i+28>>2]=o;o=_s(i,e,f)|0;if(!d)p=o;else{d=c[n>>2]|0;a[d+(((d|0)==(c[m>>2]|0))<<31>>31)>>0]=0;p=o}}Ia=g;return p|0}function _s(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=Ia;Ia=Ia+224|0;g=f+208|0;h=f+160|0;i=f+80|0;j=f;k=h;l=k+40|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));c[g>>2]=c[e>>2];if(($s(0,d,g,i,h)|0)<0)m=-1;else{if((c[b+76>>2]|0)>-1)n=at(b)|0;else n=0;e=c[b>>2]|0;k=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;e=b+48|0;if(!(c[e>>2]|0)){l=b+44|0;o=c[l>>2]|0;c[l>>2]=j;p=b+28|0;c[p>>2]=j;q=b+20|0;c[q>>2]=j;c[e>>2]=80;r=b+16|0;c[r>>2]=j+80;j=$s(b,d,g,i,h)|0;if(!o)s=j;else{Oa[c[b+36>>2]&7](b,0,0)|0;t=(c[q>>2]|0)==0?-1:j;c[l>>2]=o;c[e>>2]=0;c[r>>2]=0;c[p>>2]=0;c[q>>2]=0;s=t}}else s=$s(b,d,g,i,h)|0;h=c[b>>2]|0;c[b>>2]=h|k;if(n|0)bt(b);m=(h&32|0)==0?s:-1}Ia=f;return m|0}function $s(d,e,f,h,i){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;j=Ia;Ia=Ia+64|0;k=j+56|0;l=j+40|0;m=j;n=j+48|0;o=j+60|0;c[k>>2]=e;e=(d|0)!=0;p=m+40|0;q=p;r=m+39|0;m=n+4|0;s=0;t=0;u=0;a:while(1){v=s;w=t;while(1){do if((w|0)>-1)if((v|0)>(2147483647-w|0)){c[(Gs()|0)>>2]=75;x=-1;break}else{x=v+w|0;break}else x=w;while(0);y=c[k>>2]|0;z=a[y>>0]|0;if(!(z<<24>>24)){A=94;break a}B=z;z=y;b:while(1){switch(B<<24>>24){case 37:{A=10;break b;break}case 0:{C=z;break b;break}default:{}}D=z+1|0;c[k>>2]=D;B=a[D>>0]|0;z=D}c:do if((A|0)==10){A=0;B=z;D=z;while(1){if((a[D+1>>0]|0)!=37){C=B;break c}E=B+1|0;D=D+2|0;c[k>>2]=D;if((a[D>>0]|0)!=37){C=E;break}else B=E}}while(0);v=C-y|0;if(e)ct(d,y,v);if(!v)break;else w=x}w=(Ws(a[(c[k>>2]|0)+1>>0]|0)|0)==0;v=c[k>>2]|0;if(!w?(a[v+2>>0]|0)==36:0){F=(a[v+1>>0]|0)+-48|0;H=1;I=3}else{F=-1;H=u;I=1}w=v+I|0;c[k>>2]=w;v=a[w>>0]|0;z=(v<<24>>24)+-32|0;if(z>>>0>31|(1<>2]=D;E=a[D>>0]|0;B=(E<<24>>24)+-32|0;if(B>>>0>31|(1<>24==42){if((Ws(a[L+1>>0]|0)|0)!=0?(z=c[k>>2]|0,(a[z+2>>0]|0)==36):0){v=z+1|0;c[i+((a[v>>0]|0)+-48<<2)>>2]=10;M=c[h+((a[v>>0]|0)+-48<<3)>>2]|0;N=1;O=z+3|0}else{if(H|0){P=-1;break}if(e){z=(c[f>>2]|0)+(4-1)&~(4-1);v=c[z>>2]|0;c[f>>2]=z+4;Q=v}else Q=0;M=Q;N=0;O=(c[k>>2]|0)+1|0}c[k>>2]=O;v=(M|0)<0;R=v?0-M|0:M;S=v?J|8192:J;T=N;U=O}else{v=dt(k)|0;if((v|0)<0){P=-1;break}R=v;S=J;T=H;U=c[k>>2]|0}do if((a[U>>0]|0)==46){v=U+1|0;if((a[v>>0]|0)!=42){c[k>>2]=v;v=dt(k)|0;V=v;W=c[k>>2]|0;break}if(Ws(a[U+2>>0]|0)|0?(v=c[k>>2]|0,(a[v+3>>0]|0)==36):0){z=v+2|0;c[i+((a[z>>0]|0)+-48<<2)>>2]=10;B=c[h+((a[z>>0]|0)+-48<<3)>>2]|0;z=v+4|0;c[k>>2]=z;V=B;W=z;break}if(T|0){P=-1;break a}if(e){z=(c[f>>2]|0)+(4-1)&~(4-1);B=c[z>>2]|0;c[f>>2]=z+4;X=B}else X=0;B=(c[k>>2]|0)+2|0;c[k>>2]=B;V=X;W=B}else{V=-1;W=U}while(0);B=0;z=W;while(1){if(((a[z>>0]|0)+-65|0)>>>0>57){P=-1;break a}v=z;z=z+1|0;c[k>>2]=z;Y=a[(a[v>>0]|0)+-65+(33344+(B*58|0))>>0]|0;Z=Y&255;if((Z+-1|0)>>>0>=8)break;else B=Z}if(!(Y<<24>>24)){P=-1;break}v=(F|0)>-1;do if(Y<<24>>24==19)if(v){P=-1;break a}else A=54;else{if(v){c[i+(F<<2)>>2]=Z;D=h+(F<<3)|0;w=c[D+4>>2]|0;E=l;c[E>>2]=c[D>>2];c[E+4>>2]=w;A=54;break}if(!e){P=0;break a}et(l,Z,f);_=c[k>>2]|0;A=55}while(0);if((A|0)==54){A=0;if(e){_=z;A=55}else $=0}d:do if((A|0)==55){A=0;v=a[_+-1>>0]|0;w=(B|0)!=0&(v&15|0)==3?v&-33:v;v=S&-65537;E=(S&8192|0)==0?S:v;e:do switch(w|0){case 110:{switch((B&255)<<24>>24){case 0:{c[c[l>>2]>>2]=x;$=0;break d;break}case 1:{c[c[l>>2]>>2]=x;$=0;break d;break}case 2:{D=c[l>>2]|0;c[D>>2]=x;c[D+4>>2]=((x|0)<0)<<31>>31;$=0;break d;break}case 3:{b[c[l>>2]>>1]=x;$=0;break d;break}case 4:{a[c[l>>2]>>0]=x;$=0;break d;break}case 6:{c[c[l>>2]>>2]=x;$=0;break d;break}case 7:{D=c[l>>2]|0;c[D>>2]=x;c[D+4>>2]=((x|0)<0)<<31>>31;$=0;break d;break}default:{$=0;break d}}break}case 112:{aa=120;ba=V>>>0>8?V:8;ca=E|8;A=67;break}case 88:case 120:{aa=w;ba=V;ca=E;A=67;break}case 111:{D=l;da=c[D>>2]|0;ea=c[D+4>>2]|0;D=gt(da,ea,p)|0;fa=q-D|0;ga=D;ha=0;ia=74593;ja=(E&8|0)==0|(V|0)>(fa|0)?V:fa+1|0;ka=E;la=da;ma=ea;A=73;break}case 105:case 100:{ea=l;da=c[ea>>2]|0;fa=c[ea+4>>2]|0;if((fa|0)<0){ea=lv(0,0,da|0,fa|0)|0;D=G()|0;na=l;c[na>>2]=ea;c[na+4>>2]=D;oa=1;pa=74593;qa=ea;ra=D;A=72;break e}else{oa=(E&2049|0)!=0&1;pa=(E&2048|0)==0?((E&1|0)==0?74593:74595):74594;qa=da;ra=fa;A=72;break e}break}case 117:{fa=l;oa=0;pa=74593;qa=c[fa>>2]|0;ra=c[fa+4>>2]|0;A=72;break}case 99:{a[r>>0]=c[l>>2];sa=r;ta=0;ua=74593;va=1;wa=v;xa=q;break}case 109:{ya=it(c[(Gs()|0)>>2]|0)|0;A=77;break}case 115:{fa=c[l>>2]|0;ya=(fa|0)==0?74603:fa;A=77;break}case 67:{c[n>>2]=c[l>>2];c[m>>2]=0;c[l>>2]=n;za=-1;A=81;break}case 83:{if(!V){kt(d,32,R,0,E);Aa=0;A=91}else{za=V;A=81}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{$=mt(d,+g[l>>3],R,V,E,w)|0;break d;break}default:{sa=y;ta=0;ua=74593;va=V;wa=E;xa=q}}while(0);f:do if((A|0)==67){A=0;w=l;fa=c[w>>2]|0;da=c[w+4>>2]|0;w=ft(fa,da,p,aa&32)|0;D=(ca&8|0)==0|(fa|0)==0&(da|0)==0;ga=w;ha=D?0:2;ia=D?74593:74593+(aa>>>4)|0;ja=ba;ka=ca;la=fa;ma=da;A=73}else if((A|0)==72){A=0;ga=ht(qa,ra,p)|0;ha=oa;ia=pa;ja=V;ka=E;la=qa;ma=ra;A=73}else if((A|0)==77){A=0;da=jt(ya,0,V)|0;fa=(da|0)==0;sa=ya;ta=0;ua=74593;va=fa?V:da-ya|0;wa=v;xa=fa?ya+V|0:da}else if((A|0)==81){A=0;da=c[l>>2]|0;fa=0;while(1){D=c[da>>2]|0;if(!D){Ba=fa;break}w=lt(o,D)|0;Ca=(w|0)<0;if(Ca|w>>>0>(za-fa|0)>>>0){A=85;break}D=w+fa|0;if(za>>>0>D>>>0){da=da+4|0;fa=D}else{Ba=D;break}}if((A|0)==85){A=0;if(Ca){P=-1;break a}else Ba=fa}kt(d,32,R,Ba,E);if(!Ba){Aa=0;A=91}else{da=c[l>>2]|0;D=0;while(1){w=c[da>>2]|0;if(!w){Aa=Ba;A=91;break f}ea=lt(o,w)|0;D=ea+D|0;if((D|0)>(Ba|0)){Aa=Ba;A=91;break f}ct(d,o,ea);if(D>>>0>=Ba>>>0){Aa=Ba;A=91;break}else da=da+4|0}}}while(0);if((A|0)==73){A=0;v=(la|0)!=0|(ma|0)!=0;da=(ja|0)!=0|v;D=q-ga+((v^1)&1)|0;sa=da?ga:p;ta=ha;ua=ia;va=da?((ja|0)>(D|0)?ja:D):0;wa=(ja|0)>-1?ka&-65537:ka;xa=q}else if((A|0)==91){A=0;kt(d,32,R,Aa,E^8192);$=(R|0)>(Aa|0)?R:Aa;break}D=xa-sa|0;da=(va|0)<(D|0)?D:va;v=da+ta|0;fa=(R|0)<(v|0)?v:R;kt(d,32,fa,v,wa);ct(d,ua,ta);kt(d,48,fa,v,wa^65536);kt(d,48,da,D,0);ct(d,sa,D);kt(d,32,fa,v,wa^8192);$=fa}while(0);s=$;t=x;u=T}g:do if((A|0)==94)if(!d)if(!u)P=0;else{T=1;while(1){t=c[i+(T<<2)>>2]|0;if(!t)break;et(h+(T<<3)|0,t,f);t=T+1|0;if(t>>>0<10)T=t;else{P=1;break g}}t=T;while(1){if(c[i+(t<<2)>>2]|0){P=-1;break g}t=t+1|0;if(t>>>0>=10){P=1;break}}}else P=x;while(0);Ia=j;return P|0}function at(a){a=a|0;return 1}function bt(a){a=a|0;return}function ct(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))yt(b,d,a)|0;return}function dt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;if(!(Ws(a[c[b>>2]>>0]|0)|0))d=0;else{e=0;while(1){f=c[b>>2]|0;g=(e*10|0)+-48+(a[f>>0]|0)|0;h=f+1|0;c[b>>2]=h;if(!(Ws(a[h>>0]|0)|0)){d=g;break}else e=g}}return d|0}function et(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=f;break a;break}case 10:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a;break}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);f=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=f;c[e+4>>2]=0;break a;break}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);f=e;h=c[f>>2]|0;i=c[f+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=h;c[e+4>>2]=i;break a;break}case 13:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&65535)<<16>>16;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 14:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&65535;c[i+4>>2]=0;break a;break}case 15:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=(e&255)<<24>>24;e=a;c[e>>2]=i;c[e+4>>2]=((i|0)<0)<<31>>31;break a;break}case 16:{i=(c[d>>2]|0)+(4-1)&~(4-1);e=c[i>>2]|0;c[d>>2]=i+4;i=a;c[i>>2]=e&255;c[i+4>>2]=0;break a;break}case 17:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+g[i>>3];c[d>>2]=i+8;g[a>>3]=j;break a;break}case 18:{i=(c[d>>2]|0)+(8-1)&~(8-1);j=+g[i>>3];c[d>>2]=i+8;g[a>>3]=j;break a;break}default:break a}while(0);while(0);return}function ft(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;var g=0,h=0;if((b|0)==0&(c|0)==0)g=e;else{h=e;e=c;c=b;while(1){b=h+-1|0;a[b>>0]=d[33808+(c&15)>>0]|0|f;c=tv(c|0,e|0,4)|0;e=G()|0;if((c|0)==0&(e|0)==0){g=b;break}else h=b}}return g|0}function gt(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;if((b|0)==0&(c|0)==0)e=d;else{f=d;d=c;c=b;while(1){b=f+-1|0;a[b>>0]=c&7|48;c=tv(c|0,d|0,3)|0;d=G()|0;if((c|0)==0&(d|0)==0){e=b;break}else f=b}}return e|0}function ht(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){e=d;f=b;g=c;do{c=f;f=rv(f|0,g|0,10,0)|0;h=g;g=G()|0;i=qv(f|0,g|0,10,0)|0;j=lv(c|0,h|0,i|0,G()|0)|0;G()|0;e=e+-1|0;a[e>>0]=j&255|48}while(h>>>0>9|(h|0)==9&c>>>0>4294967295);k=f;l=e}else{k=b;l=d}if(!k)m=l;else{d=k;k=l;while(1){l=d;d=(d>>>0)/10|0;b=k+-1|0;a[b>>0]=l-(d*10|0)|48;if(l>>>0<10){m=b;break}else k=b}}return m|0}function it(a){a=a|0;return st(a,c[(rt()|0)+188>>2]|0)|0}function jt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=d&255;g=(e|0)!=0;a:do if(g&(b&3|0)!=0){h=d&255;i=b;j=e;while(1){if((a[i>>0]|0)==h<<24>>24){k=i;l=j;m=6;break a}n=i+1|0;o=j+-1|0;p=(o|0)!=0;if(p&(n&3|0)!=0){i=n;j=o}else{q=n;r=o;s=p;m=5;break}}}else{q=b;r=e;s=g;m=5}while(0);if((m|0)==5)if(s){k=q;l=r;m=6}else m=16;b:do if((m|0)==6){r=d&255;if((a[k>>0]|0)==r<<24>>24)if(!l){m=16;break}else{t=k;break}q=B(f,16843009)|0;c:do if(l>>>0>3){s=k;g=l;while(1){e=c[s>>2]^q;if((e&-2139062144^-2139062144)&e+-16843009|0){u=g;v=s;break c}e=s+4|0;b=g+-4|0;if(b>>>0>3){s=e;g=b}else{w=e;x=b;m=11;break}}}else{w=k;x=l;m=11}while(0);if((m|0)==11)if(!x){m=16;break}else{u=x;v=w}q=v;g=u;while(1){if((a[q>>0]|0)==r<<24>>24){t=q;break b}g=g+-1|0;if(!g){m=16;break}else q=q+1|0}}while(0);if((m|0)==16)t=0;return t|0}function kt(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Ia;Ia=Ia+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;Av(g|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{ct(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;ct(a,g,h)}Ia=f;return}function lt(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=ot(a,b,0)|0;return c|0}function mt(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,t=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0.0,F=0,H=0,I=0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0.0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0.0,ia=0.0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0;j=Ia;Ia=Ia+560|0;k=j+32|0;l=j+536|0;m=j;n=m;o=j+540|0;c[l>>2]=0;p=o+12|0;q=nt(e)|0;r=G()|0;if((r|0)<0){s=-e;t=nt(s)|0;u=s;v=1;w=74610;x=G()|0;y=t}else{u=e;v=(h&2049|0)!=0&1;w=(h&2048|0)==0?((h&1|0)==0?74611:74616):74613;x=r;y=q}do if(0==0&(x&2146435072|0)==2146435072){q=(i&32|0)!=0;y=v+3|0;kt(b,32,f,y,h&-65537);ct(b,w,v);ct(b,u!=u|0.0!=0.0?(q?74659:74637):q?74629:74633,3);kt(b,32,f,y,h^8192);z=y}else{e=+Ts(u,l)*2.0;y=e!=0.0;if(y)c[l>>2]=(c[l>>2]|0)+-1;q=i|32;if((q|0)==97){r=i&32;t=(r|0)==0?w:w+9|0;A=v|2;C=12-g|0;do if(!(g>>>0>11|(C|0)==0)){s=8.0;D=C;do{D=D+-1|0;s=s*16.0}while((D|0)!=0);if((a[t>>0]|0)==45){E=-(s+(-e-s));break}else{E=e+s-s;break}}else E=e;while(0);C=c[l>>2]|0;D=(C|0)<0?0-C|0:C;F=ht(D,((D|0)<0)<<31>>31,p)|0;if((F|0)==(p|0)){D=o+11|0;a[D>>0]=48;H=D}else H=F;a[H+-1>>0]=(C>>31&2)+43;C=H+-2|0;a[C>>0]=i+15;F=(g|0)<1;D=(h&8|0)==0;I=m;J=E;while(1){K=~~J;L=I+1|0;a[I>>0]=r|d[33808+K>>0];J=(J-+(K|0))*16.0;if((L-n|0)==1?!(D&(F&J==0.0)):0){a[L>>0]=46;M=I+2|0}else M=L;if(!(J!=0.0))break;else I=M}I=M;if((g|0)!=0?(-2-n+I|0)<(g|0):0){F=p;D=C;N=g+2+F-D|0;O=F;P=D}else{D=p;F=C;N=D-n-F+I|0;O=D;P=F}F=N+A|0;kt(b,32,f,F,h);ct(b,t,A);kt(b,48,f,F,h^65536);D=I-n|0;ct(b,m,D);I=O-P|0;kt(b,48,N-(D+I)|0,0,0);ct(b,C,I);kt(b,32,f,F,h^8192);z=F;break}F=(g|0)<0?6:g;if(y){I=(c[l>>2]|0)+-28|0;c[l>>2]=I;Q=e*268435456.0;R=I}else{Q=e;R=c[l>>2]|0}I=(R|0)<0?k:k+288|0;D=I;J=Q;do{r=~~J>>>0;c[D>>2]=r;D=D+4|0;J=(J-+(r>>>0))*1.0e9}while(J!=0.0);y=I;if((R|0)>0){C=I;A=D;t=R;while(1){r=(t|0)<29?t:29;L=A+-4|0;if(L>>>0>=C>>>0){K=L;L=0;do{S=uv(c[K>>2]|0,0,r|0)|0;T=kv(S|0,G()|0,L|0,0)|0;S=G()|0;L=rv(T|0,S|0,1e9,0)|0;U=qv(L|0,G()|0,1e9,0)|0;V=lv(T|0,S|0,U|0,G()|0)|0;G()|0;c[K>>2]=V;K=K+-4|0}while(K>>>0>=C>>>0);if(L){K=C+-4|0;c[K>>2]=L;W=K}else W=C}else W=C;a:do if(A>>>0>W>>>0){K=A;while(1){V=K+-4|0;if(c[V>>2]|0){X=K;break a}if(V>>>0>W>>>0)K=V;else{X=V;break}}}else X=A;while(0);L=(c[l>>2]|0)-r|0;c[l>>2]=L;if((L|0)>0){C=W;A=X;t=L}else{Y=W;Z=X;_=L;break}}}else{Y=I;Z=D;_=R}if((_|0)<0){t=((F+25|0)/9|0)+1|0;A=(q|0)==102;C=Y;L=Z;K=_;while(1){V=0-K|0;U=(V|0)<9?V:9;if(C>>>0>>0){V=(1<>>U;T=0;$=C;do{aa=c[$>>2]|0;c[$>>2]=(aa>>>U)+T;T=B(aa&V,S)|0;$=$+4|0}while($>>>0>>0);$=(c[C>>2]|0)==0?C+4|0:C;if(!T){ba=L;ca=$}else{c[L>>2]=T;ba=L+4|0;ca=$}}else{ba=L;ca=(c[C>>2]|0)==0?C+4|0:C}$=A?I:ca;S=(ba-$>>2|0)>(t|0)?$+(t<<2)|0:ba;K=(c[l>>2]|0)+U|0;c[l>>2]=K;if((K|0)>=0){da=ca;ea=S;break}else{C=ca;L=S}}}else{da=Y;ea=Z}if(da>>>0>>0){L=(y-da>>2)*9|0;C=c[da>>2]|0;if(C>>>0<10)fa=L;else{K=L;L=10;while(1){L=L*10|0;t=K+1|0;if(C>>>0>>0){fa=t;break}else K=t}}}else fa=0;K=(q|0)==103;L=(F|0)!=0;C=F-((q|0)==102?0:fa)+((L&K)<<31>>31)|0;if((C|0)<(((ea-y>>2)*9|0)+-9|0)){t=C+9216|0;C=(t|0)/9|0;A=I+4+(C+-1024<<2)|0;D=t-(C*9|0)|0;if((D|0)<8){C=D;D=10;while(1){t=D*10|0;if((C|0)<7){C=C+1|0;D=t}else{ga=t;break}}}else ga=10;D=c[A>>2]|0;C=(D>>>0)/(ga>>>0)|0;q=D-(B(C,ga)|0)|0;t=(A+4|0)==(ea|0);if(!(t&(q|0)==0)){s=(C&1|0)==0?9007199254740992.0:9007199254740994.0;C=ga>>>1;J=q>>>0>>0?.5:t&(q|0)==(C|0)?1.0:1.5;if(!v){ha=J;ia=s}else{C=(a[w>>0]|0)==45;ha=C?-J:J;ia=C?-s:s}C=D-q|0;c[A>>2]=C;if(ia+ha!=ia){q=C+ga|0;c[A>>2]=q;if(q>>>0>999999999){q=A;C=da;while(1){D=q+-4|0;c[q>>2]=0;if(D>>>0>>0){t=C+-4|0;c[t>>2]=0;ja=t}else ja=C;t=(c[D>>2]|0)+1|0;c[D>>2]=t;if(t>>>0>999999999){q=D;C=ja}else{ka=D;la=ja;break}}}else{ka=A;la=da}C=(y-la>>2)*9|0;q=c[la>>2]|0;if(q>>>0<10){ma=ka;na=C;oa=la}else{D=C;C=10;while(1){C=C*10|0;t=D+1|0;if(q>>>0>>0){ma=ka;na=t;oa=la;break}else D=t}}}else{ma=A;na=fa;oa=da}}else{ma=A;na=fa;oa=da}D=ma+4|0;pa=na;qa=ea>>>0>D>>>0?D:ea;ra=oa}else{pa=fa;qa=ea;ra=da}D=0-pa|0;b:do if(qa>>>0>ra>>>0){C=qa;while(1){q=C+-4|0;if(c[q>>2]|0){sa=C;ta=1;break b}if(q>>>0>ra>>>0)C=q;else{sa=q;ta=0;break}}}else{sa=qa;ta=0}while(0);do if(K){A=F+((L^1)&1)|0;if((A|0)>(pa|0)&(pa|0)>-5){ua=i+-1|0;va=A+-1-pa|0}else{ua=i+-2|0;va=A+-1|0}if(!(h&8)){if(ta?(A=c[sa+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){C=0;U=10;while(1){U=U*10|0;T=C+1|0;if((A>>>0)%(U>>>0)|0|0){wa=T;break}else C=T}}else wa=0;else wa=9;C=((sa-y>>2)*9|0)+-9|0;if((ua|32|0)==102){U=C-wa|0;A=(U|0)>0?U:0;xa=ua;ya=(va|0)<(A|0)?va:A;break}else{A=C+pa-wa|0;C=(A|0)>0?A:0;xa=ua;ya=(va|0)<(C|0)?va:C;break}}else{xa=ua;ya=va}}else{xa=i;ya=F}while(0);F=(ya|0)!=0;y=F?1:h>>>3&1;L=(xa|32|0)==102;if(L){za=0;Aa=(pa|0)>0?pa:0}else{K=(pa|0)<0?D:pa;C=ht(K,((K|0)<0)<<31>>31,p)|0;K=p;if((K-C|0)<2){A=C;while(1){U=A+-1|0;a[U>>0]=48;if((K-U|0)<2)A=U;else{Ba=U;break}}}else Ba=C;a[Ba+-1>>0]=(pa>>31&2)+43;A=Ba+-2|0;a[A>>0]=xa;za=A;Aa=K-A|0}A=v+1+ya+y+Aa|0;kt(b,32,f,A,h);ct(b,w,v);kt(b,48,f,A,h^65536);if(L){D=ra>>>0>I>>>0?I:ra;U=m+9|0;T=U;q=m+8|0;t=D;do{S=ht(c[t>>2]|0,0,U)|0;if((t|0)==(D|0))if((S|0)==(U|0)){a[q>>0]=48;Ca=q}else Ca=S;else if(S>>>0>m>>>0){Av(m|0,48,S-n|0)|0;$=S;while(1){V=$+-1|0;if(V>>>0>m>>>0)$=V;else{Ca=V;break}}}else Ca=S;ct(b,Ca,T-Ca|0);t=t+4|0}while(t>>>0<=I>>>0);if(!((h&8|0)==0&(F^1)))ct(b,74667,1);if(t>>>0>>0&(ya|0)>0){I=ya;T=t;while(1){q=ht(c[T>>2]|0,0,U)|0;if(q>>>0>m>>>0){Av(m|0,48,q-n|0)|0;D=q;while(1){L=D+-1|0;if(L>>>0>m>>>0)D=L;else{Da=L;break}}}else Da=q;ct(b,Da,(I|0)<9?I:9);T=T+4|0;D=I+-9|0;if(!(T>>>0>>0&(I|0)>9)){Ea=D;break}else I=D}}else Ea=ya;kt(b,48,Ea+9|0,9,0)}else{I=ta?sa:ra+4|0;if(ra>>>0>>0&(ya|0)>-1){T=m+9|0;U=(h&8|0)==0;t=T;F=0-n|0;D=m+8|0;S=ya;L=ra;while(1){y=ht(c[L>>2]|0,0,T)|0;if((y|0)==(T|0)){a[D>>0]=48;Fa=D}else Fa=y;do if((L|0)==(ra|0)){y=Fa+1|0;ct(b,Fa,1);if(U&(S|0)<1){Ga=y;break}ct(b,74667,1);Ga=y}else{if(Fa>>>0<=m>>>0){Ga=Fa;break}Av(m|0,48,Fa+F|0)|0;y=Fa;while(1){K=y+-1|0;if(K>>>0>m>>>0)y=K;else{Ga=K;break}}}while(0);q=t-Ga|0;ct(b,Ga,(S|0)>(q|0)?q:S);y=S-q|0;L=L+4|0;if(!(L>>>0>>0&(y|0)>-1)){Ha=y;break}else S=y}}else Ha=ya;kt(b,48,Ha+18|0,18,0);ct(b,za,p-za|0)}kt(b,32,f,A,h^8192);z=A}while(0);Ia=j;return ((z|0)<(f|0)?f:z)|0}function nt(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;F(c[h+4>>2]|0);return b|0}function ot(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;do if(b){if(d>>>0<128){a[b>>0]=d;f=1;break}if(!(c[c[(pt()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;f=1;break}else{c[(Gs()|0)>>2]=84;f=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;f=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;f=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;f=4;break}else{c[(Gs()|0)>>2]=84;f=-1;break}}else f=1;while(0);return f|0}function pt(){return qt()|0}function qt(){return 36400}function rt(){return qt()|0}function st(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=0;while(1){if((d[33824+f>>0]|0)==(b|0)){g=4;break}h=f+1|0;if((h|0)==87){i=87;g=5;break}else f=h}if((g|0)==4)if(!f)j=33920;else{i=f;g=5}if((g|0)==5){g=33920;f=i;while(1){i=g;do{b=i;i=i+1|0}while((a[b>>0]|0)!=0);f=f+-1|0;if(!f){j=i;break}else g=i}}return tt(j,c[e+20>>2]|0)|0}function tt(a,b){a=a|0;b=b|0;return ut(a,b)|0}function ut(a,b){a=a|0;b=b|0;var d=0;if(!b)d=0;else d=vt(c[b>>2]|0,c[b+4>>2]|0,a)|0;return ((d|0)==0?a:d)|0}function vt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=(c[b>>2]|0)+1794895138|0;g=wt(c[b+8>>2]|0,f)|0;h=wt(c[b+12>>2]|0,f)|0;i=wt(c[b+16>>2]|0,f)|0;a:do if((g>>>0>>2>>>0?(j=d-(g<<2)|0,h>>>0>>0&i>>>0>>0):0)?((i|h)&3|0)==0:0){j=h>>>2;k=i>>>2;l=0;m=g;while(1){n=m>>>1;o=l+n|0;p=o<<1;q=p+j|0;r=wt(c[b+(q<<2)>>2]|0,f)|0;s=wt(c[b+(q+1<<2)>>2]|0,f)|0;if(!(s>>>0>>0&r>>>0<(d-s|0)>>>0)){t=0;break a}if(a[b+(s+r)>>0]|0){t=0;break a}r=xt(e,b+s|0)|0;if(!r)break;s=(r|0)<0;if((m|0)==1){t=0;break a}l=s?l:o;m=s?n:m-n|0}m=p+k|0;l=wt(c[b+(m<<2)>>2]|0,f)|0;j=wt(c[b+(m+1<<2)>>2]|0,f)|0;if(j>>>0>>0&l>>>0<(d-j|0)>>>0)t=(a[b+(j+l)>>0]|0)==0?b+j|0:0;else t=0}else t=0;while(0);return t|0}function wt(a,b){a=a|0;b=b|0;var c=0;c=vv(a|0)|0;return ((b|0)==0?a:c)|0}function xt(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24){f=e;g=d}else{d=c;c=b;do{c=c+1|0;d=d+1|0;b=a[c>>0]|0;e=a[d>>0]|0}while(!(b<<24>>24==0?1:b<<24>>24!=e<<24>>24));f=e;g=b}return (g&255)-(f&255)|0}function yt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(zt(e)|0)){h=c[f>>2]|0;i=5}else j=0;else{h=g;i=5}a:do if((i|0)==5){g=e+20|0;f=c[g>>2]|0;k=f;if((h-f|0)>>>0>>0){j=Oa[c[e+36>>2]&7](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){l=0;m=b;n=d;o=k}else{f=d;while(1){p=f+-1|0;if((a[b+p>>0]|0)==10)break;if(!p){l=0;m=b;n=d;o=k;break b}else f=p}p=Oa[c[e+36>>2]&7](e,b,f)|0;if(p>>>0>>0){j=p;break a}l=f;m=b+f|0;n=d-f|0;o=c[g>>2]|0}while(0);zv(o|0,m|0,n|0)|0;c[g>>2]=(c[g>>2]|0)+n;j=l+n|0}while(0);return j|0}function zt(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=c[b>>2]|0;if(!(e&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);f=0}else{c[b>>2]=e|32;f=-1}return f|0}function At(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+20|0;f=c[e>>2]|0;g=(c[a+16>>2]|0)-f|0;a=g>>>0>d>>>0?d:g;zv(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function Bt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+8>>2]|0;e=c[a+4>>2]|0;f=d-e|0;c[a+108>>2]=f;if((b|0)!=0&(f|0)>(b|0))c[a+100>>2]=e+b;else c[a+100>>2]=d;return}function Ct(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0;a:do if(e>>>0>36){c[(Gs()|0)>>2]=22;i=0;j=0}else{k=b+4|0;l=b+100|0;do{m=c[k>>2]|0;if(m>>>0<(c[l>>2]|0)>>>0){c[k>>2]=m+1;n=d[m>>0]|0}else n=Dt(b)|0}while((Et(n)|0)!=0);b:do switch(n|0){case 43:case 45:{m=((n|0)==45)<<31>>31;o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;p=m;q=d[o>>0]|0;break b}else{p=m;q=Dt(b)|0;break b}break}default:{p=0;q=n}}while(0);m=(e|0)==0;do if((e|16|0)==16&(q|0)==48){o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;r=d[o>>0]|0}else r=Dt(b)|0;if((r|32|0)!=120)if(m){s=r;t=8;u=47;break}else{v=r;w=e;u=32;break}o=c[k>>2]|0;if(o>>>0<(c[l>>2]|0)>>>0){c[k>>2]=o+1;x=d[o>>0]|0}else x=Dt(b)|0;if((d[35729+x>>0]|0)>15){o=(c[l>>2]|0)==0;if(!o)c[k>>2]=(c[k>>2]|0)+-1;if(!f){Bt(b,0);i=0;j=0;break a}if(o){i=0;j=0;break a}c[k>>2]=(c[k>>2]|0)+-1;i=0;j=0;break a}else{s=x;t=16;u=47}}else{o=m?10:e;if(o>>>0>(d[35729+q>>0]|0)>>>0){v=q;w=o;u=32}else{if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+-1;Bt(b,0);c[(Gs()|0)>>2]=22;i=0;j=0;break a}}while(0);c:do if((u|0)==32)if((w|0)==10){m=v+-48|0;if(m>>>0<10){o=0;y=m;do{o=(o*10|0)+y|0;m=c[k>>2]|0;if(m>>>0<(c[l>>2]|0)>>>0){c[k>>2]=m+1;z=d[m>>0]|0}else z=Dt(b)|0;y=z+-48|0}while(y>>>0<10&o>>>0<429496729);if(y>>>0<10){m=z;A=o;C=0;D=y;while(1){E=qv(A|0,C|0,10,0)|0;H=G()|0;I=((D|0)<0)<<31>>31;J=~I;if(H>>>0>J>>>0|(H|0)==(J|0)&E>>>0>~D>>>0){K=10;L=m;M=A;N=C;u=76;break c}A=kv(E|0,H|0,D|0,I|0)|0;C=G()|0;I=c[k>>2]|0;if(I>>>0<(c[l>>2]|0)>>>0){c[k>>2]=I+1;O=d[I>>0]|0}else O=Dt(b)|0;D=O+-48|0;if(!(D>>>0<10&(C>>>0<429496729|(C|0)==429496729&A>>>0<2576980378)))break;else m=O}if(D>>>0>9){P=p;Q=C;R=A}else{K=10;L=O;M=A;N=C;u=76}}else{P=p;Q=0;R=o}}else{P=p;Q=0;R=0}}else{s=v;t=w;u=47}while(0);d:do if((u|0)==47){if(!(t+-1&t)){m=a[74641+((t*23|0)>>>5&7)>>0]|0;y=a[35729+s>>0]|0;I=y&255;if(t>>>0>I>>>0){H=0;E=I;do{H=E|H<>2]|0;if(J>>>0<(c[l>>2]|0)>>>0){c[k>>2]=J+1;S=d[J>>0]|0}else S=Dt(b)|0;T=a[35729+S>>0]|0;E=T&255}while(H>>>0<134217728&t>>>0>E>>>0);U=S;V=E;W=0;X=H;Y=T}else{U=s;V=I;W=0;X=0;Y=y}o=tv(-1,-1,m|0)|0;C=G()|0;if(t>>>0<=V>>>0|(C>>>0>>0|(C|0)==(W|0)&o>>>0>>0)){K=t;L=U;M=X;N=W;u=76;break}A=X;D=W;J=Y;while(1){Z=uv(A|0,D|0,m|0)|0;_=G()|0;$=Z|J&255;Z=c[k>>2]|0;if(Z>>>0<(c[l>>2]|0)>>>0){c[k>>2]=Z+1;aa=d[Z>>0]|0}else aa=Dt(b)|0;J=a[35729+aa>>0]|0;if(t>>>0<=(J&255)>>>0|(_>>>0>C>>>0|(_|0)==(C|0)&$>>>0>o>>>0)){K=t;L=aa;M=$;N=_;u=76;break d}else{A=$;D=_}}}D=a[35729+s>>0]|0;A=D&255;if(t>>>0>A>>>0){o=0;C=A;do{o=C+(B(o,t)|0)|0;J=c[k>>2]|0;if(J>>>0<(c[l>>2]|0)>>>0){c[k>>2]=J+1;ba=d[J>>0]|0}else ba=Dt(b)|0;ca=a[35729+ba>>0]|0;C=ca&255}while(o>>>0<119304647&t>>>0>C>>>0);da=ba;ea=C;fa=ca;ga=o;ha=0}else{da=s;ea=A;fa=D;ga=0;ha=0}if(t>>>0>ea>>>0){J=rv(-1,-1,t|0,0)|0;m=G()|0;y=da;I=ha;H=ga;E=fa;while(1){if(I>>>0>m>>>0|(I|0)==(m|0)&H>>>0>J>>>0){K=t;L=y;M=H;N=I;u=76;break d}_=qv(H|0,I|0,t|0,0)|0;$=G()|0;Z=E&255;if($>>>0>4294967295|($|0)==-1&_>>>0>~Z>>>0){K=t;L=y;M=H;N=I;u=76;break d}ia=kv(_|0,$|0,Z|0,0)|0;Z=G()|0;$=c[k>>2]|0;if($>>>0<(c[l>>2]|0)>>>0){c[k>>2]=$+1;ja=d[$>>0]|0}else ja=Dt(b)|0;E=a[35729+ja>>0]|0;if(t>>>0<=(E&255)>>>0){K=t;L=ja;M=ia;N=Z;u=76;break}else{y=ja;I=Z;H=ia}}}else{K=t;L=da;M=ga;N=ha;u=76}}while(0);if((u|0)==76)if(K>>>0>(d[35729+L>>0]|0)>>>0){do{H=c[k>>2]|0;if(H>>>0<(c[l>>2]|0)>>>0){c[k>>2]=H+1;ka=d[H>>0]|0}else ka=Dt(b)|0}while(K>>>0>(d[35729+ka>>0]|0)>>>0);c[(Gs()|0)>>2]=34;P=(g&1|0)==0&0==0?p:0;Q=h;R=g}else{P=p;Q=N;R=M}if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+-1;if(!(Q>>>0>>0|(Q|0)==(h|0)&R>>>0>>0)){if(!((g&1|0)!=0|0!=0|(P|0)!=0)){c[(Gs()|0)>>2]=34;H=kv(g|0,h|0,-1,-1)|0;i=G()|0;j=H;break}if(Q>>>0>h>>>0|(Q|0)==(h|0)&R>>>0>g>>>0){c[(Gs()|0)>>2]=34;i=h;j=g;break}}H=((P|0)<0)<<31>>31;I=lv(R^P|0,Q^H|0,P|0,H|0)|0;i=G()|0;j=I}while(0);F(i|0);return j|0}function Dt(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;e=b+104|0;f=c[e>>2]|0;if((f|0)!=0?(c[b+108>>2]|0)>=(f|0):0)g=4;else{f=Ft(b)|0;if((f|0)>=0){h=c[e>>2]|0;e=c[b+8>>2]|0;if(h){i=c[b+4>>2]|0;j=h-(c[b+108>>2]|0)|0;h=e;if((e-i|0)<(j|0)){k=h;g=9}else{c[b+100>>2]=i+(j+-1);l=h}}else{k=e;g=9}if((g|0)==9){c[b+100>>2]=e;l=k}k=b+4|0;if(!l)m=c[k>>2]|0;else{e=c[k>>2]|0;k=b+108|0;c[k>>2]=l+1-e+(c[k>>2]|0);m=e}e=m+-1|0;if((f|0)==(d[e>>0]|0|0))n=f;else{a[e>>0]=f;n=f}}else g=4}if((g|0)==4){c[b+100>>2]=0;n=-1}return n|0}function Et(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function Ft(a){a=a|0;var b=0,e=0,f=0;b=Ia;Ia=Ia+16|0;e=b;if((Gt(a)|0)==0?(Oa[c[a+32>>2]&7](a,e,1)|0)==1:0)f=d[e>>0]|0;else f=-1;Ia=b;return f|0}function Gt(b){b=b|0;var d=0,e=0,f=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;e=b+20|0;d=b+28|0;if((c[e>>2]|0)>>>0>(c[d>>2]|0)>>>0)Oa[c[b+36>>2]&7](b,0,0)|0;c[b+16>>2]=0;c[d>>2]=0;c[e>>2]=0;e=c[b>>2]|0;if(!(e&4)){d=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=d;c[b+4>>2]=d;f=e<<27>>31}else{c[b>>2]=e|32;f=-1}return f|0}function Ht(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=b;a:do if(!(d&3)){e=b;f=5}else{g=b;h=d;while(1){if(!(a[g>>0]|0)){i=h;break a}j=g+1|0;h=j;if(!(h&3)){e=j;f=5;break}else g=j}}while(0);if((f|0)==5){f=e;while(1){k=c[f>>2]|0;if(!((k&-2139062144^-2139062144)&k+-16843009))f=f+4|0;else break}if(!((k&255)<<24>>24))l=f;else{k=f;while(1){f=k+1|0;if(!(a[f>>0]|0)){l=f;break}else k=f}}i=l}return i-d|0}function It(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=Ia;Ia=Ia+208|0;g=f;h=f+192|0;i=B(d,b)|0;b=h;c[b>>2]=1;c[b+4>>2]=0;a:do if(i|0){b=0-d|0;c[g+4>>2]=d;c[g>>2]=d;j=2;k=d;l=d;while(1){m=k+d+l|0;c[g+(j<<2)>>2]=m;if(m>>>0>>0){n=l;j=j+1|0;l=m;k=n}else break}k=a+i+b|0;if(k>>>0>a>>>0){l=k;j=1;n=a;m=1;while(1){do if((m&3|0)!=3){o=j+-1|0;if((c[g+(o<<2)>>2]|0)>>>0<(l-n|0)>>>0)Jt(n,d,e,j,g);else Lt(n,d,e,h,j,0,g);if((j|0)==1){Mt(h,1);p=0;break}else{Mt(h,o);p=1;break}}else{Jt(n,d,e,j,g);Kt(h,2);p=j+2|0}while(0);o=c[h>>2]|1;c[h>>2]=o;q=n+d|0;if(q>>>0>>0){j=p;n=q;m=o}else{r=p;s=q;t=o;break}}}else{r=1;s=a;t=1}Lt(s,d,e,h,r,0,g);m=h+4|0;n=s;j=r;k=t;while(1){if((j|0)==1&(k|0)==1)if(!(c[m>>2]|0))break a;else u=19;else if((j|0)<2)u=19;else{Mt(h,2);l=j+-2|0;c[h>>2]=c[h>>2]^7;Kt(h,1);Lt(n+(0-(c[g+(l<<2)>>2]|0))+b|0,d,e,h,j+-1|0,1,g);Mt(h,1);o=c[h>>2]|1;c[h>>2]=o;q=n+b|0;Lt(q,d,e,h,l,1,g);v=q;w=l;x=o}if((u|0)==19){u=0;o=Nt(h)|0;Kt(h,o);v=n+b|0;w=o+j|0;x=c[h>>2]|0}n=v;j=w;k=x}}while(0);Ia=f;return}function Jt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=Ia;Ia=Ia+240|0;h=g;c[h>>2]=a;a:do if((e|0)>1){i=0-b|0;j=a;k=e;l=1;m=a;while(1){n=j+i|0;o=k+-2|0;p=n+(0-(c[f+(o<<2)>>2]|0))|0;if((Na[d&3](m,p)|0)>-1?(Na[d&3](m,n)|0)>-1:0){q=l;break a}r=h+(l<<2)|0;if((Na[d&3](p,n)|0)>-1){c[r>>2]=p;s=p;t=k+-1|0}else{c[r>>2]=n;s=n;t=o}o=l+1|0;if((t|0)<=1){q=o;break a}j=s;k=t;l=o;m=c[h>>2]|0}}else q=1;while(0);Pt(b,h,q);Ia=g;return}function Kt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+4|0;if(b>>>0>31){e=c[d>>2]|0;c[a>>2]=e;c[d>>2]=0;f=b+-32|0;g=0;h=e}else{f=b;g=c[d>>2]|0;h=c[a>>2]|0}c[a>>2]=g<<32-f|h>>>f;c[d>>2]=g>>>f;return}function Lt(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;i=Ia;Ia=Ia+240|0;j=i+232|0;k=i;l=c[e>>2]|0;c[j>>2]=l;m=c[e+4>>2]|0;e=j+4|0;c[e>>2]=m;c[k>>2]=a;a:do if((l|0)!=1|(m|0)!=0?(n=0-b|0,o=a+(0-(c[h+(f<<2)>>2]|0))|0,(Na[d&3](o,a)|0)>=1):0){p=1;q=f;r=(g|0)==0;s=a;t=o;while(1){if(r&(q|0)>1){o=s+n|0;u=c[h+(q+-2<<2)>>2]|0;if((Na[d&3](o,t)|0)>-1){v=p;w=q;x=s;y=10;break a}if((Na[d&3](o+(0-u)|0,t)|0)>-1){v=p;w=q;x=s;y=10;break a}}u=p+1|0;c[k+(p<<2)>>2]=t;o=Nt(j)|0;Kt(j,o);z=o+q|0;if(!((c[j>>2]|0)!=1|(c[e>>2]|0)!=0)){v=u;w=z;x=t;y=10;break a}o=t+(0-(c[h+(z<<2)>>2]|0))|0;if((Na[d&3](o,c[k>>2]|0)|0)<1){A=t;B=u;C=z;D=0;y=9;break}else{E=t;p=u;q=z;r=1;t=o;s=E}}}else{A=a;B=1;C=f;D=g;y=9}while(0);if((y|0)==9?(D|0)==0:0){v=B;w=C;x=A;y=10}if((y|0)==10){Pt(b,k,v);Jt(x,b,d,w,h)}Ia=i;return}function Mt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[d>>2]=e;c[a>>2]=0;f=b+-32|0;g=0;h=e}else{f=b;g=c[a>>2]|0;h=c[d>>2]|0}c[d>>2]=g>>>(32-f|0)|h<>2]=g<>2]|0)+-1|0)|0;if(!b){d=Ot(c[a+4>>2]|0)|0;return ((d|0)==0?0:d+32|0)|0}else return b|0;return 0}function Ot(a){a=a|0;var b=0,c=0,d=0;if(a)if(!(a&1)){b=a;a=0;while(1){c=a+1|0;if(!(b&2)){b=b>>>1;a=c}else{d=c;break}}}else d=0;else d=32;return d|0}function Pt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ia;Ia=Ia+256|0;f=e;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=f,a|0):0){h=a;i=f;while(1){j=h>>>0<256?h:256;zv(i|0,c[b>>2]|0,j|0)|0;k=0;do{l=b+(k<<2)|0;k=k+1|0;zv(c[l>>2]|0,c[b+(k<<2)>>2]|0,j|0)|0;c[l>>2]=(c[l>>2]|0)+j}while((k|0)!=(d|0));k=h-j|0;if(!k)break a;h=k;i=c[g>>2]|0}}while(0);Ia=e;return}function Qt(a,b){a=a|0;b=b|0;St(a,b)|0;return a|0}function Rt(a,b){a=a|0;b=b|0;Qt(a+(Ht(a)|0)|0,b)|0;return a|0}function St(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=d;a:do if(!((e^b)&3)){if(!(e&3)){f=d;g=b}else{h=d;i=b;while(1){j=a[h>>0]|0;a[i>>0]=j;if(!(j<<24>>24)){k=i;break a}j=h+1|0;l=i+1|0;if(!(j&3)){f=j;g=l;break}else{h=j;i=l}}}i=c[f>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009)){h=g;l=f;j=i;while(1){i=l+4|0;m=h+4|0;c[h>>2]=j;j=c[i>>2]|0;if((j&-2139062144^-2139062144)&j+-16843009|0){n=i;o=m;break}else{h=m;l=i}}}else{n=f;o=g}p=n;q=o;r=10}else{p=d;q=b;r=10}while(0);if((r|0)==10){r=a[p>>0]|0;a[q>>0]=r;if(!(r<<24>>24))k=q;else{r=q;q=p;while(1){q=q+1|0;p=r+1|0;b=a[q>>0]|0;a[p>>0]=b;if(!(b<<24>>24)){k=p;break}else r=p}}}return k|0}function Tt(b,c){b=b|0;c=c|0;var d=0;d=_t(b,c)|0;return ((a[d>>0]|0)==(c&255)<<24>>24?d:0)|0}function Ut(a){a=a|0;var b=0,d=0,e=0,f=0;b=Ia;Ia=Ia+16|0;d=b+8|0;e=Zt(a,589824,b)|0;do if((e|0)>=0){a=ys(1,2072)|0;if(!a){c[d>>2]=e;ea(6,d|0)|0;f=0;break}else{c[a>>2]=e;f=a;break}}else f=0;while(0);Ia=b;return f|0}function Vt(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ia;Ia=Ia+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=Fs($(195,e|0)|0)|0;Ia=d;return b|0}function Wt(a){a=a|0;var b=0;b=Yt(c[a>>2]|0)|0;xs(a);return b|0}function Xt(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=Ia;Ia=Ia+16|0;d=b;f=a+8|0;g=c[f>>2]|0;h=a+12|0;a:do if((g|0)<(c[h>>2]|0)){i=a+24+g|0;j=g;k=7}else{l=a+24|0;c[d>>2]=c[a>>2];c[d+4>>2]=l;c[d+8>>2]=2048;m=aa(220,d|0)|0;if((m|0)>=1){c[h>>2]=m;c[f>>2]=0;i=l;j=0;k=7;break}switch(m|0){case 0:case -2:{n=0;break a;break}default:{}}c[(Gs()|0)>>2]=0-m;n=0}while(0);if((k|0)==7){c[f>>2]=j+(e[i+8>>1]|0);c[a+4>>2]=c[i+4>>2];n=i}Ia=b;return n|0}function Yt(a){a=a|0;var b=0,d=0;b=Ia;Ia=Ia+16|0;d=b;c[d>>2]=Hs(a)|0;a=ea(6,d|0)|0;d=Fs((a|0)==-4?0:a)|0;Ia=b;return d|0}function Zt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Ia;Ia=Ia+48|0;f=e+32|0;g=e+16|0;h=e;if(!(b&4194368))i=0;else{c[h>>2]=d;d=(c[h>>2]|0)+(4-1)&~(4-1);j=c[d>>2]|0;c[h>>2]=d+4;i=j}c[g>>2]=a;c[g+4>>2]=b|32768;c[g+8>>2]=i;i=ca(5,g|0)|0;if(!((b&524288|0)==0|(i|0)<0)){c[f>>2]=i;c[f+4>>2]=2;c[f+8>>2]=1;ba(221,f|0)|0}f=Fs(i)|0;Ia=e;return f|0}function _t(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=d&255;a:do if(!e)f=b+(Ht(b)|0)|0;else{if(!(b&3))g=b;else{h=d&255;i=b;while(1){j=a[i>>0]|0;if(j<<24>>24==0?1:j<<24>>24==h<<24>>24){f=i;break a}j=i+1|0;if(!(j&3)){g=j;break}else i=j}}i=B(e,16843009)|0;h=c[g>>2]|0;b:do if(!((h&-2139062144^-2139062144)&h+-16843009)){j=g;k=h;while(1){l=k^i;if((l&-2139062144^-2139062144)&l+-16843009|0){m=j;break b}l=j+4|0;k=c[l>>2]|0;if((k&-2139062144^-2139062144)&k+-16843009|0){m=l;break}else j=l}}else m=g;while(0);i=d&255;h=m;while(1){j=a[h>>0]|0;if(j<<24>>24==0?1:j<<24>>24==i<<24>>24){f=h;break}else h=h+1|0}}while(0);return f|0}function $t(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0.0;e=Ia;Ia=Ia+128|0;f=e;g=f;h=g+124|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));g=f+4|0;c[g>>2]=a;h=f+8|0;c[h>>2]=-1;c[f+44>>2]=a;c[f+76>>2]=-1;Bt(f,0);i=+au(f,d,1);d=(c[g>>2]|0)-(c[h>>2]|0)+(c[f+108>>2]|0)|0;if(b|0)c[b>>2]=(d|0)==0?a:a+d|0;Ia=e;return +i}function au(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;switch(e|0){case 0:{g=-149;h=24;i=4;break}case 1:{g=-1074;h=53;i=4;break}case 2:{g=-1074;h=53;i=4;break}default:j=0.0}a:do if((i|0)==4){e=b+4|0;k=b+100|0;do{l=c[e>>2]|0;if(l>>>0<(c[k>>2]|0)>>>0){c[e>>2]=l+1;m=d[l>>0]|0}else m=Dt(b)|0}while((Et(m)|0)!=0);b:do switch(m|0){case 43:case 45:{l=1-(((m|0)==45&1)<<1)|0;n=c[e>>2]|0;if(n>>>0<(c[k>>2]|0)>>>0){c[e>>2]=n+1;o=d[n>>0]|0;p=l;break b}else{o=Dt(b)|0;p=l;break b}break}default:{o=m;p=1}}while(0);l=0;n=o;while(1){if((n|32|0)!=(a[74650+l>>0]|0)){q=n;t=l;break}do if(l>>>0<7){u=c[e>>2]|0;if(u>>>0<(c[k>>2]|0)>>>0){c[e>>2]=u+1;v=d[u>>0]|0;break}else{v=Dt(b)|0;break}}else v=n;while(0);l=l+1|0;if(l>>>0>=8){q=v;t=8;break}else n=v}c:do switch(t&2147483647|0){case 8:break;case 3:{i=23;break}default:{n=(f|0)!=0;if(n&t>>>0>3)if((t|0)==8)break c;else{i=23;break c}d:do if(!t){l=0;u=q;while(1){if((u|32|0)!=(a[74659+l>>0]|0)){w=l;x=u;break d}do if(l>>>0<2){y=c[e>>2]|0;if(y>>>0<(c[k>>2]|0)>>>0){c[e>>2]=y+1;z=d[y>>0]|0;break}else{z=Dt(b)|0;break}}else z=u;while(0);l=l+1|0;if(l>>>0>=3){w=3;x=z;break}else u=z}}else{w=t;x=q}while(0);switch(w|0){case 3:{u=c[e>>2]|0;if(u>>>0<(c[k>>2]|0)>>>0){c[e>>2]=u+1;A=d[u>>0]|0}else A=Dt(b)|0;if((A|0)!=40){if(!(c[k>>2]|0)){j=r;break a}c[e>>2]=(c[e>>2]|0)+-1;j=r;break a}u=1;while(1){l=c[e>>2]|0;if(l>>>0<(c[k>>2]|0)>>>0){c[e>>2]=l+1;B=d[l>>0]|0}else B=Dt(b)|0;if(!((B+-48|0)>>>0<10|(B+-65|0)>>>0<26)?!((B|0)==95|(B+-97|0)>>>0<26):0)break;u=u+1|0}if((B|0)==41){j=r;break a}l=(c[k>>2]|0)==0;if(!l)c[e>>2]=(c[e>>2]|0)+-1;if(!n){c[(Gs()|0)>>2]=22;Bt(b,0);j=0.0;break a}if(!u){j=r;break a}y=u;while(1){y=y+-1|0;if(!l)c[e>>2]=(c[e>>2]|0)+-1;if(!y){j=r;break a}}break}case 0:{if((x|0)==48){y=c[e>>2]|0;if(y>>>0<(c[k>>2]|0)>>>0){c[e>>2]=y+1;C=d[y>>0]|0}else C=Dt(b)|0;if((C|32|0)==120){j=+bu(b,h,g,p,f);break a}if(!(c[k>>2]|0))D=48;else{c[e>>2]=(c[e>>2]|0)+-1;D=48}}else D=x;j=+cu(b,D,h,g,p,f);break a;break}default:{if(c[k>>2]|0)c[e>>2]=(c[e>>2]|0)+-1;c[(Gs()|0)>>2]=22;Bt(b,0);j=0.0;break a}}}}while(0);if((i|0)==23){y=(c[k>>2]|0)==0;if(!y)c[e>>2]=(c[e>>2]|0)+-1;if((f|0)!=0&t>>>0>3){l=t;do{if(!y)c[e>>2]=(c[e>>2]|0)+-1;l=l+-1|0}while(l>>>0>3)}}j=+(p|0)*s}while(0);return +j}function bu(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0.0,C=0.0,D=0,E=0,F=0,H=0,I=0,J=0,K=0.0,L=0,M=0.0,N=0.0,O=0,P=0,Q=0.0,R=0,S=0,T=0,U=0.0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0.0,aa=0,ba=0.0;h=a+4|0;i=c[h>>2]|0;j=a+100|0;if(i>>>0<(c[j>>2]|0)>>>0){c[h>>2]=i+1;k=d[i>>0]|0}else k=Dt(a)|0;i=k;k=0;a:while(1){switch(i|0){case 46:{l=10;break a;break}case 48:break;default:{m=0;n=i;o=k;p=0;q=0;break a}}r=c[h>>2]|0;if(r>>>0<(c[j>>2]|0)>>>0){c[h>>2]=r+1;s=d[r>>0]|0}else s=Dt(a)|0;i=s;k=1}if((l|0)==10){s=c[h>>2]|0;if(s>>>0<(c[j>>2]|0)>>>0){c[h>>2]=s+1;t=d[s>>0]|0}else t=Dt(a)|0;if((t|0)==48){s=0;i=0;while(1){r=c[h>>2]|0;if(r>>>0<(c[j>>2]|0)>>>0){c[h>>2]=r+1;u=d[r>>0]|0}else u=Dt(a)|0;r=kv(s|0,i|0,-1,-1)|0;v=G()|0;if((u|0)==48){s=r;i=v}else{m=1;n=u;o=1;p=r;q=v;break}}}else{m=1;n=t;o=k;p=0;q=0}}k=0;w=1.0;x=0.0;t=0;u=m;m=n;n=o;o=0;i=0;s=p;p=q;while(1){q=m+-48|0;v=m|32;if(q>>>0>=10){r=(m|0)==46;if(!(r|(v+-97|0)>>>0<6)){y=m;break}if(r)if(!u){z=1;A=k;B=w;C=x;D=t;E=n;F=i;H=o;I=i;J=o}else{y=46;break}else l=24}else l=24;if((l|0)==24){l=0;r=(m|0)>57?v+-87|0:q;do if(!((o|0)<0|(o|0)==0&i>>>0<8))if((o|0)<0|(o|0)==0&i>>>0<14){K=w*.0625;L=k;M=K;N=x+K*+(r|0);O=t;break}else{q=(k|0)!=0|(r|0)==0;L=q?k:1;M=w;N=q?x:x+w*.5;O=t;break}else{L=k;M=w;N=x;O=r+(t<<4)|0}while(0);r=kv(i|0,o|0,1,0)|0;z=u;A=L;B=M;C=N;D=O;E=1;F=s;H=p;I=r;J=G()|0}r=c[h>>2]|0;if(r>>>0<(c[j>>2]|0)>>>0){c[h>>2]=r+1;P=d[r>>0]|0}else P=Dt(a)|0;k=A;w=B;x=C;t=D;u=z;m=P;n=E;o=J;i=I;s=F;p=H}do if(!n){H=(c[j>>2]|0)==0;if(!H)c[h>>2]=(c[h>>2]|0)+-1;if(g){if(!H?(c[h>>2]=(c[h>>2]|0)+-1,!((u|0)==0|H)):0)c[h>>2]=(c[h>>2]|0)+-1}else Bt(a,0);Q=+(f|0)*0.0}else{H=(u|0)==0;F=H?i:s;I=H?o:p;if((o|0)<0|(o|0)==0&i>>>0<8){H=t;J=i;E=o;while(1){P=H<<4;m=J;J=kv(J|0,E|0,1,0)|0;z=E;E=G()|0;if(!((z|0)<0|(z|0)==0&m>>>0<7)){R=P;break}else H=P}}else R=t;if((y|32|0)==112){H=du(a,g)|0;E=G()|0;if((H|0)==0&(E|0)==-2147483648){if(!g){Bt(a,0);Q=0.0;break}if(!(c[j>>2]|0)){S=0;T=0}else{c[h>>2]=(c[h>>2]|0)+-1;S=0;T=0}}else{S=H;T=E}}else if(!(c[j>>2]|0)){S=0;T=0}else{c[h>>2]=(c[h>>2]|0)+-1;S=0;T=0}E=uv(F|0,I|0,2)|0;H=kv(E|0,G()|0,-32,-1)|0;E=kv(H|0,G()|0,S|0,T|0)|0;H=G()|0;if(!R){Q=+(f|0)*0.0;break}J=0-e|0;P=((J|0)<0)<<31>>31;if((H|0)>(P|0)|(H|0)==(P|0)&E>>>0>J>>>0){c[(Gs()|0)>>2]=34;Q=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}J=e+-106|0;P=((J|0)<0)<<31>>31;if((H|0)<(P|0)|(H|0)==(P|0)&E>>>0>>0){c[(Gs()|0)>>2]=34;Q=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((R|0)>-1){C=x;J=R;P=E;m=H;while(1){z=!(C>=.5);D=J<<1|(z^1)&1;B=C+(z?C:C+-1.0);z=kv(P|0,m|0,-1,-1)|0;A=G()|0;if((D|0)>-1){C=B;J=D;P=z;m=A}else{U=B;V=D;W=z;X=A;break}}}else{U=x;V=R;W=E;X=H}m=((b|0)<0)<<31>>31;P=lv(32,0,e|0,((e|0)<0)<<31>>31|0)|0;J=kv(P|0,G()|0,W|0,X|0)|0;P=G()|0;if((P|0)<(m|0)|(P|0)==(m|0)&J>>>0>>0)if((J|0)>0){Y=J;l=65}else{Z=0;_=84;l=67}else{Y=b;l=65}if((l|0)==65)if((Y|0)<53){Z=Y;_=84-Y|0;l=67}else{$=0.0;aa=Y;ba=+(f|0)}if((l|0)==67){C=+(f|0);$=+Ns(+Ls(1.0,_),C);aa=Z;ba=C}J=(V&1|0)==0&(U!=0.0&(aa|0)<32);C=(J?0.0:U)*ba+($+ba*+((V+(J&1)|0)>>>0))-$;if(!(C!=0.0))c[(Gs()|0)>>2]=34;Q=+Ss(C,W)}while(0);return +Q}function cu(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0.0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0.0,fb=0,gb=0.0,hb=0.0,ib=0.0,jb=0.0,kb=0.0,lb=0.0,mb=0.0,nb=0.0,ob=0.0,pb=0.0,qb=0;i=Ia;Ia=Ia+512|0;j=i;k=f+e|0;l=0-k|0;m=a+4|0;n=a+100|0;o=b;b=0;a:while(1){switch(o|0){case 46:{p=7;break a;break}case 48:break;default:{q=0;r=o;s=b;t=0;v=0;break a}}w=c[m>>2]|0;if(w>>>0<(c[n>>2]|0)>>>0){c[m>>2]=w+1;x=d[w>>0]|0}else x=Dt(a)|0;o=x;b=1}if((p|0)==7){x=c[m>>2]|0;if(x>>>0<(c[n>>2]|0)>>>0){c[m>>2]=x+1;y=d[x>>0]|0}else y=Dt(a)|0;if((y|0)==48){x=0;o=0;while(1){w=kv(x|0,o|0,-1,-1)|0;z=G()|0;A=c[m>>2]|0;if(A>>>0<(c[n>>2]|0)>>>0){c[m>>2]=A+1;C=d[A>>0]|0}else C=Dt(a)|0;if((C|0)==48){x=w;o=z}else{q=1;r=C;s=1;t=w;v=z;break}}}else{q=1;r=y;s=b;t=0;v=0}}c[j>>2]=0;b=r+-48|0;y=(r|0)==46;b:do if(y|b>>>0<10){C=j+496|0;o=0;x=0;z=0;w=q;A=s;D=r;E=y;F=b;H=t;I=v;J=0;K=0;c:while(1){do if(E)if(!w){L=o;M=x;N=1;O=z;P=A;Q=J;R=K;S=J;T=K}else break c;else{U=kv(J|0,K|0,1,0)|0;V=G()|0;W=(D|0)!=48;if((x|0)>=125){if(!W){L=o;M=x;N=w;O=z;P=A;Q=H;R=I;S=U;T=V;break}c[C>>2]=c[C>>2]|1;L=o;M=x;N=w;O=z;P=A;Q=H;R=I;S=U;T=V;break}X=j+(x<<2)|0;if(!o)Y=F;else Y=D+-48+((c[X>>2]|0)*10|0)|0;c[X>>2]=Y;X=o+1|0;Z=(X|0)==9;L=Z?0:X;M=x+(Z&1)|0;N=w;O=W?U:z;P=1;Q=H;R=I;S=U;T=V}while(0);V=c[m>>2]|0;if(V>>>0<(c[n>>2]|0)>>>0){c[m>>2]=V+1;_=d[V>>0]|0}else _=Dt(a)|0;F=_+-48|0;E=(_|0)==46;if(!(E|F>>>0<10)){$=L;aa=M;ba=O;ca=N;da=_;ea=P;fa=Q;ga=S;ha=R;ia=T;p=31;break b}else{o=L;x=M;z=O;w=N;A=P;D=_;H=Q;I=R;J=S;K=T}}ja=o;ka=x;la=z;ma=J;na=K;oa=H;pa=I;qa=(A|0)!=0;p=39}else{$=0;aa=0;ba=0;ca=q;da=r;ea=s;fa=t;ga=0;ha=v;ia=0;p=31}while(0);do if((p|0)==31){v=(ca|0)==0;t=v?ga:fa;s=v?ia:ha;v=(ea|0)!=0;if(!(v&(da|32|0)==101))if((da|0)>-1){ja=$;ka=aa;la=ba;ma=ga;na=ia;oa=t;pa=s;qa=v;p=39;break}else{ra=$;sa=aa;ta=ba;ua=ga;va=ia;wa=v;xa=t;ya=s;p=41;break}v=du(a,h)|0;r=G()|0;if((v|0)==0&(r|0)==-2147483648){if(!h){Bt(a,0);za=0.0;break}if(!(c[n>>2]|0)){Aa=0;Ba=0}else{c[m>>2]=(c[m>>2]|0)+-1;Aa=0;Ba=0}}else{Aa=v;Ba=r}r=kv(Aa|0,Ba|0,t|0,s|0)|0;Ca=$;Da=aa;Ea=ba;Fa=r;Ga=ga;Ha=G()|0;Ja=ia;p=43}while(0);if((p|0)==39)if(c[n>>2]|0){c[m>>2]=(c[m>>2]|0)+-1;if(qa){Ca=ja;Da=ka;Ea=la;Fa=oa;Ga=ma;Ha=pa;Ja=na;p=43}else p=42}else{ra=ja;sa=ka;ta=la;ua=ma;va=na;wa=qa;xa=oa;ya=pa;p=41}if((p|0)==41)if(wa){Ca=ra;Da=sa;Ea=ta;Fa=xa;Ga=ua;Ha=ya;Ja=va;p=43}else p=42;do if((p|0)==42){c[(Gs()|0)>>2]=22;Bt(a,0);za=0.0}else if((p|0)==43){va=c[j>>2]|0;if(!va){za=+(g|0)*0.0;break}if(((Ja|0)<0|(Ja|0)==0&Ga>>>0<10)&((Fa|0)==(Ga|0)&(Ha|0)==(Ja|0))?(e|0)>30|(va>>>e|0)==0:0){za=+(g|0)*+(va>>>0);break}va=(f|0)/-2|0;ya=((va|0)<0)<<31>>31;if((Ha|0)>(ya|0)|(Ha|0)==(ya|0)&Fa>>>0>va>>>0){c[(Gs()|0)>>2]=34;za=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}va=f+-106|0;ya=((va|0)<0)<<31>>31;if((Ha|0)<(ya|0)|(Ha|0)==(ya|0)&Fa>>>0>>0){c[(Gs()|0)>>2]=34;za=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!Ca)Ka=Da;else{if((Ca|0)<9){va=j+(Da<<2)|0;ya=Ca;ua=c[va>>2]|0;while(1){ua=ua*10|0;if((ya|0)>=8)break;else ya=ya+1|0}c[va>>2]=ua}Ka=Da+1|0}if((Ea|0)<9?(Ea|0)<=(Fa|0)&(Fa|0)<18:0){if((Fa|0)==9){za=+(g|0)*+((c[j>>2]|0)>>>0);break}if((Fa|0)<9){za=+(g|0)*+((c[j>>2]|0)>>>0)/+(c[36e3+(8-Fa<<2)>>2]|0);break}ya=e+27+(B(Fa,-3)|0)|0;A=c[j>>2]|0;if((ya|0)>30|(A>>>ya|0)==0){za=+(g|0)*+(A>>>0)*+(c[36e3+(Fa+-10<<2)>>2]|0);break}}A=(Fa|0)%9|0;if(!A){La=Ka;Ma=0;Na=Fa}else{ya=(Fa|0)>-1?A:A+9|0;A=c[36e3+(8-ya<<2)>>2]|0;if(Ka){I=1e9/(A|0)|0;H=0;K=0;J=Fa;z=0;do{x=j+(z<<2)|0;o=c[x>>2]|0;xa=(o>>>0)/(A>>>0)|0;ta=o-(B(xa,A)|0)|0;o=xa+H|0;c[x>>2]=o;H=B(I,ta)|0;ta=(z|0)==(K|0)&(o|0)==0;J=ta?J+-9|0:J;K=ta?K+1&127:K;z=z+1|0}while((z|0)!=(Ka|0));if(!H){Oa=K;Pa=Ka;Qa=J}else{c[j+(Ka<<2)>>2]=H;Oa=K;Pa=Ka+1|0;Qa=J}}else{Oa=0;Pa=0;Qa=Fa}La=Pa;Ma=Oa;Na=9-ya+Qa|0}z=0;I=La;A=Ma;ua=Na;d:while(1){va=(ua|0)<18;ta=(ua|0)==18;o=j+(A<<2)|0;Ra=z;Sa=I;while(1){if(!va){if(!ta){Ta=ua;break d}if((c[o>>2]|0)>>>0>=9007199){Ta=18;break d}}x=0;Ua=Sa;xa=Sa+127|0;while(1){sa=xa&127;ra=j+(sa<<2)|0;wa=uv(c[ra>>2]|0,0,29)|0;pa=kv(wa|0,G()|0,x|0,0)|0;wa=G()|0;if(wa>>>0>0|(wa|0)==0&pa>>>0>1e9){oa=rv(pa|0,wa|0,1e9,0)|0;qa=qv(oa|0,G()|0,1e9,0)|0;na=lv(pa|0,wa|0,qa|0,G()|0)|0;G()|0;Va=oa;Wa=na}else{Va=0;Wa=pa}c[ra>>2]=Wa;ra=(sa|0)==(A|0);Xa=(sa|0)!=(Ua+127&127|0)|ra?Ua:(Wa|0)==0?sa:Ua;if(ra)break;else{x=Va;Ua=Xa;xa=sa+-1|0}}Ya=Ra+-29|0;if(!Va){Ra=Ya;Sa=Ua}else break}o=A+127&127;ta=Xa+127&127;va=j+((Xa+126&127)<<2)|0;if((o|0)==(Xa|0)){c[va>>2]=c[va>>2]|c[j+(ta<<2)>>2];Za=ta}else Za=Ua;c[j+(o<<2)>>2]=Va;z=Ya;I=Za;A=o;ua=ua+9|0}ua=Ra;I=A;z=Ta;ya=Sa;e:while(1){J=ya+1&127;K=j+((ya+127&127)<<2)|0;H=ua;o=I;ta=z;while(1){va=(ta|0)==18;xa=(ta|0)>27?9:1;_a=H;$a=o;while(1){x=0;while(1){sa=x+$a&127;if((sa|0)==(ya|0)){p=92;break}ra=c[j+(sa<<2)>>2]|0;sa=c[36644+(x<<2)>>2]|0;if(ra>>>0>>0){p=92;break}if(ra>>>0>sa>>>0)break;if((x+1|0)>>>0<2)x=1;else{p=92;break}}if((p|0)==92?(p=0,va):0)break e;ab=xa+_a|0;if(($a|0)==(ya|0)){_a=ab;$a=ya}else break}va=(1<>>xa;bb=0;cb=$a;db=ta;sa=$a;do{ra=j+(sa<<2)|0;pa=c[ra>>2]|0;na=(pa>>>xa)+bb|0;c[ra>>2]=na;bb=B(pa&va,x)|0;pa=(sa|0)==(cb|0)&(na|0)==0;db=pa?db+-9|0:db;cb=pa?cb+1&127:cb;sa=sa+1&127}while((sa|0)!=(ya|0));if(bb|0){if((J|0)!=(cb|0))break;c[K>>2]=c[K>>2]|1}H=ab;o=cb;ta=db}c[j+(ya<<2)>>2]=bb;ua=ab;I=cb;z=db;ya=J}eb=0.0;z=ya;I=0;while(1){ua=I+$a&127;A=z+1&127;if((ua|0)==(z|0)){c[j+(A+-1<<2)>>2]=0;fb=A}else fb=z;eb=eb*1.0e9+ +((c[j+(ua<<2)>>2]|0)>>>0);I=I+1|0;if((I|0)==2)break;else z=fb}gb=+(g|0);hb=eb*gb;z=_a+53|0;I=z-f|0;ya=(I|0)<(e|0);ua=ya?((I|0)>0?I:0):e;if((ua|0)<53){ib=+Ns(+Ls(1.0,105-ua|0),hb);jb=+Rs(hb,+Ls(1.0,53-ua|0));kb=ib;lb=jb;mb=ib+(hb-jb)}else{kb=0.0;lb=0.0;mb=hb}A=$a+2&127;if((A|0)!=(fb|0)){ta=c[j+(A<<2)>>2]|0;do if(ta>>>0>=5e8){if((ta|0)!=5e8){nb=gb*.75+lb;break}if(($a+3&127|0)==(fb|0)){nb=gb*.5+lb;break}else{nb=gb*.75+lb;break}}else{if((ta|0)==0?($a+3&127|0)==(fb|0):0){nb=lb;break}nb=gb*.25+lb}while(0);if((53-ua|0)>1?!(+Rs(nb,1.0)!=0.0):0)ob=nb+1.0;else ob=nb}else ob=lb;gb=mb+ob-kb;do if((z&2147483647|0)>(-2-k|0)){ta=!(+u(+gb)>=9007199254740992.0);A=_a+((ta^1)&1)|0;eb=ta?gb:gb*.5;if((A+50|0)<=(l|0)?!(ob!=0.0&(ya&((ua|0)!=(I|0)|ta))):0){pb=eb;qb=A;break}c[(Gs()|0)>>2]=34;pb=eb;qb=A}else{pb=gb;qb=_a}while(0);za=+Ss(pb,qb)}while(0);Ia=i;return +za}function du(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=a+4|0;f=c[e>>2]|0;g=a+100|0;if(f>>>0<(c[g>>2]|0)>>>0){c[e>>2]=f+1;h=d[f>>0]|0}else h=Dt(a)|0;switch(h|0){case 43:case 45:{f=(h|0)==45&1;i=c[e>>2]|0;if(i>>>0<(c[g>>2]|0)>>>0){c[e>>2]=i+1;j=d[i>>0]|0}else j=Dt(a)|0;i=j+-48|0;if((b|0)!=0&i>>>0>9)if(!(c[g>>2]|0)){k=0;l=-2147483648}else{c[e>>2]=(c[e>>2]|0)+-1;m=14}else{n=f;o=j;p=i;m=12}break}default:{n=0;o=h;p=h+-48|0;m=12}}if((m|0)==12)if(p>>>0>9)m=14;else{p=0;h=o;while(1){p=h+-48+(p*10|0)|0;o=c[e>>2]|0;if(o>>>0<(c[g>>2]|0)>>>0){c[e>>2]=o+1;q=d[o>>0]|0}else q=Dt(a)|0;r=q+-48|0;if(!(r>>>0<10&(p|0)<214748364))break;else h=q}h=((p|0)<0)<<31>>31;if(r>>>0<10){r=q;q=p;o=h;while(1){i=qv(q|0,o|0,10,0)|0;j=G()|0;f=kv(r|0,((r|0)<0)<<31>>31|0,-48,-1)|0;q=kv(f|0,G()|0,i|0,j|0)|0;o=G()|0;j=c[e>>2]|0;if(j>>>0<(c[g>>2]|0)>>>0){c[e>>2]=j+1;s=d[j>>0]|0}else s=Dt(a)|0;t=s+-48|0;if(!(t>>>0<10&((o|0)<21474836|(o|0)==21474836&q>>>0<2061584302)))break;else r=s}if(t>>>0<10){do{t=c[e>>2]|0;if(t>>>0<(c[g>>2]|0)>>>0){c[e>>2]=t+1;u=d[t>>0]|0}else u=Dt(a)|0}while((u+-48|0)>>>0<10);v=q;w=o}else{v=q;w=o}}else{v=p;w=h}if(c[g>>2]|0)c[e>>2]=(c[e>>2]|0)+-1;h=(n|0)==0;n=lv(0,0,v|0,w|0)|0;p=G()|0;k=h?v:n;l=h?w:p}if((m|0)==14)if(!(c[g>>2]|0)){k=0;l=-2147483648}else{c[e>>2]=(c[e>>2]|0)+-1;k=0;l=-2147483648}F(l|0);return k|0}function eu(a,b){a=a|0;b=b|0;return +(+$t(a,b,1))}function fu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ia;Ia=Ia+32|0;f=e;g=a[d>>0]|0;a:do if(g<<24>>24!=0?(a[d+1>>0]|0)!=0:0){Av(f|0,0,32)|0;h=a[d>>0]|0;if(h<<24>>24){i=d;j=h;do{h=j&255;k=f+(h>>>5<<2)|0;c[k>>2]=c[k>>2]|1<<(h&31);i=i+1|0;j=a[i>>0]|0}while(j<<24>>24!=0)}j=a[b>>0]|0;if(!(j<<24>>24))l=b;else{i=b;h=j;while(1){j=h&255;if(c[f+(j>>>5<<2)>>2]&1<<(j&31)|0){l=i;break a}j=i+1|0;h=a[j>>0]|0;if(!(h<<24>>24)){l=j;break}else i=j}}}else m=3;while(0);if((m|0)==3)l=_t(b,g<<24>>24)|0;Ia=e;return l-b|0}function gu(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;h=Ia;Ia=Ia+16|0;i=h;j=(g|0)==0?3300592:g;g=c[j>>2]|0;a:do if(!e)if(!g)k=0;else l=19;else{m=(b|0)==0?i:b;if(!f)k=-2;else{if(!g){n=a[e>>0]|0;if(n<<24>>24>-1){c[m>>2]=n&255;k=n<<24>>24!=0&1;break}n=(c[c[(hu()|0)+188>>2]>>2]|0)==0;o=a[e>>0]|0;if(n){c[m>>2]=o<<24>>24&57343;k=1;break}n=(o&255)+-194|0;if(n>>>0>50){l=19;break}o=c[33136+(n<<2)>>2]|0;n=f+-1|0;if(!n)p=o;else{q=e+1|0;r=o;s=n;l=11}}else{q=e;r=g;s=f;l=11}b:do if((l|0)==11){n=d[q>>0]|0;o=n>>>3;if((o+-16|o+(r>>26))>>>0>7){l=19;break a}o=n+-128|r<<6;n=s+-1|0;if((o|0)<0){t=q;u=o;v=n;while(1){t=t+1|0;if(!v){p=u;break b}w=a[t>>0]|0;if((w&-64)<<24>>24!=-128){l=19;break a}x=(w&255)+-128|u<<6;w=v+-1|0;if((x|0)>=0){y=w;z=x;break}else{u=x;v=w}}}else{y=n;z=o}c[j>>2]=0;c[m>>2]=z;k=f-y|0;break a}while(0);c[j>>2]=p;k=-2}}while(0);if((l|0)==19){c[j>>2]=0;c[(Gs()|0)>>2]=84;k=-1}Ia=h;return k|0}function hu(){return qt()|0}function iu(a){a=a|0;var b=0;if(!a)b=1;else b=(c[a>>2]|0)==0&1;return b|0}function ju(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Ia;Ia=Ia+48|0;f=e+32|0;g=e+16|0;h=e;if(Tt(74663,a[d>>0]|0)|0){i=ku(d)|0;c[h>>2]=b;c[h+4>>2]=i|32768;c[h+8>>2]=438;b=Fs(ca(5,h|0)|0)|0;if((b|0)>=0){if(i&524288|0){c[g>>2]=b;c[g+4>>2]=2;c[g+8>>2]=1;ba(221,g|0)|0}g=lu(b,d)|0;if(!g){c[f>>2]=b;ea(6,f|0)|0;j=0}else j=g}else j=0}else{c[(Gs()|0)>>2]=22;j=0}Ia=e;return j|0}function ku(b){b=b|0;var c=0,d=0,e=0,f=0;c=(Tt(b,43)|0)==0;d=a[b>>0]|0;e=c?d<<24>>24!=114&1:2;c=(Tt(b,120)|0)==0;f=c?e:e|128;e=(Tt(b,101)|0)==0;b=e?f:f|524288;f=d<<24>>24==114?b:b|64;b=d<<24>>24==119?f|512:f;return (d<<24>>24==97?b|1024:b)|0}function lu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ia;Ia=Ia+64|0;f=e+40|0;g=e+24|0;h=e+16|0;i=e;j=e+56|0;if(Tt(74663,a[d>>0]|0)|0){k=ws(1156)|0;if(!k)l=0;else{Av(k|0,0,124)|0;if(!(Tt(d,43)|0))c[k>>2]=(a[d>>0]|0)==114?8:4;if(Tt(d,101)|0){c[i>>2]=b;c[i+4>>2]=2;c[i+8>>2]=1;ba(221,i|0)|0}if((a[d>>0]|0)==97){c[h>>2]=b;c[h+4>>2]=3;d=ba(221,h|0)|0;if(!(d&1024)){c[g>>2]=b;c[g+4>>2]=4;c[g+8>>2]=d|1024;ba(221,g|0)|0}g=c[k>>2]|128;c[k>>2]=g;m=g}else m=c[k>>2]|0;c[k+60>>2]=b;c[k+44>>2]=k+132;c[k+48>>2]=1024;g=k+75|0;a[g>>0]=-1;if((m&8|0)==0?(c[f>>2]=b,c[f+4>>2]=21523,c[f+8>>2]=j,(da(54,f|0)|0)==0):0)a[g>>0]=10;c[k+32>>2]=6;c[k+36>>2]=5;c[k+40>>2]=2;c[k+12>>2]=1;if(!(c[825133]|0))c[k+76>>2]=-1;mu(k)|0;l=k}}else{c[(Gs()|0)>>2]=22;l=0}Ia=e;return l|0}function mu(a){a=a|0;var b=0,d=0;b=nu()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;ou();return a|0}function nu(){W(3300596);return 3300604}function ou(){fa(3300596);return}function pu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if((c[a+76>>2]|0)>-1)b=at(a)|0;else b=0;qu(a);d=(c[a>>2]&1|0)!=0;if(!d){e=nu()|0;f=c[a+52>>2]|0;g=a+56|0;if(f|0)c[f+56>>2]=c[g>>2];h=c[g>>2]|0;if(h|0)c[h+52>>2]=f;if((c[e>>2]|0)==(a|0))c[e>>2]=h;ou()}h=ru(a)|0;e=Ma[c[a+12>>2]&255](a)|0|h;h=c[a+92>>2]|0;if(h|0)xs(h);if(d){if(b|0)bt(a)}else xs(a);return e|0}function qu(a){a=a|0;var b=0,d=0,e=0;if(c[a+68>>2]|0){b=c[a+116>>2]|0;d=a+112|0;if(b|0)c[b+112>>2]=c[d>>2];a=c[d>>2]|0;if(!a)e=(tu()|0)+232|0;else e=a+116|0;c[e>>2]=b}return}function ru(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;do if(a){if((c[a+76>>2]|0)<=-1){b=su(a)|0;break}d=(at(a)|0)==0;e=su(a)|0;if(d)b=e;else{bt(a);b=e}}else{if(!(c[9068]|0))f=0;else f=ru(c[9068]|0)|0;e=c[(nu()|0)>>2]|0;if(!e)g=f;else{d=e;e=f;while(1){if((c[d+76>>2]|0)>-1)h=at(d)|0;else h=0;if((c[d+20>>2]|0)>>>0>(c[d+28>>2]|0)>>>0)i=su(d)|0|e;else i=e;if(h|0)bt(d);d=c[d+56>>2]|0;if(!d){g=i;break}else e=i}}ou();b=g}while(0);return b|0}function su(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=a+20|0;d=a+28|0;if((c[b>>2]|0)>>>0>(c[d>>2]|0)>>>0?(Oa[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)e=-1;else{f=a+4|0;g=c[f>>2]|0;h=a+8|0;i=c[h>>2]|0;if(g>>>0>>0)Oa[c[a+40>>2]&7](a,g-i|0,1)|0;c[a+16>>2]=0;c[d>>2]=0;c[b>>2]=0;c[h>>2]=0;c[f>>2]=0;e=0}return e|0}function tu(){return qt()|0}function uu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;if((c[f+76>>2]|0)>-1)g=at(f)|0;else g=0;h=e+-1|0;if((e|0)<2){e=f+74|0;i=a[e>>0]|0;a[e>>0]=i+255|i;if(g|0)bt(f);if(!h){a[b>>0]=0;j=b}else j=0}else{a:do if(h){i=f+4|0;e=f+8|0;k=h;l=b;while(1){m=c[i>>2]|0;n=m;o=(c[e>>2]|0)-n|0;p=jt(m,10,o)|0;q=(p|0)==0;r=q?o:1-n+p|0;p=r>>>0>>0?r:k;zv(l|0,m|0,p|0)|0;m=(c[i>>2]|0)+p|0;c[i>>2]=m;s=l+p|0;r=k-p|0;if(!(q&(r|0)!=0)){t=s;u=17;break a}if(m>>>0>=(c[e>>2]|0)>>>0){q=Ft(f)|0;if((q|0)<0)break;else v=q}else{c[i>>2]=m+1;v=d[m>>0]|0}m=s+1|0;a[s>>0]=v;k=r+-1|0;if((v&255|0)==10|(k|0)==0){t=m;u=17;break a}else l=m}if((s|0)!=(b|0)?(c[f>>2]&16|0)!=0:0){t=s;u=17}else w=0}else{t=b;u=17}while(0);if((u|0)==17)if(!b)w=0;else{a[t>>0]=0;w=b}if(!g)j=w;else{bt(f);j=w}}return j|0}function vu(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){b=(at(a)|0)==0;d=(c[a>>2]|0)>>>4&1;if(b)e=d;else{bt(a);e=d}}else e=(c[a>>2]|0)>>>4&1;return e|0}function wu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=d;d=xu(a,b,f)|0;Ia=e;return d|0}function xu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Ia;Ia=Ia+128|0;f=e;g=f;h=g+124|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));c[f+32>>2]=7;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;a=zu(f,b,d)|0;Ia=e;return a|0}function yu(a,b,c){a=a|0;b=b|0;c=c|0;return Cu(a,b,c)|0}function zu(e,h,i){e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0.0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0;j=Ia;Ia=Ia+288|0;k=j+264|0;l=j;m=j+260|0;n=j+272|0;if((c[e+76>>2]|0)>-1)o=at(e)|0;else o=0;p=a[h>>0]|0;a:do if(p<<24>>24){q=e+4|0;r=e+100|0;s=e+108|0;t=e+8|0;u=l+10|0;v=l+33|0;w=l+46|0;x=l+94|0;y=k+4|0;z=h;A=0;B=0;C=0;D=p;E=0;b:while(1){c:do if(!(Et(D&255)|0)){F=(a[z>>0]|0)==37;d:do if(F){H=z+1|0;I=a[H>>0]|0;e:do switch(I<<24>>24){case 37:{break d;break}case 42:{J=0;K=z+2|0;break}default:{if(Ws(I&255)|0?(a[z+2>>0]|0)==36:0){J=Au(i,(d[H>>0]|0)+-48|0)|0;K=z+3|0;break e}L=(c[i>>2]|0)+(4-1)&~(4-1);M=c[L>>2]|0;c[i>>2]=L+4;J=M;K=H}}while(0);if(!(Ws(d[K>>0]|0)|0)){N=0;O=K}else{H=0;I=K;while(1){M=(H*10|0)+-48+(d[I>>0]|0)|0;L=I+1|0;if(!(Ws(d[L>>0]|0)|0)){N=M;O=L;break}else{H=M;I=L}}}I=a[O>>0]|0;H=O+1|0;if(I<<24>>24==109){P=(J|0)!=0&1;Q=0;R=H;S=O+2|0;T=a[H>>0]|0;U=0}else{P=0;Q=C;R=O;S=H;T=I;U=E}switch(T<<24>>24){case 104:{I=(a[S>>0]|0)==104;V=I?-2:-1;W=I?R+2|0:S;break}case 108:{I=(a[S>>0]|0)==108;V=I?3:1;W=I?R+2|0:S;break}case 106:{V=3;W=S;break}case 116:case 122:{V=1;W=S;break}case 76:{V=2;W=S;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{V=0;W=R;break}default:{X=Q;Y=U;Z=143;break b}}I=d[W>>0]|0;H=(I&47|0)==3;L=H?I|32:I;I=H?1:V;H=L&255;switch(H<<24>>24){case 99:{_=(N|0)>1?N:1;$=A;break}case 91:{_=N;$=A;break}case 110:{Bu(J,I,A,((A|0)<0)<<31>>31);aa=W;ba=B;ca=A;da=Q;ea=U;break c;break}default:{Bt(e,0);do{M=c[q>>2]|0;if(M>>>0<(c[r>>2]|0)>>>0){c[q>>2]=M+1;fa=d[M>>0]|0}else fa=Dt(e)|0}while((Et(fa)|0)!=0);if(!(c[r>>2]|0))ga=c[q>>2]|0;else{M=(c[q>>2]|0)+-1|0;c[q>>2]=M;ga=M}_=N;$=(c[s>>2]|0)+A+ga-(c[t>>2]|0)|0}}Bt(e,_);M=c[q>>2]|0;ha=c[r>>2]|0;if(M>>>0>>0){c[q>>2]=M+1;ia=ha}else{if((Dt(e)|0)<0){X=Q;Y=U;Z=143;break b}ia=c[r>>2]|0}if(ia|0)c[q>>2]=(c[q>>2]|0)+-1;f:do switch(H<<24>>24){case 91:case 99:case 115:{ha=(L|0)==99;g:do if((L|16|0)==115){Av(l|0,-1,257)|0;a[l>>0]=0;if((L|0)==115){a[v>>0]=0;b[u>>1]=0;b[u+2>>1]=0;a[u+4>>0]=0;ja=W}else ja=W}else{M=W+1|0;ka=(a[M>>0]|0)==94;la=ka&1;ma=ka?W+2|0:M;Av(l|0,la|0,257)|0;a[l>>0]=0;switch(a[ma>>0]|0){case 45:{M=(la^1)&255;a[w>>0]=M;na=ma+1|0;oa=M;break}case 93:{M=(la^1)&255;a[x>>0]=M;na=ma+1|0;oa=M;break}default:{na=ma;oa=(la^1)&255}}la=na;while(1){ma=a[la>>0]|0;h:do switch(ma<<24>>24){case 0:{X=Q;Y=U;Z=143;break b;break}case 93:{ja=la;break g;break}case 45:{M=la+1|0;ka=a[M>>0]|0;switch(ka<<24>>24){case 93:case 0:{pa=la;qa=45;break h;break}default:{}}ra=a[la+-1>>0]|0;if((ra&255)<(ka&255)){sa=ra&255;do{sa=sa+1|0;a[l+sa>>0]=oa;ra=a[M>>0]|0}while(sa>>>0<(ra&255)>>>0);pa=M;qa=ra}else{pa=M;qa=ka}break}default:{pa=la;qa=ma}}while(0);a[l+((qa&255)+1)>>0]=oa;la=pa+1|0}}while(0);la=ha?_+1|0:31;ma=(I|0)==1;sa=(P|0)!=0;i:do if(ma){if(sa){ra=ws(la<<2)|0;if(!ra){X=0;Y=0;Z=143;break b}else ta=ra}else ta=J;c[k>>2]=0;c[y>>2]=0;ra=la;ua=0;va=ta;j:while(1){wa=(va|0)==0;xa=ua;while(1){k:while(1){ya=c[q>>2]|0;if(ya>>>0<(c[r>>2]|0)>>>0){c[q>>2]=ya+1;za=d[ya>>0]|0}else za=Dt(e)|0;if(!(a[l+(za+1)>>0]|0))break j;a[n>>0]=za;switch(gu(m,n,1,k)|0){case -1:{X=0;Y=va;Z=143;break b;break}case -2:break;default:break k}}if(wa)Aa=xa;else{c[va+(xa<<2)>>2]=c[m>>2];Aa=xa+1|0}if(sa&(Aa|0)==(ra|0))break;else xa=Aa}ra=ra<<1|1;wa=zs(va,ra<<2)|0;if(!wa){X=0;Y=va;Z=143;break b}else{ua=Aa;va=wa}}if(!(iu(k)|0)){X=0;Y=va;Z=143;break b}else{Ba=xa;Ca=0;Da=va;Ea=va}}else{if(sa){ua=ws(la)|0;if(!ua){X=0;Y=0;Z=143;break b}ra=la;wa=0;ka=ua;while(1){ua=wa;do{M=c[q>>2]|0;if(M>>>0<(c[r>>2]|0)>>>0){c[q>>2]=M+1;Fa=d[M>>0]|0}else Fa=Dt(e)|0;if(!(a[l+(Fa+1)>>0]|0)){Ba=ua;Ca=ka;Da=0;Ea=0;break i}M=ua;ua=ua+1|0;a[ka+M>>0]=Fa}while((ua|0)!=(ra|0));ra=ra<<1|1;M=zs(ka,ra)|0;if(!M){X=ka;Y=0;Z=143;break b}else{wa=ua;ka=M}}}if(!J)while(1){ka=c[q>>2]|0;if(ka>>>0<(c[r>>2]|0)>>>0){c[q>>2]=ka+1;Ga=d[ka>>0]|0}else Ga=Dt(e)|0;if(!(a[l+(Ga+1)>>0]|0)){Ba=0;Ca=0;Da=0;Ea=0;break i}}ka=0;while(1){wa=c[q>>2]|0;if(wa>>>0<(c[r>>2]|0)>>>0){c[q>>2]=wa+1;Ha=d[wa>>0]|0}else Ha=Dt(e)|0;if(!(a[l+(Ha+1)>>0]|0)){Ba=ka;Ca=J;Da=0;Ea=0;break i}a[J+ka>>0]=Ha;ka=ka+1|0}}while(0);if(!(c[r>>2]|0))Ja=c[q>>2]|0;else{la=(c[q>>2]|0)+-1|0;c[q>>2]=la;Ja=la}la=Ja-(c[t>>2]|0)+(c[s>>2]|0)|0;if(!la){Ka=Ca;La=P;Ma=B;Na=Ea;break b}if(!((la|0)==(_|0)|ha^1)){Ka=Ca;La=P;Ma=B;Na=Ea;break b}do if(sa)if(ma){c[J>>2]=Da;break}else{c[J>>2]=Ca;break}while(0);if(ha){Oa=ja;Pa=Ca;Qa=Ea}else{if(Da|0)c[Da+(Ba<<2)>>2]=0;if(!Ca){Oa=ja;Pa=0;Qa=Ea;break f}a[Ca+Ba>>0]=0;Oa=ja;Pa=Ca;Qa=Ea}break}case 120:case 88:case 112:{Ra=16;Z=131;break}case 111:{Ra=8;Z=131;break}case 117:case 100:{Ra=10;Z=131;break}case 105:{Ra=0;Z=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{Sa=+au(e,I,0);if((c[s>>2]|0)==((c[t>>2]|0)-(c[q>>2]|0)|0)){Ka=Q;La=P;Ma=B;Na=U;break b}if(!J){Oa=W;Pa=Q;Qa=U}else switch(I|0){case 0:{f[J>>2]=Sa;Oa=W;Pa=Q;Qa=U;break f;break}case 1:{g[J>>3]=Sa;Oa=W;Pa=Q;Qa=U;break f;break}case 2:{g[J>>3]=Sa;Oa=W;Pa=Q;Qa=U;break f;break}default:{Oa=W;Pa=Q;Qa=U;break f}}break}default:{Oa=W;Pa=Q;Qa=U}}while(0);do if((Z|0)==131){Z=0;H=Ct(e,Ra,0,-1,-1)|0;ma=G()|0;if((c[s>>2]|0)==((c[t>>2]|0)-(c[q>>2]|0)|0)){Ka=Q;La=P;Ma=B;Na=U;break b}if((J|0)!=0&(L|0)==112){c[J>>2]=H;Oa=W;Pa=Q;Qa=U;break}else{Bu(J,I,H,ma);Oa=W;Pa=Q;Qa=U;break}}while(0);aa=Oa;ba=B+((J|0)!=0&1)|0;ca=(c[s>>2]|0)+$+(c[q>>2]|0)-(c[t>>2]|0)|0;da=Pa;ea=Qa;break c}while(0);I=z+(F&1)|0;Bt(e,0);L=c[q>>2]|0;if(L>>>0<(c[r>>2]|0)>>>0){c[q>>2]=L+1;Ta=d[L>>0]|0}else Ta=Dt(e)|0;if((Ta|0)!=(d[I>>0]|0)){Z=23;break b}aa=I;ba=B;ca=A+1|0;da=C;ea=E}else{I=z;while(1){L=I+1|0;if(!(Et(d[L>>0]|0)|0))break;else I=L}Bt(e,0);do{F=c[q>>2]|0;if(F>>>0<(c[r>>2]|0)>>>0){c[q>>2]=F+1;Ua=d[F>>0]|0}else Ua=Dt(e)|0}while((Et(Ua)|0)!=0);if(!(c[r>>2]|0))Va=c[q>>2]|0;else{F=(c[q>>2]|0)+-1|0;c[q>>2]=F;Va=F}aa=I;ba=B;ca=(c[s>>2]|0)+A+Va-(c[t>>2]|0)|0;da=C;ea=E}while(0);z=aa+1|0;D=a[z>>0]|0;if(!(D<<24>>24)){Wa=ba;break a}else{A=ca;B=ba;C=da;E=ea}}if((Z|0)==23){if(c[r>>2]|0)c[q>>2]=(c[q>>2]|0)+-1;if((B|0)!=0|(Ta|0)>-1){Wa=B;break}else{Xa=0;Ya=C;Za=E;Z=144}}else if((Z|0)==143)if(!B){Xa=P;Ya=X;Za=Y;Z=144}else{Ka=X;La=P;Ma=B;Na=Y}if((Z|0)==144){Ka=Ya;La=Xa;Ma=-1;Na=Za}if(!La)Wa=Ma;else{xs(Ka);xs(Na);Wa=Ma}}else Wa=0;while(0);if(o|0)bt(e);Ia=j;return Wa|0}function Au(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Ia;Ia=Ia+16|0;e=d;c[e>>2]=c[a>>2];a=b;while(1){b=(c[e>>2]|0)+(4-1)&~(4-1);f=c[b>>2]|0;c[e>>2]=b+4;if(a>>>0>1)a=a+-1|0;else break}Ia=d;return f|0}function Bu(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a;break}case -1:{b[d>>1]=f;break a;break}case 0:{c[d>>2]=f;break a;break}case 1:{c[d>>2]=f;break a;break}case 3:{h=d;c[h>>2]=f;c[h+4>>2]=g;break a;break}default:break a}while(0);return}function Cu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=a+84|0;f=c[e>>2]|0;g=d+256|0;h=jt(f,0,g)|0;i=(h|0)==0?g:h-f|0;h=i>>>0>>0?i:d;zv(b|0,f|0,h|0)|0;c[a+4>>2]=f+h;b=f+i|0;c[a+8>>2]=b;c[e>>2]=b;return h|0}function Du(a,b,c){a=a|0;b=b|0;c=c|0;return Fu(a,b,c)|0}function Eu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ia;Ia=Ia+16|0;f=e;c[f>>2]=d;d=_s(a,b,f)|0;Ia=e;return d|0}function Fu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((c[a+76>>2]|0)>-1){e=(at(a)|0)==0;f=Gu(a,b,d)|0;if(e)g=f;else{bt(a);g=f}}else g=Gu(a,b,d)|0;return g|0}function Gu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((d|0)==1)e=b-(c[a+8>>2]|0)+(c[a+4>>2]|0)|0;else e=b;b=a+20|0;f=a+28|0;if((c[b>>2]|0)>>>0>(c[f>>2]|0)>>>0?(Oa[c[a+36>>2]&7](a,0,0)|0,(c[b>>2]|0)==0):0)g=-1;else{c[a+16>>2]=0;c[f>>2]=0;c[b>>2]=0;if((Oa[c[a+40>>2]&7](a,e,d)|0)<0)g=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;g=0}}return g|0}function Hu(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=a[c>>0]|0;do if(d<<24>>24){e=Tt(b,d<<24>>24)|0;if(e)if(a[c+1>>0]|0)if(a[e+1>>0]|0){if(!(a[c+2>>0]|0)){f=Iu(e,c)|0;break}if(a[e+2>>0]|0){if(!(a[c+3>>0]|0)){f=Ju(e,c)|0;break}if(a[e+3>>0]|0)if(!(a[c+4>>0]|0)){f=Ku(e,c)|0;break}else{f=Lu(e,c)|0;break}else f=0}else f=0}else f=0;else f=e;else f=0}else f=b;while(0);return f|0}function Iu(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=(d[c>>0]|0)<<8|(d[c+1>>0]|0);c=b+1|0;f=a[c>>0]|0;a:do if(!(f<<24>>24))g=0;else{h=(d[b>>0]|0)<<8|f&255;i=c;while(1){j=h&65535;if((j|0)==(e|0))break;k=i+1|0;l=a[k>>0]|0;if(!(l<<24>>24)){g=0;break a}else{h=j<<8|l&255;i=k}}g=i+-1|0}while(0);return g|0}function Ju(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8;c=b+2|0;f=a[c>>0]|0;g=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(f&255)<<8;b=f<<24>>24==0;if((g|0)==(e|0)|b){h=c;i=b}else{b=c;c=g;while(1){g=b+1|0;f=a[g>>0]|0;c=(c|f&255)<<8;j=f<<24>>24==0;if((c|0)==(e|0)|j){h=g;i=j;break}else b=g}}return (i?0:h+-2|0)|0}function Ku(b,c){b=b|0;c=c|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=(d[c+1>>0]|0)<<16|(d[c>>0]|0)<<24|(d[c+2>>0]|0)<<8|(d[c+3>>0]|0);c=b+3|0;f=a[c>>0]|0;g=(d[b+1>>0]|0)<<16|(d[b>>0]|0)<<24|(d[b+2>>0]|0)<<8|f&255;b=f<<24>>24==0;if((g|0)==(e|0)|b){h=c;i=b}else{b=c;c=g;while(1){g=b+1|0;f=a[g>>0]|0;c=c<<8|f&255;j=f<<24>>24==0;if((c|0)==(e|0)|j){h=g;i=j;break}else b=g}}return (i?0:h+-3|0)|0}function Lu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;f=Ia;Ia=Ia+1056|0;g=f+1024|0;h=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+28>>2]=0;i=a[e>>0]|0;a:do if(i<<24>>24){j=0;k=i;do{if(!(a[b+j>>0]|0)){l=0;break a}m=k&255;n=g+(m>>>5<<2)|0;c[n>>2]=c[n>>2]|1<<(m&31);j=j+1|0;c[h+(m<<2)>>2]=j;k=a[e+j>>0]|0}while(k<<24>>24!=0);k=j>>>0>1;if(k){m=1;n=1;o=0;p=-1;q=1;while(1){r=a[e+(n+p)>>0]|0;s=a[e+q>>0]|0;do if(r<<24>>24==s<<24>>24)if((n|0)==(m|0)){t=m;u=1;v=m+o|0;w=p;break}else{t=m;u=n+1|0;v=o;w=p;break}else if((r&255)>(s&255)){t=q-p|0;u=1;v=q;w=p;break}else{t=1;u=1;v=o+1|0;w=o;break}while(0);q=u+v|0;if(q>>>0>=j>>>0)break;else{m=t;n=u;o=v;p=w}}if(k){p=1;o=1;n=0;m=-1;q=1;while(1){s=a[e+(o+m)>>0]|0;r=a[e+q>>0]|0;do if(s<<24>>24==r<<24>>24)if((o|0)==(p|0)){x=p;y=1;z=p+n|0;A=m;break}else{x=p;y=o+1|0;z=n;A=m;break}else if((s&255)<(r&255)){x=q-m|0;y=1;z=q;A=m;break}else{x=1;y=1;z=n+1|0;A=n;break}while(0);q=y+z|0;if(q>>>0>=j>>>0){B=t;C=w;D=j;E=x;F=A;G=25;break}else{p=x;o=y;n=z;m=A}}}else{B=t;C=w;D=j;E=1;F=-1;G=25}}else{B=1;C=-1;D=j;E=1;F=-1;G=25}}else{B=1;C=-1;D=0;E=1;F=-1;G=25}while(0);b:do if((G|0)==25){w=(F+1|0)>>>0>(C+1|0)>>>0;t=w?E:B;A=w?F:C;w=A+1|0;if(!(Us(e,e+t|0,w)|0)){z=D-t|0;H=z;I=t;J=z}else{z=D-A+-1|0;t=(A>>>0>z>>>0?A:z)+1|0;H=0;I=t;J=D-t|0}t=D|63;z=D+-1|0;y=(H|0)!=0;x=b;v=0;u=b;while(1){i=x;do if((u-i|0)>>>0>>0){m=jt(u,0,t)|0;if(m)if((m-i|0)>>>0>>0){l=0;break b}else{K=m;break}else{K=u+t|0;break}}else K=u;while(0);i=d[x+z>>0]|0;c:do if(!(1<<(i&31)&c[g+(i>>>5<<2)>>2])){L=0;M=D}else{m=D-(c[h+(i<<2)>>2]|0)|0;if(m|0){L=0;M=y&(v|0)!=0&m>>>0>>0?J:m;break}m=w>>>0>v>>>0;n=m?w:v;o=a[e+n>>0]|0;d:do if(o<<24>>24){p=n;q=o;while(1){if(q<<24>>24!=(a[x+p>>0]|0))break;k=p+1|0;q=a[e+k>>0]|0;if(!(q<<24>>24))break d;else p=k}L=0;M=p-A|0;break c}while(0);if(!m){l=x;break b}o=w;while(1){o=o+-1|0;if((a[e+o>>0]|0)!=(a[x+o>>0]|0)){L=H;M=I;break c}if(o>>>0<=v>>>0){l=x;break b}}}while(0);x=x+M|0;v=L;u=K}}while(0);Ia=f;return l|0}function Mu(a,b){a=a|0;b=b|0;var c=0;c=Ht(a)|0;return ((Nu(a,1,c,b)|0)!=(c|0))<<31>>31|0}function Nu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=B(d,b)|0;g=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){d=(at(e)|0)==0;h=yt(a,f,e)|0;if(d)i=h;else{bt(e);i=h}}else i=yt(a,f,e)|0;if((i|0)==(f|0))j=g;else j=(i>>>0)/(b>>>0)|0;return j|0}function Ou(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;f=Ia;Ia=Ia+16|0;g=f;h=e&255;a[g>>0]=h;i=b+16|0;j=c[i>>2]|0;if(!j)if(!(zt(b)|0)){k=c[i>>2]|0;l=4}else m=-1;else{k=j;l=4}do if((l|0)==4){j=b+20|0;i=c[j>>2]|0;if(i>>>0>>0?(n=e&255,(n|0)!=(a[b+75>>0]|0)):0){c[j>>2]=i+1;a[i>>0]=h;m=n;break}if((Oa[c[b+36>>2]&7](b,g,1)|0)==1)m=d[g>>0]|0;else m=-1}while(0);Ia=f;return m|0}function Pu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;f=d;a:do if(!((f^b)&3)){g=(e|0)!=0;if(g&(f&3|0)!=0){h=e;i=d;j=b;while(1){k=a[i>>0]|0;a[j>>0]=k;if(!(k<<24>>24)){l=j;m=h;break a}k=h+-1|0;n=i+1|0;o=j+1|0;p=(k|0)!=0;if(p&(n&3|0)!=0){h=k;i=n;j=o}else{q=k;r=n;s=o;t=p;break}}}else{q=e;r=d;s=b;t=g}if(t)if(!(a[r>>0]|0)){l=s;m=q}else{b:do if(q>>>0>3){j=s;i=r;h=q;while(1){p=c[i>>2]|0;if((p&-2139062144^-2139062144)&p+-16843009|0){u=i;v=j;w=h;break b}c[j>>2]=p;p=h+-4|0;o=i+4|0;n=j+4|0;if(p>>>0>3){j=n;i=o;h=p}else{u=o;v=n;w=p;break}}}else{u=r;v=s;w=q}while(0);x=u;y=v;z=w;A=13}else{l=s;m=0}}else{x=d;y=b;z=e;A=13}while(0);c:do if((A|0)==13)if(!z){l=y;m=0}else{e=x;b=y;d=z;while(1){s=a[e>>0]|0;a[b>>0]=s;if(!(s<<24>>24)){l=b;m=d;break c}d=d+-1|0;s=b+1|0;if(!d){l=s;m=0;break}else{e=e+1|0;b=s}}}while(0);Av(l|0,0,m|0)|0;return l|0}function Qu(a,b,c){a=a|0;b=b|0;c=c|0;Pu(a,b,c)|0;return a|0}function Ru(b,c){b=b|0;c=c|0;var d=0;d=b+(fu(b,c)|0)|0;return ((a[d>>0]|0)==0?0:d)|0}function Su(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(at(d)|0)!=0:0){e=b&255;f=b&255;if((f|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=e;i=f}else i=Ou(d,b)|0;bt(d);j=i}else k=3;do if((k|0)==3){i=b&255;f=b&255;if((f|0)!=(a[d+75>>0]|0)?(e=d+20|0,h=c[e>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[e>>2]=h+1;a[h>>0]=i;j=f;break}j=Ou(d,b)|0}while(0);return j|0}function Tu(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){b=(at(a)|0)==0;d=Uu(a)|0;if(b)e=d;else{bt(a);e=d}}else e=Uu(a)|0;return e|0}function Uu(a){a=a|0;var b=0,d=0,e=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;d=Oa[c[a+40>>2]&7](a,0,b)|0;if((d|0)<0)e=d;else e=d-(c[a+8>>2]|0)+(c[a+4>>2]|0)+(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;return e|0}function Vu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[9036]|0;if((c[d+76>>2]|0)>-1)e=at(d)|0;else e=0;do if((Mu(b,d)|0)<0)f=-1;else{if((a[d+75>>0]|0)!=10?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=10;f=0;break}f=(Ou(d,10)|0)>>31}while(0);if(e|0)bt(d);return f|0}function Wu(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;if((c[a+76>>2]|0)>=0?(at(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;f=d[e>>0]|0}else f=Ft(a)|0;bt(a);g=f}else h=3;do if((h|0)==3){f=a+4|0;e=c[f>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[f>>2]=e+1;g=d[e>>0]|0;break}else{g=Ft(a)|0;break}}while(0);return g|0}function Xu(a){a=a|0;return Tu(a)|0}function Yu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=B(e,d)|0;h=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)i=at(f)|0;else i=0;e=f+74|0;j=a[e>>0]|0;a[e>>0]=j+255|j;j=f+4|0;e=c[j>>2]|0;k=(c[f+8>>2]|0)-e|0;if((k|0)>0){l=k>>>0>>0?k:g;zv(b|0,e|0,l|0)|0;c[j>>2]=(c[j>>2]|0)+l;m=g-l|0;n=b+l|0}else{m=g;n=b}a:do if(!m)o=13;else{b=f+32|0;l=n;j=m;while(1){if(Gt(f)|0)break;e=Oa[c[b>>2]&7](f,l,j)|0;if((e+1|0)>>>0<2)break;k=j-e|0;if(!k){o=13;break a}else{l=l+e|0;j=k}}if(i|0)bt(f);p=((g-j|0)>>>0)/(d>>>0)|0}while(0);if((o|0)==13)if(!i)p=h;else{bt(f);p=h}return p|0}function Zu(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(at(a)|0)==0;Gu(a,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)bt(a)}else{Gu(a,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function _u(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ia;Ia=Ia+16|0;e=d;c[e>>2]=b;b=_s(c[9036]|0,a,e)|0;Ia=d;return b|0}function $u(a,b,c){a=a|0;b=b|0;c=c|0;return xt(a,b)|0}function av(a,b){a=a|0;b=b|0;bv()|0;return $u(a,b,0)|0}function bv(){return qt()|0}function cv(a){a=a|0;var b=0;if(!(dv(a)|0))b=(Ws(a)|0)!=0&1;else b=1;return b|0}function dv(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function ev(){return 36652}function fv(){V(3300624);return}function gv(){return 3300608}function hv(){return 3300616}function iv(){return 3300620}function jv(){return 3300624}function kv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=a+c>>>0;return (F(b+d+(e>>>0>>0|0)>>>0|0),e|0)|0}function lv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=b-d>>>0;e=b-d-(c>>>0>a>>>0|0)>>>0;return (F(e|0),a-c>>>0|0)|0}function mv(a){a=a|0;return (a?31-(D(a^a-1)|0)|0:32)|0}function nv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,E=0,H=0,I=0,J=0;g=a;h=b;i=h;j=d;k=e;l=k;if(!i){m=(f|0)!=0;if(!l){if(m){c[f>>2]=(g>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(g>>>0)/(j>>>0)>>>0;return (F(n|0),o)|0}else{if(!m){n=0;o=0;return (F(n|0),o)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;o=0;return (F(n|0),o)|0}}m=(l|0)==0;do if(j){if(!m){p=(D(l|0)|0)-(D(i|0)|0)|0;if(p>>>0<=31){q=p+1|0;r=31-p|0;s=p-31>>31;t=q;u=g>>>(q>>>0)&s|i<>>(q>>>0)&s;w=0;x=g<>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (F(n|0),o)|0}r=j-1|0;if(r&j|0){s=(D(j|0)|0)+33-(D(i|0)|0)|0;q=64-s|0;p=32-s|0;y=p>>31;z=s-32|0;A=z>>31;t=s;u=p-1>>31&i>>>(z>>>0)|(i<>>(s>>>0))&A;v=A&i>>>(s>>>0);w=g<>>(z>>>0))&y|g<>31;break}if(f|0){c[f>>2]=r&g;c[f+4>>2]=0}if((j|0)==1){n=h|b&0;o=a|0|0;return (F(n|0),o)|0}else{r=mv(j|0)|0;n=i>>>(r>>>0)|0;o=i<<32-r|g>>>(r>>>0)|0;return (F(n|0),o)|0}}else{if(m){if(f|0){c[f>>2]=(i>>>0)%(j>>>0);c[f+4>>2]=0}n=0;o=(i>>>0)/(j>>>0)>>>0;return (F(n|0),o)|0}if(!g){if(f|0){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(l>>>0)}n=0;o=(i>>>0)/(l>>>0)>>>0;return (F(n|0),o)|0}r=l-1|0;if(!(r&l)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=r&i|b&0}n=0;o=i>>>((mv(l|0)|0)>>>0);return (F(n|0),o)|0}r=(D(l|0)|0)-(D(i|0)|0)|0;if(r>>>0<=30){s=r+1|0;p=31-r|0;t=s;u=i<>>(s>>>0);v=i>>>(s>>>0);w=0;x=g<>2]=a|0;c[f+4>>2]=h|b&0;n=0;o=0;return (F(n|0),o)|0}while(0);if(!t){B=x;C=w;E=v;H=u;I=0;J=0}else{b=d|0|0;d=k|e&0;e=kv(b|0,d|0,-1,-1)|0;k=G()|0;h=x;x=w;w=v;v=u;u=t;t=0;do{a=h;h=x>>>31|h<<1;x=t|x<<1;g=v<<1|a>>>31|0;a=v>>>31|w<<1|0;lv(e|0,k|0,g|0,a|0)|0;i=G()|0;l=i>>31|((i|0)<0?-1:0)<<1;t=l&1;v=lv(g|0,a|0,l&b|0,(((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1)&d|0)|0;w=G()|0;u=u-1|0}while((u|0)!=0);B=h;C=x;E=w;H=v;I=0;J=t}t=C;C=0;if(f|0){c[f>>2]=H;c[f+4>>2]=E}n=(t|0)>>>31|(B|C)<<1|(C<<1|t>>>31)&0|I;o=(t<<1|0>>>31)&-2|J;return (F(n|0),o)|0}function ov(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b>>31|((b|0)<0?-1:0)<<1;f=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;g=d>>31|((d|0)<0?-1:0)<<1;h=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;i=lv(e^a|0,f^b|0,e|0,f|0)|0;b=G()|0;a=g^e;e=h^f;return lv((nv(i,b,lv(g^c|0,h^d|0,g|0,h|0)|0,G()|0,0)|0)^a|0,(G()|0)^e|0,a|0,e|0)|0}function pv(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=a&65535;d=b&65535;e=B(d,c)|0;f=a>>>16;a=(e>>>16)+(B(d,f)|0)|0;d=b>>>16;b=B(d,c)|0;return (F((a>>>16)+(B(d,f)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|e&65535|0)|0}function qv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;a=c;c=pv(e,a)|0;f=G()|0;return (F((B(b,a)|0)+(B(d,e)|0)+f|f&0|0),c|0|0)|0}function rv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return nv(a,b,c,d,0)|0}function sv(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){F(b>>c|0);return a>>>c|(b&(1<>c-32|0}function tv(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){F(b>>>c|0);return a>>>c|(b&(1<>>c-32|0}function uv(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){F(b<>>32-c|0);return a<>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function wv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;l=l+1|0;c[a>>2]=l;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=l;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;F(e|0);return d|0}f=f+1|0}e=e*2|0;d=zs(d|0,8*(e+1|0)|0)|0;d=wv(a|0,b|0,d|0,e|0)|0;F(e|0);return d|0}function xv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((e|0)<(d|0)){f=c[b+(e<<3)>>2]|0;if(!f)break;if((f|0)==(a|0))return c[b+((e<<3)+4)>>2]|0;e=e+1|0}return 0}function yv(a,b){a=a|0;b=b|0;if(!j){j=a;k=b}}function zv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){ta(b|0,d|0,e|0)|0;return b|0}f=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}h=g&-4|0;e=h-64|0;while((b|0)<=(e|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(h|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{h=g-4|0;while((b|0)<(h|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return f|0}function Av(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}g=f&-4|0;h=d|d<<8|d<<16|d<<24;i=g-64|0;while((b|0)<=(i|0)){c[b>>2]=h;c[b+4>>2]=h;c[b+8>>2]=h;c[b+12>>2]=h;c[b+16>>2]=h;c[b+20>>2]=h;c[b+24>>2]=h;c[b+28>>2]=h;c[b+32>>2]=h;c[b+36>>2]=h;c[b+40>>2]=h;c[b+44>>2]=h;c[b+48>>2]=h;c[b+52>>2]=h;c[b+56>>2]=h;c[b+60>>2]=h;b=b+64|0}while((b|0)<(g|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return f-e|0}function Bv(a){a=a|0;var b=0,d=0;b=c[i>>2]|0;d=b+a|0;if((a|0)>0&(d|0)<(b|0)|(d|0)<0){Ha(d|0)|0;X(12);return -1}if((d|0)>(ra()|0)){if(!(ua(d|0)|0)){X(12);return -1}}else c[i>>2]=d;return b|0}function Cv(a){a=a|0;return La[a&1]()|0}function Dv(a,b){a=a|0;b=b|0;return Ma[a&255](b|0)|0}function Ev(a,b,c){a=a|0;b=b|0;c=c|0;return Na[a&3](b|0,c|0)|0}function Fv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Oa[a&7](b|0,c|0,d|0)|0}function Gv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Pa[a&1](b|0,c|0,d|0,e|0)|0}function Hv(a){a=a|0;Qa[a&1]()}function Iv(a,b){a=a|0;b=b|0;Ra[a&7](b|0)}function Jv(a,b,c){a=a|0;b=b|0;c=c|0;Sa[a&7](b|0,c|0)}function Kv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ta[a&3](b|0,c|0,d|0)}function Lv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ua[a&0](b|0,c|0,d|0,e|0,f|0)}function Mv(){E(0);return 0}function Nv(a){a=a|0;E(1);return 0}function Ov(a,b){a=a|0;b=b|0;E(2);return 0}function Pv(a,b,c){a=a|0;b=b|0;c=c|0;E(3);return 0}function Qv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;E(4);return 0}function Rv(){E(5)}function Sv(a){a=a|0;E(6)}function Tv(a,b){a=a|0;b=b|0;E(7)}function Uv(a,b,c){a=a|0;b=b|0;c=c|0;E(8)}function Vv(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;E(9)} // EMSCRIPTEN_END_FUNCS var La=[Mv,vi];var Ma=[Nv,Cs,ab,bb,Qf,Uf,_h,Rf,Tf,$h,Wh,ai,bi,ci,di,Xf,Pf,Wf,ei,fi,gi,hi,ii,ji,ki,li,mi,ni,oi,pi,qi,ri,si,jg,ig,kg,lg,ui,wi,xi,yi,zi,Ai,Bi,Ci,Di,Ei,Fi,Gi,Hi,Ii,Ji,Ki,Li,Mi,Ni,Oi,Pi,Qi,Ri,Si,Ti,Ui,Vi,Wi,Xi,Yi,Zi,_i,$i,aj,bj,cj,dj,ej,fj,gj,hj,ij,jj,kj,lj,mj,nj,oj,pj,qj,rj,sj,tj,uj,vj,wj,xj,yj,zj,Aj,Bj,Cj,Dj,Ej,Fj,Gj,Hj,Ij,Jj,Kj,Lj,Mj,Nj,Oj,Pj,Qj,Rj,Sj,Tj,Uj,Vj,Wj,Xj,Yj,Zj,_j,$j,ak,Kf,Jf,Lf,Mf,Nf,Of,Vf,dg,bk,fg,ng,mg,gg,ck,dk,ek,fk,gk,hk,ik,jk,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv,Nv];var Na=[Ov,Ff,tm,Ov];var Oa=[Pv,Is,Es,At,Af,Js,Ds,yu];var Pa=[Qv,Mk];var Qa=[Rv,mn];var Ra=[Sv,eb,nm,om,Or,Sv,Sv,Sv];var Sa=[Tv,Um,sc,Zd,be,Gf,$f,ag];var Ta=[Uv,cb,Nr,Uv];var Ua=[Vv];return{___divdi3:ov,___emscripten_environ_constructor:fv,___errno_location:Gs,___muldi3:qv,___udivdi3:rv,__get_daylight:hv,__get_environ:jv,__get_timezone:iv,__get_tzname:gv,_bitshift64Ashr:sv,_bitshift64Lshr:tv,_bitshift64Shl:uv,_codo_mixer_callback:lq,_free:xs,_i64Add:kv,_i64Subtract:lv,_llvm_bswap_i32:vv,_main:Ib,_malloc:ws,_memcpy:zv,_memset:Av,_mix_0:kr,_realloc:zs,_saveSetjmp:wv,_sbrk:Bv,_setThrew:yv,_testSetjmp:xv,dynCall_i:Cv,dynCall_ii:Dv,dynCall_iii:Ev,dynCall_iiii:Fv,dynCall_iiiii:Gv,dynCall_v:Hv,dynCall_vi:Iv,dynCall_vii:Jv,dynCall_viii:Kv,dynCall_viiiii:Lv,establishStackSpace:Ya,stackAlloc:Va,stackRestore:Xa,stackSave:Wa}}) // EMSCRIPTEN_END_ASM (asmGlobalArg, asmLibraryArg, buffer); var ___divdi3 = Module["___divdi3"] = asm["___divdi3"]; var ___emscripten_environ_constructor = Module["___emscripten_environ_constructor"] = asm["___emscripten_environ_constructor"]; var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; var __get_daylight = Module["__get_daylight"] = asm["__get_daylight"]; var __get_environ = Module["__get_environ"] = asm["__get_environ"]; var __get_timezone = Module["__get_timezone"] = asm["__get_timezone"]; var __get_tzname = Module["__get_tzname"] = asm["__get_tzname"]; var _bitshift64Ashr = Module["_bitshift64Ashr"] = asm["_bitshift64Ashr"]; var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; var _codo_mixer_callback = Module["_codo_mixer_callback"] = asm["_codo_mixer_callback"]; var _free = Module["_free"] = asm["_free"]; var _i64Add = Module["_i64Add"] = asm["_i64Add"]; var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; var _main = Module["_main"] = asm["_main"]; var _malloc = Module["_malloc"] = asm["_malloc"]; var _memcpy = Module["_memcpy"] = asm["_memcpy"]; var _memset = Module["_memset"] = asm["_memset"]; var _mix_0 = Module["_mix_0"] = asm["_mix_0"]; var _realloc = Module["_realloc"] = asm["_realloc"]; var _saveSetjmp = Module["_saveSetjmp"] = asm["_saveSetjmp"]; var _sbrk = Module["_sbrk"] = asm["_sbrk"]; var _setThrew = Module["_setThrew"] = asm["_setThrew"]; var _testSetjmp = Module["_testSetjmp"] = asm["_testSetjmp"]; var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; var stackRestore = Module["stackRestore"] = asm["stackRestore"]; var stackSave = Module["stackSave"] = asm["stackSave"]; var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; var dynCall_iiiii = Module["dynCall_iiiii"] = asm["dynCall_iiiii"]; var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; Module["asm"] = asm; Module["ccall"] = ccall; Module["getValue"] = getValue; Module["getMemory"] = getMemory; Module["UTF8ToString"] = UTF8ToString; Module["stringToUTF8"] = stringToUTF8; Module["addRunDependency"] = addRunDependency; Module["removeRunDependency"] = removeRunDependency; Module["FS_createFolder"] = FS.createFolder; Module["FS_createPath"] = FS.createPath; Module["FS_createDataFile"] = FS.createDataFile; Module["FS_createPreloadedFile"] = FS.createPreloadedFile; Module["FS_createLazyFile"] = FS.createLazyFile; Module["FS_createLink"] = FS.createLink; Module["FS_createDevice"] = FS.createDevice; Module["FS_unlink"] = FS.unlink; if (memoryInitializer) { if (!isDataURI(memoryInitializer)) { memoryInitializer = locateFile(memoryInitializer); } if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) { var data = Module["readBinary"](memoryInitializer); HEAPU8.set(data, GLOBAL_BASE); } else { addRunDependency("memory initializer"); var applyMemoryInitializer = function(data) { if (data.byteLength) data = new Uint8Array(data); HEAPU8.set(data, GLOBAL_BASE); if (Module["memoryInitializerRequest"]) delete Module["memoryInitializerRequest"].response; removeRunDependency("memory initializer"); }; var doBrowserLoad = function() { Module["readAsync"](memoryInitializer, applyMemoryInitializer, function() { throw "could not load memory initializer " + memoryInitializer; }); }; var memoryInitializerBytes = tryParseAsDataURI(memoryInitializer); if (memoryInitializerBytes) { applyMemoryInitializer(memoryInitializerBytes.buffer); } else if (Module["memoryInitializerRequest"]) { var useRequest = function() { var request = Module["memoryInitializerRequest"]; var response = request.response; if (request.status !== 200 && request.status !== 0) { var data = tryParseAsDataURI(Module["memoryInitializerRequestURL"]); if (data) { response = data.buffer; } else { console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: " + request.status + ", retrying " + memoryInitializer); doBrowserLoad(); return; } } applyMemoryInitializer(response); }; if (Module["memoryInitializerRequest"].response) { setTimeout(useRequest, 0); } else { Module["memoryInitializerRequest"].addEventListener("load", useRequest); } } else { doBrowserLoad(); } } } function ExitStatus(status) { this.name = "ExitStatus"; this.message = "Program terminated with exit(" + status + ")"; this.status = status; } ExitStatus.prototype = new Error(); ExitStatus.prototype.constructor = ExitStatus; var calledMain = false; dependenciesFulfilled = function runCaller() { if (!Module["calledRun"]) run(); if (!Module["calledRun"]) dependenciesFulfilled = runCaller; }; Module["callMain"] = function callMain(args) { args = args || []; ensureInitRuntime(); var argc = args.length + 1; var argv = stackAlloc((argc + 1) * 4); HEAP32[argv >> 2] = allocateUTF8OnStack(Module["thisProgram"]); for (var i = 1; i < argc; i++) { HEAP32[(argv >> 2) + i] = allocateUTF8OnStack(args[i - 1]); } HEAP32[(argv >> 2) + argc] = 0; try { var ret = Module["_main"](argc, argv, 0); exit(ret, true); } catch (e) { if (e instanceof ExitStatus) { return; } else if (e == "SimulateInfiniteLoop") { Module["noExitRuntime"] = true; return; } else { var toLog = e; if (e && typeof e === "object" && e.stack) { toLog = [ e, e.stack ]; } err("exception thrown: " + toLog); Module["quit"](1, e); } } finally { calledMain = true; } }; function run(args) { args = args || Module["arguments"]; if (runDependencies > 0) { return; } preRun(); if (runDependencies > 0) return; if (Module["calledRun"]) return; function doRun() { if (Module["calledRun"]) return; Module["calledRun"] = true; if (ABORT) return; ensureInitRuntime(); preMain(); if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"](); if (Module["_main"] && shouldRunNow) Module["callMain"](args); postRun(); } if (Module["setStatus"]) { Module["setStatus"]("Running..."); setTimeout(function() { setTimeout(function() { Module["setStatus"](""); }, 1); doRun(); }, 1); } else { doRun(); } } Module["run"] = run; function exit(status, implicit) { if (implicit && Module["noExitRuntime"] && status === 0) { return; } if (Module["noExitRuntime"]) {} else { ABORT = true; EXITSTATUS = status; exitRuntime(); if (Module["onExit"]) Module["onExit"](status); } Module["quit"](status, new ExitStatus(status)); } function abort(what) { if (Module["onAbort"]) { Module["onAbort"](what); } if (what !== undefined) { out(what); err(what); what = JSON.stringify(what); } else { what = ""; } ABORT = true; EXITSTATUS = 1; throw "abort(" + what + "). Build with -s ASSERTIONS=1 for more info."; } Module["abort"] = abort; if (Module["preInit"]) { if (typeof Module["preInit"] == "function") Module["preInit"] = [ Module["preInit"] ]; while (Module["preInit"].length > 0) { Module["preInit"].pop()(); } } var shouldRunNow = true; if (Module["noInitialRun"]) { shouldRunNow = false; } Module["noExitRuntime"] = true; run();