var _cartname=[`celeste.p8`]; var _cdpos=0; var iii=0; var ciii=0; var _cartdat=[ 0,0,0,0,0,0,0,0,0,0,0,0,128,136,136,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,170,10,0,160,170,0,0,0,10,0,0,112,7,119,7,112,119,0,0,0,6,0,0,0,6,0,0,96,0,0,0,0,0,0,128,136,136,8,128,136,136,8,136,136,136,136,128,136,136,8,128,136,136,0,0,0,0,0,128,136,136,8,0,10,0,10,0,160,160,0,0,0,10,0,112,119,119,103,119,119,119,7,0,0,6,0,0,0,6,0,0,96,0,0,0,0,0,0,136,136,136,136,136,136,136,136,136,248,255,143,136,136,136,136,136,136,136,8,128,136,136,8,136,31,255,129,0,154,144,10,0,160,160,0,0,0,10,0,119,102,102,102,118,103,119,119,0,96,0,0,0,0,6,0,0,96,0,0,0,0,0,0,136,248,255,143,136,248,255,143,136,31,255,129,136,248,255,143,248,255,143,8,136,136,136,136,136,255,255,143,0,169,170,9,0,144,154,0,0,0,10,0,103,119,103,102,103,102,102,119,0,96,0,0,0,0,6,0,0,96,0,0, 0,0,0,0,136,31,255,129,136,31,255,129,128,255,255,15,136,31,255,129,24,255,241,8,136,248,255,143,136,255,255,143,0,0,10,0,0,0,10,0,0,0,10,0,0,0,0,0,0,0,0,0,0,96,0,0,0,96,0,0,0,0,6,0,0,0,0,0,128,255,255,15,128,255,255,15,0,51,51,0,128,255,255,15,240,255,255,8,136,255,255,143,128,51,51,8,0,153,10,0,0,144,10,0,0,0,10,0,0,0,0,0,0,0,0,0,0,96,0,0,0,96,0,0,0,0,6,0,0,0,0,0,0,51,51,0,0,51,51,0,112,0,0,7,112,51,51,0,0,51,51,7,128,31,255,1,0,51,51,0,0,144,10,0,0,0,10,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,6,0,0,96,0,0,0,0,6,0,0,0,0,0,0,7,112,0,0,7,0,7,0,0,0,0,0,0,112,0,0,0,7,0,112,55,51,7,0,7,112,0,0,170,10,0,0,144,10,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,6,0,0,96,0,0,0,0,6,0, 85,85,85,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,136,0,148,153,153,73,148,153,153,73,148,153,144,73,48,0,11,11,102,86,102,86,48,0,11,11,0,0,0,0,0,0,0,0,7,0,0,0,85,85,85,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,136,136,8,25,17,17,145,25,17,20,145,25,65,144,145,0,179,51,0,118,86,118,86,0,179,51,0,0,119,0,0,112,7,112,0,112,0,0,112,85,0,0,85,0,0,0,0,0,0,0,0,0,0,0,0,160,170,170,10,0,0,0,0,128,135,136,8,25,17,17,145,25,17,25,145,148,4,64,145,32,136,136,2,118,7,118,7,32,136,136,2,0,119,7,7,112,119,0,0,0,0,0,0,85,0,0,85,0,7,0,7,64,153,153,4,0,0,0,0,154,137,136,168,17,17,17,17,128,136,136,8,25,17,17,145,73,73,64,145,0,0,0,68,128,137,136,8,112,0,112,0,135,137,136,120,112,119,119,7,112,7,0,0,0,0,0,0, 85,0,0,85,0,7,0,7,0,5,80,0,0,0,0,0,154,136,136,168,1,0,0,16,128,136,136,8,25,17,17,145,25,65,144,148,73,0,0,0,128,136,152,8,112,0,112,0,135,136,152,120,112,119,119,7,0,0,7,0,0,0,0,0,85,0,0,85,96,119,96,119,0,80,5,0,0,0,0,0,170,170,170,170,17,17,17,17,128,136,136,8,25,17,17,145,25,17,25,145,25,4,64,153,128,152,136,8,0,0,0,0,128,152,136,8,112,119,119,7,0,0,112,7,0,0,0,0,85,85,85,85,101,103,101,103,0,5,80,0,0,0,0,0,154,8,128,168,65,68,68,20,0,136,136,0,25,17,17,145,25,65,17,145,25,4,20,145,32,136,136,2,0,0,0,0,32,136,136,2,112,112,119,0,0,112,112,7,112,0,0,7,85,85,85,85,101,102,101,102,0,80,5,0,64,153,153,4,154,136,136,168,65,68,68,20,0,0,0,0,148,153,153,73,148,153,153,73,68,0,148,73,0,130,40,0,0,0,0,0,0,130,40,0,0,0,0,0,7,0,0,0,0,0,0,0, 117,119,119,87,117,119,119,119,119,119,119,119,119,119,119,87,119,204,204,204,204,204,204,204,204,204,204,119,117,119,119,87,85,85,85,85,85,85,85,85,85,85,85,85,85,0,0,0,112,119,119,7,0,0,0,0,0,0,0,0,0,0,0,0,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,199,204,204,204,204,204,204,204,204,124,119,119,119,119,119,85,85,85,85,85,85,85,5,80,85,85,85,102,7,0,0,119,119,119,119,0,112,119,119,0,0,0,0,0,0,0,0,119,199,119,119,119,119,204,204,124,119,119,199,204,204,119,119,119,199,204,204,204,204,204,204,204,204,124,119,119,119,119,119,85,85,85,85,85,85,85,0,0,85,85,85,118,119,7,0,119,119,119,119,0,119,102,7,0,0,0,0,0,0,0,0,119,204,204,119,119,199,204,204,204,124,199,204,204,204,124,119,119,119,204,204,204,204,204,204,204,204,119,119,119,199,124,119,85,85,85,85,85,85,5,0,0,80,85,85,102,6,0,0,119,119,51,119,112,118,119,0,0,0,0,0,0,0,0,0, 119,204,204,119,119,204,204,204,204,204,204,204,204,204,204,119,119,119,204,204,204,204,204,204,204,204,119,119,119,204,204,119,85,85,85,85,85,85,0,0,0,0,85,85,85,0,0,0,119,119,51,119,112,103,6,0,112,119,119,0,0,0,0,0,119,199,124,119,119,204,119,204,204,204,204,204,204,124,204,119,119,199,204,204,204,204,204,204,204,204,124,119,119,204,204,119,85,85,85,85,85,5,0,0,0,0,80,85,102,7,0,0,55,119,51,115,112,119,7,0,112,119,103,7,112,7,0,0,119,119,119,119,119,204,119,204,204,204,204,204,204,204,204,119,119,199,204,204,204,204,204,204,204,204,124,119,119,124,204,119,85,85,85,85,85,0,0,0,0,0,0,85,118,119,7,0,55,51,187,115,0,0,0,0,0,0,0,119,0,119,119,7,117,119,119,87,119,204,204,204,204,204,204,204,204,204,204,119,119,204,204,204,204,204,204,204,204,204,204,119,119,204,204,119,85,85,85,85,5,0,0,0,0,0,0,80,102,6,0,0,48,51,187,3,0,0,0,0,0,0,0,0,0,112,119,119, 119,204,204,119,119,204,204,204,204,204,204,204,204,204,204,119,117,119,119,119,119,119,119,119,119,119,119,87,119,199,204,119,85,85,85,85,5,0,0,0,0,0,0,80,0,0,96,102,48,51,51,3,0,0,0,0,0,0,0,0,0,0,0,0,119,199,204,119,119,204,204,204,204,204,204,204,204,204,204,119,119,119,119,119,119,119,119,119,119,119,119,119,119,199,124,119,5,85,85,85,85,0,0,0,0,0,0,85,0,112,119,103,48,59,51,3,0,0,0,0,0,238,224,14,0,0,0,0,119,199,204,119,119,204,199,204,204,204,204,204,124,199,204,119,119,119,204,124,119,119,119,119,199,204,119,119,119,199,124,119,85,85,0,85,85,5,0,0,0,0,80,85,0,0,112,102,48,51,51,3,0,0,0,0,0,238,238,14,0,0,0,3,119,204,124,119,119,204,204,204,204,204,204,204,124,199,204,119,119,199,204,204,199,119,119,204,204,204,124,119,119,204,124,119,85,85,0,85,85,85,0,0,0,0,85,85,0,0,0,85,48,51,59,3,0,0,0,0,0,224,232,0,0,0,0,11, 119,204,124,119,119,199,204,204,204,124,199,204,204,204,124,119,119,199,204,204,204,119,119,124,204,204,124,119,119,204,204,119,85,85,85,85,85,85,5,0,0,80,85,85,0,0,96,102,0,51,51,0,0,0,11,0,0,238,238,14,0,0,176,3,119,199,124,119,119,119,204,204,124,119,119,199,204,204,119,119,119,119,204,124,119,119,119,119,199,204,119,119,119,204,204,119,85,80,85,85,85,85,85,0,0,85,85,85,0,112,119,103,0,64,4,0,0,176,0,0,0,238,227,14,48,0,176,0,119,199,124,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,119,199,124,119,85,85,85,85,85,85,85,5,80,85,85,85,0,0,112,102,0,64,4,0,48,176,0,3,0,0,11,0,0,11,59,0,119,204,204,119,117,119,119,119,119,119,119,119,119,119,119,87,117,119,119,119,119,119,119,119,119,119,119,87,117,119,119,87,85,85,85,85,85,85,85,85,85,85,85,85,0,0,0,85,0,153,153,0,48,48,3,3,0,0,11,0,0,3,51,0, 117,119,87,117,119,117,119,87,112,119,119,119,119,119,119,119,119,119,119,7,112,119,119,7,0,0,0,0,0,0,0,0,204,204,204,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,119,119,119,119,119,119,7,0,112,119,0,0,119,7,0,0,119,119,7,0,119,119,0,0,0,0,0,0,0,0,124,199,204,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,119,204,119,119,204,119,119,7,204,119,199,204,124,119,204,204,124,119,112,7,124,119,112,0,0,0,0,0,0,0,0,124,199,124,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,119,199,204,204,204,204,124,119,7,124,119,204,204,119,199,204,204,119,199,112,7,119,199,112,0,0,0,0,0,0,0,0,204,204,204,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0, 119,204,204,204,204,204,204,119,7,119,7,0,112,119,0,0,112,119,0,112,119,119,0,112,0,32,238,238,238,238,2,0,204,204,204,204,0,0,0,0,0,0,0,0,0,0,0,0,0,96,96,0,0,0,0,0,0,0,0,0,0,0,0,0,117,204,119,204,204,124,204,87,119,119,0,0,119,7,0,0,119,7,0,112,119,7,0,112,0,226,238,238,238,238,46,0,204,199,204,204,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,6,0,0,0,0,0,0,0,0,0,0,0,0,117,199,119,204,204,204,124,87,7,0,0,0,0,0,0,0,0,192,0,112,7,0,192,112,0,238,238,238,238,238,238,0,204,204,124,204,0,0,0,0,0,0,0,0,0,0,0,0,208,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,119,199,204,204,204,204,124,119,7,0,0,0,0,0,0,0,0,0,0,112,7,0,0,112,0,46,34,34,46,46,226,0,204,204,204,204,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0, 119,199,204,204,204,204,124,119,7,0,0,0,0,0,0,0,0,0,0,112,7,0,0,112,0,238,238,238,238,238,238,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,192,0,96,0,0,0,0,0,0,0,0,0,0,117,199,204,204,204,204,124,119,7,0,0,192,0,0,0,0,0,0,0,112,7,204,0,112,0,46,226,34,34,46,226,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,12,6,13,0,0,0,0,0,0,0,0,0,117,204,199,204,124,199,204,87,7,0,0,0,0,192,12,0,0,0,0,112,7,204,0,112,0,238,238,238,238,238,238,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,208,0,208,0,0,0,0,0,0,0,0,0,119,204,204,204,124,199,204,119,7,12,0,0,0,192,12,0,0,0,192,112,7,0,192,112,0,238,46,34,46,226,238,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 119,199,204,204,204,204,124,119,7,0,0,0,0,0,0,0,0,0,0,112,7,0,0,112,0,238,238,238,238,238,238,0,85,85,85,85,96,102,102,0,102,102,102,0,102,0,12,0,102,102,102,0,96,102,102,0,102,102,102,0,102,102,102,0,119,119,204,119,119,204,119,119,7,0,0,0,0,0,0,0,0,0,0,112,7,12,0,112,0,238,238,238,238,238,238,0,85,85,85,85,102,102,102,6,102,102,102,6,102,192,0,0,102,102,102,6,102,102,102,6,102,102,102,6,102,102,102,6,119,119,119,119,119,119,119,119,7,0,0,0,12,0,0,0,0,0,0,112,7,0,0,112,0,238,119,238,126,119,231,0,85,85,85,85,102,0,96,6,102,0,0,0,102,0,0,0,102,0,0,0,102,0,0,0,0,102,0,0,102,0,0,0,117,119,87,119,119,85,119,87,7,0,0,0,0,0,0,0,0,0,0,112,7,0,12,112,112,119,119,119,119,119,119,7,85,85,85,85,221,0,0,0,221,221,0,0,221,0,0,0,221,221,0,0,221,221,221,13,0,221,0,0,221,221,0,0, 0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,112,7,0,0,112,0,119,119,0,5,0,0,0,0,0,0,80,221,0,208,13,221,0,0,0,221,0,0,13,221,0,0,0,0,0,0,13,0,221,0,0,221,0,0,0,0,170,170,170,170,170,170,0,7,0,0,0,0,0,0,0,0,0,0,112,7,192,0,112,112,0,0,7,85,0,0,0,0,0,0,85,221,221,221,13,221,221,221,0,221,221,221,13,221,221,221,0,221,221,221,13,0,221,0,0,221,221,221,0,160,153,153,153,153,153,153,10,7,0,0,0,0,0,12,0,0,0,0,112,7,0,0,112,7,119,0,112,85,5,0,0,0,0,80,85,208,221,221,0,221,221,221,13,221,221,221,13,221,221,221,13,208,221,221,0,0,221,0,0,221,221,221,13,154,169,170,170,170,170,154,169,7,0,0,192,12,0,0,0,0,0,0,112,7,0,204,112,7,119,187,112,85,85,0,0,0,0,85,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 154,170,170,170,170,170,170,169,7,0,0,192,12,0,0,0,0,192,0,112,7,0,204,112,7,176,187,112,85,85,85,85,85,85,85,85,0,0,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,154,153,153,153,153,153,153,169,7,12,0,0,0,0,0,0,0,0,0,112,7,12,0,112,7,176,187,112,85,85,85,85,85,85,85,85,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,0,0,0,0,154,153,153,153,153,153,153,169,7,0,0,0,0,0,0,0,0,0,0,112,7,0,0,112,112,0,0,7,85,85,85,85,85,85,85,85,0,0,0,0,0,204,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,154,153,153,153,153,153,153,169,112,119,119,119,119,119,119,119,119,119,119,7,112,119,119,7,0,119,119,0,85,85,85,85,85,85,85,85,0,0,0,0,192,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0, 170,170,170,170,170,170,170,170,112,119,119,119,119,119,119,119,119,119,119,7,112,119,119,7,0,180,187,0,0,180,0,0,0,4,176,187,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,74,73,73,26,161,148,148,164,7,0,119,7,0,0,119,7,0,0,119,119,7,0,119,119,0,180,187,187,0,180,11,0,0,180,187,187,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,192,0,0,0,74,73,74,26,161,164,148,164,7,124,119,204,204,124,119,204,204,124,119,112,7,124,119,112,64,2,176,187,64,178,187,187,64,178,187,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,12,0,0,74,73,68,170,170,68,148,164,7,119,199,204,204,119,199,204,204,119,199,112,7,119,199,112,64,0,0,0,64,0,187,11,64,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,16,0,192,0,0, 74,153,153,170,170,153,153,164,119,119,0,0,112,119,0,0,112,119,0,112,119,119,0,112,64,0,0,0,64,0,0,0,64,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,16,0,0,74,73,68,153,153,68,148,164,119,7,0,0,119,7,0,0,119,7,0,112,119,7,192,112,36,0,0,0,36,0,0,0,36,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,1,0,74,73,74,68,68,164,148,164,7,0,0,0,0,0,0,0,0,0,0,112,7,0,0,112,4,0,0,0,4,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,74,73,153,153,153,153,148,164,112,119,119,119,119,119,119,119,119,119,119,7,112,119,119,7,4,0,0,0,4,0,0,0,4,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,1, 0,0,0,0,0,0,0,0,40,36,37,37,37,37,72,37,51,41,0,0,49,50,50,50,37,50,50,50,50,50,37,50,0,0,0,0,0,0,0,0,59,32,0,0,49,50,50,37,37,38,0,42,40,56,36,37,37,50,50,50,50,50,50,50,0,0,0,0,0,0,0,42,16,40,41,0,49,50,50,37,99,99,99,100,82,83,83,83,84,85,0,0,0,85,82,83,37,72,37,37,38,43,0,0,0,0,0,0,36,37,37,37,38,40,40,40,36,37,72,37,37,37,72,37,37,37,37,37,0,0,0,0,0,0,88,104,40,36,72,37,37,37,37,37,27,0,22,0,27,27,27,27,48,27,27,27,27,27,48,27,0,0,0,0,0,0,0,17,17,32,0,0,0,42,40,36,37,51,0,0,0,42,49,50,51,0,0,41,0,0,56,41,0,0,0,0,0,0,17,0,0,42,0,0,0,42,40,49,0,0,0,0,98,99,99,99,100,85,0,0,0,85,82,83,37,37,37,72,38,43,58,0,0,0,0,0,36,37,72,37,38,40,56,40,49,50,50,50,50,50,50,50,37,37,72,37, 0,0,0,0,0,0,42,16,40,49,50,37,37,72,37,37,0,0,0,0,0,0,0,0,55,0,0,0,0,0,55,0,0,0,0,0,0,0,59,52,53,54,0,20,0,0,16,49,38,43,0,0,0,0,0,0,0,0,0,0,0,0,42,0,0,0,0,0,0,59,32,43,0,18,0,0,0,0,42,40,0,0,0,0,0,0,0,0,0,101,0,0,0,85,98,99,37,37,37,50,51,43,40,41,0,17,17,32,36,37,37,37,38,16,41,0,40,41,0,0,0,0,42,40,49,37,37,37,0,0,0,0,0,0,0,0,42,40,40,36,37,37,37,72,0,0,0,0,0,0,0,0,27,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,59,52,53,54,57,0,0,27,38,114,115,115,115,115,115,115,115,115,115,116,17,0,0,22,0,0,0,17,0,0,27,0,59,32,43,0,0,0,22,40,0,0,0,0,0,0,0,0,0,0,0,0,0,101,0,0,37,37,51,40,40,40,40,16,58,33,34,34,37,37,37,37,38,40,0,0,42,0,17,17,17,0,0,40,56,36,37,37, 0,0,0,0,0,0,0,57,58,40,40,36,37,37,37,37,0,0,22,0,0,17,0,0,0,0,0,17,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,32,16,40,0,17,37,34,34,34,34,34,34,34,34,34,34,34,35,43,0,0,0,0,59,32,43,0,0,0,0,27,0,0,0,0,0,42,0,0,0,0,0,0,0,0,57,0,0,0,0,0,0,0,72,38,40,40,40,56,40,40,40,49,50,50,37,72,37,37,38,41,0,0,0,17,66,67,68,0,0,42,40,36,37,72,0,0,0,0,0,0,0,42,40,56,40,36,72,37,37,37,0,0,0,0,59,32,43,57,22,0,59,32,43,0,22,0,39,57,58,0,0,0,0,0,0,0,0,27,42,40,57,33,37,72,37,37,37,37,37,50,50,50,50,50,38,43,0,0,0,0,0,27,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,57,0,0,104,40,0,0,58,0,0,0,0,37,38,40,40,16,42,0,42,40,40,41,0,49,50,50,50,38,17,17,17,17,66,83,83,84,0,0,59,33,37,37,37, 0,0,0,0,0,0,0,0,40,40,40,49,50,50,50,50,40,0,0,58,0,27,58,40,57,0,0,27,0,0,0,0,55,40,56,57,17,0,0,0,0,0,0,17,58,40,40,49,50,50,50,50,37,72,38,40,41,0,42,16,55,43,0,22,0,0,0,0,0,0,59,32,43,0,0,22,0,0,0,0,0,0,58,88,40,40,104,40,40,40,40,40,57,0,0,0,37,38,56,40,41,0,0,0,0,42,0,0,0,0,0,0,37,34,34,34,35,98,99,99,100,0,0,59,36,37,37,37,0,0,0,17,17,17,17,58,40,40,16,27,27,27,27,27,40,57,40,40,57,0,40,40,0,0,0,0,0,0,0,0,27,0,42,40,39,17,0,0,0,0,59,39,40,40,56,27,34,34,34,35,49,50,51,22,0,0,104,41,0,0,0,0,0,1,0,0,0,0,0,27,0,0,0,0,0,0,0,0,104,57,40,40,40,40,16,41,0,0,42,16,40,58,103,104,37,38,40,40,57,0,0,0,0,0,0,0,0,0,0,0,37,37,72,37,37,35,40,56,41,0,0,59,36,72,37,37, 0,0,104,33,34,34,35,40,56,40,40,57,0,0,0,0,40,40,40,40,40,56,40,41,0,0,0,0,0,0,22,0,17,0,58,40,55,39,0,0,0,0,59,55,42,40,41,17,37,37,72,38,56,40,42,0,0,0,42,0,0,0,0,0,0,32,17,17,17,17,17,17,17,17,17,17,17,17,0,22,40,40,40,42,56,40,40,0,0,0,0,0,40,40,40,40,37,38,40,41,0,0,0,0,0,0,0,0,0,0,0,0,37,37,37,37,37,38,16,42,0,0,0,59,36,37,37,37,0,0,16,49,50,37,37,34,53,53,53,54,0,0,0,0,40,56,0,42,40,40,40,16,57,57,0,0,17,0,0,0,39,40,40,41,27,48,57,0,0,0,0,27,0,42,40,33,37,50,37,38,41,0,0,0,0,0,0,58,0,0,0,0,0,52,53,53,53,53,53,53,53,53,53,53,53,54,43,0,40,40,41,0,40,40,41,0,96,97,0,58,40,56,40,42,72,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,72,37,37,37,38,41,0,0,17,17,17,36,37,37,37, 0,0,42,40,40,49,50,38,27,27,27,27,0,0,0,0,41,0,0,0,0,42,40,40,40,40,57,59,39,43,0,0,55,40,16,0,17,48,40,58,0,0,0,17,0,40,40,49,38,1,49,51,22,0,0,0,0,0,0,40,57,0,0,0,0,32,40,56,40,40,40,32,40,40,40,40,40,39,43,0,56,40,0,0,42,40,61,0,112,113,63,40,40,41,0,0,37,38,0,0,0,0,0,0,57,0,0,0,0,0,0,0,37,37,37,37,72,38,0,0,59,33,34,35,49,37,72,37,0,0,0,40,56,41,59,48,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,40,40,40,40,59,48,43,0,0,27,42,40,56,39,48,40,16,57,0,0,39,58,40,41,27,38,23,0,0,0,0,0,0,57,0,0,56,40,0,0,0,0,27,42,40,40,16,40,27,42,40,56,42,40,55,43,0,40,40,57,0,0,40,33,34,35,33,34,35,40,0,0,58,50,51,0,0,0,0,0,0,40,41,0,0,0,0,0,0,50,50,50,50,50,51,0,0,59,36,37,37,35,49,37,37, 0,0,0,42,40,0,59,55,0,0,0,0,58,39,0,0,0,1,0,0,0,17,17,17,17,40,56,59,55,43,0,58,0,0,40,40,55,48,41,0,40,56,0,55,40,56,0,17,38,57,0,0,0,0,0,0,40,0,0,40,40,41,0,0,0,0,0,41,22,42,40,0,0,40,22,0,40,40,0,0,16,41,0,0,0,32,49,50,51,36,72,38,40,66,67,67,0,0,0,0,0,0,0,0,40,0,0,88,104,0,0,0,56,40,40,41,0,0,0,0,59,36,37,72,37,35,49,50,0,0,1,0,40,0,0,40,0,0,0,42,40,48,0,0,34,34,35,17,17,33,53,53,54,16,40,40,41,0,0,56,0,0,41,0,27,48,0,0,42,40,0,0,40,40,0,33,38,40,41,0,0,0,0,58,40,41,0,40,40,0,0,0,0,88,104,0,0,40,40,58,40,40,57,0,40,41,22,0,40,0,1,0,0,33,34,34,34,37,37,37,35,82,83,83,0,0,0,63,1,0,0,58,40,0,0,42,16,0,0,0,40,41,0,0,0,0,57,0,59,36,37,37,37,37,34,34, 64,0,33,34,35,43,0,56,57,18,0,104,56,48,57,0,37,72,37,34,34,38,12,0,42,40,40,40,0,0,58,40,1,0,0,0,58,55,8,0,0,40,57,0,40,41,0,49,38,40,0,0,0,0,0,40,56,0,58,40,16,0,0,0,0,42,40,40,40,41,42,40,40,56,40,40,40,0,0,0,67,67,67,67,68,36,37,72,37,37,37,37,38,82,83,83,0,0,0,33,54,0,0,56,40,57,0,0,40,0,28,0,40,1,61,62,0,58,40,0,59,36,37,37,37,72,37,37,33,35,36,37,38,43,104,40,40,39,40,40,16,48,40,0,37,37,37,37,72,38,0,0,0,40,40,41,0,0,40,40,35,0,0,0,56,40,57,0,0,42,40,16,40,0,0,27,38,56,57,0,0,0,0,40,40,0,40,40,40,57,0,0,0,0,0,56,40,0,0,0,42,40,16,40,0,0,0,0,83,83,83,83,84,36,37,37,37,37,37,72,38,82,83,83,0,0,0,48,66,68,0,40,40,40,0,0,40,57,0,0,34,34,34,35,16,40,56,57,59,36,37,37,37,37,37,37, 37,37,37,37,37,38,43,27,27,27,49,50,50,37,38,0,72,37,50,50,50,50,50,50,37,37,50,50,50,51,40,40,37,37,37,37,37,37,37,37,37,37,72,37,50,51,43,40,50,50,50,50,50,37,38,40,40,0,0,59,36,37,37,37,37,72,37,37,37,37,37,72,72,37,37,37,38,56,40,36,37,72,37,37,50,51,40,40,41,36,37,50,50,50,37,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,37,37,72,37,38,43,0,0,0,27,27,27,36,38,0,50,51,40,103,0,0,0,40,36,51,43,42,40,16,40,56,37,37,37,72,37,37,50,50,50,50,37,38,27,27,0,56,41,1,0,58,40,36,38,56,41,0,0,59,36,50,50,50,50,50,50,50,50,50,50,50,50,50,50,37,38,16,40,49,37,37,50,51,27,27,16,40,20,49,51,56,40,40,36,72,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 37,37,37,37,37,38,43,0,0,0,0,0,42,36,38,103,40,40,56,41,0,0,17,42,55,43,0,58,40,39,41,0,37,37,37,37,37,51,27,27,27,27,49,51,0,0,0,40,53,53,53,54,40,36,38,40,20,0,0,59,48,40,42,42,26,40,41,0,42,40,56,40,40,16,40,36,38,0,42,56,37,38,27,27,0,0,56,33,35,43,0,0,8,16,36,37,0,0,0,0,0,0,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,72,37,50,50,51,43,0,0,0,17,0,40,36,38,41,40,16,42,0,0,59,39,0,41,0,0,0,56,48,0,0,50,50,37,37,38,43,0,0,0,0,59,39,0,0,58,40,40,40,56,40,40,36,37,34,35,43,0,59,55,41,8,0,0,16,0,17,0,41,42,40,41,17,42,49,51,0,58,40,37,38,43,0,0,0,42,49,51,43,0,0,104,40,36,37,0,0,0,0,0,0,16,0,0,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 37,37,38,33,34,35,43,0,58,103,39,43,42,36,38,56,40,41,0,0,0,59,48,0,0,0,0,58,40,48,0,0,34,35,49,50,51,43,0,0,0,0,59,48,40,57,0,42,56,40,41,16,41,36,72,37,38,43,0,0,0,0,0,0,0,42,59,32,43,58,22,40,59,32,43,0,17,0,0,40,37,38,43,0,0,0,0,27,27,0,0,42,56,42,36,37,0,0,0,0,58,0,40,0,0,56,0,0,0,0,0,0,0,0,0,0,0,73,74,75,76,77,78,79,0,0,0,0,37,37,38,36,72,38,43,0,42,56,48,43,18,36,38,41,56,0,0,0,0,59,48,0,0,0,0,0,42,48,62,20,37,37,34,34,35,43,0,0,0,0,59,48,41,0,0,0,40,41,0,0,0,36,37,37,38,43,0,0,0,0,0,0,0,0,0,27,0,42,40,40,0,27,0,59,32,43,17,42,37,38,43,0,0,0,0,0,0,0,0,0,41,59,36,72,0,0,0,0,40,103,40,0,0,16,0,57,0,0,0,0,0,0,0,0,0,89,90,91,92,93,94,95,0,0,0,0, 50,50,51,49,50,38,43,18,0,40,48,43,23,49,51,0,40,57,88,104,57,59,48,17,17,17,17,17,17,36,34,34,37,37,72,37,38,43,0,0,17,0,59,48,43,0,0,0,40,17,17,17,17,36,37,72,38,43,0,0,0,0,0,0,0,0,0,0,0,0,17,16,103,88,17,0,27,59,32,22,72,38,17,17,17,17,0,0,0,22,0,0,0,59,49,37,0,0,0,0,40,56,40,118,0,40,103,40,0,0,0,0,0,0,0,0,0,105,106,107,108,109,110,111,0,0,0,0,40,0,0,0,42,48,17,39,0,42,48,43,0,16,16,57,40,40,56,40,52,53,50,53,53,53,53,53,53,37,37,72,37,37,37,37,38,43,0,59,39,0,59,48,43,0,0,0,40,52,53,53,53,50,50,37,38,43,0,0,17,0,0,0,0,0,0,0,0,59,32,40,40,56,39,43,22,0,27,0,37,37,35,33,34,35,43,0,0,0,0,0,0,0,27,36,0,0,0,0,42,40,40,33,35,40,56,41,0,0,0,0,0,0,0,0,0,121,122,123,124,125,126,127,0,0,0,0, 41,0,17,0,0,49,53,38,43,0,49,53,53,53,53,53,41,0,42,0,0,16,40,40,40,40,41,0,59,36,37,37,50,50,50,50,38,43,22,59,48,0,59,48,0,0,0,0,41,27,27,27,27,27,59,36,38,43,0,59,39,43,0,0,0,17,0,0,0,0,27,42,40,40,55,43,0,0,0,0,50,50,51,49,50,51,43,0,0,17,17,0,0,0,59,36,0,0,0,104,56,40,33,37,37,35,40,57,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,39,43,0,42,56,48,43,0,0,0,42,40,57,59,0,0,0,0,0,0,42,40,56,40,40,103,33,37,37,37,27,27,27,27,55,43,0,59,48,57,59,48,22,0,0,0,0,0,0,0,0,0,59,36,38,43,23,59,48,43,0,0,59,32,43,17,0,0,0,17,0,41,27,0,0,0,0,58,27,27,27,27,27,27,0,17,17,33,35,17,0,0,59,36,0,0,0,42,40,33,37,72,37,37,35,40,56,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 8,59,48,43,0,0,40,48,17,17,17,17,0,40,56,59,17,17,17,17,17,0,0,40,41,0,41,40,36,37,72,37,0,0,0,58,40,0,0,59,48,40,59,55,0,0,0,0,0,0,0,0,0,0,59,36,38,17,17,17,48,43,0,0,0,27,59,32,43,0,59,39,43,0,0,0,0,0,0,40,43,1,0,0,0,0,59,33,34,37,50,54,43,0,59,49,88,88,104,40,41,36,37,37,37,37,38,16,40,40,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59,55,43,0,0,42,49,53,53,53,54,0,40,41,59,34,34,34,34,35,17,17,32,43,0,0,42,49,50,37,37,0,0,0,16,56,41,0,59,48,40,40,40,0,0,0,0,17,17,17,17,57,0,17,36,37,34,34,34,51,43,0,0,1,0,0,27,0,0,59,48,43,0,0,0,0,88,104,40,43,23,0,0,0,0,59,36,37,51,27,27,0,0,0,27,40,16,40,56,0,49,50,37,37,72,38,41,0,42,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 57,0,27,0,0,0,0,27,27,27,27,27,0,42,0,59,50,50,50,50,50,53,54,27,0,0,0,0,27,27,49,37,0,0,0,0,40,0,0,59,48,40,56,41,0,0,0,0,34,34,34,35,40,56,52,50,50,50,50,51,43,0,0,0,35,57,0,0,0,0,59,55,43,0,0,0,0,42,16,40,17,17,17,17,0,0,59,49,51,27,0,58,0,22,0,0,0,42,40,57,63,33,35,36,37,50,51,32,0,0,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,41,0,0,1,0,20,0,0,0,0,0,0,0,0,59,57,1,61,0,0,42,40,0,0,0,0,0,0,0,40,36,0,0,0,104,40,103,0,59,48,0,42,40,103,0,0,0,37,37,37,38,0,40,40,0,58,16,40,42,0,22,0,58,38,40,0,0,0,0,0,27,0,0,0,57,58,40,56,40,34,34,34,35,43,0,0,27,27,0,0,56,0,0,0,104,0,0,33,34,34,37,38,49,51,33,34,35,40,57,40,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 16,103,88,58,33,34,35,17,17,17,17,17,0,18,0,59,34,34,35,57,0,16,40,57,0,0,0,0,8,58,16,49,1,0,58,56,40,41,0,59,55,0,0,56,41,0,0,0,37,72,37,38,0,42,40,40,40,56,41,0,0,0,0,40,38,56,57,18,0,0,0,0,0,0,58,40,40,40,40,16,37,72,37,38,43,22,0,0,57,0,0,40,58,0,58,40,1,0,49,37,37,72,37,34,34,37,37,37,35,16,56,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,56,40,40,36,37,37,34,34,34,34,35,0,23,0,59,37,37,38,40,58,40,56,40,0,0,0,0,0,56,40,40,35,0,16,40,40,0,0,0,56,0,0,40,16,0,0,0,37,37,37,38,23,23,40,56,40,0,0,0,0,0,58,40,38,40,16,39,57,0,0,0,0,42,40,40,56,40,40,40,37,37,72,38,43,0,0,58,56,0,58,40,16,40,56,40,33,34,35,36,37,37,37,37,37,37,72,37,37,34,34,35,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 35,49,37,37,72,37,37,50,50,50,50,50,51,0,0,36,37,38,36,37,37,38,49,50,50,50,37,38,40,40,40,36,37,37,37,37,37,37,50,51,40,56,40,40,49,37,37,37,50,50,50,50,51,0,0,0,49,50,50,50,50,50,50,50,50,51,0,0,0,36,50,50,50,51,49,50,50,50,37,37,37,37,37,72,37,37,37,37,37,37,37,38,40,40,36,37,37,72,37,37,37,38,40,40,40,40,36,37,72,37,37,37,38,40,40,40,40,49,50,50,50,37,72,37,37,37,37,37,37,35,49,50,50,50,51,41,0,0,40,41,0,0,0,36,37,38,49,50,50,51,40,40,0,40,36,38,42,16,40,36,37,72,37,37,37,38,0,42,40,40,41,40,16,36,72,37,40,40,40,41,0,0,0,0,40,40,41,0,0,0,0,0,40,16,0,0,0,55,40,41,0,0,0,0,42,40,49,72,37,37,37,37,37,72,37,37,50,50,50,51,40,40,36,37,37,37,72,37,50,51,56,40,42,40,49,50,37,37,72,37,38,40,56,40,40,40,42,42,40,49,50,50,50,50,37,37, 37,37,35,32,16,40,56,0,0,0,42,0,0,0,61,36,37,37,35,32,16,40,41,41,0,40,36,38,0,58,56,36,37,37,37,72,37,51,0,0,41,0,0,42,0,49,37,37,40,56,41,0,0,58,103,104,56,40,0,0,0,0,0,0,56,40,57,62,0,58,40,0,0,0,0,0,0,40,0,36,37,37,50,50,50,50,50,51,33,34,34,35,40,40,36,37,37,37,50,51,40,40,40,41,0,0,42,40,49,50,37,37,38,40,40,40,40,41,0,0,42,40,40,40,56,40,36,72,50,50,51,40,40,40,41,0,0,0,0,0,63,32,32,36,72,37,38,40,40,41,0,0,0,42,36,51,0,0,42,36,37,50,37,37,38,0,0,0,0,0,0,0,0,0,49,37,41,0,0,0,0,33,34,35,40,40,0,0,0,0,0,0,42,40,40,52,53,54,41,0,0,0,0,0,0,40,57,36,37,38,33,34,35,32,33,35,49,50,50,51,40,40,36,37,72,38,43,0,0,0,0,0,0,0,28,0,0,59,36,37,38,40,40,40,0,0,0,0,0,40,40,40,40,40,36,37, 35,64,40,56,40,41,58,40,57,0,0,0,52,53,34,37,37,72,38,41,0,0,0,0,0,0,48,0,0,0,0,36,51,0,49,37,51,61,63,0,0,0,0,0,0,0,0,49,0,0,28,58,58,49,37,38,32,40,57,0,0,0,0,0,0,16,40,40,40,41,0,0,0,0,17,17,58,40,40,49,50,51,36,37,38,16,49,51,32,40,40,40,40,56,36,37,37,38,43,0,0,0,0,0,0,0,0,0,0,59,36,37,38,42,40,40,103,0,22,0,42,40,40,56,40,40,36,37,38,58,40,40,40,16,40,41,0,0,0,0,0,0,49,37,37,50,51,0,0,0,0,17,0,0,55,0,0,0,62,36,0,0,0,55,33,34,35,0,0,0,0,0,0,0,0,0,57,88,104,40,40,40,36,38,40,41,0,0,0,0,0,0,42,40,40,41,0,0,0,0,0,0,33,35,40,56,40,41,40,40,49,50,51,40,40,41,0,42,0,42,40,40,36,37,37,51,43,12,0,0,0,17,17,0,0,0,12,59,49,72,38,17,40,16,0,0,0,0,104,40,40,40,40,40,36,37, 37,34,53,53,54,40,40,0,0,0,0,0,0,58,40,36,38,0,61,0,58,57,0,39,0,0,0,0,0,0,33,37,0,26,0,0,36,37,38,17,17,17,17,0,0,0,0,44,40,56,40,40,40,56,49,51,40,0,0,0,23,23,0,0,0,42,0,0,0,0,17,17,0,0,36,38,16,40,41,0,40,40,27,27,27,40,40,0,0,0,0,0,42,33,37,72,38,40,57,0,0,0,59,52,54,43,0,0,0,0,40,36,37,35,40,40,58,103,0,58,40,40,40,41,0,42,49,50,37,51,56,40,40,41,0,0,0,0,0,0,0,40,56,36,37,35,32,32,16,41,0,48,57,0,0,0,0,88,36,72,0,0,0,58,49,50,50,53,53,53,54,103,88,0,0,60,40,40,40,40,16,40,33,35,41,0,0,0,0,0,0,0,0,0,0,0,0,0,52,54,0,58,36,38,40,40,0,0,56,40,57,0,0,0,42,41,0,0,0,0,0,49,50,50,38,16,16,0,0,0,0,40,40,57,0,0,0,0,42,36,37,51,40,40,40,56,0,40,40,40,57,0,0,0,23,0, 38,0,0,42,40,0,0,0,0,58,40,58,40,40,40,36,37,37,34,35,40,57,0,55,40,88,57,0,104,40,49,50,0,0,0,40,40,40,40,40,32,32,40,40,40,57,33,34,40,41,0,42,40,40,36,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,56,40,40,49,37,35,0,0,0,40,40,40,41,0,0,0,0,0,22,58,103,104,40,40,0,51,56,40,11,0,0,0,16,56,40,0,0,11,0,0,49,51,40,40,40,40,40,104,40,40,40,40,0,0,0,23,0,51,0,0,0,40,103,88,0,0,40,16,40,40,52,34,37,37,37,72,38,40,40,103,32,40,40,40,56,40,40,33,34,0,0,58,40,56,40,16,41,0,0,42,40,56,40,36,37,42,0,0,0,40,56,36,38,0,0,0,23,23,0,0,0,0,0,0,0,0,0,39,40,40,42,40,49,51,57,0,0,40,41,0,0,0,0,0,0,0,0,42,40,40,40,41,0,42,40,57,0,0,0,0,42,40,41,0,0,0,0,0,0,40,40,40,56,40,40,40,40,40,40,41,0,0,0,0,0, 0,0,0,58,40,40,56,62,58,40,40,40,56,40,36,37,72,37,37,38,0,42,40,39,41,0,42,40,40,52,50,37,0,0,0,42,40,40,40,0,0,0,0,40,16,40,36,37,0,0,0,0,42,40,36,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,40,0,0,0,42,40,40,57,0,40,0,0,0,57,40,57,0,0,0,0,0,40,40,0,0,0,40,41,0,0,0,42,40,40,0,0,0,0,0,0,0,42,40,40,40,40,16,40,40,40,40,103,88,0,0,0,0,0,0,0,40,56,40,40,33,35,40,0,0,42,40,36,37,50,50,37,38,0,58,40,48,0,0,0,0,42,40,40,36,0,0,0,0,0,42,40,17,17,17,17,40,40,40,36,72,0,0,0,58,40,40,49,51,0,0,0,0,0,0,23,23,0,1,63,0,0,0,32,41,0,0,0,0,56,40,0,0,40,1,58,40,40,16,40,88,0,0,0,58,40,41,0,0,0,42,40,12,0,0,0,58,56,12,0,0,0,0,0,12,0,0,42,40,40,40,40,40,41,40,40,41,0,0,0,58, 0,1,58,33,35,40,42,49,51,41,0,17,17,17,36,37,0,40,49,38,58,56,41,48,0,0,0,0,0,0,42,49,0,0,0,0,0,0,40,52,34,34,54,41,42,0,36,37,62,1,58,56,40,41,42,0,0,0,0,0,0,0,0,0,53,53,53,54,0,0,32,0,0,0,0,61,42,40,103,20,34,34,35,40,40,40,40,40,57,0,88,40,56,40,61,0,0,58,41,0,0,0,0,40,40,0,0,0,0,0,0,0,0,0,42,40,40,42,41,0,0,88,16,0,18,0,42,40,34,34,34,37,38,41,0,33,35,17,17,33,34,34,37,37,0,42,56,55,40,41,0,48,17,17,17,0,0,0,58,40,0,1,63,0,0,0,42,40,36,38,41,0,0,0,36,37,34,34,34,35,41,0,0,0,0,0,0,0,23,23,0,0,42,40,32,57,0,58,32,0,0,58,0,52,53,53,53,53,37,37,37,34,34,34,35,40,40,40,40,16,40,40,33,34,11,16,0,0,0,0,11,40,16,0,0,0,11,0,0,0,44,0,0,40,56,0,0,0,0,42,40,57,23,0,0,40, 37,72,37,37,38,17,17,36,37,34,34,37,37,37,72,37,0,1,42,40,40,103,63,36,34,34,35,0,0,0,56,40,34,34,35,0,0,18,0,42,36,38,0,0,0,18,36,37,37,37,37,38,0,0,0,0,23,23,0,0,0,0,0,0,0,56,32,40,57,40,39,8,0,40,103,104,32,40,40,40,37,72,37,37,37,37,38,42,40,40,33,34,34,34,37,37,58,40,1,61,0,0,0,104,40,57,0,0,0,0,0,0,60,1,104,40,40,0,23,23,23,0,58,40,0,0,58,40,37,37,37,37,37,34,34,37,37,37,37,37,37,37,37,37,34,34,34,34,34,34,34,37,37,72,38,103,88,104,40,40,37,72,38,0,0,39,0,0,36,38,0,0,0,33,37,37,37,37,72,38,23,23,0,0,0,0,0,0,0,0,0,0,0,42,32,40,16,40,48,0,58,40,40,40,32,40,40,40,37,37,37,37,72,37,38,0,0,42,36,37,37,37,72,37,40,33,34,35,0,0,0,40,40,40,0,0,0,0,0,0,34,34,34,35,40,103,0,0,0,0,40,40,57,0,40,56, 37,50,51,0,0,0,36,50,50,50,50,50,50,50,37,37,37,37,38,40,40,40,40,36,37,50,50,50,50,37,72,37,37,50,50,50,50,50,50,50,37,38,40,40,40,36,72,37,37,37,37,51,0,0,0,0,0,0,0,0,0,0,0,82,37,37,50,50,50,50,51,49,50,50,50,50,51,40,41,0,38,40,41,40,103,0,0,0,0,0,40,40,49,50,50,50,37,37,37,50,51,40,40,0,49,37,37,72,37,37,37,72,37,37,72,38,40,56,40,49,50,50,50,50,50,50,37,72,38,40,40,0,0,0,48,64,42,40,40,40,40,40,36,37,37,72,38,40,56,40,40,49,51,56,40,41,0,49,50,37,38,40,0,0,22,58,40,40,49,51,40,40,56,36,37,37,72,37,38,0,0,0,0,0,0,0,0,0,0,0,0,82,37,38,0,0,22,0,0,0,0,42,16,40,40,56,57,0,38,40,26,56,32,57,61,0,0,0,0,42,56,40,40,40,37,37,38,40,40,40,41,0,59,36,37,50,50,50,50,50,50,50,50,51,40,40,40,40,40,40,16,40,40,32,49,37, 51,40,57,0,0,0,55,0,0,42,56,40,0,42,36,37,37,37,38,40,40,40,40,32,40,41,42,0,0,0,42,49,51,40,17,17,17,40,40,40,0,0,40,0,42,49,37,37,37,37,38,0,0,0,0,0,0,0,0,0,0,0,0,82,37,38,0,0,0,0,17,17,0,0,0,41,42,40,41,0,38,40,58,40,32,16,32,17,17,17,33,34,35,40,40,16,37,37,38,40,56,40,0,0,59,36,38,43,0,42,42,56,40,40,40,40,40,41,0,42,40,0,40,40,56,40,40,49,40,40,16,41,0,0,0,0,0,0,40,40,57,0,36,72,37,37,38,40,41,0,40,32,103,0,0,0,0,0,0,0,56,16,33,34,35,40,56,41,0,58,16,41,0,42,36,37,50,50,51,103,0,0,0,0,0,0,0,0,0,0,66,0,37,38,57,0,0,0,33,35,0,0,0,0,0,33,34,34,37,34,34,35,33,34,35,33,34,35,36,72,38,40,40,40,50,50,51,40,40,40,0,0,59,49,51,43,0,0,0,40,16,40,41,0,0,0,0,0,41,0,42,40,40,40,41,0, 40,40,40,0,22,0,0,0,22,42,40,40,40,0,36,37,37,37,38,39,0,0,42,32,41,0,0,0,0,0,0,0,40,52,37,37,51,41,42,0,0,0,42,0,17,17,36,37,34,35,40,40,0,0,44,70,71,44,0,0,0,66,83,83,37,38,40,0,0,58,36,38,0,0,22,0,0,36,37,37,37,37,72,38,49,50,51,49,50,51,36,37,38,32,40,56,34,34,35,40,41,40,103,0,0,40,41,0,0,0,0,0,40,56,0,17,17,0,0,18,0,0,0,40,41,42,22,0,40,56,40,0,0,0,0,0,0,0,58,40,41,0,36,37,72,37,38,55,0,0,0,41,0,0,0,0,0,0,0,58,41,59,36,38,40,57,0,0,0,0,0,59,33,34,37,37,37,38,56,40,103,0,60,86,87,60,66,67,67,83,99,99,50,51,40,57,0,40,36,38,17,17,17,17,17,36,37,37,37,72,37,38,32,27,27,27,27,27,36,37,38,40,40,40,37,37,38,0,0,42,40,20,58,41,0,0,0,0,0,0,40,41,59,33,35,0,0,23,0,0,17,40,103,0,0,0, 40,40,40,103,88,0,0,0,88,104,40,56,0,0,49,50,50,50,51,32,0,0,0,0,0,0,0,0,0,39,40,40,0,59,36,38,41,0,0,0,0,0,0,59,49,37,72,37,37,51,40,40,40,57,33,34,34,35,82,83,83,100,0,0,41,0,42,40,56,40,49,50,53,53,53,53,34,37,72,37,37,37,37,37,35,0,0,0,0,0,49,50,51,40,16,40,72,37,38,17,17,17,52,53,54,17,17,17,17,0,0,0,0,0,59,49,51,17,17,17,17,17,39,40,41,0,0,59,40,40,40,40,16,41,0,0,0,42,40,40,103,0,0,40,53,53,53,54,17,17,0,0,0,0,0,0,17,48,40,56,0,59,49,51,0,0,0,0,0,0,0,42,40,49,50,37,38,42,40,40,16,40,36,37,37,38,98,99,100,0,0,0,0,22,0,40,40,40,41,0,0,0,0,0,49,50,37,37,37,37,37,37,38,103,88,0,0,0,32,0,0,42,40,40,37,37,50,53,53,53,34,34,34,34,34,53,54,57,0,0,0,0,59,52,53,53,53,53,53,54,48,56,0,0,0,23, 40,41,0,0,42,0,0,0,0,0,56,42,41,0,58,40,40,40,40,52,54,32,0,0,0,0,0,0,32,48,40,40,0,0,42,41,0,0,17,17,0,0,0,0,40,40,40,49,38,0,41,0,42,40,36,72,37,37,35,0,0,0,0,0,57,0,58,40,41,0,0,0,0,0,0,0,0,40,49,50,37,37,72,37,38,56,41,0,0,0,23,0,0,88,104,40,50,51,16,40,41,59,36,72,37,37,38,40,40,40,0,0,0,0,59,32,27,27,27,27,27,27,48,40,0,0,0,23,40,58,0,0,0,0,0,0,0,0,40,0,0,0,40,40,40,56,16,41,42,0,0,0,0,0,0,0,42,55,16,40,17,17,17,17,17,17,33,54,0,0,0,0,42,40,56,11,38,0,0,0,0,33,37,37,37,37,38,0,28,0,0,0,40,40,40,16,0,0,0,0,0,17,0,0,42,56,40,41,37,37,37,37,38,40,0,0,0,0,23,0,0,42,33,34,40,40,41,8,0,59,36,37,37,72,38,40,40,41,18,0,0,0,0,27,0,0,0,0,0,0,48,41,0,0,0,59, 56,41,0,0,0,0,0,0,0,58,16,41,0,0,40,56,40,40,40,0,0,0,0,0,0,0,0,0,0,42,40,40,34,53,53,53,53,53,51,0,0,0,0,0,0,40,40,57,51,0,0,0,0,49,50,37,37,37,51,0,0,0,0,0,40,56,40,41,0,0,0,0,59,32,43,0,104,40,40,0,50,50,50,50,51,41,0,0,0,0,0,0,0,0,49,37,40,40,0,0,0,59,49,50,50,37,38,56,40,0,23,0,0,0,0,0,0,0,0,17,0,0,55,0,0,0,0,0,41,0,0,0,0,0,0,0,0,0,42,0,0,0,40,41,40,41,42,0,0,0,0,0,0,0,0,0,0,0,40,42,51,40,56,40,40,41,0,0,0,0,0,0,0,16,40,40,0,0,0,0,66,67,68,36,37,38,40,57,0,0,0,0,40,0,42,0,0,17,0,0,0,27,0,42,32,16,41,44,27,27,27,27,0,0,0,0,0,0,0,0,0,0,16,49,40,41,22,0,0,0,27,27,27,49,51,40,16,103,0,0,0,0,0,17,0,0,58,39,0,0,27,0,0,0,0,0, 0,0,1,0,0,0,17,17,17,0,0,0,0,0,42,58,42,0,0,0,0,0,0,0,0,0,0,0,0,42,40,0,40,40,41,0,42,0,0,0,0,0,0,0,0,40,40,40,0,0,0,0,82,83,84,36,72,38,40,40,0,0,0,0,41,0,0,0,59,32,43,57,0,0,0,0,41,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,40,40,0,0,0,0,0,0,0,0,27,27,42,40,41,0,0,1,0,0,39,57,0,56,48,0,0,0,0,0,0,0,0,17,17,32,17,17,17,33,34,35,0,0,0,18,18,0,42,0,1,0,0,0,0,0,0,0,0,0,0,0,0,41,0,41,0,0,0,0,0,0,0,0,0,42,103,104,40,41,0,0,63,1,0,82,83,84,36,37,38,40,16,103,58,57,0,1,63,0,0,0,42,56,41,0,17,0,0,0,0,0,33,1,0,0,0,0,0,0,0,58,103,0,0,0,0,42,56,40,103,88,104,0,0,1,0,0,0,0,104,40,0,0,0,33,35,0,55,40,41,40,48,0,0,0,0,0,0,0,0, 34,34,34,34,34,35,36,72,38,17,17,17,32,32,17,17,0,39,57,0,0,23,23,0,0,0,23,23,0,0,0,0,0,1,0,0,0,0,23,23,0,0,0,40,40,56,57,58,0,33,34,35,82,83,84,36,37,51,40,40,40,56,41,0,34,35,43,0,0,8,40,57,59,39,0,0,0,0,20,36,35,0,0,0,18,0,0,0,40,41,0,0,0,0,0,40,40,40,16,40,103,0,23,23,23,23,23,40,40,57,0,0,49,51,57,39,16,18,40,55,0,0,0,0,0,0,0,0,37,72,37,37,37,38,36,37,38,33,34,34,34,34,34,34,58,48,56,0,0,0,0,0,0,0,0,0,0,0,0,0,0,23,23,0,0,0,0,0,0,0,58,40,40,40,40,40,0,36,37,38,82,83,84,36,38,40,40,40,40,40,40,57,37,38,43,0,0,58,40,16,59,48,0,0,0,33,34,37,38,0,0,0,39,0,0,58,40,0,0,0,0,0,0,40,40,56,40,40,40,57,0,0,0,88,104,40,56,40,0,0,34,35,56,48,40,23,40,39,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,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,3,3,3,3,3,3,3,3,4,4,4,2,2,0,0,0,3,3,3,3,3,3,3,3,4,4,4,2,2,2,2,2,0,0,19,19,19,19,2,2,3,2,2,2,2,2,0,2,0,0,19,19,19,19,2,2,4,2,2,2,2,2,2,2,0,0,19,19,19,19,0,4,4,2,2,2,2,2,2,2,0,0,19,19,19,19,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 149,10,86,68,10,22,12,68,10,22,12,68,10,11,12,68,20,19,18,68,10,22,12,68,10,22,12,68,10,145,18,68,65,66,67,68,65,66,67,68,152,25,26,68,24,25,26,68,28,27,26,68,29,27,26,68,31,33,26,68,31,26,33,68,30,26,34,68,32,154,36,68,65,66,67,68,65,66,67,68,170,39,41,68,42,39,41,68,47,43,41,68,47,43,44,68,47,43,41,68,47,43,44,68,46,45,48,68,52,49,39,68,53,178,39,68,65,66,67,68,189,126,67,68,61,126,67,68,61,74,67,68,61,190,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,184,58,60,68,57,187,60,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,14,35,15,239,14,29,15,234,14,23,15,231,14,19,15,227,14,17,15,222,14,14,15,218,12,12,13,214,10,8,9,210,6,5,5,153,1,153,1,153,1,153,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1,0,2,0,0,17,14,19,14,26,14,36,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,2,0,0,13,14,16,14,22,14,34,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,3,0,0,6,5,8,5,9,5,11,5,34,9,42,11,188,11,187,11,187,11,185,11,182,11,178,11,173,11,168,11,164,9,161,9,157,9,154,9,150,7,145,7,142,7,139,5,135,5,133,3,131,3,144,1, 144,1,128,1,128,1,128,1,128,1,128,1,0,2,0,0,15,14,30,14,18,14,34,14,23,14,38,14,27,12,44,12,33,10,49,10,39,8,54,8,43,6,58,6,48,4,62,4,53,2,0,0,0,0,0,0,0,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,201,15,201,15,201,13,201,11,200,9,199,7,198,5,197,83,245,1,244,1,244,1,244,1,244,1,244,1,244,1,245,1,245,1,245,1,245,1,245,1,244,1,244,1,244,1,243,1,243,1,243,1,243,1,192,1,192,1,192,1,192,1,192,1,0,3,0,0,100,14,78,14,109,14,86,14,116,14,96,12,123,12,104,10,127,8,111,4,104,2,93,2,80,2,67,2,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,0,3,0,0,80,2,82,2,84,2,86,2,90,4,96,4,102,6,114,8,114,8,116,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0, 64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,64,0,0,2,0,0,7,14,10,14,14,14,16,14,22,14,34,14,47,14,47,12,44,12,44,10,47,10,47,8,44,8,44,6,47,4,47,2,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,69,2,71,6,191,9,191,9,191,7,191,5,191,3,191,83,191,1,191,1,191,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,128,1,0,3,0,0,193,95,128,81,193,95,193,81,163,91,193,95,129,81,128,81,193,95,128,81,193,81,135,81,163,91,128,81,193,95,128,81,193,95,193,81,193,95,128,81,163,91,193,95,129,81,128,81,193,95,128,81,165,81,129,81,163,91,165,81,193,95,163,91,1,16,0,32,29,8,29,8,29,6,29,4,24,8,24,8,24,6,24,4,27,6,27,4, 34,8,34,104,31,86,31,6,22,8,22,8,29,8,29,8,29,32,19,28,24,6,24,6,24,32,31,28,36,10,34,4,22,8,19,4,29,8,27,36,24,8,24,8,0,32,0,0,7,14,7,12,7,10,17,0,7,14,7,12,3,26,15,14,10,14,10,12,10,10,10,0,10,14,10,12,5,10,5,8,3,14,3,12,3,0,3,10,12,14,12,12,17,10,22,14,22,12,15,30,5,10,10,14,5,10,3,26,10,14,10,12,0,16,0,0,76,11,92,13,80,15,99,15,89,15,108,15,97,15,119,15,104,15,123,15,108,15,126,13,113,11,126,9,113,7,126,7,113,5,127,5,113,5,127,5,113,3,127,3,113,3,127,3,113,3,127,3,113,3,127,1,64,1,64,1,64,1,64,1,0,4,0,0,239,9,235,13,230,15,221,15,213,15,213,15,217,15,220,11,215,7,193,1,213,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,0,4,0,0,137,89,142,91, 134,91,138,91,141,91,133,91,145,91,135,91,140,91,132,91,137,91,145,89,136,87,141,83,128,81,128,81,128,81,128,81,128,81,128,81,128,81,128,81,128,81,128,81,128,81,128,81,128,81,128,81,128,81,128,81,128,81,128,81,0,3,0,0,223,94,216,94,231,94,231,0,231,0,228,0,221,0,230,0,234,0,220,0,217,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,1,16,0,0,105,71,105,75,105,79,93,9,98,15,98,13,88,15,88,15,88,13,88,1,88,15,88,13,64,1,86,15,86,47,86,45,103,67,103,71,103,75,103,79,95,15,95,13,95,1,83,5,91,27,117,7,112,13,100,9,105,15,105,13,98,15,98,13,1,16,0,0,10,14,10,10,15,30,15,10,10,12,10,8,17,14,17,10,7,0,7,0,17,14,17,10,7,12,7,8,0,0,0,0,10,14,10,10,15,14,15,10,10,12,10,8,19,30,19,10,0,0,0,0,19,14,19,10, 15,14,15,10,0,0,0,0,1,16,0,32,34,8,34,6,34,4,27,18,36,8,36,6,39,10,31,4,43,8,34,4,39,10,34,4,41,8,41,6,41,4,22,2,34,8,34,6,43,8,27,6,36,40,36,38,39,8,24,6,29,8,29,6,31,42,31,40,31,6,29,20,29,8,29,6,0,32,0,0,193,15,193,95,191,85,187,1,188,1,187,1,191,85,177,1,163,11,163,91,188,1,0,0,191,85,0,0,193,95,193,1,193,15,193,95,191,1,191,1,191,85,0,0,191,85,0,0,163,11,163,91,0,0,0,0,191,85,0,0,0,0,0,0,1,8,0,32,74,8,74,6,74,4,81,6,81,4,81,2,91,8,91,6,88,42,88,40,88,38,83,8,83,8,83,6,83,4,83,2,79,8,79,6,79,4,81,6,81,4,81,2,86,40,86,38,83,10,83,8,83,6,83,4,83,2,83,2,83,2,83,0,0,32,0,32,238,11,247,11,238,7,247,7,238,5,247,5,238,3,247,3,226,11,235,11,226,7,235,7,221,11,228,11,221,7,228,7,223,11,231,11,223,7,231,7, 223,5,231,5,233,11,240,11,233,7,240,7,233,5,240,5,233,3,240,3,233,3,240,3,0,16,0,32,216,15,245,15,245,15,245,13,245,11,245,9,245,7,245,5,245,3,245,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,192,1,0,6,0,0,41,11,245,3,41,9,245,3,41,7,247,3,41,5,247,3,34,11,245,3,34,9,39,11,252,3,39,9,252,3,39,5,46,11,245,3,46,9,245,3,46,7,247,3,46,5,247,3,46,3,36,9,43,11,245,3,41,11,252,3,41,9,252,3,0,24,0,32,69,15,69,15,69,15,69,15,69,15,0,0,69,15,71,15,74,15,74,15,74,15,0,0,74,15,0,0,74,15,67,15,69,15,69,15,69,15,0,0,69,15,69,15,69,15,0,0,74,15,71,15,76,15,76,15,79,15,0,0,74,15,71,15,0,24,0,32,187,87,174,1,187,85,0,0,187,83,0,0,0,0,179,1,179,9,179,7,179,5,179,3, 179,3,191,1,191,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,1,12,0,16,36,11,240,3,43,11,240,3,36,9,240,1,43,9,247,1,36,5,250,3,43,5,250,3,36,3,245,3,43,3,245,3,29,11,243,3,36,11,252,3,29,9,247,3,36,9,243,1,29,5,245,1,36,5,238,3,29,3,238,3,36,3,247,1,0,12,0,32,76,15,76,13,76,11,0,0,81,15,81,13,81,11,76,1,76,15,76,13,79,31,79,13,83,15,83,13,74,15,74,13,76,15,76,13,76,11,0,0,79,15,79,13,79,11,0,0,74,15,74,13,74,11,79,1,81,15,81,13,74,15,74,13,1,24,0,32,76,15,76,13,76,11,0,0,81,15,81,13,81,11,0,0,76,15,76,13,79,31,79,13,83,15,83,13,79,15,79,13,76,15,76,15,76,13,76,13,76,11,76,7,76,1,76,1,76,1,74,1,74,1,74,1,81,1,81,1,74,1,74,1,0,24,0,32,228,31,228,15,228,45,228,43, 58,2,58,2,216,43,58,2,53,2,53,2,216,43,53,2,216,11,55,0,55,0,55,0,226,31,226,47,226,45,226,1,223,31,223,47,223,45,228,1,226,31,226,47,226,45,192,1,231,31,231,47,231,45,192,1,0,12,0,32,228,31,228,15,228,45,228,43,58,2,58,2,216,11,58,2,53,2,53,2,216,11,53,2,216,11,216,1,216,1,192,1,223,31,223,15,223,45,223,43,216,1,192,1,216,27,219,1,226,31,226,15,226,45,226,43,55,34,55,34,55,34,55,32,0,12,0,32,228,31,228,15,228,47,228,47,228,45,228,43,228,41,228,39,228,37,228,35,192,1,192,1,192,1,192,1,192,1,192,1,46,0,46,0,46,2,46,2,53,2,53,2,51,18,51,2,43,2,43,2,43,2,43,0,48,2,48,34,48,34,48,34,0,12,0,0,204,38,204,38,204,36,204,36,204,34,204,34,204,34,204,32,204,38,204,38,204,36,204,36,204,34,204,34,204,34,204,32,199,38,199,38,199,36,199,36,199,34,199,34,199,34,199,32,202,38,202,38,202,36,202,36,202,34,202,34, 202,34,202,32,0,12,0,32,204,6,204,6,204,4,204,4,204,2,204,2,204,2,58,0,204,6,204,6,204,4,204,4,204,2,204,2,204,2,63,0,202,6,202,4,211,6,211,4,199,6,199,4,199,2,209,0,202,6,202,4,202,2,60,0,207,6,207,4,207,2,58,0,0,12,0,0,179,85,154,81,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,4,0,0,204,6,204,6,204,6,204,4,204,4,204,4,204,2,204,2,204,2,204,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,202,0,202,0,202,0,202,0,202,22,202,6,195,20,195,4,0,12,0,0,204,10,204,8,204,6,204,4,207,10,207,8,207,6,207,4,216,10,216,8,211,10,211,8,216,10,211,10,214,8,221,12,226,14,226,14,226,12,226,10,226,8,226,4, 211,0,211,0,216,0,216,0,211,0,211,0,214,0,214,0,221,0,221,0,0,16,0,0,164,94,171,94,176,94,164,92,171,92,176,92,164,90,171,90,176,90,164,88,171,88,176,88,164,86,171,86,176,86,164,84,171,84,176,84,164,82,171,82,176,82,164,80,171,80,176,80,164,80,171,80,176,80,186,80,174,80,128,80,128,80,128,80,0,12,0,0,175,91,1,94,1,94,191,83,1,94,191,83,175,91,1,94,1,94,191,83,1,94,191,83,175,91,191,83,1,94,191,83,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,16,0,16,150,14,150,14,159,30,159,14,159,14,159,14,152,30,152,14,147,30,147,14,157,30,157,14,150,30,150,14,150,14,150,14,155,30,155,14,155,14,155,14,0,0,155,0,0,0,155,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,100,95,112,95,100,89,112,89,91,93,103,93,95,95,107,95,95,89,107,89,95,87,107,87,95,85,107,85, 95,83,107,83,91,95,103,95,91,89,103,89,91,87,103,87,93,95,105,95,93,89,105,89,93,87,105,87,95,95,107,95,95,89,107,89,0,8,0,32,140,92,140,92,140,90,140,90,140,88,140,88,140,86,138,22,143,92,143,92,143,90,143,90,143,88,143,88,143,86,150,22,147,92,147,92,147,90,147,90,147,88,147,88,147,86,147,86,147,84,135,8,150,14,147,28,147,10,147,40,143,12,143,10,0,32,0,32,135,94,135,92,135,90,135,88,143,92,143,90,140,94,140,92,140,90,140,88,140,86,140,84,135,94,135,92,135,90,135,88,135,94,135,92,135,90,135,88,140,92,140,90,145,94,145,92,145,90,145,88,147,92,147,90,150,94,150,92,150,90,150,88,0,16,0,0,95,15,107,15,95,9,107,9,88,11,100,11,91,15,103,15,91,9,103,9,88,15,100,15,88,9,100,9,88,7,100,7,91,15,103,15,91,9,103,9,93,7,105,7,93,5,105,5,95,15,107,15,95,9,107,9,95,7,107,7,91,11,103,11,0,8,0,32,145,94,145,92,145,90,145,88,147,92,147,90, 152,94,152,92,152,90,152,88,157,92,157,90,143,92,152,88,147,94,150,90,143,94,143,92,143,90,143,88,145,92,145,90,150,94,150,92,150,90,150,88,155,92,155,90,162,94,159,88,152,92,147,86,0,16,0,32,1,94,175,91,1,94,191,83,175,91,191,83,1,94,191,83,1,94,191,83,175,91,1,94,175,91,191,83,1,94,191,83,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,16,0,16,1,94,1,94,1,94,191,83,175,91,191,83,191,83,1,94,1,94,191,83,1,94,191,83,175,91,191,83,175,91,191,83,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,80,0,16,0,16,41,8,41,8,41,6,43,22,41,68,43,20,41,66,43,18,51,72,48,24,46,72,46,6,48,72,48,6,43,24,43,6,46,72,46,8,46,6,48,22,46,68,48,20,46,68,48,20,43,72,46,24,43,70,46,20,43,72,43,8,41,22,41,36, 0,32,0,0,100,83,100,83,100,85,100,85,100,87,100,87,100,89,100,89,100,91,100,91,100,93,100,93,100,95,64,81,100,95,64,81,100,93,64,81,100,93,64,81,100,91,64,81,100,91,64,81,100,89,64,81,100,87,64,81,100,85,64,81,100,83,64,81,0,8,0,32,95,83,95,83,95,85,95,85,95,87,95,87,95,89,95,89,95,91,95,91,95,93,95,93,95,95,0,80,95,95,0,80,95,93,0,80,95,93,0,80,95,91,0,80,95,91,0,80,95,89,0,80,95,87,0,80,95,85,0,80,95,83,0,80,0,8,0,32,195,7,197,23,199,25,204,25,211,27,219,29,228,14,240,30,103,15,110,31,228,14,240,30,103,15,110,31,228,12,240,28,103,13,110,29,228,10,240,26,103,11,110,27,228,8,240,24,103,9,110,25,228,6,240,22,103,5,110,21,228,2,240,18,0,5,0,0,140,94,140,92,140,90,140,88,140,86,138,92,138,90,138,88,143,94,143,92,143,90,143,88,143,86,140,92,140,90,140,88,140,94,140,92,140,90,140,88,140,86,138,92,138,90,138,88, 143,94,143,92,143,90,143,88,143,86,145,92,145,90,145,88,0,32,0,32,147,94,147,92,147,90,147,88,147,86,145,92,145,90,145,88,150,94,150,92,150,90,150,88,150,86,147,92,147,90,147,88,147,94,147,92,147,90,147,88,147,86,143,92,143,90,143,88,140,10,145,22,150,92,143,88,150,46,150,42,140,14,140,90,0,32,0,0,223,6,235,6,98,7,105,7,223,4,235,4,98,5,105,5,223,2,235,2,98,3,105,3,223,0,235,0,98,1,105,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,3,0,0,233,90,192,0,233,88,240,14,240,12,240,90,211,80,228,0,228,80,192,0,211,80,228,0,228,80,192,0,192,0,228,0,228,80,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,192,0,0,11,0,0,124,95,124,89,124,87,124,85,124,83,124,83,119,91,119,89,122,95,122,91,122,89,122,87,122,85,122,85,122,83,122,83, 117,95,117,91,117,89,117,89,117,87,117,87,117,85,117,85,117,83,117,83,115,95,115,91,115,89,115,87,115,85,115,83,0,16,0,0,117,95,117,91,117,89,117,87,117,85,117,85,117,83,117,83,119,91,119,87,115,95,115,91,115,89,115,87,115,85,115,85,122,95,122,89,122,87,122,85,122,83,122,83,115,95,115,91,115,89,115,89,115,87,115,87,115,85,115,85,115,83,115,83,0,16,0,0,12,12,12,6,12,10,12,6,12,10,12,6,12,2,12,0,12,12,12,6,12,10,12,6,12,10,12,6,12,2,15,0,17,12,17,6,17,10,17,6,17,2,17,0,10,12,10,6,10,10,10,6,10,10,10,6,10,10,10,6,10,2,0,0,0,16,0,32,5,12,5,6,5,10,5,6,5,2,5,0,7,12,7,6,7,10,7,6,7,2,0,0,15,12,15,6,15,2,0,0,12,12,12,6,12,10,12,6,12,10,12,6,12,10,12,6,12,10,12,6,12,2,0,0,12,12,12,6,12,2,12,0,0,16,0,0,131,85,164,83,128,81,131,83,164,85,155,83,162,85,131,83, 128,81,131,83,145,85,179,83,162,85,128,81,157,85,138,83,183,85,152,83,174,85,157,83,128,81,183,83,183,85,152,83,174,85,157,83,145,85,131,83,128,81,131,83,164,85,157,83,0,16,0,0,178,3,178,3,178,3,178,3,177,3,177,3,176,3,174,3,170,3,165,3,155,3,147,3,143,3,141,3,140,3,140,3,140,3,140,3,140,3,143,3,148,3,157,3,164,3,170,3,174,3,176,3,177,3,179,3,179,3,180,3,180,3,180,3,0,16,0,32,176,88,176,80,176,86,179,84,171,86,176,80,176,84,176,80,176,80,176,84,176,80,176,80,176,82,176,80,176,80,176,82,171,88,171,80,171,86,167,84,169,86,171,80,171,84,171,80,171,80,171,84,171,80,171,80,171,82,171,80,171,80,171,82,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,114,122,31,84,235,193,226,115,28,125,246,245,197,35,188,66,82,77,152,225,1,14,175,130,178,184,254,9,94,33,77,222,32,59,164,72,154,184,142,174,111,194,224,41,114,247,188,64,23,118,121,19,167,19,65,88,24,92,69,144,134,193,64,117,92,241,24,197,91,52,39,29,20,13,68,81,243,28,109,58,240,12,27,75,67,19,182,9,195,38,126,136,206,138,207,176,145,4,175,81,12,12,148,237,214,208,75,248,228,53,158,98,43,120,136,90,131,32,43,22,226,94,96,32,175,159,34,41,195,9,79,15,100,115,67,109,221,214,143,209,87,189,150,192,68,189,81,46,52,77,180,16,169,5,54,237,88,87,166,115,97,29,47,152,107,37,218,112,230,206,192,66,95,213,149,152,64,146,90,178,95,145,14,168,182,86,236,216,167,233,192,148,122,240,78,147,168,19,12,42,147,141,212,93,222,5,19,117,30,245,26,36,81,212,197,249,78,187,114,158,37,234,141,230,62,103,44,77,109,109,84,7,58,99,175,28,74,171,11,29,163,75,80,156,168,26,162,36,174,88,62,105, 38,237,55,214,38,211,129,149,174,147,80,63,204,50,21,44,13,68,91,85,38,189,176,84,68,69,115,222,125,101,28,68,85,177,54,32,38,104,136,32,92,146,9,143,249,155,5,58,201,170,107,65,80,231,11,77,169,201,48,113,102,211,101,126,72,130,197,38,232,229,148,103,229,150,6,42,89,17,177,128,52,91,202,23,151,54,173,208,70,217,198,160,213,194,102,116,167,19,56,90,52,134,74,83,50,41,20,32,213,104,121,21,226,74,170,97,186,42,11,123,241,68,81,92,169,99,98,137,169,149,184,45,149,98,202,172,155,148,50,247,234,68,61,53,166,43,20,46,73,145,115,39,155,235,179,220,107,43,101,179,55,228,75,229,118,42,147,159,34,100,26,196,2,228,176,132,150,186,55,202,215,40,18,221,133,48,25,18,94,218,74,178,174,9,199,148,109,142,236,46,188,115,222,72,179,87,54,18,236,29,24,25,147,104,210,12,151,148,248,38,131,173,69,217,54,9,152,213,64,19,75,65,255,89,154,89,26,217,81,200,21,109,204,238,20,109,147,108,241,223,222,190,134,211,72,60, 52,20,206,149,187,35,123,173,159,118,252,222,149,229,50,46,151,60,51,235,200,241,104,168,54,84,81,168,202,236,43,73,150,146,27,91,75,75,210,220,106,177,165,240,56,36,130,181,199,255,95,225,112,187,85,205,172,184,102,124,229,78,1,82,73,146,112,113,160,74,125,103,186,185,54,80,50,243,99,94,175,105,7,149,101,24,250,78,172,92,154,20,51,123,138,229,213,213,145,247,147,215,153,216,156,82,214,63,61,177,174,18,216,142,38,26,42,250,58,137,220,238,70,53,222,173,173,132,242,88,86,201,151,4,253,4,110,93,173,238,229,250,46,15,141,175,12,231,43,134,199,252,248,240,84,144,149,150,151,124,158,144,182,241,195,34,33,18,54,106,225,51,141,82,156,247,95,9,142,52,65,161,0,216,10,97,173,128,65,251,183,109,131,102,207,253,223,198,198,72,188,182,171,49,19,44,140,122,99,115,117,53,154,108,218,102,82,65,60,99,75,43,131,178,44,130,230,41,121,43,160,214,230,104,138,161,221,73,81,244,160,82,192,206,198,76,153,71,43,169,130,154,43,68,61,36, 105,202,184,180,134,192,122,165,171,162,169,185,65,42,11,215,160,208,166,185,76,52,53,176,21,55,2,13,105,75,49,33,91,11,19,41,121,5,166,109,25,229,205,84,161,142,145,217,142,204,66,92,119,129,173,6,67,25,113,168,109,236,212,19,7,72,91,44,76,76,4,81,189,35,63,234,186,157,133,9,217,167,201,189,85,109,244,36,201,156,169,86,77,191,192,116,110,92,115,251,214,188,167,184,161,29,106,149,100,67,72,162,21,53,219,153,224,219,16,145,58,165,73,220,10,83,42,207,212,68,29,20,243,212,21,38,147,42,68,118,171,202,135,150,120,196,196,111,225,244,40,181,195,62,57,159,4,236,68,242,7,20,20,176,213,202,132,115,101,167,214,8,246,130,66,56,244,147,203,44,110,106,197,109,253,86,45,104,61,166,177,168,150,137,191,228,207,35,181,51,3,3,98,99,138,66,18,107,74,203,211,194,112,50,230,21,224,145,127,54,75,172,54,206,45,83,73,246,91,49,156,130,211,110,82,81,151,80,255,18,83,149,90,31,170,171,206,92,24,83,113,143,241,181,54,57, 161,89,172,91,95,69,31,217,106,179,232,150,31,166,129,138,112,43,134,83,11,31,106,235,211,47,55,121,132,109,90,82,49,22,213,131,110,133,246,96,237,120,13,164,164,36,16,143,198,181,95,225,36,252,143,180,57,100,209,37,56,84,197,133,44,250,97,44,81,116,193,76,248,175,64,59,77,173,216,62,190,146,21,151,100,252,127,36,242,226,213,21,145,100,85,227,71,186,23,6,163,165,58,191,1,42,60,150,31,52,5,45,237,73,139,71,199,75,68,188,99,34,226,143,229,37,34,22,132,194,94,130,50,194,124,18,95,67,51,7,172,184,81,168,79,162,161,28,93,202,87,76,63,25,162,98,167,86,117,117,221,102,104,203,106,197,151,246,92,91,213,223,210,136,63,87,196,132,119,28,41,113,41,253,39,21,254,150,2,163,74,95,16,22,148,6,34,106,209,106,54,19,175,208,86,120,90,73,253,169,136,223,18,185,78,135,53,117,57,118,22,23,245,217,179,147,79,105,34,42,245,31,122,238,111,147,14,143,248,61,217,190,162,218,172,90,154,200,237,202,64,168,187,170,14,255, 87,235,72,66,52,86,16,159,132,177,33,7,131,137,100,52,110,99,229,253,170,78,29,185,162,142,47,149,95,237,180,64,141,62,139,59,242,226,178,34,99,141,140,149,107,229,232,162,82,188,235,106,32,72,215,93,63,165,64,170,18,89,90,119,150,164,186,133,40,234,104,73,53,70,176,31,250,130,59,26,19,90,178,194,236,213,170,88,86,27,72,102,160,57,88,11,30,234,38,169,204,20,90,134,203,90,67,19,132,22,94,170,12,52,183,52,125,4,77,165,233,33,100,129,180,66,193,82,25,139,216,19,31,195,127,76,11,182,237,50,65,248,20,231,31,161,252,255,214,251,255,167,189,152,233,50,138,182,191,220,20,30,132,12,255,105,110,102,20,178,62,197,159,134,86,119,102,219,13,57,113,49,91,224,134,188,57,24,83,252,98,81,241,211,246,81,54,27,147,143,133,242,240,255,175,128,254,33,15,15,145,242,41,213,58,103,120,118,42,156,25,86,136,103,182,45,15,11,106,98,238,167,185,33,78,92,30,171,166,52,133,149,245,15,109,196,9,189,112,169,163,223,66,232,191,124, 61,218,101,234,165,83,33,155,133,141,200,174,71,66,90,219,94,130,193,165,192,125,165,235,255,67,104,88,189,254,81,176,167,219,77,83,225,127,162,96,137,43,132,197,88,227,186,93,22,217,144,249,53,237,246,196,68,84,123,175,158,218,61,33,41,86,146,169,230,128,40,40,244,196,69,19,226,27,22,253,19,24,81,179,159,134,252,111,69,94,29,113,96,147,128,98,57,248,103,188,219,182,132,59,242,240,23,145,88,184,185,104,92,141,252,173,248,220,234,0,175,134,193,193,224,192,182,226,188,76,73,108,36,90,243,19,244,37,156,112,201,242,111,170,23,22,181,254,161,29,31,229,161,92,92,205,255,207,234,64,24,42,132,159,112,26,254,67,78,84,192,69,78,252,211,253,135,34,124,0,86,76,172,252,63,169,33,188,10,229,22,29,143,62,249,15,34,16,255,35,86,254,147,163,195,15,249,174,29,185,95,46,40,20,231,165,131,178,94,45,254,97,55,193,104,171,3,0,113,107,133,255,232,180,194,15,113,250,2,160,120,154,120,66,48,215,251,110,188,31,153,252,138,60,45,42, 199,83,134,252,169,170,104,2,186,195,45,37,254,170,208,91,166,252,104,26,233,254,71,12,94,76,34,254,87,216,252,80,19,255,35,214,30,121,73,197,30,4,16,135,172,87,36,153,95,89,167,27,164,160,49,33,252,255,195,82,227,51,251,166,2,29,143,126,111,136,140,74,64,133,252,24,163,74,34,91,193,176,248,79,161,86,102,17,127,20,253,191,189,80,166,89,160,255,42,138,1,72,26,127,17,35,92,8,43,254,36,201,128,88,248,179,194,165,227,151,254,72,173,43,46,141,251,52,193,210,166,210,206,158,210,9,4,145,219,243,224,37,50,21,242,119,67,178,216,249,71,106,85,101,149,27,166,164,216,207,205,241,205,101,88,42,3,21,114,206,172,100,186,80,28,85,190,100,66,19,79,53,136,253,202,98,113,247,131,47,9,70,87,161,95,168,16,110,67,79,242,31,78,22,138,165,77,18,121,136,200,7,200,73,88,108,54,193,226,178,185,102,135,150,150,9,148,252,81,148,29,15,155,177,80,155,34,37,254,50,45,243,45,196,148,34,158,130,192,8,102,68,204,244,220,85, 44,41,8,13,153,109,121,164,74,138,205,2,121,195,199,90,225,18,183,223,244,208,16,52,19,173,130,41,193,204,72,42,164,143,29,123,233,150,64,53,57,82,210,10,255,27,18,238,56,34,89,125,38,101,81,104,135,203,235,89,173,84,125,7,199,180,200,139,240,132,83,96,85,160,226,35,159,142,34,89,241,6,61,147,176,150,169,234,127,60,33,16,40,226,227,145,134,13,202,163,193,142,118,253,2,181,31,27,236,26,139,80,204,183,7,40,230,146,8,141,25,167,192,43,51,69,236,163,160,232,87,143,88,33,169,146,141,137,172,207,22,170,153,106,113,40,91,9,78,16,46,245,200,138,192,58,53,224,33,178,188,54,183,215,174,183,126,155,11,6,196,179,26,89,29,71,230,142,170,118,65,182,168,192,34,179,27,6,242,217,44,217,158,146,223,74,163,8,74,75,213,90,101,206,23,3,226,88,49,128,51,165,121,63,52,185,32,102,58,220,2,228,96,220,234,154,54,124,34,126,52,50,63,121,43,145,184,148,206,238,171,162,67,213,154,21,9,3,77,129,116,67,99,100,111,111, 203,12,229,12,197,134,118,213,158,115,131,28,171,11,220,81,184,31,233,216,104,50,223,204,4,181,128,192,144,51,60,160,175,18,140,213,246,18,45,138,117,246,228,14,21,227,45,176,15,93,117,36,210,136,216,109,54,187,52,55,178,188,8,7,39,52,107,212,98,155,64,10,224,229,239,218,178,148,220,22,132,145,143,182,66,237,68,190,133,0,91,98,47,93,24,99,109,64,112,121,130,165,189,181,222,238,160,159,193,202,241,217,171,11,226,46,39,110,156,24,94,200,84,212,179,110,249,255,255,47,25,14,10,65,148,195,3,88,87,62,5,50,84,32,167,119,219,102,89,236,92,218,16,237,56,174,142,127,34,70,133,233,41,100,134,167,225,214,33,224,7,18,98,33,37,157,114,9,17,6,200,69,126,70,91,148,64,30,212,17,223,62,6,144,71,60,9,102,199,205,170,226,167,214,58,246,132,139,145,69,252,21,24,95,211,53,130,232,84,67,191,146,1,201,244,153,159,10,16,208,99,134,75,230,49,63,196,160,6,76,79,65,56,233,83,24,21,245,59,240,121,252,255,171,104,115, 130,93,21,217,51,34,242,161,200,254,143,130,200,39,156,254,81,133,120,181,229,33,102,197,162,226,205,214,17,255,96,111,61,212,44,213,168,135,154,185,69,251,16,77,252,183,207,228,47,49,59,252,165,220,240,131,34,143,33,55,252,196,217,240,255,255,63,150,13,255,31,228,61,1,16,164,29,36,9,215,216,80,32,159,32,206,195,38,225,26,130,147,240,127,20,109,218,141,242,249,1,242,155,203,82,131,97,233,41,4,54,255,95,213,240,105,231,211,250,211,201,135,104,184,161,91,220,122,240,152,200,60,79,184,9,23,215,151,191,42,50,125,130,153,230,131,112,179,57,144,64,146,253,130,104,67,125,216,249,184,32,231,241,232,132,92,81,205,77,78,136,118,185,65,196,83,163,252,215,1,158,86,11,81,239,156,216,25,180,253,68,68,72,103,72,157,31,182,77,186,102,216,244,163,24,243,87,206,127,181,6,170,126,255,127,169,247,195,200,144,110,210,79,44,30,81,92,16,71,72,140,80,140,140,78,77,110,186,91,46,205,86,185,92,250,184,173,132,138,16,170,160,157,153,81,185, 21,235,20,17,82,77,147,234,95,39,52,182,42,29,142,89,189,33,194,41,255,4,202,195,118,70,83,82,253,135,204,123,64,45,252,242,61,148,230,31,91,201,204,10,161,67,103,62,166,229,130,112,106,165,225,28,138,126,4,226,4,139,222,111,103,72,243,254,71,81,72,222,223,69,161,120,255,74,111,111,82,13,249,81,138,222,63,62,130,130,112,83,64,216,30,140,162,75,128,201,119,212,42,62,233,207,149,65,16,71,27,81,119,200,3,184,17,223,98,64,55,226,55,94,160,167,216,11,24,96,128,124,16,109,15,0,74,179,210,150,235,1,184,232,48,36,197,159,209,255,201,22,196,159,152,96,70,218,98,99,207,4,243,4,126,254,31,35,82,236,147,253,42,65,51,252,145,39,3,235,145,21,216,12,95,56,35,83,142,209,161,149,149,29,49,243,140,140,195,137,57,201,33,252,255,11,14,225,196,151,243,159,26,119,59,224,26,254,202,248,255,37,132,240,255,82,139,151,240,250,100,165,21,245,63,109,38,69,253,203,87,138,186,18,60,177,251,52,186,230,35,46,62,255,111,150, 28,239,144,82,11,125,135,255,63,53,222,255,89,34,27,26,140,213,219,85,78,117,243,149,118,58,43,153,101,198,28,255,213,136,234,255,147,198,84,213,65,160,96,157,252,37,160,29,254,95,152,46,126,128,12,18,22,150,234,220,255,4,64,212,122,117,143,63,194,45,42,84,47,4,16,123,62,119,111,239,44,38,155,74,245,24,27,136,105,197,216,250,83,222,24,178,254,237,44,213,250,225,92,248,33,211,14,89,121,52,1,241,20,49,186,248,255,31,224,22,254,191,176,43,254,255,91,73,146,32,156,91,211,239,192,149,1,245,14,204,17,89,226,7,21,161,124,170,121,98,112,8,31,165,71,199,124,3,75,39,36,77,33,16,48,7,18,7,197,56,254,140,4,29,79,39,8,77,208,174,248,255,255,213,54,63,208,19,125,178,237,21,96,183,236,254,212,229,63,117,243,19,63,204,35,214,255,255,35,100,241,255,63,36,233,119,131,6,58,189,95,237,247,73,248,237,9,246,151,119,207,79,161,176,161,177,133,205,94,49,30,19,251,141,122,249,255,71,209,127,58,254,64,229,240,199, 251,128,60,194,118,115,201,8,156,59,126,40,49,117,56,52,40,16,142,192,207,90,116,65,164,69,159,89,174,79,216,82,164,81,208,89,216,86,99,127,205,176,127,128,139,102,41,39,93,196,155,176,103,29,213,202,1,224,23,83,246,211,96,69,208,96,209,254,0,128,248,68,4,72,39,220,78,169,116,160,18,154,80,191,17,134,156,19,227,126,23,141,29,141,133,192,138,126,20,197,36,180,41,37,73,164,31,158,114,165,91,25,240,149,235,21,187,254,228,12,196,11,198,147,237,209,1,223,187,241,253,195,57,228,165,247,244,255,18,52,45,161,92,88,200,251,130,233,3,226,5,29,255,49,231,248,31,125,121,109,96,221,34,63,9,175,74,230,108,109,205,143,34,223,178,16,15,84,137,255,31,61,137,191,40,163,170,108,254,63,114,241,160,157,241,191,114,241,47,127,140,255,34,211,117,172,236,88,30,253,72,170,214,11,182,203,15,145,12,16,200,250,158,2,188,70,0,232,28,138,247,26,139,227,145,181,17,245,255,87,115,253,63,84,209,209,241,82,186,200,78,252,207,224,5,57, 217,9,172,13,226,64,248,167,219,2,205,34,237,210,136,134,187,231,53,220,255,255,255,207,58,138,80,92,221,188,194,208,18,44,178,146,253,231,90,253,5,184,39,139,228,237,255,119,46,80,51,152,156,91,46,50,109,251,133,33,114,146,203,181,218,194,252,62,126,121,27,224,199,31,107,99,179,185,181,226,47,207,236,172,244,32,146,126,24,153,84,211,127,150,59,125,63,140,92,43,136,123,30,123,165,55,100,68,81,110,169,254,63,194,241,192,130,164,157,101,120,52,119,81,35,251,121,200,39,253,172,64,254,92,202,229,214,113,152,193,206,116,233,153,71,135,90,236,101,247,0,181,87,61,242,168,244,76,205,135,188,23,94,1,255,255,255,255,255,255,255,255,255,255,255,255,3,221,228,255,161,130,198,111,235,96,86,116,169,216,83,48,145,213,81,132,214,105,207,48,244,14,70,148,91,89,100,32,196,47,147,37,252,78,79,218,170,247,163,21,171,183,86,124,116,73,38,76,80,169,82,29,48,161,231,62,148,53,217,152,136,236,33,140,216,45,26,173,76,6,97,214,12,3,67,244, 189,216,215,252,127,252,15,65,241,69,130,226,96,131,242,15,100,130,211,201,64,161,13,90,12,233,62,252,63,104,62,176,129,145,240,28,48,56,75,171,71,171,53,23,176,103,57,109,58,183,163,109,26,34,49,15,55,179,3,204,195,255,255,127,100,71,241,100,85,240,215,183,75,212,51,94,173,249,255,255,63,225,114,96,130,153,169,128,170,100,102,226,206,149,149,32,72,116,92,75,163,149,91,39,108,136,157,99,71,131,61,136,56,112,194,216,42,116,40,97,162,121,134,166,72,64,252,143,14,250,127,16,18,249,57,90,158,96,130,27,100,242,67,55,229,255,73,40,228,39,158,177,23,241,211,201,45,197,35,43,2,89,126,30,91,36,75,116,152,86,155,196,244,227,65,118,36,35,8,33,254,31,41,242,135,255,23,161,165,255,255,100,194,127,244,169,80,248,255,199,102,11,73,162,40,254,255,147,10,127,229,183,212,122,99,64,96,191,36,222,47,4,102,18,120,137,4,94,2,4,38,143,112,253,15,104,62,9,10,41,244,207,89,115,234,231,175,119,154,21,193,243,215,91,157,198, 249,139,81,227,143,214,101,58,23,128,138,139,222,53,52,137,255,146,253,255,69,93,170,7,212,131,163,36,128,14,126,58,239,1,245,22,173,147,96,236,105,90,130,224,73,176,208,74,225,103,83,64,252,11,74,223,164,13,242,171,53,237,5,17,169,161,80,20,187,209,102,17,51,195,227,23,197,246,209,21,249,205,4,235,20,181,25,91,20,181,85,189,71,166,122,171,115,255,15,250,92,137,65,25,244,202,95,185,5,209,5,21,130,10,56,198,149,2,199,248,255,91,129,30,139,0,23,62,118,43,79,224,122,232,246,7,140,218,255,87,198,16,39,202,127,123,50,128,177,242,224,225,160,120,50,158,148,15,51,197,255,127,92,85,126,107,242,203,102,43,51,116,176,30,85,246,127,212,93,254,91,134,169,230,242,166,193,154,123,22,64,122,252,255,20,215,11,252,226,39,163,181,182,229,142,233,1,95,72,218,204,74,236,255,133,144,236,177,18,17,172,148,179,201,142,150,253,90,136,22,246,35,116,32,131,68,187,2,124,107,246,99,166,26,162,139,31,132,37,255,127,208,233,248,255,164, 29,82,151,127,170,239,114,77,134,160,44,99,149,202,95,16,73,35,143,169,7,43,182,83,61,253,39,91,133,255,172,2,185,248,194,74,122,130,1,182,12,183,251,164,250,134,240,227,97,96,247,142,61,117,126,140,245,165,59,4,156,6,116,199,127,58,37,159,200,242,100,96,19,238,82,144,246,141,185,25,224,145,160,133,188,132,129,224,80,249,158,237,27,202,226,136,229,53,45,133,182,193,220,151,141,44,12,231,155,48,100,151,33,4,77,92,31,77,218,35,122,110,9,255,53,171,205,94,177,93,114,120,26,143,133,136,89,80,253,81,8,66,42,116,137,135,247,136,13,181,234,93,224,39,175,142,61,2,228,67,143,110,215,232,34,250,176,255,144,30,15,104,187,224,162,195,24,46,58,12,175,45,59,147,13,223,38,247,228,203,193,136,175,66,151,67,243,11,211,194,202,209,72,81,236,158,49,176,178,81,72,147,119,108,74,248,131,34,146,164,70,153,79,28,102,89,54,187,38,103,246,157,159,98,35,171,185,172,60,248,40,170,59,254,8,136,199,234,200,10,84,96,159,175,179,138, 220,208,67,47,236,149,40,71,186,98,251,175,106,154,80,78,253,31,53,169,91,244,169,88,181,188,180,234,112,227,252,159,198,101,142,15,7,253,236,50,141,134,119,40,199,34,243,255,127,153,39,156,208,89,254,255,38,144,244,66,48,249,255,180,224,110,254,19,52,221,167,94,79,22,128,67,36,133,165,48,208,123,151,124,149,223,67,107,240,195,239,242,81,181,56,180,86,61,15,194,72,63,200,40,221,176,127,254,255,227,96,241,255,31,33,156,191,174,100,234,231,242,18,165,93,93,126,0,155,74,150,9,144,191,222,106,53,199,95,102,75,255,111,78,16,39,179,164,143,122,161,101,213,131,9,226,157,235,180,156,22,153,41,100,71,201,156,249,94,36,20,63,138,132,83,59,231,70,106,110,64,129,193,15,184,49,254,128,181,222,70,157,219,93,243,80,2,31,223,11,95,96,6,140,165,56,141,44,80,144,187,254,67,192,140,119,205,255,127,2,237,151,64,122,160,214,92,51,193,25,163,55,168,166,87,79,158,187,91,123,188,50,254,67,209,254,192,101,243,15,238,212,161,166,94,245, 239,93,125,252,192,156,74,32,132,99,105,168,79,168,56,246,181,144,180,30,43,151,155,237,222,108,190,27,198,245,83,111,102,81,148,139,5,207,136,242,131,244,148,176,140,220,19,193,58,247,140,255,42,130,97,240,25,255,127,208,78,112,179,30,200,38,128,147,249,255,130,155,250,1,121,229,167,224,126,177,133,252,127,217,222,253,29,217,41,194,33,124,52,55,15,152,255,143,84,121,224,200,17,40,205,47,202,140,215,88,225,57,50,80,11,241,151,189,65,228,94,249,46,250,25,255,95,64,139,135,208,45,16,165,195,113,248,185,78,69,151,64,209,189,248,80,110,88,28,246,21,69,198,174,1,130,56,208,97,89,253,182,94,155,25,134,123,162,205,35,102,250,11,164,160,107,82,68,242,125,98,177,89,10,52,231,250,62,135,167,19,196,211,255,147,243,131,221,84,182,237,24,45,160,115,38,89,83,243,15,237,136,242,77,24,80,72,183,146,230,200,15,192,49,243,20,87,32,162,251,167,49,178,192,174,234,7,46,147,255,63,249,139,169,30,72,152,114,149,130,138,33,11,253,127,132, 166,17,253,68,152,60,236,37,60,180,52,84,20,244,32,144,84,218,180,218,125,205,108,52,20,20,137,101,249,156,112,122,123,43,80,77,71,20,237,36,203,178,172,202,121,90,85,203,77,210,164,210,225,38,3,185,99,5,4,156,150,68,121,18,55,162,206,20,5,31,220,31,255,175,88,108,147,223,228,81,163,148,248,20,156,152,126,252,63,132,99,38,0,84,14,196,227,160,173,252,127,241,94,89,179,253,127,129,101,125,144,173,206,205,132,167,202,255,63,20,158,110,84,108,167,150,187,229,20,26,161,140,61,85,5,206,82,79,19,136,189,8,186,212,89,210,70,165,134,79,85,45,84,72,37,158,44,208,119,12,130,96,64,10,70,41,160,237,34,48,32,23,207,200,65,137,4,76,69,185,105,147,255,214,171,18,189,179,118,198,240,220,210,13,187,177,198,203,64,173,16,15,149,71,206,145,183,24,250,180,166,179,11,134,131,48,236,250,145,80,67,252,224,39,245,234,9,109,111,145,208,121,193,169,96,70,22,86,192,86,121,104,44,232,250,86,87,100,198,111,235,212,89,34,107,84, 194,96,156,102,57,199,55,84,210,207,177,13,149,116,203,224,63,61,130,148,207,37,228,33,39,244,86,170,253,146,209,252,3,247,242,39,16,197,75,196,166,216,43,84,190,52,126,236,16,195,239,185,168,90,29,164,120,254,79,86,27,165,163,181,242,84,213,212,40,104,96,214,10,129,108,142,31,108,226,72,232,69,191,108,195,64,140,142,178,236,246,170,116,96,66,114,44,174,4,67,24,91,172,87,240,54,87,109,249,236,4,213,208,198,28,129,23,19,47,4,190,196,17,121,132,24,87,14,76,47,73,11,237,96,116,95,127,92,19,78,45,184,126,182,100,221,88,221,127,140,117,101,66,80,225,8,194,27,192,33,29,202,71,184,151,74,160,68,77,19,65,12,172,249,223,2,235,227,167,182,24,66,71,121,125,173,159,132,25,50,26,72,27,138,231,48,11,171,34,186,94,102,200,92,229,199,93,179,107,88,226,179,106,133,203,3,23,235,17,58,143,70,184,209,202,80,34,28,74,120,154,233,24,91,38,53,249,40,166,71,223,208,30,42,230,255,255,255,167,252,248,180,39,21,219,33, 136,37,219,30,13,75,137,139,4,227,195,47,1,190,61,136,15,143,82,208,152,47,41,62,192,150,209,178,243,48,117,61,126,146,195,76,90,31,217,58,56,34,209,205,50,180,72,190,146,109,62,127,143,251,242,220,103,2,239,176,187,234,104,160,16,129,63,133,189,164,196,219,75,137,211,238,237,165,4,149,227,15,81,242,255,76,198,84,200,79,179,163,146,36,255,255,36,137,6,249,105,118,52,217,0,164,179,87,43,83,199,29,212,184,254,200,105,202,51,136,196,31,50,61,18,241,191,180,69,229,228,161,34,47,197,55,217,123,211,120,140,232,253,169,55,87,146,67,145,161,16,153,226,142,116,60,4,174,9,132,143,178,62,64,36,80,87,33,19,139,32,30,51,243,21,113,145,175,78,76,10,132,39,154,28,131,222,244,152,110,55,148,25,151,40,41,159,21,184,110,8,102,230,91,111,136,144,127,50,228,8,100,136,2,25,242,95,129,12,249,23,200,144,255,8,66,215,41,246,31,238,34,67,247,168,21,194,255,25,34,76,243,99,48,84,178,63,236,142,162,144,64,239,81,26,227, 208,246,135,146,80,195,6,50,238,164,146,242,194,91,40,217,76,11,138,240,55,252,165,184,165,205,34,56,66,51,241,63,24,51,144,81,131,184,41,94,226,238,240,61,25,144,9,16,202,255,31,250,195,98,242,1,16,118,232,169,51,209,83,183,146,250,255,255,255,58,21,245,87,67,253,11,18,89,22,13,245,51,209,80,255,127,5,26,234,183,239,173,161,254,255,87,160,161,254,231,0,88,120,6,205,154,4,47,30,229,39,81,74,108,18,238,212,15,239,15,73,94,21,238,64,34,28,156,85,95,122,110,175,208,32,164,86,104,143,83,52,156,216,63,47,123,81,205,249,54,237,150,101,190,161,173,58,36,79,227,254,241,200,142,255,192,96,122,65,212,59,176,59,6,209,199,35,182,55,17,221,208,207,197,157,55,14,24,92,247,149,98,138,132,56,201,157,24,79,158,99,67,230,134,10,12,143,229,110,59,55,47,100,212,40,135,106,135,16,33,139,220,80,118,192,188,128,168,132,8,23,144,248,214,150,179,246,10,26,59,145,127,37,29,64,114,220,187,86,130,29,211,240,181,248,255, 73,181,71,77,252,160,11,251,33,101,36,94,216,179,27,151,123,47,172,192,103,134,153,198,53,195,76,227,47,234,214,133,41,222,22,163,4,37,106,141,255,135,108,88,34,27,254,103,94,109,124,133,218,248,255,171,18,41,95,36,82,254,75,64,79,222,60,23,168,255,131,148,235,101,175,158,133,228,148,191,5,194,97,175,189,185,84,39,80,192,125,2,218,122,226,96,157,65,134,179,63,44,71,110,246,48,4,240,142,32,119,208,76,51,187,139,17,76,74,159,72,252,78,199,172,40,244,115,65,62,108,120,127,49,8,231,150,68,164,70,86,108,4,35,195,102,162,145,49,169,33,124,172,107,43,113,193,36,34,89,155,122,66,77,215,82,3,150,159,196,110,147,65,7,209,52,146,85,136,33,46,101,235,27,217,134,112,162,153,194,133,107,49,141,62,16,252,50,22,50,253,122,33,220,189,68,50,150,101,36,77,146,149,107,225,168,188,207,90,72,242,243,84,18,36,166,249,127,74,226,63,132,196,101,69,81,117,176,178,219,128,239,1,231,226,138,124,15,100,29,135,6,90,154,248,136, 131,229,255,106,139,200,154,71,76,92,11,48,44,46,16,45,166,247,246,175,8,148,235,216,163,6,192,236,33,95,15,45,117,145,33,57,160,213,149,47,194,69,13,145,210,223,0,63,254,223,71,168,134,129,170,189,22,3,163,201,100,28,178,54,104,156,149,93,239,150,13,24,197,255,2,130,72,194,181,203,2,39,170,136,172,32,231,58,92,201,11,240,101,97,203,21,22,169,159,58,186,208,230,62,36,83,31,215,7,99,42,165,194,73,243,241,243,85,82,83,188,181,6,251,5,95,215,26,227,241,180,194,152,100,51,119,197,204,78,1,231,133,58,26,7,222,40,165,122,69,165,208,153,180,48,3,225,150,136,91,57,16,228,124,118,31,9,56,62,176,56,32,163,173,251,225,199,249,124,31,68,73,242,123,180,164,21,86,12,35,146,30,195,113,148,122,116,199,35,219,143,57,233,135,181,174,209,105,135,138,184,37,130,179,73,238,181,117,50,150,175,83,219,190,69,128,197,161,93,179,136,209,77,90,91,164,124,47,77,41,78,190,159,126,185,140,63,29,243,248,126,82,239,35,229,240, 178,93,187,96,47,220,168,23,30,85,126,9,188,41,106,2,75,12,31,19,226,90,248,133,132,241,134,178,113,56,134,166,44,157,10,112,228,225,58,81,217,62,120,122,63,252,95,117,33,104,114,239,138,18,181,188,26,201,222,168,245,129,68,248,201,87,117,208,123,15,37,175,132,74,236,53,29,194,126,189,164,231,163,158,11,231,232,0,229,251,99,111,192,249,7,245,206,11,143,166,150,132,226,57,50,162,70,46,165,249,136,139,27,29,224,103,126,143,175,160,107,121,99,0,191,183,56,253,235,24,78,196,97,43,25,172,137,33,159,242,255,22,123,13,134,100,67,218,88,242,255,19,250,143,0,126,150,84,46,134,3,92,143,41,246,52,37,46,25,137,70,171,13,126,143,20,114,255,48,247,108,84,37,253,15,90,220,237,128,3,173,48,250,181,191,37,223,63,136,11,222,43,86,38,40,170,62,238,169,38,118,89,201,254,213,20,63,132,195,151,36,91,98,225,127,37,249,151,48,196,251,51,82,48,165,124,85,61,130,74,182,156,250,40,123,187,141,238,172,93,202,204,239,93,244,59, 183,236,95,247,51,117,175,218,191,171,137,133,141,49,134,150,135,192,218,25,227,104,43,67,212,131,107,107,240,129,44,213,15,133,96,14,54,157,81,79,38,238,51,105,255,42,138,109,228,168,54,30,230,72,4,76,156,190,152,243,144,238,216,152,52,49,81,225,128,130,248,111,178,146,213,10,155,208,179,94,211,78,30,224,59,178,128,186,207,163,61,236,141,164,24,157,245,192,238,108,20,29,224,149,102,187,8,227,89,51,172,143,101,245,180,232,130,156,185,240,245,42,1,37,250,141,140,40,12,77,14,98,222,125,3,91,173,20,82,34,150,15,232,97,167,164,7,255,76,223,144,74,179,79,163,39,18,93,225,183,140,177,82,232,103,61,25,199,117,193,168,46,6,250,33,47,13,121,77,71,41,177,200,130,128,42,153,169,238,110,128,74,66,135,205,74,228,45,126,105,166,99,28,180,203,65,25,70,19,129,130,168,228,137,103,161,39,89,103,95,90,37,72,133,172,52,95,61,87,61,35,49,115,160,46,59,132,221,163,176,50,161,176,180,171,119,190,88,237,188,148,201,162,119,186,134, 132,225,144,76,130,140,241,95,82,231,191,14,145,58,135,200,139,105,181,206,255,255,150,34,223,142,122,251,255,191,115,106,230,0,247,123,9,221,122,90,235,62,160,124,185,160,116,199,151,232,8,208,143,112,68,34,128,89,97,100,66,173,96,139,17,91,240,194,205,132,96,80,190,91,218,79,152,155,57,103,32,20,197,7,91,154,2,94,241,225,156,78,180,55,248,6,167,216,224,235,249,185,2,215,101,205,162,121,173,149,254,11,12,50,212,206,79,206,33,175,228,249,223,185,61,209,115,89,110,199,146,227,51,72,205,30,187,144,52,51,4,18,201,140,55,7,60,124,168,161,107,68,71,32,150,75,169,156,156,149,158,118,226,82,106,25,56,102,150,166,247,118,186,68,178,24,170,23,226,57,232,66,169,200,195,197,226,21,97,46,151,23,44,210,21,197,66,64,236,113,214,175,111,162,196,250,15,82,5,37,129,110,248,229,156,36,50,63,5,250,212,8,230,70,194,144,166,196,127,193,7,106,59,113,5,224,158,208,20,67,183,103,124,209,167,190,146,56,231,25,36,133,112,2,169,62, 252,49,135,192,71,21,210,154,143,74,207,127,163,69,222,6,72,154,255,119,187,180,98,74,22,68,224,153,112,144,102,142,152,127,100,51,130,53,161,240,216,26,20,203,197,199,241,86,190,1,255,248,131,199,91,147,160,144,214,65,42,132,110,109,129,144,111,4,116,146,162,76,226,128,249,208,173,250,35,24,162,214,20,217,255,112,69,100,47,66,14,71,161,161,223,81,208,41,55,135,133,107,246,150,170,225,169,242,170,80,1,85,249,15,243,0,85,49,106,96,66,227,33,51,226,207,16,171,198,228,246,119,245,59,69,225,39,96,165,180,242,148,194,171,88,249,199,169,72,0,125,196,90,212,43,53,50,106,58,122,174,0,71,205,245,190,54,245,17,204,204,100,204,185,70,200,86,178,91,84,32,157,155,226,106,132,182,136,34,119,233,215,213,221,60,18,51,78,165,197,96,16,241,104,78,48,145,4,205,29,110,232,6,204,191,192,60,129,185,23,204,191,192,60,65,38,50,48,209,230,30,216,143,228,24,229,62,218,249,253,185,100,159,44,208,255,87,189,61,68,82,71,201,2,225,118, 177,197,176,250,193,101,154,36,33,182,160,164,160,104,145,16,36,246,141,202,88,198,40,208,66,47,96,63,99,5,65,107,64,248,140,185,212,126,212,79,84,69,124,51,70,203,134,133,63,65,74,107,59,147,27,210,13,217,241,191,53,231,139,113,88,7,200,149,39,152,151,87,27,152,132,143,248,248,180,89,50,31,240,103,234,215,23,124,224,33,125,72,151,122,193,210,18,227,149,155,206,143,101,94,246,219,13,173,115,48,42,13,200,236,28,224,254,224,194,254,67,197,135,234,225,255,143,77,189,117,107,140,159,126,25,152,68,182,77,198,118,83,168,217,227,233,132,4,118,170,234,217,112,173,90,104,169,52,194,18,60,183,39,22,50,42,22,158,49,177,240,5,77,45,22,46,45,175,85,78,41,209,56,18,63,152,45,179,88,119,12,108,208,255,207,69,160,100,62,86,223,83,54,191,100,213,228,227,193,70,229,33,79,33,77,136,178,25,193,79,241,24,162,212,133,63,56,77,91,132,181,225,154,141,38,49,129,74,250,255,255,255,255,3,235,202,49,171,147,174,158,222,202,183,39,242, 149,75,44,206,174,47,101,179,90,63,118,40,130,122,191,154,40,104,85,79,173,4,131,231,167,173,94,144,43,223,188,168,88,92,54,91,97,101,53,197,3,188,182,159,52,251,161,31,174,33,168,75,27,208,15,71,160,31,110,1,241,223,59,135,168,26,170,204,169,26,219,161,10,86,84,205,17,169,154,91,50,254,255,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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, 3, 0, 0, 0, 0, 0, 0, 0, 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, 70, 73, 76, 0, 0, 0, 0, 123, 144, 0, 0, 112, 111, 100, 47, 112, 105, 99, 111, 56, 95, 98, 111, 111, 116, 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, 97, 1, 0, 0, 242, 16, 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, 31, 0, 255, 13, 46, 99, 111, 109, 10, 118, 101, 114, 115, 105, 111, 110, 32, 56, 10, 95, 95, 108, 117, 97, 95, 95, 10, 10, 45, 45, 62, 56, 6, 0, 25, 159, 95, 95, 103, 102, 120, 95, 95, 10, 48, 1, 0, 108, 15, 129, 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, 45, 1, 137, 64, 31, 102, 137, 64, 112, 15, 139, 1, 109, 15, 1, 1, 239, 95, 95, 95, 109, 97, 112, 10, 2, 240, 15, 1, 1, 255, 255, 255, 255, 255, 255, 255, 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, 50, 95, 95, 115, 187, 98, 48, 49, 48, 99, 17, 0, 161, 51, 48, 53, 53, 53, 50, 98, 53, 54, 53, 10, 0, 64, 51, 53, 53, 52, 5, 0, 128, 49, 53, 51, 53, 55, 48, 53, 48, 3, 0, 15, 5, 0, 106, 0, 169, 0, 16, 56, 12, 0, 115, 50, 52, 48, 51, 53, 50, 52, 26, 0, 15, 91, 2, 130, 30, 49, 154, 0, 15, 169, 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, 238, 113, 95, 95, 109, 117, 115, 105, 99, 114, 74, 50, 32, 52, 49, 2, 0, 15, 12, 0, 255, 255, 224, 80, 49, 52, 49, 10, 10, 99, 70, 73, 76, 0, 0, 0, 0, 91, 157, 12, 0, 112, 111, 100, 47, 103, 102, 120, 49, 46, 112, 111, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 193, 72, 0, 0, 243, 22, 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, 25, 0, 63, 8, 1, 0, 1, 0, 10, 177, 67, 66, 77, 80, 20, 0, 1, 0, 128, 0, 0, 4, 0, 47, 32, 0, 1, 0, 255, 255, 255, 255, 255, 255, 255, 255, 207, 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, 36, 97, 67, 80, 65, 76, 0, 3, 11, 0, 241, 36, 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, 2, 4, 8, 2, 4, 6, 6, 0, 15, 3, 0, 128, 17, 9, 3, 0, 15, 48, 0, 29, 9, 54, 0, 63, 3, 5, 10, 48, 0, 10, 12, 60, 0, 14, 48, 0, 15, 150, 0, 11, 56, 3, 5, 10, 3, 0, 254, 33, 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, 122, 1, 15, 3, 0, 255, 44, 255, 2, 67, 66, 77, 80, 164, 1, 0, 0, 40, 0, 0, 0, 10, 0, 0, 0, 8, 68, 3, 24, 15, 44, 0, 20, 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, 31, 7, 180, 4, 54, 57, 79, 72, 67, 180, 4, 88, 231, 39, 0, 231, 86, 180, 4, 15, 106, 0, 31, 240, 4, 0, 28, 0, 73, 109, 24, 69, 0, 122, 44, 160, 72, 50, 52, 54, 53, 173, 177, 183, 100, 14, 240, 8, 0, 77, 255, 132, 0, 255, 255, 39, 0, 226, 50, 41, 173, 255, 174, 75, 176, 255, 136, 188, 255, 214, 197, 48, 0, 32, 48, 102, 144, 0, 177, 131, 72, 171, 82, 54, 63, 65, 65, 180, 182, 188, 48, 0, 49, 42, 255, 163, 79, 0, 96, 231, 86, 41, 162, 255, 132, 48, 0, 245, 7, 175, 255, 217, 177, 0, 0, 0, 32, 51, 123, 140, 28, 60, 0, 131, 49, 171, 100, 54, 80, 80, 80, 120, 0, 35, 255, 155, 9, 0, 97, 63, 155, 255, 132, 112, 169, 192, 0, 0, 75, 0, 255, 0, 28, 24, 87, 135, 37, 77, 0, 147, 60, 0, 0, 0, 69, 69, 69, 180, 0, 2, 98, 146, 133, 174, 255, 105, 154, 48, 0, 48, 55, 67, 91, 19, 0, 143, 135, 81, 0, 0, 0, 86, 70, 59, 48, 0, 2, 53, 131, 118, 156, 12, 0, 53, 37, 55, 77, 12, 0, 63, 101, 91, 82, 32, 1, 14, 53, 43, 55, 66, 12, 0, 63, 79, 72, 67, 48, 0, 15, 37, 62, 83, 12, 0, 63, 95, 87, 79, 48, 0, 14, 79, 29, 43, 83, 0, 1, 0, 255, 4, 48, 255, 0, 255, 180, 4, 158, 20, 48, 0, 0, 128, 0, 0, 0, 96, 180, 4, 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, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 26, 0, 28, 48, 83, 36, 0, 0, 0, 4, 4, 0, 9, 28, 48, 241, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 72, 48, 33, 0, 1, 72, 48, 0, 76, 48, 47, 32, 0, 1, 0, 255, 255, 255, 255, 255, 255, 255, 255, 207, 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, 72, 15, 32, 170, 78, 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, 36, 151, 67, 66, 77, 80, 84, 0, 0, 0, 8, 4, 0, 4, 1, 0, 20, 8, 1, 0, 36, 2, 2, 8, 0, 36, 2, 2, 8, 0, 42, 2, 2, 8, 0, 8, 40, 0, 3, 1, 0, 15, 92, 0, 18, 36, 15, 15, 8, 0, 36, 15, 15, 8, 0, 42, 15, 15, 8, 0, 8, 40, 0, 15, 92, 0, 25, 6, 147, 0, 3, 186, 0, 4, 176, 0, 19, 8, 15, 0, 36, 8, 8, 208, 0, 15, 92, 0, 33, 40, 15, 15, 186, 0, 4, 176, 0, 19, 8, 15, 0, 36, 8, 8, 208, 0, 15, 92, 0, 32, 47, 2, 2, 191, 0, 1, 6, 16, 0, 4, 185, 0, 3, 8, 0, 15, 92, 0, 26, 47, 15, 15, 191, 0, 1, 6, 16, 0, 4, 185, 0, 3, 8, 0, 6, 92, 0, 95, 100, 0, 0, 0, 10, 20, 1, 12, 6, 194, 0, 3, 2, 0, 15, 10, 0, 23, 15, 108, 0, 39, 19, 15, 2, 0, 15, 10, 0, 22, 15, 216, 0, 50, 15, 20, 0, 8, 15, 216, 0, 62, 15, 20, 0, 30, 0, 108, 0, 95, 68, 1, 0, 0, 38, 108, 0, 1, 15, 1, 0, 33, 2, 236, 3, 45, 2, 2, 164, 0, 37, 15, 15, 4, 0, 85, 8, 2, 2, 15, 15, 39, 0, 18, 2, 103, 3, 1, 5, 1, 5, 162, 0, 0, 165, 0, 16, 2, 115, 2, 5, 139, 3, 21, 8, 7, 2, 6, 72, 0, 13, 38, 0, 1, 76, 0, 3, 43, 0, 4, 202, 1, 2, 76, 0, 8, 114, 0, 7, 83, 2, 10, 38, 0, 8, 190, 0, 6, 118, 0, 31, 2, 251, 0, 8, 15, 76, 1, 98, 2, 231, 0, 39, 2, 8, 93, 5, 0, 222, 0, 2, 156, 3, 35, 15, 15, 67, 1, 5, 90, 2, 5, 210, 4, 1, 42, 1, 4, 243, 0, 3, 29, 1, 6, 72, 0, 12, 38, 0, 1, 76, 0, 3, 43, 0, 5, 123, 1, 43, 2, 8, 114, 0, 7, 51, 3, 10, 38, 0, 8, 190, 0, 39, 15, 15, 114, 0, 15, 76, 1, 22, 95, 36, 0, 0, 0, 2, 76, 1, 0, 244, 1, 0, 8, 1, 9, 2, 10, 3, 11, 4, 12, 5, 13, 6, 14, 7, 15, 44, 0, 23, 8, 48, 0, 5, 44, 0, 255, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 88, 0, 10, 255, 0, 10, 4, 9, 2, 8, 3, 11, 1, 12, 13, 14, 5, 15, 6, 7, 40, 5, 9, 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, 2, 1, 0, 31, 6, 92, 0, 10, 3, 37, 0, 18, 7, 52, 0, 8, 8, 0, 33, 5, 5, 8, 0, 1, 100, 0, 34, 13, 7, 100, 0, 6, 32, 0, 2, 1, 0, 31, 6, 184, 0, 26, 5, 168, 0, 3, 184, 0, 5, 200, 0, 15, 184, 0, 56, 5, 168, 0, 3, 184, 0, 5, 200, 0, 15, 184, 0, 23, 31, 5, 1, 0, 44, 0, 92, 0, 19, 44, 84, 0, 31, 3, 20, 1, 4, 19, 1, 236, 0, 18, 1, 1, 0, 1, 144, 0, 32, 20, 32, 68, 2, 60, 0, 0, 32, 44, 2, 255, 1, 0, 5, 1, 2, 1, 13, 6, 2, 4, 9, 3, 13, 5, 13, 6, 0, 1, 0, 221, 11, 88, 3, 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, 242, 4, 72, 34, 19, 4, 4, 0, 9, 28, 32, 255, 0, 5, 6, 7, 2, 4, 9, 10, 1, 13, 14, 15, 3, 11, 12, 8, 44, 0, 18, 67, 3, 11, 8, 2, 160, 34, 19, 35, 164, 32, 28, 5, 168, 32, 81, 0, 0, 6, 6, 0, 164, 32, 34, 0, 6, 131, 0, 19, 45, 39, 0, 12, 43, 0, 11, 174, 0, 17, 2, 2, 0, 31, 0, 200, 41, 12, 7, 106, 0, 0, 99, 0, 1, 113, 0, 2, 118, 0, 11, 8, 0, 4, 32, 0, 14, 20, 1, 15, 92, 0, 33, 47, 8, 8, 92, 0, 20, 83, 164, 0, 0, 0, 12, 4, 0, 8, 92, 0, 31, 11, 1, 0, 124, 0, 172, 0, 19, 76, 164, 0, 27, 7, 172, 0, 3, 35, 35, 31, 5, 8, 0, 29, 15, 84, 0, 9, 2, 183, 34, 47, 6, 5, 8, 0, 29, 15, 168, 0, 12, 31, 5, 4, 0, 1, 4, 1, 0, 15, 32, 0, 1, 15, 168, 0, 16, 31, 5, 4, 0, 1, 4, 1, 0, 15, 32, 0, 1, 15, 168, 0, 14, 18, 5, 2, 0, 5, 152, 0, 15, 16, 0, 20, 15, 168, 0, 10, 18, 5, 2, 0, 5, 152, 0, 15, 16, 0, 20, 15, 80, 1, 11, 1, 53, 1, 3, 138, 0, 31, 13, 168, 36, 6, 4, 32, 0, 4, 48, 0, 15, 80, 1, 11, 1, 53, 1, 3, 138, 0, 31, 6, 84, 0, 6, 4, 32, 0, 4, 48, 0, 15, 144, 4, 10, 65, 13, 13, 0, 13, 6, 0, 32, 0, 13, 6, 0, 15, 44, 0, 10, 0, 136, 4, 96, 11, 7, 6, 6, 11, 11, 151, 4, 30, 0, 172, 0, 15, 74, 5, 17, 95, 10, 10, 10, 10, 0, 104, 5, 5, 15, 84, 0, 70, 98, 20, 64, 0, 0, 128, 0, 4, 0, 8, 84, 0, 79, 1, 0, 0, 1, 4, 0, 102, 15, 127, 0, 111, 31, 1, 127, 0, 236, 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, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 15, 196, 68, 19, 51, 0, 0, 14, 7, 0, 19, 14, 7, 0, 10, 16, 0, 5, 32, 0, 15, 32, 69, 32, 5, 24, 0, 36, 8, 8, 58, 106, 9, 16, 0, 5, 32, 0, 15, 92, 0, 33, 42, 14, 0, 168, 0, 4, 185, 0, 5, 16, 0, 31, 0, 92, 0, 39, 42, 8, 0, 168, 0, 4, 185, 0, 5, 16, 0, 15, 92, 0, 40, 4, 1, 0, 34, 7, 7, 7, 0, 2, 13, 66, 18, 7, 12, 0, 2, 20, 0, 47, 0, 7, 92, 0, 44, 4, 66, 0, 17, 7, 82, 0, 47, 7, 7, 92, 0, 59, 3, 187, 0, 8, 93, 0, 47, 7, 7, 92, 0, 49, 1, 187, 104, 1, 172, 0, 8, 4, 0, 3, 20, 0, 15, 184, 0, 46, 6, 165, 0, 6, 8, 0, 2, 114, 0, 15, 92, 0, 45, 40, 7, 0, 89, 0, 4, 110, 1, 3, 182, 0, 15, 92, 0, 48, 22, 7, 2, 0, 3, 1, 0, 7, 19, 0, 9, 120, 1, 15, 132, 2, 36, 6, 99, 1, 5, 14, 1, 14, 112, 1, 15, 56, 112, 32, 8, 10, 0, 5, 199, 113, 15, 16, 113, 68, 8, 10, 0, 5, 215, 113, 15, 16, 113, 67, 36, 2, 8, 157, 111, 15, 20, 0, 18, 15, 216, 0, 42, 36, 15, 8, 189, 110, 15, 20, 0, 18, 15, 48, 116, 34, 25, 2, 175, 1, 5, 128, 115, 11, 0, 117, 15, 48, 116, 35, 25, 15, 159, 1, 5, 128, 115, 11, 0, 117, 15, 48, 116, 29, 4, 144, 111, 7, 2, 0, 22, 2, 69, 2, 7, 16, 0, 11, 117, 112, 15, 48, 116, 17, 2, 135, 117, 39, 15, 8, 2, 0, 22, 15, 53, 2, 7, 16, 0, 3, 255, 116, 15, 20, 1, 26, 3, 17, 2, 6, 46, 114, 15, 8, 0, 3, 12, 57, 2, 15, 88, 118, 21, 2, 63, 118, 6, 12, 0, 15, 8, 0, 1, 12, 41, 2, 15, 16, 119, 22, 9, 0, 119, 1, 162, 0, 6, 16, 0, 6, 41, 2, 47, 8, 8, 184, 0, 32, 25, 8, 0, 119, 1, 162, 0, 6, 16, 0, 6, 41, 2, 47, 8, 8, 184, 0, 31, 4, 113, 1, 6, 8, 0, 8, 248, 2, 42, 2, 2, 8, 0, 15, 184, 0, 27, 4, 113, 1, 6, 8, 0, 8, 248, 2, 42, 15, 15, 8, 0, 15, 60, 3, 28, 21, 8, 98, 120, 5, 49, 2, 6, 8, 0, 4, 24, 0, 7, 50, 119, 15, 92, 0, 26, 5, 98, 120, 5, 49, 2, 6, 8, 0, 4, 24, 0, 7, 50, 119, 15, 128, 120, 32, 11, 88, 4, 15, 80, 4, 53, 14, 88, 4, 15, 80, 4, 17, 14, 112, 79, 15, 14, 7, 2, 19, 6, 68, 113, 7, 82, 7, 19, 7, 208, 79, 4, 212, 79, 15, 1, 0, 28, 8, 60, 0, 8, 84, 0, 8, 108, 0, 12, 28, 80, 82, 1, 0, 0, 20, 0, 4, 0, 15, 232, 9, 15, 41, 7, 6, 111, 0, 9, 188, 0, 14, 196, 0, 14, 153, 0, 15, 1, 0, 216, 14, 4, 1, 15, 44, 1, 3, 14, 84, 1, 15, 56, 83, 7, 48, 5, 0, 0, 84, 78, 31, 36, 208, 77, 1, 15, 188, 1, 17, 23, 6, 4, 0, 41, 7, 7, 15, 0, 15, 204, 1, 3, 15, 220, 1, 1, 15, 249, 0, 20, 15, 39, 0, 46, 31, 6, 144, 0, 255, 255, 255, 154, 15, 108, 0, 53, 15, 164, 4, 15, 15, 100, 88, 22, 98, 56, 19, 0, 0, 70, 0, 4, 0, 47, 8, 0, 1, 0, 62, 1, 120, 121, 1, 88, 88, 15, 8, 0, 3, 2, 229, 14, 47, 6, 6, 38, 0, 7, 14, 112, 5, 15, 137, 0, 35, 15, 70, 0, 123, 31, 6, 57, 7, 48, 15, 70, 0, 34, 15, 114, 8, 140, 15, 24, 1, 119, 15, 48, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 53, 15, 164, 1, 255, 6, 15, 70, 0, 49, 15, 82, 18, 53, 31, 0, 180, 148, 88, 6, 97, 144, 9, 156, 29, 9, 160, 145, 8, 9, 0, 15, 236, 28, 26, 40, 15, 15, 40, 147, 11, 253, 30, 5, 33, 31, 5, 9, 0, 14, 164, 29, 15, 184, 0, 22, 14, 8, 0, 14, 208, 0, 15, 184, 0, 37, 14, 8, 0, 14, 208, 0, 15, 184, 0, 31, 10, 8, 0, 14, 44, 150, 15, 184, 0, 41, 10, 8, 0, 14, 44, 150, 12, 184, 0, 16, 141, 72, 108, 3, 4, 0, 15, 104, 21, 42, 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, 35, 1, 7, 137, 40, 23, 69, 211, 37, 31, 8, 103, 0, 1, 2, 99, 0, 2, 4, 0, 17, 1, 42, 0, 19, 1, 14, 0, 6, 127, 0, 0, 6, 0, 15, 226, 0, 24, 38, 1, 0, 170, 0, 20, 1, 149, 0, 1, 11, 0, 42, 7, 1, 11, 0, 51, 1, 1, 7, 193, 0, 37, 1, 7, 11, 0, 2, 213, 0, 2, 11, 0, 2, 34, 0, 29, 1, 248, 0, 63, 0, 1, 1, 149, 0, 13, 15, 160, 0, 41, 14, 138, 0, 15, 149, 0, 28, 83, 245, 0, 0, 0, 15, 4, 0, 15, 116, 23, 60, 6, 30, 2, 11, 34, 2, 3, 15, 0, 6, 222, 0, 9, 213, 0, 9, 110, 1, 42, 0, 0, 114, 1, 27, 0, 225, 0, 12, 229, 0, 12, 233, 0, 6, 237, 0, 12, 158, 0, 14, 253, 0, 15, 81, 144, 89, 31, 0, 253, 0, 111, 14, 106, 108, 12, 126, 146, 1, 141, 111, 3, 167, 109, 30, 13, 8, 0, 4, 32, 0, 7, 118, 146, 15, 84, 0, 15, 34, 6, 6, 154, 109, 82, 8, 8, 8, 7, 6, 8, 0, 23, 8, 8, 0, 4, 32, 0, 15, 84, 0, 34, 82, 9, 9, 9, 7, 6, 8, 0, 23, 9, 8, 0, 15, 84, 0, 42, 82, 10, 10, 10, 7, 6, 8, 0, 23, 10, 8, 0, 15, 84, 0, 42, 82, 11, 11, 11, 7, 6, 8, 0, 23, 11, 8, 0, 15, 84, 0, 42, 82, 12, 12, 12, 7, 6, 8, 0, 23, 12, 8, 0, 15, 84, 0, 42, 82, 14, 14, 14, 7, 6, 8, 0, 23, 14, 8, 0, 14, 84, 0, 15, 248, 1, 66, 19, 55, 235, 115, 15, 84, 0, 3, 1, 29, 0, 51, 1, 1, 13, 226, 2, 0, 5, 0, 1, 20, 0, 15, 63, 0, 25, 10, 7, 10, 10, 63, 0, 15, 210, 0, 5, 23, 0, 217, 4, 34, 1, 1, 97, 3, 23, 1, 206, 48, 1, 8, 0, 15, 114, 3, 0, 15, 84, 0, 97, 6, 91, 0, 39, 1, 0, 115, 49, 2, 92, 0, 1, 16, 0, 14, 168, 5, 15, 84, 0, 103, 3, 67, 0, 15, 8, 0, 6, 47, 0, 0, 84, 0, 81, 15, 232, 46, 27, 9, 1, 0, 14, 17, 45, 15, 92, 0, 37, 42, 7, 7, 145, 46, 8, 11, 0, 14, 102, 0, 15, 48, 46, 31, 42, 7, 0, 200, 45, 4, 84, 47, 31, 7, 180, 48, 53, 5, 107, 0, 3, 3, 48, 3, 8, 0, 31, 0, 180, 48, 50, 7, 149, 46, 7, 156, 46, 15, 160, 47, 49, 13, 121, 1, 15, 92, 0, 49, 5, 11, 1, 9, 2, 0, 14, 127, 14, 15, 132, 2, 40, 42, 7, 7, 4, 0, 14, 92, 0, 15, 128, 50, 47, 6, 32, 2, 14, 232, 2, 15, 40, 2, 40, 11, 8, 0, 15, 112, 1, 48, 27, 7, 43, 3, 7, 212, 1, 15, 92, 0, 56, 31, 0, 132, 2, 64, 11, 126, 50, 6, 200, 0, 31, 0, 184, 0, 53, 8, 80, 4, 15, 60, 3, 63, 25, 7, 40, 2, 15, 112, 1, 66, 14, 8, 0, 11, 92, 0, 83, 101, 0, 0, 0, 9, 4, 0, 15, 60, 3, 13, 20, 6, 159, 123, 0, 205, 157, 2, 146, 17, 45, 13, 6, 9, 0, 4, 27, 0, 3, 46, 0, 3, 213, 122, 15, 109, 0, 21, 5, 178, 52, 0, 86, 158, 2, 160, 3, 45, 13, 7, 9, 0, 4, 27, 0, 3, 46, 0, 5, 9, 0, 4, 118, 0, 15, 218, 0, 41, 19, 6, 191, 0, 13, 9, 0, 15, 218, 0, 56, 4, 182, 0, 13, 9, 0, 15, 218, 0, 74, 5, 191, 0, 5, 180, 1, 15, 218, 0, 61, 0, 2, 11, 3, 182, 0, 3, 9, 0, 20, 14, 200, 0, 7, 27, 0, 10, 218, 0, 18, 14, 1, 0, 15, 218, 0, 50, 14, 227, 0, 15, 218, 0, 63, 14, 227, 0, 15, 218, 0, 17, 98, 20, 1, 0, 0, 16, 0, 4, 0, 14, 59, 15, 15, 44, 129, 235, 15, 28, 1, 5, 28, 7, 1, 0, 11, 31, 5, 15, 16, 0, 205, 15, 56, 2, 13, 15, 43, 1, 233, 15, 46, 4, 29, 21, 1, 203, 12, 53, 13, 7, 13, 13, 20, 11, 18, 0, 15, 231, 12, 3, 15, 41, 7, 1, 15, 18, 3, 76, 15, 109, 0, 19, 46, 7, 0, 126, 11, 25, 7, 246, 59, 11, 99, 8, 14, 47, 10, 15, 109, 0, 21, 7, 36, 10, 15, 9, 0, 4, 6, 255, 4, 8, 238, 25, 9, 138, 2, 15, 109, 0, 19, 14, 242, 11, 14, 11, 61, 14, 18, 0, 13, 54, 0, 15, 218, 0, 22, 8, 109, 60, 26, 7, 9, 0, 4, 209, 0, 9, 89, 1, 14, 74, 1, 15, 180, 1, 96, 162, 148, 0, 2, 0, 160, 0, 0, 0, 205, 0, 127, 166, 4, 28, 0, 53, 105, 102, 102, 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, 34, 0, 155, 155, 250, 63, 188, 204, 255, 128, 2, 255, 255, 96, 42, 39, 231, 31, 253, 63, 168, 119, 255, 0, 5, 255, 255, 96, 34, 50, 226, 247, 255, 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, 0, 27, 210, 15, 124, 1, 165, 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, 116, 2, 21, 255, 3, 67, 66, 77, 80, 148, 0, 2, 0, 160, 0, 0, 0, 205, 0, 0, 0, 32, 0, 1, 0, 3, 14, 156, 2, 15, 4, 0, 255, 255, 69, 15, 124, 2, 0, 15, 36, 20, 255, 255, 96, 15, 124, 2, 255, 255, 103, 12, 132, 2, 14, 124, 2, 15, 156, 122, 255, 255, 255, 255, 255, 255, 255, 255, 31, 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, 156, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 54, 31, 8, 28, 190, 255, 255, 110, 0, 60, 0, 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, 116, 2, 21, 255, 2, 67, 66, 77, 80, 148, 0, 2, 0, 160, 0, 0, 0, 205, 0, 0, 0, 32, 156, 2, 8, 15, 4, 0, 255, 255, 83, 15, 124, 2, 5, 63, 207, 195, 197, 4, 0, 255, 255, 76, 143, 224, 210, 212, 255, 242, 227, 229, 255, 160, 22, 1, 127, 140, 134, 135, 255, 173, 164, 166, 128, 2, 255, 255, 76, 0, 124, 2, 4, 4, 0, 8, 28, 30, 113, 75, 75, 74, 255, 107, 104, 104, 132, 2, 14, 160, 12, 15, 4, 0, 255, 255, 61, 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, 34, 0, 155, 200, 82, 63, 188, 204, 255, 128, 2, 255, 255, 96, 42, 39, 231, 208, 173, 63, 168, 119, 255, 0, 5, 255, 255, 96, 68, 50, 226, 0, 255, 140, 251, 14, 124, 2, 15, 128, 2, 255, 216, 12, 92, 178, 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, 31, 8, 28, 190, 255, 255, 38, 15, 128, 2, 57, 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 ]); fileData0.push.apply(fileData0, [ 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, 116, 2, 21, 208, 67, 66, 77, 80, 244, 0, 0, 0, 32, 0, 0, 0, 7, 132, 2, 7, 28, 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, 155, 0, 49, 0, 252, 0, 19, 84, 244, 0, 27, 8, 252, 0, 115, 0, 0, 6, 6, 6, 7, 6, 9, 0, 3, 18, 0, 4, 26, 0, 15, 88, 1, 113, 15, 1, 0, 44, 4, 88, 1, 13, 8, 0, 15, 183, 1, 12, 31, 13, 88, 1, 46, 15, 96, 1, 1, 15, 88, 1, 27, 19, 69, 84, 1, 12, 88, 1, 0, 73, 0, 0, 196, 0, 15, 173, 1, 0, 1, 23, 0, 5, 105, 0, 15, 77, 0, 17, 9, 88, 0, 4, 75, 0, 0, 2, 0, 3, 3, 0, 3, 14, 0, 6, 84, 0, 15, 77, 0, 22, 21, 6, 86, 0, 2, 63, 0, 4, 83, 0, 15, 77, 0, 33, 2, 223, 0, 25, 6, 77, 0, 3, 91, 0, 47, 0, 0, 154, 0, 35, 27, 6, 154, 0, 31, 6, 154, 0, 32, 4, 74, 0, 1, 34, 0, 36, 6, 0, 150, 0, 28, 13, 65, 3, 14, 129, 1, 15, 1, 0, 40, 0, 77, 0, 83, 101, 0, 0, 0, 9, 4, 0, 15, 77, 0, 7, 20, 7, 8, 0, 36, 7, 7, 8, 0, 40, 7, 7, 8, 0, 4, 26, 0, 20, 7, 44, 0, 4, 42, 0, 15, 109, 0, 30, 5, 57, 0, 15, 9, 0, 6, 1, 117, 0, 22, 7, 106, 0, 7, 18, 0, 15, 109, 0, 27, 19, 7, 2, 0, 12, 232, 0, 15, 18, 0, 13, 11, 54, 0, 15, 218, 0, 22, 40, 0, 7, 66, 0, 9, 9, 0, 4, 209, 0, 9, 89, 1, 14, 74, 1, 15, 180, 1, 33, 12, 10, 0, 4, 45, 1, 22, 7, 118, 0, 3, 100, 0, 4, 85, 2, 15, 180, 1, 38, 10, 69, 0, 9, 162, 1, 15, 32, 0, 1, 31, 7, 109, 0, 32, 14, 253, 1, 15, 9, 0, 5, 15, 33, 2, 48, 14, 77, 1, 15, 10, 0, 23, 11, 218, 0, 147, 148, 0, 2, 0, 160, 0, 0, 0, 205, 227, 6, 7, 31, 0, 31, 255, 4, 0, 255, 255, 119, 14, 203, 20, 15, 4, 0, 255, 255, 69, 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, 34, 0, 155, 127, 179, 63, 188, 204, 255, 128, 2, 255, 255, 96, 42, 39, 231, 3, 182, 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, 12, 143, 186, 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, 188, 255, 3, 67, 66, 77, 80, 20, 6, 0, 0, 48, 0, 0, 0, 32, 0, 0, 0, 8, 0, 1, 0, 89, 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, 158, 5, 79, 15, 28, 6, 255, 255, 79, 16, 14, 1, 0, 15, 28, 6, 23, 0, 46, 0, 63, 5, 14, 14, 28, 6, 22, 0, 47, 0, 0, 48, 0, 31, 6, 28, 6, 20, 0, 47, 0, 10, 48, 0, 14, 28, 6, 15, 96, 0, 0, 15, 28, 6, 22, 4, 192, 0, 15, 28, 6, 22, 1, 32, 1, 15, 28, 6, 255, 255, 255, 255, 232, 10, 197, 4, 2, 42, 6, 31, 6, 56, 12, 21, 1, 104, 5, 47, 14, 14, 56, 12, 22, 2, 201, 5, 31, 14, 56, 12, 22, 9, 42, 6, 14, 56, 12, 15, 96, 0, 5, 15, 56, 12, 22, 8, 192, 0, 15, 56, 12, 18, 7, 42, 6, 15, 28, 6, 255, 255, 255, 138, 14, 197, 4, 15, 48, 0, 10, 46, 14, 14, 49, 0, 15, 155, 0, 9, 2, 94, 10, 15, 48, 0, 25, 8, 239, 10, 15, 48, 0, 16, 1, 220, 3, 15, 144, 0, 4, 15, 192, 0, 48, 10, 239, 10, 15, 84, 18, 255, 255, 255, 255, 255, 255, 43, 15, 28, 6, 255, 69, 10, 171, 19, 15, 28, 6, 14, 4, 252, 7, 14, 28, 6, 15, 92, 8, 22, 14, 243, 1, 14, 188, 8, 15, 111, 5, 0, 15, 28, 9, 23, 14, 111, 5, 15, 188, 8, 68, 31, 6, 28, 6, 255, 255, 255, 107, 9, 199, 3, 15, 28, 6, 15, 9, 248, 3, 15, 28, 6, 16, 12, 9, 18, 15, 28, 6, 13, 0, 135, 4, 7, 48, 0, 15, 28, 6, 11, 15, 96, 0, 23, 5, 51, 1, 14, 192, 0, 15, 28, 6, 12, 8, 184, 4, 15, 56, 12, 255, 255, 255, 255, 255, 153, 4, 226, 5, 15, 96, 0, 20, 5, 19, 6, 15, 56, 12, 20, 5, 163, 6, 15, 56, 12, 20, 5, 91, 11, 15, 28, 6, 20, 6, 3, 7, 15, 28, 6, 19, 14, 139, 11, 14, 28, 6, 14, 71, 20, 15, 28, 6, 255, 255, 219, 14, 31, 3, 14, 28, 6, 14, 48, 0, 15, 196, 42, 255, 255, 255, 255, 220, 83, 69, 0, 0, 0, 7, 4, 0, 15, 28, 6, 1, 86, 6, 9, 9, 9, 6, 7, 0, 2, 153, 0, 0, 176, 1, 3, 14, 0, 15, 77, 0, 27, 3, 63, 0, 72, 5, 5, 5, 6, 14, 0, 31, 6, 77, 0, 33, 4, 22, 0, 241, 2, 9, 7, 15, 0, 0, 0, 10, 7, 7, 7, 14, 0, 0, 0, 11, 7, 13, 22, 0, 31, 12, 231, 0, 28, 0, 239, 1, 6, 7, 0, 15, 231, 0, 44, 70, 12, 12, 12, 6, 7, 0, 15, 77, 0, 43, 35, 13, 13, 7, 0, 63, 13, 13, 13, 7, 0, 2, 15, 52, 1, 27, 18, 7, 6, 0, 18, 7, 6, 0, 8, 14, 0, 4, 28, 0, 15, 77, 0, 30, 4, 64, 0, 3, 79, 0, 47, 7, 7, 77, 0, 33, 1, 145, 4, 15, 7, 0, 8, 31, 0, 231, 0, 35, 18, 7, 6, 0, 46, 7, 7, 175, 0, 15, 206, 1, 22, 70, 10, 10, 10, 6, 7, 0, 15, 2, 3, 46, 3, 7, 0, 6, 64, 4, 11, 7, 0, 15, 77, 0, 16, 34, 8, 8, 3, 0, 83, 8, 8, 8, 7, 8, 1, 0, 2, 15, 0, 1, 29, 0, 23, 8, 30, 3, 15, 129, 1, 21, 33, 11, 11, 5, 0, 66, 11, 11, 11, 0, 4, 0, 2, 18, 0, 17, 0, 5, 0, 5, 7, 0, 15, 77, 0, 16, 18, 10, 6, 0, 33, 10, 10, 5, 0, 65, 10, 7, 10, 10, 8, 0, 37, 10, 0, 7, 0, 5, 37, 0, 15, 77, 0, 14, 49, 9, 9, 9, 7, 0, 33, 1, 9, 13, 0, 49, 1, 9, 9, 20, 0, 65, 9, 9, 0, 9, 14, 0, 4, 1, 0, 15, 77, 0, 18, 98, 15, 15, 15, 0, 0, 15, 7, 0, 3, 57, 13, 1, 9, 0, 32, 0, 15, 46, 4, 1, 48, 4, 3, 7, 0, 15, 231, 0, 16, 32, 4, 4, 117, 0, 85, 2, 2, 2, 7, 2, 7, 0, 85, 8, 8, 8, 15, 8, 7, 0, 16, 2, 1, 0, 15, 52, 1, 20, 5, 159, 2, 22, 7, 7, 0, 17, 6, 21, 0, 2, 15, 2, 47, 6, 0, 183, 5, 22, 82, 4, 4, 4, 4, 10, 125, 0, 48, 7, 2, 2, 229, 0, 28, 15, 7, 0, 2, 1, 0, 15, 231, 0, 24, 0, 252, 7, 0, 135, 3, 50, 8, 8, 14, 7, 0, 22, 8, 7, 0, 0, 29, 0, 15, 52, 1, 40, 0, 146, 0, 21, 14, 7, 0, 15, 52, 1, 12, 15, 235, 6, 76, 9, 93, 3, 15, 79, 3, 44, 102, 0, 6, 8, 8, 8, 6, 7, 0, 15, 54, 4, 43, 33, 1, 1, 3, 0, 32, 8, 8, 3, 0, 17, 1, 154, 0, 1, 15, 0, 32, 8, 1, 29, 0, 34, 8, 1, 37, 0, 4, 238, 13, 82, 1, 0, 0, 16, 0, 4, 0, 9, 77, 0, 25, 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, 12, 240, 0, 0, 28, 1, 38, 120, 0, 128, 4, 8, 28, 1, 10, 9, 1, 2, 81, 0, 15, 10, 0, 52, 5, 1, 0, 0, 128, 0, 19, 84, 120, 0, 27, 8, 128, 0, 1, 161, 0, 0, 8, 0, 38, 7, 7, 8, 0, 5, 169, 1, 1, 236, 0, 7, 15, 0, 26, 7, 44, 0, 63, 32, 32, 32, 92, 0, 9, 12, 93, 0, 20, 32, 8, 0, 11, 64, 1, 3, 34, 0, 27, 32, 91, 0, 31, 0, 92, 0, 10, 3, 93, 0, 19, 32, 85, 0, 35, 32, 7, 8, 0, 21, 32, 117, 0, 3, 10, 0, 0, 24, 0, 19, 7, 8, 0, 36, 32, 32, 56, 0, 15, 184, 0, 14, 26, 32, 85, 0, 8, 152, 0, 9, 216, 0, 9, 99, 0, 31, 32, 184, 0, 4, 15, 93, 0, 23, 15, 91, 0, 5, 47, 0, 32, 184, 0, 16, 35, 0, 0, 62, 0, 2, 99, 1, 4, 115, 1, 5, 26, 2, 8, 12, 0, 2, 45, 0, 39, 7, 32, 55, 0, 15, 92, 0, 12, 8, 93, 0, 6, 227, 2, 42, 7, 7, 4, 0, 7, 60, 2, 8, 53, 0, 15, 92, 0, 13, 5, 93, 1, 3, 84, 0, 42, 0, 32, 80, 0, 35, 32, 7, 140, 2, 37, 7, 7, 39, 0, 8, 201, 4, 15, 96, 3, 5, 49, 0, 0, 16, 1, 0, 0, 9, 0, 2, 231, 8, 16, 16, 10, 0, 1, 110, 17, 15, 10, 0, 16, 6, 50, 0, 1, 38, 14, 5, 20, 0, 21, 16, 90, 0, 15, 128, 0, 14, 19, 0, 38, 0, 69, 0, 0, 16, 7, 58, 0, 63, 6, 15, 15, 10, 0, 19, 6, 50, 0, 38, 7, 7, 20, 0, 21, 16, 90, 0, 15, 0, 1, 15, 0, 39, 0, 4, 9, 0, 6, 58, 0, 15, 10, 0, 50, 3, 90, 0, 15, 0, 1, 22, 7, 206, 0, 15, 10, 0, 13, 20, 7, 10, 0, 5, 246, 0, 20, 7, 119, 0, 13, 1, 1, 15, 0, 2, 32, 10, 10, 0, 20, 7, 10, 0, 20, 7, 10, 0, 20, 7, 10, 0, 5, 246, 1, 35, 7, 7, 129, 0, 17, 16, 155, 17, 8, 1, 2, 15, 128, 0, 139, 10, 128, 1, 6, 88, 1, 21, 7, 88, 2, 3, 10, 0, 24, 7, 10, 0, 20, 6, 10, 0, 4, 148, 1, 5, 117, 0, 1, 51, 0, 14, 128, 1, 15, 128, 2, 19, 5, 57, 0, 31, 7, 10, 0, 1, 15, 108, 2, 1, 14, 30, 0, 15, 128, 2, 39, 7, 206, 0, 36, 14, 14, 88, 2, 15, 10, 0, 3, 15, 128, 3, 21, 15, 128, 4, 110, 15, 128, 0, 244, 16, 36, 231, 11, 3, 4, 0, 15, 176, 11, 6, 15, 44, 0, 32, 16, 245, 192, 13, 3, 4, 0, 15, 8, 12, 14, 5, 190, 7, 2, 14, 0, 1, 170, 0, 5, 53, 7, 17, 6, 30, 0, 0, 18, 0, 1, 42, 0, 53, 6, 32, 32, 30, 7, 67, 32, 7, 7, 13, 4, 8, 2, 14, 0, 0, 15, 0, 47, 7, 32, 15, 0, 3, 3, 82, 20, 7, 30, 0, 1, 61, 10, 15, 15, 0, 32, 3, 16, 0, 31, 32, 192, 0, 2, 0, 253, 0, 94, 19, 1, 0, 0, 17, 253, 0, 15, 1, 0, 51, 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, 17, 7, 48, 1, 2, 69, 0, 14, 34, 0, 13, 136, 0, 15, 1, 0, 7, 15, 32, 14, 70, 15, 61, 3, 17, 1, 146, 18, 47, 5, 16, 10, 0, 24, 2, 40, 2, 10, 20, 0, 14, 189, 3, 15, 128, 0, 51, 6, 108, 0, 14, 118, 0, 14, 61, 4, 15, 128, 0, 53, 15, 118, 0, 7, 15, 189, 4, 63, 15, 88, 1, 11, 7, 118, 0, 15, 61, 5, 68, 15, 118, 0, 7, 15, 189, 5, 83, 15, 118, 0, 7, 15, 128, 0, 89, 15, 61, 7, 255, 46, 4, 69, 1, 15, 128, 0, 91, 11, 60, 3, 31, 0, 128, 0, 83, 15, 40, 4, 6, 15, 0, 1, 74, 15, 40, 4, 7, 15, 128, 0, 73, 14, 10, 5, 15, 0, 1, 81, 15, 148, 5, 21, 11, 148, 0, 15, 128, 2, 44, 15, 10, 6, 27, 15, 128, 1, 0, 15, 128, 6, 64, 15, 138, 7, 26, 13, 128, 0, 15, 77, 8, 7, 5, 186, 12, 23, 16, 44, 13, 19, 16, 30, 14, 4, 14, 0, 21, 16, 42, 0, 0, 77, 0, 98, 184, 31, 0, 0, 90, 0, 4, 0, 47, 8, 0, 1, 0, 255, 25, 0, 146, 25, 1, 2, 0, 0, 8, 0, 2, 163, 25, 0, 3, 0, 12, 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, 2, 63, 33, 2, 16, 0, 4, 12, 0, 15, 89, 0, 43, 1, 4, 0, 4, 2, 0, 10, 12, 0, 15, 90, 0, 52, 2, 242, 33, 9, 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, 22, 5, 61, 37, 15, 134, 3, 52, 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, 23, 5, 165, 38, 10, 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, 224, 15, 13, 32, 10, 2, 148, 58, 31, 5, 1, 0, 1, 18, 13, 6, 0, 4, 54, 5, 2, 6, 0, 15, 167, 40, 17, 2, 195, 13, 15, 184, 28, 2, 3, 179, 69, 7, 77, 0, 147, 20, 50, 1, 0, 144, 0, 0, 0, 136, 210, 67, 4, 69, 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, 8, 15, 86, 117, 255, 249, 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, 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, 40, 0, 60, 2, 147, 67, 66, 77, 80, 45, 0, 0, 0, 5, 4, 0, 41, 8, 0, 1, 0, 17, 13, 4, 0, 6, 2, 0, 32, 0, 13, 18, 0, 0, 53, 0, 83, 100, 1, 0, 0, 42, 49, 0, 8, 53, 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, 19, 1, 24, 15, 108, 1, 95, 2, 0, 1, 22, 8, 180, 0, 1, 1, 0, 0, 242, 0, 2, 125, 1, 4, 57, 1, 5, 205, 0, 3, 123, 1, 3, 83, 0, 1, 70, 1, 4, 137, 1, 2, 141, 1, 5, 159, 1, 15, 42, 0, 3, 5, 217, 1, 41, 8, 8, 82, 0, 44, 2, 8, 126, 0, 40, 8, 15, 84, 0, 4, 83, 1, 2, 255, 1, 9, 210, 0, 39, 15, 15, 126, 0, 15, 108, 1, 26, 23, 84, 104, 1, 15, 108, 1, 6, 3, 249, 1, 3, 161, 0, 40, 8, 8, 8, 0, 4, 24, 0, 6, 40, 0, 15, 92, 0, 27, 35, 15, 15, 6, 0, 3, 76, 2, 8, 8, 0, 4, 24, 0, 6, 40, 0, 15, 92, 0, 23, 5, 175, 2, 6, 183, 2, 1, 11, 0, 6, 24, 0, 3, 159, 2, 5, 200, 0, 15, 184, 0, 23, 0, 202, 1, 9, 8, 0, 1, 10, 0, 23, 15, 24, 0, 3, 143, 1, 5, 200, 0, 2, 184, 0, 81, 80, 65, 76, 0, 3, 75, 0, 255, 81, 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, 3, 0, 88, 17, 9, 3, 0, 15, 48, 0, 29, 9, 54, 0, 63, 3, 5, 10, 48, 0, 10, 12, 60, 0, 14, 48, 0, 15, 150, 0, 11, 56, 3, 5, 10, 3, 0, 254, 81, 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, 128, 1, 15, 3, 0, 251, 0, 100, 3, 83, 101, 0, 0, 0, 9, 4, 0, 47, 8, 0, 1, 0, 3, 52, 7, 7, 7, 8, 0, 36, 7, 7, 8, 0, 47, 7, 7, 9, 0, 1, 5, 36, 0, 6, 54, 0, 3, 69, 0, 15, 109, 0, 19, 14, 91, 0, 15, 9, 0, 26, 15, 109, 0, 28, 3, 2, 0, 15, 18, 0, 44, 15, 109, 0, 14, 81, 16, 16, 16, 16, 0, 4, 0, 32, 7, 7, 5, 0, 4, 9, 0, 2, 22, 0, 25, 16, 41, 0, 1, 4, 0, 3, 36, 0, 23, 16, 18, 0, 15, 218, 0, 27, 15, 73, 0, 16, 6, 127, 0, 10, 145, 0, 0, 9, 0, 4, 181, 0, 15, 109, 0, 54, 15, 2, 1, 12, 80, 0, 0, 0, 0, 0, 99, 70, 73, 76, 0, 0, 0, 0, 76, 53, 0, 0, 112, 111, 100, 47, 102, 95, 112, 105, 99, 111, 56, 46, 112, 111, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 8, 0, 0, 242, 14, 67, 80, 79, 68, 68, 0, 0, 0, 1, 0, 0, 0, 102, 95, 112, 105, 99, 111, 56, 46, 112, 111, 100, 0, 0, 105, 120, 101, 100, 10, 0, 6, 1, 0, 47, 1, 0, 1, 0, 10, 255, 2, 67, 66, 77, 80, 35, 0, 0, 0, 3, 0, 0, 0, 5, 0, 0, 0, 8, 43, 0, 255, 255, 170, 26, 255, 1, 0, 15, 86, 0, 12, 5, 40, 0, 14, 129, 0, 15, 43, 0, 1, 31, 0, 43, 0, 20, 5, 2, 0, 15, 43, 0, 18, 31, 0, 43, 0, 22, 2, 3, 0, 15, 43, 0, 14, 2, 168, 0, 1, 45, 0, 31, 0, 2, 1, 10, 0, 32, 0, 5, 45, 0, 15, 88, 1, 15, 2, 49, 0, 15, 174, 1, 19, 3, 45, 0, 15, 131, 1, 12, 3, 82, 1, 34, 255, 0, 6, 0, 15, 4, 2, 16, 31, 255, 47, 2, 25, 2, 92, 1, 15, 43, 0, 19, 1, 47, 1, 15, 172, 0, 13, 47, 0, 255, 176, 2, 19, 6, 0, 2, 15, 6, 3, 57, 8, 129, 1, 15, 172, 0, 54, 6, 45, 2, 1, 6, 0, 15, 92, 3, 14, 4, 7, 0, 15, 129, 0, 14, 4, 6, 1, 31, 0, 86, 0, 14, 5, 217, 2, 15, 178, 3, 14, 8, 213, 0, 15, 131, 1, 16, 47, 0, 255, 4, 2, 18, 23, 255, 92, 1, 15, 215, 0, 15, 4, 173, 2, 15, 215, 0, 3, 14, 137, 3, 47, 0, 255, 4, 2, 23, 14, 135, 3, 15, 43, 0, 2, 2, 134, 4, 15, 90, 2, 25, 31, 255, 51, 4, 15, 5, 1, 1, 15, 8, 4, 15, 4, 3, 0, 31, 255, 217, 1, 13, 6, 86, 0, 15, 43, 0, 13, 5, 88, 2, 15, 43, 0, 19, 47, 0, 255, 94, 4, 20, 7, 185, 4, 15, 223, 4, 16, 15, 86, 0, 19, 4, 218, 4, 47, 0, 255, 172, 0, 19, 31, 0, 129, 0, 21, 31, 255, 86, 0, 21, 15, 215, 0, 21, 4, 222, 2, 3, 6, 0, 15, 43, 0, 21, 47, 255, 0, 47, 2, 16, 3, 54, 3, 31, 0, 100, 7, 16, 5, 6, 0, 15, 88, 1, 12, 5, 13, 7, 14, 133, 2, 15, 4, 2, 5, 15, 221, 3, 16, 4, 176, 2, 0, 56, 0, 15, 45, 1, 14, 15, 10, 5, 19, 47, 0, 0, 180, 4, 23, 7, 8, 2, 47, 0, 255, 86, 0, 17, 3, 182, 2, 47, 0, 67, 188, 8, 16, 15, 86, 0, 21, 3, 43, 0, 14, 94, 4, 15, 172, 0, 2, 15, 215, 0, 19, 47, 255, 0, 45, 1, 24, 30, 255, 8, 4, 15, 43, 0, 14, 15, 18, 9, 17, 4, 48, 1, 15, 43, 0, 14, 5, 12, 6, 15, 20, 10, 20, 14, 86, 0, 15, 174, 1, 9, 31, 0, 90, 2, 16, 14, 217, 1, 15, 133, 2, 14, 15, 178, 3, 16, 2, 83, 0, 15, 90, 2, 22, 47, 255, 0, 172, 0, 20, 3, 7, 0, 15, 174, 1, 21, 47, 0, 255, 192, 10, 23, 15, 90, 2, 23, 15, 86, 0, 22, 31, 255, 176, 2, 19, 5, 150, 8, 15, 90, 2, 17, 31, 255, 2, 1, 22, 31, 0, 184, 6, 18, 7, 10, 6, 31, 255, 10, 5, 17, 31, 255, 96, 5, 17, 10, 101, 7, 15, 149, 10, 12, 15, 192, 10, 22, 10, 224, 0, 15, 61, 9, 13, 14, 86, 0, 15, 227, 6, 7, 15, 92, 3, 19, 4, 43, 0, 15, 20, 10, 18, 31, 255, 221, 3, 21, 8, 175, 3, 47, 255, 255, 16, 8, 18, 3, 235, 7, 15, 43, 0, 22, 47, 0, 0, 172, 0, 20, 15, 188, 8, 15, 15, 45, 1, 25, 15, 104, 9, 25, 6, 43, 0, 15, 239, 12, 13, 15, 96, 5, 21, 9, 229, 8, 47, 255, 255, 159, 15, 16, 14, 53, 5, 15, 174, 1, 4, 15, 43, 0, 19, 6, 93, 5, 14, 96, 5, 15, 133, 2, 7, 14, 174, 1, 15, 59, 8, 1, 15, 96, 5, 18, 47, 255, 255, 45, 1, 22, 5, 101, 10, 14, 94, 4, 15, 174, 1, 8, 15, 241, 13, 16, 15, 96, 5, 21, 8, 3, 3, 15, 86, 0, 22, 31, 255, 176, 2, 19, 5, 51, 1, 15, 151, 11, 21, 15, 237, 11, 20, 15, 90, 2, 16, 5, 48, 2, 2, 44, 0, 15, 73, 15, 12, 15, 88, 1, 22, 5, 177, 5, 15, 145, 8, 17, 5, 196, 12, 15, 10, 5, 4, 15, 35, 16, 4, 0, 43, 0, 95, 55, 0, 0, 0, 7, 208, 18, 15, 15, 1, 0, 1, 15, 63, 0, 10, 15, 2, 0, 15, 15, 63, 0, 11, 9, 132, 0, 8, 197, 8, 4, 70, 3, 15, 63, 0, 9, 7, 136, 18, 4, 59, 19, 8, 72, 0, 15, 63, 0, 13, 5, 91, 6, 2, 57, 0, 14, 14, 0, 15, 59, 1, 11, 5, 152, 6, 24, 255, 131, 12, 5, 161, 1, 15, 63, 0, 16, 5, 55, 0, 27, 255, 253, 16, 3, 28, 0, 15, 252, 0, 12, 47, 0, 255, 56, 0, 4, 3, 155, 0, 15, 126, 0, 19, 5, 113, 1, 4, 124, 1, 14, 126, 0, 15, 189, 0, 7, 7, 245, 0, 7, 126, 0, 31, 255, 252, 0, 24, 6, 255, 3, 7, 65, 9, 15, 248, 1, 21, 27, 255, 248, 1, 31, 0, 248, 1, 19, 43, 255, 255, 39, 2, 5, 181, 1, 15, 244, 2, 17, 8, 232, 0, 6, 7, 2, 9, 16, 1, 15, 181, 2, 26, 5, 247, 21, 15, 189, 0, 18, 8, 54, 3, 31, 0, 248, 1, 33, 15, 37, 4, 4, 6, 1, 0, 15, 189, 0, 20, 7, 122, 0, 3, 219, 16, 15, 189, 0, 29, 7, 135, 1, 25, 255, 74, 19, 15, 248, 1, 12, 10, 238, 0, 10, 10, 1, 15, 55, 2, 20, 10, 189, 0, 15, 122, 1, 22, 5, 221, 2, 4, 229, 5, 25, 255, 53, 22, 15, 63, 0, 19, 9, 135, 16, 2, 227, 16, 15, 122, 1, 26, 11, 82, 21, 15, 244, 2, 26, 15, 14, 0, 2, 15, 232, 5, 23, 15, 7, 0, 2, 15, 232, 5, 16, 14, 177, 1, 22, 255, 69, 22, 2, 12, 0, 15, 169, 5, 13, 9, 184, 12, 7, 109, 13, 7, 49, 24, 15, 173, 4, 14, 10, 69, 2, 6, 186, 3, 31, 0, 181, 2, 18, 27, 255, 197, 0, 6, 232, 10, 31, 0, 252, 0, 15, 25, 255, 237, 6, 6, 152, 25, 31, 255, 244, 2, 15, 8, 69, 23, 6, 114, 22, 11, 217, 25, 15, 106, 5, 19, 5, 14, 0, 3, 113, 2, 15, 232, 5, 16, 4, 12, 7, 41, 255, 0, 56, 0, 6, 9, 0, 15, 189, 0, 16, 6, 136, 25, 7, 186, 0, 3, 128, 14, 15, 55, 2, 18 ]); fileData0.push.apply(fileData0, [ 8, 3, 14, 8, 189, 0, 15, 47, 4, 20, 8, 162, 5, 9, 62, 0, 15, 189, 0, 15, 15, 7, 0, 2, 14, 35, 7, 15, 55, 2, 12, 7, 61, 1, 4, 59, 1, 47, 255, 0, 126, 0, 15, 8, 217, 6, 47, 0, 0, 185, 1, 28, 9, 175, 2, 5, 240, 3, 7, 255, 0, 15, 220, 8, 17, 6, 68, 0, 40, 255, 255, 3, 1, 15, 63, 0, 19, 28, 255, 176, 5, 5, 57, 6, 15, 189, 0, 18, 14, 101, 7, 15, 177, 3, 20, 7, 208, 7, 15, 194, 1, 0, 31, 0, 185, 1, 20, 10, 50, 2, 15, 118, 2, 24, 8, 250, 0, 6, 167, 3, 5, 33, 8, 15, 43, 5, 13, 6, 44, 3, 5, 108, 6, 4, 9, 0, 15, 122, 1, 15, 5, 32, 5, 6, 46, 6, 7, 187, 13, 5, 187, 12, 15, 118, 2, 10, 5, 56, 0, 25, 0, 216, 10, 7, 2, 17, 15, 118, 2, 13, 7, 216, 5, 5, 7, 0, 15, 236, 4, 20, 5, 239, 4, 14, 14, 0, 15, 59, 1, 13, 40, 255, 255, 55, 3, 11, 110, 4, 15, 51, 3, 19, 15, 196, 2, 0, 6, 252, 6, 47, 0, 255, 90, 9, 18, 43, 255, 255, 77, 29, 5, 59, 2, 15, 98, 7, 12, 9, 35, 5, 40, 255, 255, 30, 7, 1, 148, 1, 15, 232, 5, 25, 10, 179, 6, 47, 255, 255, 90, 9, 15, 27, 0, 126, 26, 4, 48, 2, 15, 204, 12, 20, 4, 56, 0, 9, 235, 6, 3, 144, 1, 15, 51, 3, 16, 15, 25, 8, 0, 7, 146, 13, 15, 232, 5, 16, 7, 238, 3, 7, 14, 0, 4, 170, 5, 15, 189, 0, 20, 5, 192, 0, 5, 13, 14, 15, 169, 5, 18, 6, 162, 19, 4, 193, 12, 9, 8, 2, 15, 110, 4, 26, 9, 185, 1, 14, 27, 9, 15, 102, 6, 6, 31, 0, 220, 8, 1, 15, 228, 6, 26, 8, 44, 3, 14, 248, 1, 15, 102, 6, 17, 7, 9, 26, 5, 237, 4, 15, 102, 6, 19, 5, 101, 8, 5, 16, 10, 2, 35, 8, 31, 255, 126, 0, 34, 14, 55, 2, 15, 236, 4, 23, 15, 157, 8, 31, 6, 160, 23, 9, 171, 5, 15, 35, 7, 1, 15, 246, 1, 10, 7, 239, 4, 14, 59, 1, 15, 110, 4, 6, 10, 140, 0, 47, 0, 0, 7, 14, 27, 41, 255, 0, 29, 10, 8, 115, 7, 15, 236, 4, 19, 8, 173, 2, 5, 0, 25, 15, 126, 0, 23, 13, 249, 2, 4, 78, 3, 15, 224, 7, 20, 7, 6, 11, 9, 236, 7, 31, 67, 212, 10, 16, 10, 6, 12, 9, 7, 0, 15, 216, 9, 26, 13, 156, 8, 15, 141, 12, 20, 14, 126, 0, 15, 196, 14, 17, 13, 209, 9, 7, 238, 6, 14, 204, 12, 15, 216, 9, 8, 10, 234, 2, 4, 145, 11, 31, 255, 63, 0, 22, 15, 10, 1, 0, 47, 255, 0, 126, 0, 19, 6, 94, 32, 9, 93, 9, 15, 63, 0, 26, 5, 11, 13, 14, 244, 2, 15, 55, 2, 20, 9, 7, 0, 47, 255, 255, 39, 6, 33, 11, 127, 0, 15, 169, 5, 20, 9, 21, 8, 7, 140, 2, 15, 189, 0, 27, 8, 100, 7, 14, 39, 6, 15, 248, 1, 9, 15, 79, 12, 0, 15, 200, 13, 20, 14, 116, 1, 15, 109, 20, 23, 6, 242, 1, 6, 35, 7, 2, 191, 0, 47, 0, 255, 51, 3, 26, 12, 81, 13, 31, 0, 161, 7, 16, 8, 49, 16, 15, 177, 3, 38, 31, 0, 126, 0, 34, 47, 0, 255, 240, 5, 5, 14, 106, 5, 15, 70, 14, 19, 15, 126, 0, 26, 15, 196, 0, 1, 9, 203, 0, 15, 118, 2, 26, 9, 184, 1, 47, 255, 255, 189, 0, 29, 8, 202, 16, 15, 165, 6, 20, 15, 111, 2, 4, 47, 0, 255, 252, 0, 18, 47, 255, 0, 115, 16, 0, 6, 50, 6, 15, 244, 2, 14, 13, 223, 7, 15, 125, 16, 32, 47, 0, 0, 39, 6, 36, 31, 0, 71, 12, 4, 3, 8, 0, 15, 55, 2, 22, 15, 204, 12, 32, 15, 98, 7, 3, 14, 66, 15, 15, 23, 10, 14, 11, 77, 0, 3, 14, 0, 15, 58, 17, 19, 8, 130, 1, 39, 0, 0, 168, 21, 47, 0, 255, 244, 2, 15, 14, 183, 0, 6, 223, 24, 15, 39, 6, 20, 47, 255, 0, 58, 17, 36, 6, 157, 24, 13, 190, 1, 15, 94, 8, 17, 14, 233, 5, 9, 246, 7, 15, 11, 13, 18, 7, 48, 0, 5, 9, 17, 14, 122, 1, 15, 236, 4, 21, 14, 121, 17, 15, 35, 7, 10, 11, 7, 0, 15, 63, 0, 25, 31, 255, 7, 0, 3, 4, 25, 12, 15, 177, 3, 20, 30, 0, 191, 3, 15, 152, 25, 20, 15, 130, 0, 5, 15, 122, 1, 19, 10, 87, 7, 31, 255, 157, 8, 39, 15, 122, 1, 29, 12, 28, 4, 8, 66, 3, 47, 255, 255, 39, 6, 21, 7, 13, 26, 15, 106, 5, 30, 31, 0, 92, 10, 4, 15, 165, 6, 25, 11, 131, 2, 31, 255, 47, 4, 22, 8, 56, 0, 13, 156, 10, 31, 0, 110, 4, 25, 13, 237, 22, 15, 192, 15, 23, 41, 0, 255, 143, 9, 160, 0, 0, 0, 0, 0, 0, 255, 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 = 2999184, DYNAMIC_BASE = 8242064, DYNAMICTOP_PTR = 2998928; 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() { 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; }; }, function() { function mkdir_0(d) { try { stat = FS.stat(d); console.log("found directory: " + d); } catch (e) { FS.mkdir(d); console.log("created directory: " + d); } } console.log("mounting /user_data"); 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) { 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; } }, 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) { var img = document.createElement("img"); img.src = UTF8ToString($0, $1); img.style.cssText = "margin:4px; display:block; width:" + $2 + "px; height:" + $3 + "px"; holder = document.getElementById("p8_desktop"); if (holder) { while (holder.childElementCount > 16 - 1) holder.removeChild(holder.firstChild); holder.appendChild(img); } }, 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() { }, 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() { 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) { if (el == document.activeElement) return 1; } el = document.activeElement; return !el || el.tagName.toLowerCase() != "input" && el.tagName.toLowerCase() != "textarea"; }, 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() { 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() { return pico8_mouse[2]; }, function() { _dir_name = ""; }, function($0) { _dir_name = _dir_name + String.fromCharCode($0); }, function() { console.log("@@ mkdir directory (nocheck): " + _dir_name); FS.createPath("", _dir_name, true, true); }, function() { el = typeof codo_textarea === "undefined" ? document.getElementById("codo_textarea") : codo_textarea; if (el) {} }, function() { _codo_str_out = ""; }, function($0) { _codo_str_out = _codo_str_out + String.fromCharCode($0); }, 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)) { console.log("@@ enabling codo_textfield"); 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() { return typeof _codo_text_value === "undefined" ? 1 : 0; }, function() { iii = 0; }, function() { iii = iii + 1; return _codo_text_value.charCodeAt(iii - 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_iiiiii(code, a0, a1, a2, a3, a4) { return ASM_CONSTS[code](a0, a1, a2, a3, a4); } function _emscripten_asm_const_iiiii(code, a0, a1, a2, a3) { return ASM_CONSTS[code](a0, a1, a2, a3); } __ATINIT__.push({ func: function() { ___emscripten_environ_constructor(); } }); memoryInitializer = "data:application/octet-stream;base64,AAAAAAAAAAAtpwAAw8wAADanAAA+pwAAR6cAAE6nAABVpwAAZcwAAD6nAABbpwAAYqcAAGinAAAAAAAAAAAAAAAACAgICAgAAAAAAAAAAAAAAAAAAAAAAAAMBAQEBAQEBAQEBAQEBAQEFhYWFhYWFhYWFgQEBAQEBAQVFRUVFRUFBQUFBQUFBQUFBQUFBQUFBQUFBQQEBAQFBBUVFRUVFQUFBQUFBQUFBQUFBQUFBQUFBQUFBAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGBxQVRQUFxsPBA8VGx8fHx8fHx8fHx8fHx8fGB8YGBgYGBgaCK8vLyE5FRUEGJiBGIUUVAXAAAAAAAAAAAAAAAAAQICAwMDAwQEBAQEBAQEBQUFBQUFBQUFBQUFBQUFBQYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlMwAAL3MAACbzAAAfswAAIPMAABuzAAAeM0AAHLMAABlzAAAuMwAAHbMAADHzAAAnswAAMPMAACQzAAAmMwAAKvMAACkzAAAecwAAHPNAACyzAAAiswAAPPmAADLqQAAk6sAAJarAACZqwAAnKsAAJ+rAAAFtAAAoqsAAKurAACyqwAAAAAAAAAAAAAAAAAAEBAQEBERERERERQTCAgGBgcHCQkJCQkJCQkJCQUFEREoKCgoKCgPDgMDAwMDAwMDAwMDAwICAQEAAAAAAAAAAF6wAABmsAAAcbAAAHawAAB9sAAAg7AAAIiwAACOsAAAlLAAAJqwAACgsAAAprAAAKywAACysAAAt7AAAL2wAADDsAAAybAAANCwAADXsAAA3rAAAOSwAADrsAAA8rAAAPqwAAACsQAACLEAAA2xAAASsQAAG7EAAAAAAAAAAAAARM4AAC3OAAAd1AAAIdQAAEnOAABQzgAAMc4AACjUAAAnzgAAJM4AADrOAAA/zgAAM9QAAEHUAABezgAAY84AAE/UAABZ1AAAas4AADTOAACu1QAAo7IAACzUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAEAAAABAAAAAAAAAAAAAAABAAAABQAAAAEAAAAFAAAABQAAAAUAAAABAAAAAQAAAAEAAAAFAAAAAAAAAAEAAAADAAAABQAAAAQAAAACAAAACwAAAA8AAAAHAAAADAAAAA0AAAAJAAAACAAAAAYAAAAKAAAADgAAAMrbAADW2wAA4tsAAO7bAAD62wAABdwAABDcAAAc3AAAKNwAADTcAABA3AAAS9wAAFbcAAAAAAAAAAAAAAAAAACL2wAAkNsAAJbbAACZ2wAAntsAAKjbAACy2wAAtNsAALbbAAC42wAAutsAAL7bAADA2wAAAAAAAAAAAAAAAAAAtN8AAL3fAADE3wAA0N8AANrfAADi3wAA7d8AAPffAAAB4AAACuAAABLgAAAc4AAAAAAAAAAAAAAAAAAAAAAAAHDCLQAl4AAAK+AAADHgAAA34AAAPeAAAEPgAABJ4AAAAAAAAAAAAAAAAAAAAAAAAHDCLQBP4AAAXuAAAG/gAACA4AAAj+AAAKHgAAC34AAAcMItAMbgAADO4AAA2OAAAOLgAADz4AAA/uAAAA3hAABjb2RvAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQABAoKAAAACh8KHwofFB8FHxECBAgRCBQdEg0EBAAAAAQICAgEBAICAgQVDh8OFQQEHwQEAAAACBAAAB8AAAAAAAAEAQIECBAfERERHwQMBAQfHwEfEB8fAQcBHxERHwEBHxAfAR8QEB8RHx8BAQEBHxEfER8fER8BAQAEAAQAAAQABAgDDBAMAwAOAA4AGAYBBhgfAQcABB8RHRUdHxEfEREeER4RHw8QEBAPHhERER8fEBwQHx8QHhAQDhAQEQ8RER8REQ4EBAQOAgICEgwSFBgUEhAQEBAfERsVERERGRUTEQ4REREOHhEeEBAfERETHx4RHhERDxAOAR4fBAQEBBEREREOERERCgQRERUbEREKBAoREREOBAQfAgQIHwwICAgMEAgEAgEGAgICBgQKAAAAAAAAAB8EAgAAAB8RHxERHhEeER8PEBAQDx4REREfHxAcEB8fEB4QEA4QEBEPEREfEREOBAQEDgICAhIMEhQYFBIQEBAQHxEbFRERERkVExEOERERDh4RHhAQHxEREx8eER4REQ8QDgEeHwQEBAQRERERDhEREQoEEREVGxERCgQKERERDgQEHwIECB8EBAgEBAQEBAQEBAQCBAQFCgAAAAAAAAAfAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQD//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/R8AAAAgAAAAAAAAAAAAAAAAAAAQAAAAEQAAABIAAAAAAAAACAAAAAcAAAAJAAAABgAAAAoAAAAFAAAACwAAAAQAAAAMAAAAAwAAAA0AAAACAAAADgAAAAEAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAABAAAAAQAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAUAAAAFAAAABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAQAAAAFAAAABgAAAAcAAAAIAAAACQAAAAoAAAALAAAADQAAAA8AAAARAAAAEwAAABcAAAAbAAAAHwAAACMAAAArAAAAMwAAADsAAABDAAAAUwAAAGMAAABzAAAAgwAAAKMAAADDAAAA4wAAAAIBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAEAAAACAAAAAgAAAAMAAAADAAAABAAAAAQAAAAFAAAABQAAAAYAAAAGAAAABwAAAAcAAAAIAAAACAAAAAkAAAAJAAAACgAAAAoAAAALAAAACwAAAAwAAAAMAAAADQAAAA0AAAAAAAAAAAAAAAEAAAACAAAAAwAAAAQAAAAFAAAABwAAAAkAAAANAAAAEQAAABkAAAAhAAAAMQAAAEEAAABhAAAAgQAAAMEAAAABAQAAgQEAAAECAAABAwAAAQQAAAEGAAABCAAAAQwAAAEQAAABGAAAASAAAAEwAAABQAAAAWAAAAAAAAAAAAAACAAAAAgAAAAEAAAABAAAAAIAAAACAAAAAQAAAAAAAAAAAAAABAAAAAAAAAACAAAAAAAAAAEAAAAAAAAAAAAAAAgAAAAIAAAACAAAAAQAAAAEAAAAAgAAAAIAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAIAAAAAAAAAAQAAAAAAAAAAAAAAAwAAAAIAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAsCAAAqAgAASwIAAG4CAACTAgAAugIAAOQCAAAQAwAAPwMAAHADAACkAwAA2AMAABYEAAAAAAAAAAAAAAAAAABwwi0AcMItAHDCLQBwwi0AvegAAL/oAADB6AAAw+gAAMXoAADH6AAAyegAAMvoAADN6AAAz+gAANHoAADT6AAA1egAANfoAADZ6AAA2+gAAN3oAADf6AAA4egAAOPoAADl6AAA5+gAAOnoAADr6AAA7egAAO/oAADx6AAA8+gAAPXoAAD36AAA+egAAPvoAAD96AAA/+gAAAHpAAAD6QAABekAAAzpAAAT6QAAHekAACHpAAAn6QAAKekAACvpAAAt6QAAL+kAADXpAAA36QAAOekAADvpAAA96QAAOQUBAD/pAABB6QAASukAAE3pAABQ6QAAU+kAAFbpAABZ6QAAXOkAAF/pAABi6QAAZekAAGnpAABt6QAAcekAAH3pAACI6QAAjukAAJXpAACa6QAAoekAAKjpAACs6QAAtekAALvpAADA6QAAxekAAMjpAADQ6QAA2ekAAOLpAADr6QAA9OkAAAHqAAAK6gAAE+oAABzqAAAl6gAALuoAADfqAABA6gAASeoAAFLqAABb6gAAcMItAGTqAABw6gAAduoAAH/qAACD6gAAh+oAAIvqAACP6gAAk+oAAJfqAACb6gAAn+oAAKPqAACn6gAAq+oAAK/qAAC36gAAvOoAAMHqAADI6gAAzeoAANPqAADY6gAA3OoAAOHqAADn6gAA7OoAAPHqAAD66gAAcMItAHDCLQBwwi0ABesAAA7rAABwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQAf6wAAKOsAAC/rAAA26wAAPOsAAAXpAABC6wAATOsAAFDrAABV6wAAY+sAAGnrAABwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAG/rAAB56wAAhOsAAJfrAACo6wAAtesAAMXrAADO6wAA1+sAAODrAADp6wAA9OsAAAXsAAAO7AAAF+wAACDsAAAp7AAAMuwAADvsAABG7AAAT+wAAFjsAABh7AAAauwAAHPsAAB97AAAhuwAAJDsAACZ7AAAouwAAK/sAAC47AAAwewAANHsAADi7AAA8uwAAADtAAAT7QAAJu0AADftAABC7QAAT+0AAGHtAABv7QAAfO0AAIvtAABwwi0AcMItAJ7tAACo7QAAs+0AALztAADF7QAA0O0AANztAADm7QAAcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAPDtAAD77QAABe4AAA/uAAAZ7gAAI+4AAC3uAAA57gAAPe4AAELuAABN7gAAVu4AAGDuAABo7gAAcO4AAHvuAACD7gAAju4AAJvuAACq7gAAt+4AAMXuAADU7gAA4e4AAOzuAADy7gAA+O4AAP3uAAAC7wAADu8AAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAOKWiAAAAADilpIAAAAA8J+QsQAAAOKsh++4jwDilpEAAAAA4py9AAAAAOKXjwAAAADimaUAAAAA4piJAAAAAOybgwAAAADijIIAAAAA4qyF77iPAPCfmJAAAADimaoAAAAA8J+Fvu+4j+KXhgAAAADigKYAAAAA4p6h77iPAOKYhQAAAADip5cAAAAA4qyG77iPAMuHAAAAAADiiKcAAAAA4p2OAAAAAOKWpAAAAADilqUAAAAA4pauAAAAAOKWoAAAAADilqEAAAAA4oGZAAAAAOKBmAAAAADigJYAAAAA4peAAAAAAOKWtgAAAADjgIwAAAAA44CNAAAAAMKlAAAAAADigKIAAAAA44CBAAAAAOOAggAAAADjgpsAAAAA44KcAAAAAOKXnAAAAADil50AAAAA8J2YogAAAPCdmKMAAADwnZikAAAA8J2YpQAAAPCdmKYAAADwnZinAAAA8J2YqAAAAPCdmKkAAADwnZiqAAAA8J2YqwAAAPCdmKwAAADwnZitAAAA8J2YrgAAAPCdmK8AAADwnZiwAAAA8J2YsQAAAPCdmLIAAADwnZizAAAA8J2YtAAAAPCdmLUAAADwnZi2AAAA8J2YtwAAAPCdmLgAAADwnZi5AAAA8J2YugAAAPCdmLsAAAAAAAAAAACCgQAAhIEAAIaBAACIgQAAioEAAIuBAACNgQAAj4EAAJGBAACTgQAAlYEAAJeBAACZgQAAm4EAAJ2BAACfgQAAoYEAAKSBAACmgQAAqIEAAKqBAACrgQAArIEAAK2BAACugQAAr4EAALKBAAC1gQAAuIEAALuBAAC+gQAAv4EAAICCAACBggAAgoIAAISCAACGggAAiIIAAImCAACKggAAi4IAAIyCAACNggAAj4IAAJKCAACTggAAo4EAAIOCAACFggAAh4IAAAAAAAAAAAAAooIAAKSCAACmggAAqIIAAKqCAACrggAArYIAAK+CAACxggAAs4IAALWCAAC3ggAAuYIAALuCAAC9ggAAv4IAAIGDAACEgwAAhoMAAIiDAACKgwAAi4MAAIyDAACNgwAAjoMAAI+DAACSgwAAlYMAAJiDAACbgwAAnoMAAJ+DAACggwAAoYMAAKKDAACkgwAApoMAAKiDAACpgwAAqoMAAKuDAACsgwAArYMAAK+DAACygwAAs4MAAIODAACjgwAApYMAAKeDAAAAAAAAAAAAAIsDAACEAwAAfgMAAHcDAABxAwAAawMAAGQDAABeAwAAWAMAAFIDAABMAwAARgMAAEADAAA6AwAANAMAAC4DAAAoAwAAIgMAABwDAAAXAwAAEQMAAAsDAAAGAwAAAAMAAPoCAAD1AgAA8AIAAOoCAADlAgAA4AIAANoCAADVAgAA0AIAAMsCAADFAgAAwAIAALsCAAC2AgAAsQIAAKwCAACmAgAAowIAAJ4CAACZAgAAlAIAAI8CAACLAgAAhgIAAIACAAB8AgAAeAIAAHQCAABvAgAAawIAAGYCAABiAgAAXAIAAFkCAABVAgAAUAIAAEwCAABIAgAARAIAAD8CAAA6AgAANwIAADMCAAAvAgAAKwIAACcCAAAjAgAAHwIAABoCAAAXAgAAFAIAABACAAAMAgAACAIAAAQCAAABAgAA/AEAAPkBAAD2AQAA8gEAAO4BAADrAQAA5wEAAOQBAADgAQAA3QEAANoBAADWAQAA0wEAAM8BAADMAQAAyQEAAAIAAMADAADABAAAwAUAAMAGAADABwAAwAgAAMAJAADACgAAwAsAAMAMAADADQAAwA4AAMAPAADAEAAAwBEAAMASAADAEwAAwBQAAMAVAADAFgAAwBcAAMAYAADAGQAAwBoAAMAbAADAHAAAwB0AAMAeAADAHwAAwAAAALMBAADDAgAAwwMAAMMEAADDBQAAwwYAAMMHAADDCAAAwwkAAMMKAADDCwAAwwwAAMMNAADTDgAAww8AAMMAAAy7AQAMwwIADMMDAAzDBAAM0wAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUZUISIZDQECAxFLHAwQBAsdEh4naG5vcHFiIAUGDxMUFRoIFgcoJBcYCQoOGx8lI4OCfSYqKzw9Pj9DR0pNWFlaW1xdXl9gYWNkZWZnaWprbHJzdHl6e3wAAAAAAAAAAABJbGxlZ2FsIGJ5dGUgc2VxdWVuY2UARG9tYWluIGVycm9yAFJlc3VsdCBub3QgcmVwcmVzZW50YWJsZQBOb3QgYSB0dHkAUGVybWlzc2lvbiBkZW5pZWQAT3BlcmF0aW9uIG5vdCBwZXJtaXR0ZWQATm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQBObyBzdWNoIHByb2Nlc3MARmlsZSBleGlzdHMAVmFsdWUgdG9vIGxhcmdlIGZvciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAP////////////////////////////////////////////////////////////////8AAQIDBAUGBwgJ/////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAAAAAAAAAAAAAAAAAACgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QX/////////////////////IiICAPYBAAAZkw0KGgoAAH0GAADvvq3eZ0UjAQEAAAD/////CQAAAO++rd5nRSMBaOcAAP////8BAAAAAAA8AAEAAADYhgAABQAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAIAAADIuBgAAAQAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAACv////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANiGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0wi0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF9wiQD/CS8POQUBAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAHDCLQBwwi0AcMItAH9/f39/f39/f39/f39/AAByb290X3BhdGgAY2RhdGFfcGF0aABqb3lzdGlja19pbmRleAAgJWQAYnV0dG9uX2tleXMAICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkAGxpdmVfbm90ZXMAY3Vyc29yX3NuYXAAZ3VpX3RoZW1lAHNoaWZ0X2dseXBocwBzaG93X2JhY2t1cF9tZXNzYWdlcwBob3N0X2ZyYW1lcmF0ZV9jb250cm9sAGNvbnRlbnRfZmlsdGVyAGRyYXdfdGFicwByZWNvcmRfYWN0aXZpdHlfbG9nAGFsbG93X2Z1bmN0aW9uX2tleXMAY2hlY2tfZm9yX2NhcnRfdXBkYXRlcwBlbmFibGVfZ3BpbwB2ZXJzaW9uICVzCgoAMC4yLjBpAC8vIGF1ZGlvIHZvbHVtZTogMC4uMjU2IAoAdm9sdW1lICVkCgoACi8vIExvY2F0aW9uIG9mIHBpY28tOCdzIHJvb3QgZm9sZGVyCgByb290X3BhdGggJXMKCgAKLy8gTG9jYXRpb24gb2YgY2FydHJpZGdlIHNhdmUgZGF0YQoAY2RhdGFfcGF0aCAlcwoKAAovLyBTcGVjaWZ5IHdoaWNoIHBsYXllciBpbmRleCBqb3lzdGljayBjb250cm9sIGJlZ2lucyBhdCAoMC4uNykKAGpveXN0aWNrX2luZGV4ICVkCgoACi8vIEN1c3RvbSBrZXlib2FyZCBzY2FuY29kZXMgZm9yIGJ1dHRvbnMuIHBsYXllcjAgMC4uNiwgcGxheWVyMSAwLi41CgBidXR0b25fa2V5cyAAJWQgAAoKAC8vIFBsYXkgbm90ZXMgYXMgdGhleSBhcmUgcGxvdHRlZCBpbiBmcmVxdWVuY3kgbW9kZQoAbGl2ZV9ub3RlcyAlZAoKAC8vIGlmZiAxOiB3aGVuIHVzaW5nIGtleWJvYXJkIGN1cnNvciwgc25hcCB0byBjbG9zZXN0IHBpeGVsIC8gbWFwIGNlbAoAY3Vyc29yX3NuYXAgJWQKCgAvLyAwIGRlZmF1bHQgIDEgZGFyayBibHVlIGJhY2tncm91bmQgaW4gY29kZSBlZGl0b3IgIDIgYmxhY2sgYmFja2dyb3VuZCBpbiBjb2RlIGVkaXRvciAgIDMgZ3JheSBiYWNrZ3JvdW5kIGluIGNvZGUgZWRpdG9yICAgCgBndWlfdGhlbWUgJWQKCgAvLyBzY2FsZSBvZiBzY3JlZW5zaG90cyBhbmQgZ2lmcyAvLyAyIG1lYW5zIDI1NngyNTYKAHNjcmVlbnNob3Rfc2NhbGUgJWQKAGdpZl9zY2FsZSAlZAoKAC8vIG1heGltdW0gZ2lmIGxlbmd0aCBpbiBzZWNvbmRzICgwLi4xMjA7IDAgbWVhbnMgbm8gZ2lmIHJlY29yZGluZykKAGdpZl9sZW4gJWQKCgAvLyB3aGVuIDEsIHJlc2V0IHRoZSByZWNvcmRpbmcgd2hlbiBwcmVzc2luZyBjdHJsLTkgKHVzZWZ1bCBmb3IgY3JlYXRpbmcgYSBub24tb3ZlcmxhcHBpbmcgc2VxdWVuY2UpCgBnaWZfcmVzZXRfbW9kZSAlZAoKAC8vIDAgZm9yIG9mZi4gMSB0byBhbGxvdyBjb250cm9sIG9mIGEgY2FydCdzIGZyYW1lcmF0ZSBkdWUgdG8gaG9zdCBtYWNoaW5lJ3MgY3B1IGNhcGFjaXR5IChyZWNvbW1lbmRlZCkKAGhvc3RfZnJhbWVyYXRlX2NvbnRyb2wgJWQKCgAvLyBmaWx0ZXIgc3Bsb3JlIGNhcnRyaWRnZXMKAC8vIDAgb2ZmICAgMSBvbiAoZXhjbHVkZSBjYXJ0cmlkZ2UgdGFnZ2VkIGFzICdtYXR1cmUnIGJ5IGNvbW11bml0eSkKAHNwbG9yZV9maWx0ZXIgJWQKCgAvLyB0YWIgZGlzcGxheSB3aWR0aCAoMSB+IDQgc3BhY2VzKQoAdGFiX3dpZHRoICVkCgoALy8gMCBvZmYgMSBvbjogZHJhdyB0YWIgY2hhcmFjdGVycyBhcyBzbWFsbCB2ZXJ0aWNhbCBsaW5lcwoAZHJhd190YWJzICVkCgoALy8gMCBvZmYgMSBvbjogcmVjb3JkIHRoZSBjdXJyZW50IGNhcnRyaWRnZSBhbmQgZWRpdG9yIHZpZXcgZXZlcnkgMyBzZWNvbmRzIChzZWUgW2FwcGRhdGFdL2FjdGl2aXR5LmxvZy50eHQpCgByZWNvcmRfYWN0aXZpdHlfbG9nICVkCgoALy8gMCBvZmYgMSBvbjogYWxsb3cgRjYuLkY5IChhbHRlcm5hdGl2ZTogY3RybCA2Li45KQoAYWxsb3dfZnVuY3Rpb25fa2V5cyAlZAoKAC8vIDAgb2ZmIDEgb246IGF1dG9tYXRpY2FsbHkgY2hlY2sgZm9yIGEgbmV3ZXIgdmVyc2lvbiBvZiBhIEJCUyBjYXJ0IGVhY2ggdGltZSBpdCBpcyBydW4uCgBjaGVja19mb3JfY2FydF91cGRhdGVzICVkCgoAe2NpaWkgPSAkMDsgaWlpID0gMDt9ACJ7aWlpID0gaWlpKzE7IHJldHVybiBfY2FydG5hbWVbY2lpaV0uY2hhckNvZGVBdChpaWktMSk7IH0iAFtjb2RvXSBiYnNfd2dldF9vbmxvYWQgOjogcmVjZWl2ZWQuIHByZXBhcmluZyB0byBydW4uIHBzdGF0ZS5jdXJyZW50X2ZpbGVuYW1lICVzIGFwcC5hdXRvX2xvYWRfZm4gJXMKAHdyb3RlIGxlbjogJWQKAC9iYnMvZ2V0X2NhcnQucGhwAGxpZD0AZmlsZW5hbWVfbm90X2ZvdW5kLnA4LnBuZwBiYnNfd2dldF9vbmxvYWQ6IHNldCBjdXJyZW50X2ZpbGVuYW1lIHRvICVzIChkZXJpdmVkIGZyb20gJXMpCgBmZXRjaGluZyBjYXJ0cmlkZ2UuLiBvawBjb3VsZCBub3QgZmV0Y2ggY2FydAAieyBpZiAodHlwZW9mIF9jYXJ0ZGF0ICE9PSd1bmRlZmluZWQnKSByZXR1cm4gMTsgcmV0dXJuIDA7fSIAIntyZXR1cm4gX2NhcnRkYXQubGVuZ3RoIC8gMzI3Njh9IgAieyBfY2Rwb3M9X2NkcG9zKzE7IHJldHVybiBfY2FydGRhdFtfY2Rwb3MtMV07IH0iAHN0YXJ0aW5nIGRvd25sb2FkCgBsb2FkaW5nIGVtYmVkZGVkIGNhcnRyaWRnZQoAam95c3RpY2sAa2lvc2sAZ3Bpb19iYXNlAGdsaXRjaF90ZXN0AHgAZXhlYwBwYXJhbQBwAGFjY2VwdF9mdXR1cmUAdHZfZnJhbWUAZGlzcGxheXNfeABkaXNwbGF5c195AGZ1bmN0aW9uIG1rZGlyXzAoZCkgeyB0cnkgeyBzdGF0ID0gRlMuc3RhdChkKTsgY29uc29sZS5sb2coImZvdW5kIGRpcmVjdG9yeTogIitkKTsgfSBjYXRjaCAoZSkgeyBGUy5ta2RpcihkKTsgY29uc29sZS5sb2coImNyZWF0ZWQgZGlyZWN0b3J5OiAiK2QpOyB9IH0gY29uc29sZS5sb2coIm1vdW50aW5nIC91c2VyX2RhdGEiKTsgbWtkaXJfMCgnL3VzZXJfZGF0YScpOyBGUy5tb3VudChJREJGUywge30sICcvdXNlcl9kYXRhJyk7IEZTLnN5bmNmcyh0cnVlLCBmdW5jdGlvbiAoZXJyKSB7IGlmICghZXJyKSB7IGNvbnNvbGUubG9nKCJjb2RvOiBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iKTsgY29kb19tb3VudGVkX2ZpbGVzeXN0ZW0gPSAxOyBta2Rpcl8wKCcvdXNlcl9kYXRhL2NkYXRhJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvY3N0b3JlJyk7IG1rZGlyXzAoJy91c2VyX2RhdGEvY2FydHMnKTsgbWtkaXJfMCgnL3VzZXJfZGF0YS9iYWNrdXAnKTsgbWtkaXJfMCgnL3VzZXJfZGF0YS9wbGF0ZXMnKTsgbWtkaXJfMCgnL3VzZXJfZGF0YS9iYnMnKTsgbWtkaXJfMCgnL3VzZXJfZGF0YS9iYnMvY2FydHMnKTsgbWtkaXJfMCgnL3VzZXJfZGF0YS9iYnMvbGFiZWxzJyk7IH0gZWxzZSB7IGNvbnNvbGUubG9nKCIqKiBjb3VsZCBub3QgbW91bnQgZmlsZXN5c3RlbVxuIik7IGNvbnNvbGUubG9nKGVycik7IH0gfSApOwAieyBNb2R1bGUucGljbzhSZXNldCA9IGZ1bmN0aW9uKCkgeyBjb2RvX2NvbW1hbmQgPSAxO30gOyBNb2R1bGUucGljbzhUb2dnbGVTb3VuZCA9IGZ1bmN0aW9uKCkgeyBjb2RvX2NvbW1hbmQgPSAzO30gOyBNb2R1bGUucGljbzhUb2dnbGVQYXVzZWQgPSBmdW5jdGlvbigpIHsgY29kb19jb21tYW5kID0gNDt9IDsgTW9kdWxlLnBpY284U2V0UGF1c2VkID0gZnVuY3Rpb24ocCkgeyBjb2RvX2NvbW1hbmQgPSA1OyBjb2RvX2NvbW1hbmRfcCA9IDA7IGlmIChwKSBjb2RvX2NvbW1hbmRfcD0xO30gOyBNb2R1bGUucGljbzhUb2dnbGVDb250cm9sTWVudSA9IGZ1bmN0aW9uKCkgeyBjb2RvX2NvbW1hbmQgPSA3O30gOyB9IgBwaWNvLTgAY2FydHMvAGNkYXRhLwBwaWNvOC5kYXQAZGF0YS5wb2QAUlVOTklORzogJXMKAGNvdWxkbid0IGxvYWQgJXMKAGNvdWxkIG5vdCBsb2FkICVzCgAuLwB7dmFyIHZhbD0wOyBpZiAod2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLmluZGV4T2YoIndpZGdldC5waHAiKSA+PSAwKSB2YWw9MTsgcmV0dXJuIHZhbDt9AHt2YXIgdmFsPTA7IGlmICh3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUuaW5kZXhPZigicGljby04LnBocCIpID49IDApIHZhbD0xOyByZXR1cm4gdmFsO30AbHJ1ZG94cCVkIGpveXN0aWNrcyBkZXRlY3RlZABhIG5ldyB2ZXJzaW9uIG9mIHRoaXMAY2FydHJpZGdlIGlzIGF2YWlsYWJsZQAlMDJkAC0tbW9yZS0tAGNvbnRpbnVlAHJlc2V0IGNhcnQAc291bmQ6b24Ac291bmQ6b2ZmAGZ1bGxzY3JlZW46b2ZmAGZ1bGxzY3JlZW46b24AY29udHJvbHMAdXBkYXRlIGNhcnQAc2tpcABzb3VuZCBvZmYgKGN0cmwtbSkAc291bmQgb24gKGN0cmwtbSkAZG93bmxvYWQgdGltZWQgb3V0AGRvd25sb2FkaW5nLi4gY2FuY2VsbGVkAC5uZm8AL3RlbXAtAGNvdWxkIG5vdCBmaW5kIGNhcnQAZG93bmxvYWRpbmcuLiBvawBsb2FkZWQgIyVzICglZCBjaGFycykAY291bGQgbm90IGNvbm5lY3QgdG8gYmJzAGZ1dHVyZSB2ZXJzaW9uLiBwbGVhc2UgdXBkYXRlIQB7IGlmICh0eXBlb2YgcGljbzhfc3RhdGUgIT09ICd1bmRlZmluZWQnKXsgcGljbzhfc3RhdGUuaXNfcGF1c2VkID0gJDA7IHBpY284X3N0YXRlLnNvdW5kX3ZvbHVtZSA9ICQxOyBwaWNvOF9zdGF0ZS5mcmFtZV9udW1iZXIgPSAkMjsgcGljbzhfc3RhdGUuaGFzX2ZvY3VzID0gJDM7IHBpY284X3N0YXRlLnNob3dfZHBhZCA9ICQ0OyB9IH0AInt2YXIgdmFsPTA7IGlmICh0eXBlb2YgY29kb19jb21tYW5kICE9PSAndW5kZWZpbmVkJykge3ZhbD1jb2RvX2NvbW1hbmQ7IGNvZG9fY29tbWFuZD0wO30gcmV0dXJuIHZhbH0iACJ7dmFyIHZhbD0wOyBpZiAodHlwZW9mIGNvZG9fY29tbWFuZF9wICE9PSAndW5kZWZpbmVkJykge3ZhbD1jb2RvX2NvbW1hbmRfcDsgY29kb19jb21tYW5kX3A9MDt9IHJldHVybiB2YWx9IgAie2J1dHRvbl9pID0gMH0iACJ7dmFyIHZhbD0tMTsgaWYgKHR5cGVvZiBwaWNvOF9idXR0b25zICE9PSAndW5kZWZpbmVkJykge3ZhbCA9IHBpY284X2J1dHRvbnNbYnV0dG9uX2ldOyBidXR0b25faSArKzt9IHJldHVybiB2YWw7fSIAInt2YXIgdmFsID0gMDsgaWYgKHR5cGVvZiBwaWNvOF9nYW1lcGFkcyAhPT0gJ3VuZGVmaW5lZCcpIHt2YWwgPSBwaWNvOF9nYW1lcGFkcy5jb3VudDt9IHJldHVybiB2YWw7fSIAKiogZmFpbGVkIHRvIHNhdmUgc2NyZWVuc2hvdABzZXQgdmlkZW8gc3RhcnRpbmcgcG9pbnQAbm8gdmlkZW8gcmVjb3JkZWQgKHJlYzogY3RybC04KQAqKiBmYWlsZWQgdG8gc2F2ZSB2aWRlbwBzYXZlZCAlZCBzZWNvbmQgZ2lmIHRvIGRlc2t0b3AAam95c3RpY2sgJWQgY29ubmVjdGVkAGpveXN0aWNrICVkIGRpc2Nvbm5lY3RlZABpZiAodHlwZW9mIG9uX21vZHVsZV9sb2FkICE9PSAndW5kZWZpbmVkJykgeyBpZiAob25fbW9kdWxlX2xvYWQpIG9uX21vZHVsZV9sb2FkKCk7IH0AW2NvZG9dICoqKiBiYnNfd2dldF9vbmxvYWQ6IGluIG1pZGRsZSBvZiBydW5uaW5nIHNsaWNlAGRhdGE6aW1hZ2UvJXM7YmFzZTY0LAB7IHZhciBpbWcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdpbWcnKTsgaW1nLnNyYyA9IFVURjhUb1N0cmluZygkMCwgJDEpOyBpbWcuc3R5bGUuY3NzVGV4dCA9ICdtYXJnaW46NHB4OyBkaXNwbGF5OmJsb2NrOyB3aWR0aDonKyQyKydweDsgaGVpZ2h0OicrJDMrJ3B4JzsgaG9sZGVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3A4X2Rlc2t0b3AnKTsgaWYgKGhvbGRlcikgeyB3aGlsZSAoaG9sZGVyLmNoaWxkRWxlbWVudENvdW50ID4gKDE2LTEpKSBob2xkZXIucmVtb3ZlQ2hpbGQoaG9sZGVyLmZpcnN0Q2hpbGQpOyBob2xkZXIuYXBwZW5kQ2hpbGQoaW1nKTsgfSB9AHBuZwBsb2FkaW5nIGZ1dHVyZSBjYXJ0IHZlcnNpb24AZnV0dXJlX3ZlcnNpb246ICVkACVzJXMucDglcwAlcyVzJXMucDgAdW50aXRsZWQAYmFja3VwLwAlNGQlMDJkJTAyZF8lMDJkJTAyZCUwMmRfAHByb2dyYW0gb3ZlciBzaXplIGxpbWl0CgBjb21wcmVzc2VkIGNvZGUgc2l6ZSB0b28gbGFyZ2UKACVkIC8gJWQgYnl0ZXMAd2FybmluZzogY29tcHJlc3NlZCBjb2RlIHRvbyBiaWcAdG8gYmUgZXhwb3J0ZWQgb3Igc2F2ZWQgYXMgcG5nAChzYXZpbmcgLnA4IGFueXdheSkKAGZsYXR0ZW5lZCAjaW5jbHVkZXMAKiogZmFpbGVkIHRvIHNhdmUgKioAL3VzZXJfZGF0YS9jc3RvcmUvJXMlcwBfXwBwcmVwYXJlX2xvYWRlZF9jYXJ0OiBsb29raW5nIGZvciBzYW5kYm94ZWQgY2FydCBwYXRjaDogJXMKACAgZm91bmQKACAgbm90IGZvdW5kCgB3YXJuaW5nOiBwb3NzaWJsZSBkZXByZWNhdGVkIEBAAGxlZ2FjeTogcGF0ICVkIHN3YXAgY2hhbjogJWQgJWQAcHJpbnQoImFyY2hlb3MiLDk4LDM0LDcpAC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0tIGxlZ2FjeSAwLjEuMSBhcGkgaW5qZWN0ZWQKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCWZ1bmN0aW9uIF92YWxpZGF0ZShjKSBpZiAoYy5fbnVtPT1uaWwpIHRoZW4gbG9jYWwgaT0wIHdoaWxlKGNbaSsxXX49bmlsKSBkbyBpPWkrMSBlbmQgYy5fbnVtPWkgYy5fbWF4PWkgCWMuX21pbj1pKzEgYy5fbnVtID0gaSBjLl9jaSA9IGkgZW5kIGVuZCAJZnVuY3Rpb24gZm9yZWFjaChjLCBmKSBpZiAoYyA9PSBuaWwpIHRoZW4gcmV0dXJuIGVuZCBfdmFsaWRhdGUoYykgaWYgKGMuX21heCA9PSBuaWwpIHRoZW4gcmV0dXJuIGVuZCBmb3IgaT0xLGMuX21heCBkbyBpZiAoY1tpXSB+PSBuaWwpIHRoZW4gYy5fY2kgPSBpIGYoY1tpXSkgZW5kIGVuZCBlbmQgZnVuY3Rpb24gYWxsKGMpIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gZnVuY3Rpb24oKSBlbmQgZW5kIF92YWxpZGF0ZShjKSBsb2NhbCBpPTAgcmV0dXJuIGZ1bmN0aW9uKCkgaT1pKzEgd2hpbGUgKGNbaV09PW5pbCBhbmQgaTxjLl9tYXgpIGRvIGk9aSsxIGVuZCBpZiAoY1tpXSB+PSBuaWwpIHRoZW4gYy5fY2k9aSByZXR1cm4gY1tpXSBlbmQgZW5kIGVuZCBmdW5jdGlvbiBhZGQoYywgaSkgaWYgKGMgPT0gbmlsKSB0aGVuIHJldHVybiBlbmQgX3ZhbGlkYXRlKGMpIGZvciBqPWMuX21pbixjLl9tYXgrMSBkbyBpZiAoY1tqXSA9PSBuaWwpIHRoZW4gYy5fbWF4ID0gbWF4KGMuX21heCxqKSBjLl9taW4gPSBqKzEgYy5fbnVtID0gYy5fbnVtKzEgY1tqXT1pIHJldHVybiBpIGVuZCBlbmQgZW5kIGZ1bmN0aW9uIGNvdW50KGMpIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gMCBlbmQgX3ZhbGlkYXRlKGMpIHJldHVybiBjLl9udW0gZW5kIGZ1bmN0aW9uIGRlbChjLGkpIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gZW5kIF92YWxpZGF0ZShjKSBpZiAoaT09bmlsKSB0aGVuIHJldHVybiBlbmQgaWYgKGMuX2NpPT1pKSB0aGVuIGNbYy5fY2ldPW5pbCBjLl9taW49bWluKGMuX21pbiwgYy5fY2kpIGMuX251bT1jLl9udW0tMSByZXR1cm4gZWxzZSBmb3Igaj0xLGMuX21heCBkbyBpZiAoY1tqXT09aSkgdGhlbiBjW2pdPW5pbCBjLl9taW49bWluKGMuX21pbixqKSBjLl9udW09Yy5fbnVtLTEgcmV0dXJuIGVuZCBlbmQgZW5kIHdoaWxlIChjLl9tYXg+MSBhbmQgY1tjLl9tYXhdPT1uaWwpIGRvIGMuX21heD1jLl9tYXgtMSBlbmQgZW5kICBuZD0wCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgoAbGVnYWN5OiAwLjEuMSBhcGkgaW5qZWN0ZWQALmx1YQAuYmluAHBsZWFzZSBzcGVmaWN5IGEgZmlsZW5hbWUAKioqIG5vIGZpbGVuYW1lLiBub3Qgc2F2ZWQhICoqKgBjYW4gbm90IG92ZXJ3cml0ZSBiYnMgY2FydAAqIGNhbiBub3Qgb3ZlcndyaXRlIGJicyBjYXJ0ISAqAHNhdmUgZmFpbGVkACoqIHNhdmUgZmFpbGVkICoqAHNhdmVkICVzJXMKAHNhdmVkICVzJXMlcwoAbG9hZGVkIGV4dGVybmFsIGNoYW5nZXMAJXNfJTAzZC5wbmcAc2F2aW5nIHNjcmVlbnNob3QgdG86ICVzCgBtb3VudF9lbWJlZGRlZF9jYXJ0OiAlcyAoJWQgY2hhcnMpICVzCgAqKiBtb3VudF9lbWJlZGRlZF9jYXJ0OiBmYWlsZWQgdG8gbW91bnQAbm8gdmFsdWUAYm9vbGVhbgB1c2VyZGF0YQBudW1iZXIAc3RyaW5nAHRhYmxlAHRocmVhZABwcm90bwB1cHZhbABzdGFjayBvdmVyZmxvdwBDIHN0YWNrIG92ZXJmbG93AHRhYmxlIG92ZXJmbG93ACdmb3InIGluaXRpYWwgdmFsdWUgbXVzdCBiZSBhIG51bWJlcgAnZm9yJyBsaW1pdCBtdXN0IGJlIGEgbnVtYmVyACdmb3InIHN0ZXAgbXVzdCBiZSBhIG51bWJlcgBuTgB4WABiQgBhdHRlbXB0IHRvIGNvbXBhcmUgdHdvICVzIHZhbHVlcwBhdHRlbXB0IHRvIGNvbXBhcmUgJXMgd2l0aCAlcwBzdHJpbmcgbGVuZ3RoIG92ZXJmbG93AGNvbmNhdGVuYXRlAD8AdXB2YWx1ZQBhdHRlbXB0IHRvICVzICVzICclcycgKGEgJXMgdmFsdWUpAGF0dGVtcHQgdG8gJXMgYSAlcyB2YWx1ZQBfRU5WAGdsb2JhbABmaWVsZABtZXRob2QAY29uc3RhbnQAJTAuNWYALjk5OTkALjAwMDAAJTAuM2YAJTAuNGYAZ2V0IGxlbmd0aCBvZgBwZXJmb3JtIGFyaXRobWV0aWMgb24AdGFibGUgaW5kZXggaXMgbmlsAG1lbW9yeSBhbGxvY2F0aW9uIGVycm9yOiBibG9jayB0b28gYmlnAGluZGV4AGxvb3AgaW4gc2V0dGFibGUAbG9vcCBpbiBnZXR0YWJsZQBhdHRlbXB0IHRvIHlpZWxkIGFjcm9zcyBhIEMtY2FsbCBib3VuZGFyeQBhdHRlbXB0IHRvIHlpZWxkIGZyb20gb3V0c2lkZSBhIGNvcm91dGluZQBjYWxsAC4uLgBbc3RyaW5nICIAIl0AJXMAMHgleAAlAGludmFsaWQgb3B0aW9uICclJSVjJyB0byAnbHVhX3B1c2hmc3RyaW5nJwBlcnJvciBpbiBlcnJvciBoYW5kbGluZwBhdHRlbXB0IHRvIGxvYWQgYSAlcyBjaHVuayAobW9kZSBpcyAnJXMnKQBiaW5hcnkAdGV4dABjb250cm9sIHN0cnVjdHVyZSB0b28gbG9uZwBsYWJlbHMvZ290b3MAbm8gdmlzaWJsZSBsYWJlbCAnJXMnIGZvciA8Z290bz4gYXQgbGluZSAlZCAodGFiICVkKQA8JXM+IGF0IGxpbmUgJWQgbm90IGluc2lkZSBhIGxvb3AAPGdvdG8gJXM+IGF0IGxpbmUgJWQgKHRhYiAlZCkganVtcHMgaW50byB0aGUgc2NvcGUgb2YgbG9jYWwgJyVzJwB0b28gbWFueSAlcyAobGltaXQgaXMgJWQpACVzOiVkOiAlcwBsZXhpY2FsIGVsZW1lbnQgdG9vIGxvbmcAJyVzJwAlcyBuZWFyICVzACYAfABeXgA8PAA+PgA+Pj4APDw+AD4+PABcAEAAQEAAJAAnJWMnAD09AD49ADw9AH49ADo6ADxudW1iZXI+ADxuYW1lPgA8c3RyaW5nPgBvcGNvZGVzACVzIGV4cGVjdGVkAEMgbGV2ZWxzAChmb3IgaW5kZXgpAChmb3IgbGltaXQpAChmb3Igc3RlcCkAZnVuY3Rpb24gb3IgZXhwcmVzc2lvbiB0b28gY29tcGxleAAoZm9yIGdlbmVyYXRvcikAKGZvciBzdGF0ZSkAKGZvciBjb250cm9sKQAnPScgb3IgJ2luJyBleHBlY3RlZABsYWJlbCAnJXMnIGFscmVhZHkgZGVmaW5lZCBvbiBsaW5lICVkICh0YWIgJWQpAHVuZXhwZWN0ZWQgc3ltYm9sAGZ1bmN0aW9uIGFyZ3VtZW50cyBleHBlY3RlZABpdGVtcyBpbiBhIGNvbnN0cnVjdG9yAGZ1bmN0aW9ucwBzZWxmADxuYW1lPiBvciAnLi4uJyBleHBlY3RlZABjb25zdGFudHMAbG9jYWwgdmFyaWFibGVzAGNhbm5vdCB1c2UgJy4uLicgb3V0c2lkZSBhIHZhcmFyZyBmdW5jdGlvbgAlcyBleHBlY3RlZCAodG8gY2xvc2UgJXMgYXQgbGluZSAlZCAodGFiICVkKSkAZnVuY3Rpb24gYXQgbGluZSAlZCAodGFiICVkKQBtYWluIGZ1bmN0aW9uAHRvbyBtYW55ICVzIChsaW1pdCBpcyAlZCkgaW4gJXMAaW52YWxpZCBsb25nIHN0cmluZyBkZWxpbWl0ZXIAdW5maW5pc2hlZCBzdHJpbmcAaGV4YWRlY2ltYWwgZGlnaXQgZXhwZWN0ZWQAaW52YWxpZCBlc2NhcGUgc2VxdWVuY2UAZGVjaW1hbCBlc2NhcGUgdG9vIGxhcmdlAFh4AEVlAFBwACstAG1hbGZvcm1lZCBudW1iZXIAdW5maW5pc2hlZCBsb25nIGNvbW1lbnQAdW5maW5pc2hlZCBsb25nIHN0cmluZwBjaHVuayBoYXMgdG9vIG1hbnkgbGluZXMAdXB2YWx1ZXMAYmluYXJ5IHN0cmluZwB0cnVuY2F0ZWQAbm90IGEAdmVyc2lvbiBtaXNtYXRjaCBpbgBpbmNvbXBhdGlibGUAY29ycnVwdGVkACVzOiAlcyBwcmVjb21waWxlZCBjaHVuawBpbnZhbGlkIGtleSB0byAnbmV4dCcAc3RhY2sgdHJhY2ViYWNrOgAKCS4uLgBTbG50AAoJJXM6ACVkOgAgaW4gAGZ1bmN0aW9uICclcycAbWFpbiBjaHVuawBmdW5jdGlvbiA8JXM6JWQ+AAoJKC4uLnRhaWwgY2FsbHMuLi4pAD1bQ10APT8AbWFpbgBMdWEAZm9yIGl0ZXJhdG9yAG1ldGFtZXRob2QAYmFkIGFyZ3VtZW50ICMlZCAoJXMpAG4AY2FsbGluZyAnJXMnIG9uIGJhZCBzZWxmICglcykAYmFkIGFyZ3VtZW50ICMlZCB0byAnJXMnICglcykAU2wAJXM6JWQ6IAAlcyBleHBlY3RlZCwgZ290ICVzAHZhbHVlIGV4cGVjdGVkAG9iamVjdCBsZW5ndGggaXMgbm90IGEgbnVtYmVyAF9fdG9zdHJpbmcAJXM6ICVwAF9faW5kZXgAX19uZXdpbmRleABfX2djAF9fbW9kZQBfX2xlbgBfX2VxAF9fYWRkAF9fc3ViAF9fbXVsAF9fZGl2AF9fbW9kAF9fcG93AF9fYW5kAF9fb3IAX194b3IAX19zaGwAX19zaHIAX19sc2hyAF9fcm90bABfX3JvdHIAX19ub3QAX19pZGl2AF9fcGVlawBfX3BlZWsyAF9fcGVlazQAX191bm0AX19sdABfX2xlAF9fY29uY2F0AF9fY2FsbABfX21ldGF0YWJsZQBuaWwgb3IgdGFibGUgZXhwZWN0ZWQAY2Fubm90IGNoYW5nZSBhIHByb3RlY3RlZCBtZXRhdGFibGUAdGFibGUgb3Igc3RyaW5nIGV4cGVjdGVkAF9fcGFpcnMAX19pcGFpcnMAYXNzZXJ0aW9uIGZhaWxlZCEAY29yb3V0aW5lIGV4cGVjdGVkAGNvcm9saWI6IHRvbyBtYW55IGFyZ3VtZW50cyB0byByZXN1bWUAY29yb2xpYjogY2Fubm90IHJlc3VtZSBkZWFkIGNvcm91dGluZQBjb3JvbGliOiB0b28gbWFueSByZXN1bHRzIHRvIHJlc3VtZQBjYW5ub3QgcmVzdW1lIG5vbi1zdXNwZW5kZWQgY29yb3V0aW5lAGNhbm5vdCByZXN1bWUgZGVhZCBjb3JvdXRpbmUAcnVubmluZwBzdXNwZW5kZWQAbm9ybWFsAGRlYWQAdG9vIG1hbnkgcmVzdWx0cyB0byB1bnBhY2sAdXBsb2FkAHsgaWYgKHR5cGVvZiBwaWNvOF9zdGF0ZSAhPT0gJ3VuZGVmaW5lZCcpeyBpZiAodHlwZW9mIHBpY284X3N0YXRlLnN5c3RlbV9tZXNzYWdlcyA9PT0gJ3VuZGVmaW5lZCcpIHBpY284X3N0YXRlLnN5c3RlbV9tZXNzYWdlcyA9IG5ldyBBcnJheSgpOyBwaWNvOF9zdGF0ZS5zeXN0ZW1fbWVzc2FnZXMucHVzaChVVEY4VG9TdHJpbmcoJDAsICQxKSk7IH0gfQBfZW5kX29mX3Byb2dyYW0AdG8gY2xvc2UgJwBhdCBsaW5lIAAlZCAodGFiICVkKQB1bmNsb3NlZCAlcyBhdCBsaW5lICVkICh0YWIgJWQpCgB1bmNsb3NlZCAlcwAtLSBwaWNvLTggaGVhZGVyAGFzc2VydGlvbiBmYWlsZWQAbm90IGVub3VnaCBtZW1vcnkAPGVvZj4AdGhlbWUgAHRoZW1lAGJsdWUAc2V0IHRoZW1lIHRvIGJsdWUAYXV0bwBzZXQgdGhlbWUgdG8gYXV0bwBjbGFzc2ljAHNldCB0aGVtZSB0byBjbGFzc2ljAGNvbmZpZyB0aGVtZSBbdmFsdWVdAGF2YWlsYWJsZSB0aGVtZXM6AHNwbG9yZV9maWx0ZXIgAHNwbG9yZV9maWx0ZXIAb24AZmlsdGVyIG9uAG9mZgBmaWx0ZXIgb2ZmAGNvbmZpZyBmaWx0ZXIgW29uIHwgb2ZmXQB3aGVuIG9uLCBjYXJ0cmlkZ2VzIHRhZ2dlZCBhcwBtYXR1cmUgd2lsbCBub3QgYmUgZG93bmxvYWRlZC4AZmlsdGVyIGlzIGN1cnJlbnRseTogb24AZmlsdGVyIGlzIGN1cnJlbnRseTogb2ZmAHZvbHVtZSAAc2V0IHZvbHVtZTogJWQAY29uZmlnIHZvbHVtZSBbdmFsXQB2YWw6IDggcXVpZXQgLi4gMjU2IGxvdWQAY3VycmVudCB2b2x1bWU6ICVkAGdpZl9sZW4gAHNldCBnaWZfbGVuOiAlZABnaWZfbGVuAGNvbmZpZyBnaWZfbGVuIFtzZWNvbmRzXQBjdXJyZW50IGdpZl9sZW46ICVkAGdpZl9yZXNldF9tb2RlIABzZXQgZ2lmX3Jlc2V0X21vZGU6ICVkAGdpZl9yZXNldF9tb2RlAGNvbmZpZyBnaWZfcmVzZXRfbW9kZSBbbW9kZV0AIDA6IGRvbid0IHJlc2V0IGFmdGVyIHJlY29yZGluZwAgMTogcmVzZXQgYWZ0ZXIgZWFjaCByZWNvcmRpbmcAY3VycmVudCBnaWZfcmVzZXRfbW9kZTogJWQAZ2lmX3NjYWxlIABzZXQgZ2lmX3NjYWxlOiAlZABnaWZfc2NhbGUAY29uZmlnIGdpZl9zY2FsZSBbc2l6ZV0AY3VycmVudCBnaWZfc2NhbGU6ICVkAHNjcmVlbnNob3Rfc2NhbGUgAHNldCBzY3JlZW5zaG90X3NjYWxlOiAlZABzY3JlZW5zaG90X3NjYWxlAGNvbmZpZyBzY3JlZW5zaG90X3NjYWxlIFtzaXplXQBjdXJyZW50IHNjcmVlbnNob3Rfc2NhbGU6ICVkAHRhYl93aWR0aCAAc2V0IHRhYl93aWR0aDogJWQAdGFiX3dpZHRoAGNvbmZpZyB0YWJfd2lkdGggW3dpZHRoXQBjdXJyZW50IHRhYl93aWR0aDogJWQAY29uZmlnIFtzZXR0aW5nXQBhdmFpbGFibGUgc2V0dGluZ3M6ACVkLyVkICUzLjFmIGZwcwAlZC8lZCAlMS4yZiAlMS4yZgByZXN1bWUAcmVzdW1lKCkAbm90aGluZyB0byByZXN1bWUAc3RhdCg0KQAgX2RyYXcAcHJvZ3JhbSBleGNlZWRzIGNoYXIgbGltaXQAJWQgLyAlZCBjaGFycwoAcHJvZ3JhbSB0b28gbGFyZ2UAJWQgLyAlZCB0b2tlbnMKAC0tIHBpY28tOCBoZWFkZXIKCWRvIAlsb2NhbCBfcmVmdW5kX2NwdV8gPSBfX3JlZnVuZF9jcHVfXyAJbG9jYWwgX3BhaXJzID0gX19wYWlyc19fIAlsb2NhbCBfaXBhaXJzID0gX19pcGFpcnNfXyAJbG9jYWwgX3R5cGUgPSBfX3R5cGUgCWxvY2FsIF90b3N0ciA9IF9fdG9zdHIgCWxvY2FsIF9zdG9wID0gX19zdG9wIAlsb2NhbCBfcHJpbnQgPSBfX3ByaW50IAlsb2NhbCBfcHJpbnRoID0gX19wcmludGggCWxvY2FsIF90b3N0cmluZyA9IF9fdG9zdHJpbmdfXyAJbG9jYWwgX2xvYWQgPSBfX2xvYWQgCWxvY2FsIF9zdGF0ID0gc3RhdCAJbG9jYWwgX2V4dGNtZCA9IF9fZXh0Y21kIAlsb2NhbCBfX21lbnVpdGVtID0gX21lbnVpdGVtIAlsb2NhbCBfeWllbGRlZF90b19lc2NhcGVfc2xpY2UgPSBfX3lpZWxkZWRfdG9fZXNjYXBlX3NsaWNlIAlsb2NhbCBfY29yZXN1bWUgPSBfX2NvcmVzdW1lIAlfcGF1c2VtZW51PXt9CWZ1bmN0aW9uIG1lbnVpdGVtKGluZGV4LCBsYWJlbCwgY2FsbGJhY2spCQlpZiAoaW5kZXggPCAxIG9yIGluZGV4ID4gNSkgdGhlbiByZXR1cm4gZW5kCQlfcGF1c2VtZW51W2luZGV4XSA9IHt9IAkJX3BhdXNlbWVudVtpbmRleF0ubGFiZWwgPSBsYWJlbCAJCV9wYXVzZW1lbnVbaW5kZXhdLmNhbGxiYWNrID0gY2FsbGJhY2sgCQlfX21lbnVpdGVtKGluZGV4LCBsYWJlbCkgCWVuZCAJZnVuY3Rpb24gcGFpcnMoYykgIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gZnVuY3Rpb24oKSBlbmQgZW5kIHJldHVybiBfcGFpcnMgKGMpIGVuZCAJZnVuY3Rpb24gaXBhaXJzKGMpIGlmIChjID09IG5pbCkgdGhlbiByZXR1cm4gZnVuY3Rpb24oKSBlbmQgZW5kIHJldHVybiBfaXBhaXJzKGMpIGVuZCAJZnVuY3Rpb24gYWxsKGMpIGlmIChjID09IG5pbCBvciAjYyA9PSAwKSB0aGVuIHJldHVybiBmdW5jdGlvbigpIGVuZCBlbmQgCSAJbG9jYWwgaT0xIAkgCWxvY2FsIGxpPW5pbCAJCV9yZWZ1bmRfY3B1XygoI2MgPj0gMTYpIGFuZCAtMTYgb3IgLSNjKSAJIAlyZXR1cm4gZnVuY3Rpb24oKSAJIAkJaWYgKGNbaV0gPT0gbGkpIHRoZW4gaT1pKzEgZW5kIAkgCQl3aGlsZShjW2ldPT1uaWwgYW5kIGkgPD0gI2MpIGRvIGk9aSsxIGVuZCAJIAkJbGk9Y1tpXSAJCQlfcmVmdW5kX2NwdV8oLTE3KSAJIAkJcmV0dXJuIGxpIAkgCWVuZCAJZW5kIAlmdW5jdGlvbiBmb3JlYWNoKGMsX2YpIGZvciBpIGluIGFsbChjKSBkbyBfZihpKSBlbmQgZW5kIAlmdW5jdGlvbiBjb3VudChjKSAJCWxvY2FsIHRvdGFsPTAgCQlmb3IgaT0xLCNjIGRvIGlmIGNbaV1+PW5pbCB0aGVuIHRvdGFsPXRvdGFsKzEgZW5kIGVuZAkJcmV0dXJuIHRvdGFsCWVuZAlmdW5jdGlvbiBhZGQoYyxpKSBpZiAoYz09bmlsKSB0aGVuIHJldHVybiBlbmQgbG9jYWwgbnVtPSNjIGNbbnVtKzFdPWkgcmV0dXJuIGkgZW5kIAlmdW5jdGlvbiBkZWwoYyxpKSBpZiAoYz09bmlsKSB0aGVuIHJldHVybiBlbmQgbG9jYWwgbnVtPSNjIGlmIChudW0gPCAxKSB0aGVuIHJldHVybiBlbmQgCWxvY2FsIGogbG9jYWwgawlmb3Igaj0xLG51bSBkbyBpZiBjW2pdPT1pIHRoZW4JCWZvciBrPWosbnVtLTEgZG8JCQljW2tdPWNbaysxXQkJZW5kIGNbbnVtXT1uaWwJcmV0dXJuIGkgZW5kIGVuZCBlbmQgZnVuY3Rpb24gdG9zdHIoYSxiKSAJLS1bWyBuZWVkIHRvIHVzZSB0b3N0cmluZyB3aGVuIG1ldGF0YWJsZSBzbyB0aGF0IG10Ll9fdG9zdHJpbmcgd29ya3MuIHNlZSB0ZXN0cy9tZXRhKi5wOCBdXSAJaWYgKChfdHlwZShhKT09InRhYmxlIiBhbmQgKGdldG1ldGF0YWJsZShhKSBvciBiKSkpIG9yICgoX3R5cGUoYSk9PSJmdW5jdGlvbiIgYW5kIGIpKSB0aGVuIAkgcmV0dXJuIF90b3N0cmluZyhhKSAgICAgZWxzZSAJIHJldHVybiBfdG9zdHIoYSxiKSAJZW5kIGVuZCCAPTAuNSCBPTIzMTMwLjUggj0yMDc2Ny41IIM9MyCEPTMyMTI1LjUghT0tMTg0MDIuNSCGPS0xNjMyLjUghz0yMDkyNy41IIg9LTE5MDA4LjUgiT0tMjYyMDguNSCKPS0yMDE5Mi41IIs9MCCMPS0yNDM1MS41II09LTI1NzkyLjUgjj00II89LTIwMDMyLjUgkD0tMjU2MC41IJE9MSCSPS0yMDEyOC41IJM9Njk0My41IJQ9MiCVPS0yNjI0LjUglj0zMTQ1NS41IJc9NSCYPTM4NTUuNSCZPTIxODQ1LjUgZnVuY3Rpb24gbG9hZCguLi4pIAlsb2NhbCByZXM9X2xvYWQoLi4uKSAJZmxpcCgpIC0tW1t0byBzdXBlcnlpZWxkLiByZWY6cGljb3dhcmVdXQlpZiAoX3N0YXQoMTA3KSA+IDApIHRoZW4gcmV0dXJuIHRydWUgZW5kIAlpZiAoX3N0YXQoMTA3KSA9PSAtMSkgdGhlbiByZXR1cm4gZmFsc2UsICJjb3VsZCBub3QgZmluZCBjYXJ0IiBlbmQgCWlmIChfc3RhdCgxMDcpID09IC0yKSB0aGVuIHJldHVybiBmYWxzZSwgImNvdWxkIG5vdCBmZXRjaCBjYXJ0IiBlbmQgCWlmIChfc3RhdCgxMDcpID09IC0zKSB0aGVuIHJldHVybiBmYWxzZSwgImNvdWxkIG5vdCBjb25uZWN0IHRvIGJicyIgZW5kIAlpZiAoX3N0YXQoMTA3KSA8IDAgb3IgcmVzID09IG5pbCkgdGhlbiByZXR1cm4gZmFsc2UsICJhY2Nlc3MgZGVuaWVkIiBlbmQgCXJldHVybiByZXMgZW5kIGZ1bmN0aW9uIGV4dGNtZChjbWQpIAlsb2NhbCByZXM9X2V4dGNtZChjbWQpIAlpZiAoY21kPT0iZ29fYmFjayIgb3IgY21kPT0iYnJlYWRjcnVtYiIpIHRoZW4gCQlmbGlwKCkgLS1bW3RvIHN1cGVyeWllbGRdXQllbmQgCXJldHVybiByZXMgZW5kIGZ1bmN0aW9uIGNvcmVzdW1lKGMsLi4uKSAJX3lpZWxkZWRfdG9fZXNjYXBlX3NsaWNlKDApIAlsb2NhbCByMCxyMSA9X2NvcmVzdW1lKGMsLi4uKQl3aGlsZSAoX3lpZWxkZWRfdG9fZXNjYXBlX3NsaWNlKCkgYW5kIGNvc3RhdHVzKGMpID09ICJzdXNwZW5kZWQiKSBkbyAJCV95aWVsZGVkX3RvX2VzY2FwZV9zbGljZSgwKSAJCXIwLHIxID0gX2NvcmVzdW1lKGMsLi4uKSAJZW5kIAlfeWllbGRlZF90b19lc2NhcGVfc2xpY2UoMCkgCXJldHVybiByMCxyMSBlbmQgZW5kIC0tW1sgc2NvcGUgXV1fX3JlZnVuZF9jcHVfXyA9IG5pbCBfX2lwYWlyc19fID0gbmlsIF9fcGFpcnNfXyA9IG5pbCBfX3Rvc3RyICAgID0gbmlsIF9fc3RvcCAgICAgPSBuaWwgX19wcmludCAgICA9IG5pbCBfX3ByaW50aCAgID0gbmlsIF9fbG9hZCAgICAgPSBuaWwgX19leHRjbWQgICA9IG5pbCBfX3Rvc3RyaW5nX18gPSBuaWwgX195aWVsZGVkX3RvX2VzY2FwZV9zbGljZSA9IG5pbCBfX2NvcmVzdW1lID0gbmlsIAoAMTAzODgAIG5kPTAgACVzICVzKCkAJXMgJXMoIiVzIikAc3Bsb3JlKCkAY29uZmlnAAogX2VuZF9vZl9wcm9ncmFtID0gMSAKAAoJICAgIF9lbmRfb2ZfcHJvZ3JhbSA9IDEgCgkgICAgaWYgKF9pbml0IH49IG5pbCkgdGhlbiBfaW5pdCgpIGVuZAogICAgICAgICAgICBfc2V0X21haW5sb29wX2V4aXN0cygwKQoJICAgIGlmIChfbWFpbmxvb3Agfj0gbmlsKSB0aGVuIF9zZXRfbWFpbmxvb3BfZXhpc3RzKDEpIGVuZAoJICAgIGlmIChfdXBkYXRlNjAgfj0gbmlsKSB0aGVuIF9zZXRfZnBzKDYwKSBfdXBkYXRlPW5pbCBlbHNlIF9zZXRfZnBzKDMwKSBlbmQKCSAgICBpZiAoX21haW5sb29wID09IG5pbCBhbmQgKF9kcmF3IH49IG5pbCBvciBfdXBkYXRlIH49IG5pbCBvciBfdXBkYXRlNjAgfj0gbmlsKSkgdGhlbgoJICAgIAlfc2V0X21haW5sb29wX2V4aXN0cygyKQoJCSAgICBfbWFpbmxvb3AgPSBmdW5jdGlvbigpIAoJICAgICAgICAJd2hpbGUgKHRydWUpIGRvCgkJCQkJX3VwZGF0ZV9idXR0b25zKF91cGRhdGU2MCBhbmQgMSBvciAyKQoJCQkJICAgIF9zdGFydGZyYW1lKCkgCgkJCQkgICAgaWYgKHN0YXQoNykgPT0gNjApIHRoZW4KCQkJCSAgICAJX21hcmtfY3B1KDApIF91cGRhdGU2MCgpIAoJCQkJICAgIGVsc2VpZiAoc3RhdCg3KSA9PSAzMCBhbmQgX3VwZGF0ZTYwKSB0aGVuCgkJCQkgICAgCV91cGRhdGU2MCgpIF91cGRhdGVfYnV0dG9ucygxKSBfbWFya19jcHUoMCkgX3VwZGF0ZTYwKCkKCQkJCSAgICBlbHNlaWYgKHN0YXQoNykgPT0gMzAgYW5kIF91cGRhdGUpIHRoZW4KCQkJCSAgICAJX21hcmtfY3B1KDApIF91cGRhdGUoKSAKCQkJCSAgICBlbHNlaWYgKHN0YXQoNykgPT0gMTUgYW5kIF91cGRhdGUpIHRoZW4KCQkJCSAgICAJX3VwZGF0ZSgpICBfdXBkYXRlX2J1dHRvbnMoMikgX21hcmtfY3B1KDApIF91cGRhdGUoKQoJCQkJICAgIGVuZAoJCQkJICAgIF9tYXJrX2NwdSgxKQoJCQkJICAgIGlmIChfZHJhdyB+PSBuaWwpIHRoZW4KCQkJCQkJbG9jYWwgZGkscmVzPTAsdHJ1ZSAKCQkJCQkJd2hpbGUgKGRpIDwgc3RhdCgxMSkgYW5kIHJlcykgZG8gcmVzID0gX21hcF9kaXNwbGF5KGRpKSBpZiAocmVzKSB0aGVuIHJlcz1fZHJhdygpIGVuZCBkaT1kaSsxIGVuZCAKCQkJCQkJX21hcF9kaXNwbGF5KDApIAoJCQkJCWVuZAoJCQkJICAgIF9tYXJrX2NwdSgyKQoJCQkJCV91cGRhdGVfZnJhbWVyYXRlKCkKCQkJCSAgICBmbGlwKCkKCQkJCSAgICBmb3IgaT0xLDUgZG8KCQkJCSAgICAgaWYgKF9nZXRfbWVudV9pdGVtX3NlbGVjdGVkKGkpKSB0aGVuCgkJCQkgICAgICBfcGF1c2VtZW51W2ldLmNhbGxiYWNrKCkKCQkJCSAgICAgZW5kCgkJCQkgICAgZW5kCgkJCSAgICBlbmQKCQkgICAgZW5kCgkgICAgZW5kCgkJaWYgKF9tYWlubG9vcCB+PSBuaWwpIHRoZW4gX21haW5sb29wKCkgZW5kCiAgICAgICAgCgBzeW50YXggZXJyb3IAc3ludGF4IGVycm9yIGxpbmUgJWQgKHRhYiAlZCkAdW5leHBlY3RlZCBzeW1ib2wgbmVhciAnZW5kJwB1bmV4cGVjdGVkIGVuZCBvZiBsaW5lACVzIGxpbmUgJWQKAAotLT44CgBiYnMvAHJ1bl9jYXJ0IGN1cnJlbnRfZmlsZW5hbWU6ICVzIHJ1bm5pbmdfZmlsZW5hbWU6ICVzIHJ1bm5pbmdfY2FydF9saWQ6ICVzCgBzdGFjayB0cmFjZWJhY2sAJ19tYWlubG9vcABpbiBmdW5jdGlvbiAnAGluICVzIGxpbmUgJWQgKHRhYiAlZCkAaW4gbWFpbiBjaHVuawBhdCBsaW5lICVkICh0YWIgJWQpAGdjIG5vdCBydW5uaW5nOyBjb3VsZCBub3QgcGVyZm9ybSBlbWVyZ2VuY3kgY29sbGVjdGlvbgoAZ2MgaGFyZCBjb2xsZWN0OiAlZCAtPiAlZCAob3ZlcmhlYWQ6JWQpCgBvdXQgb2YgbWVtb3J5AHJ1bnRpbWUgZXJyb3IgbGluZSAlZCB0YWIgJWQAcnVudGltZSBlcnJvcgBbWwBdXQBrZXl3b3JkIGhhc2ggY29sbGlzaW9uOiAlcyAlcwoAZnVuY3Rpb24AZW5kAGZvcgBpZgB0aGVuAGVsc2UAZWxzZWlmAHdoaWxlAG5vdABhbmQAb3IAZG8AbG9jYWwAcmV0dXJuAHJlcGVhdAB1bnRpbABnb3RvAGJyZWFrAG5pbABpbgBmb3JlYWNoAGFsbABhZGQAZGVsAG1lbnVpdGVtAHBhaXJzAGlwYWlycwAlc18lZC5naWYAc2F2aW5nIHZpZGVvIHRvOiAlcwoATkVUU0NBUEUyLjAAZ2lmAFtjYXJ0XQBbL2NhcnRdAEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8AdHJ1ZQBmYWxzZQAucDhsACVzJXMlcy5wOGwAX19yZWZ1bmRfY3B1X18AX19wYWlyc19fAF9faXBhaXJzX18AX19zdG9wAF9fcHJpbnQAX19wcmludGgAX190b3N0cgBfX2xvYWQAX19leHRjbWQAX190b3N0cmluZ19fAHRvc3RyaW5nAF9fdHlwZQBfX2NvcmVzdW1lAF9feWllbGRlZF90b19lc2NhcGVfc2xpY2UAY2QAbWtkaXIAcnVuAGxzAGxvZ2luAGxvYWQAc2F2ZQBoZWxwAHJlYm9vdABzaHV0ZG93bgBleGl0AGluZm8AZXhwb3J0AGltcG9ydABmaWxlOiAlcyVzAHRva2VuczogICAgICU1ZCAvICAlZABjaGFyczogICAgICAlNWQgLyAlZABjb21wcmVzc2VkOiAlNWQgLyAlZAB1bnNhdmVkIGNoYW5nZXMAZXh0ZXJuYWwgY2hhbmdlcwBjb250aW51ZSB3aXRoIHNodXRkb3duPyBbeS9uXQBjb250aW51ZSB3aXRoIHJlYm9vdD8gW3kvbl0AY29tbWFuZHMAbG9hZCA8ZmlsZW5hbWU+ICBzYXZlIDxmaWxlbmFtZT4AcnVuIChvciBjdHJsLXIpICByZXN1bWUAc2h1dGRvd24gICAgICAgICByZWJvb3QAaW5zdGFsbF9kZW1vcyAgICBscwBjZCA8ZGlybmFtZT4gICAgIG1rZGlyIDxkaXJuYW1lPgBjZCAuLiAgICAgIHRvIGdvIHVwIGEgZGlyZWN0b3J5AGtleWNvbmZpZyAgdG8gY2hvb3NlIGJ1dHRvbnMAc3Bsb3JlICAgICB0byBleHBsb3JlIGNhcnRyaWRnZXMAcHJlc3MgZXNjIHRvIHRvZ2dsZSBlZGl0b3IgdmlldwBhbHQrZW50ZXIgdG8gdG9nZ2xlIGZ1bGxzY3JlZW4AYWx0K2Y0IG9yIGN0cmwtcSB0byBmYXN0cXVpdABzZWUgcGljbzgudHh0IGZvciBtb3JlIGluZm8Ab3IgdmlzaXQ6IHd3dy5waWNvLTguY29tAGNhbiBub3Qgc2F2ZSB3aGlsZSBydW5uaW5nAGZpbGVuYW1lIHRvbyBsb25nAEBjbGlwAEBjbGlwLnA4AEBjbGlwLnBuZwBAY2xpcC5wOC5wbmcAd2FybmluZzogbGFiZWwgaXMgYmxhbmsAcnVuIGNhcnQgYW5kIGN0cmwtNyB0byBjYXB0dXJlAF9jbGlwLnA4LnBuZwBfY2xpcC5wOC5wbmcuaGV4AGNvcGllZCB0byB0ZXh0ZmllbGQgLS0gcHJlc3MAY3RybC1jIHRvIGNvcHkgdG8gY2xpcGJvYXJkIQBmYWlsZWQgdG8gc2F2ZSB0byBjbGlwYm9hcmQAJXMlcyVzAGZpbGUgYWxyZWFkeSBleGlzdHMAb3ZlcndyaXRlPyBbeS9uXQBzYXZlZCAlcyVzAGxvZ2luIHVuYXZhaWxhYmxlLgBwbGVhc2UgdXBkYXRlIHBpY28tOCEAY3N0b3JlLwBta2RpciBbbmFtZV0AJXMlcyVzLwBkaXJlY3Rvcnk6IC8lcwAlcyVzLwBjZDogZmFpbGVkAGRpcmVjdG9yeSBub3QgZm91bmQALyVzAGxhYmVsAHNhdmVkIGxhYmVsAHNjcmVlbgBzYXZlZCBzY3JlZW5zaG90IHRvIGRlc2t0b3AAcmVjAHZpZGVvAHNhdmVkIGdpZiB0byBkZXNrdG9wAHBhdXNlAHJlc2V0AGJyZWFkY3J1bWIAZ29fYmFjawBkb3dubG9hZGluZy4uIAAvYmJzL2Nwb3N0X2xpc3RlcjMucGhwP25mbz0xJnZlcnNpb249JXMlYyZsaWQ9JXMAc29ycnksIEBjbGlwIGlzIG5vdCBhdmFpbGFibGUAbG9hZGVkICVzJXMgKCVkIGNoYXJzKQBjb3VsZCBub3QgbG9hZDogZnV0dXJlIHZlcnNpb24AY291bGQgbm90IGxvYWQAMHglMDR4LiUwNHgAWyVzXQBwcmVzcyBjdHJsLWMgdG8gY29tcGxldGUgY29weQBwcmludGg6IGJhZCBsb2cgZmlsZSBuYW1lAHByaW50aDogdG9vIG11Y2ggbG9nIGRhdGEgKDEwbWIgbWF4KQB8JXMAdG9vIG1hbnkgcHJpbnRoIGZpbGVzAGEAJXMKAHByaW50aDogY291bGQgbm90IG9wZW4gbG9nIGZpbGUAZmxpcABjYW1lcmEAY2xpcABjbHMAZm9sZGVyAGRpcgBiYWNrdXAAaW5zdGFsbF9kZW1vcwBpbnN0YWxsX2dhbWVzAGtleWNvbmZpZwBzcGxvcmUAcHNldABwZ2V0AGNvbG9yAHByaW50AHByaW50aAB0b3N0cgBjdXJzb3IAdG9udW0Ac3ByAHNzcHIAcmVjdAByZWN0ZmlsbABjaXJjAGNpcmNmaWxsAGxpbmUAdGxpbmUAcGFsAHBhbHQAZmlsbHAAbWFwZHJhdwBtYXAAbWdldABtc2V0AGZnZXQAZnNldABzZ2V0AHNzZXQAc2Z4AHBlZWsAcG9rZQBzZXJpYWwAcGVlazIAcG9rZTIAcGVlazQAcG9rZTQAbWVtY3B5AG1lbXNldAByZWxvYWQAY3N0b3JlAHJuZABzcmFuZABmbHIAY2VpbABzZ24AYWJzAG1pbgBtYXgAY29zAHNpbgBzcXJ0AGF0YW4yAGJhbmQAYm9yAGJ4b3IAYm5vdABzaGwAc2hyAGxzaHIAcm90bAByb3RyAHN0b3AAdGltZQB0AGxvZ291dABiYnNyZXEAc2NvcmVzdWIAZXh0Y21kAHJhZGlvAHNldF9kcmF3X3NsaWNlAGJ0bgBidG5wAF9tZW51aXRlbQBjYXJ0ZGF0YQBkZ2V0AGRzZXQAc3RhdABzdWIAY2hyAG9yZABuZXh0AHNldG1ldGF0YWJsZQBnZXRtZXRhdGFibGUAcmF3ZXF1YWwAcmF3bGVuAHJhd2dldAByYXdzZXQAYXNzZXJ0AGNvY3JlYXRlAGNvcmVzdW1lAHlpZWxkAGNvc3RhdHVzAHVucGFjawBwYWNrAF9fdHJhY2UAdHJhY2UAaG9sZGZyYW1lAF9zdGFydGZyYW1lAF9nZXRfbWVudV9pdGVtX3NlbGVjdGVkAF91cGRhdGVfYnV0dG9ucwBfdXBkYXRlX2ZyYW1lcmF0ZQBfc2V0X21haW5sb29wX2V4aXN0cwBfc2V0X2ZwcwBfbWFya19jcHUAX21hcF9kaXNwbGF5AGRldmtpdCBrZXlib2FyZCBlbmFibGVkAGRldmtpdCBtb3VzZSBlbmFibGVkAHsgdmFyIHN0ciA9IHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZTsgcmV0dXJuIGFsbG9jYXRlKGludEFycmF5RnJvbVN0cmluZyhzdHIpLCAnaTgnLCBBTExPQ19OT1JNQUwpOyB9ACoqIGRzZXQgY2FsbGVkIGJlZm9yZSBjYXJ0ZGF0YSgpACoqIGRnZXQgY2FsbGVkIGJlZm9yZSBjYXJ0ZGF0YSgpAGNhbiBub3QgY29ubmVjdCB0byBzY29yZXMgaG9zdABjYW4gbm90IGNvbm5lY3QgdG8gYmJzcmVxIGhvc3QAcDhfY3N0b3JlOiBzdG9yaW5nICVkIGJ5dGVzIGFzOiAlcwoAc2FuZGJveGVkX2NzdG9yZSBmaWxlIG5vdCBmb3VuZDogJXMKACAgLS0+IHVzaW5nIGludGVybmFsIGZpbGU6ICVzCgAgIHJlbG9hZCgpaW5nICVkIGJ5dGVzIGZyb206ICVzCgBzb3JyeSwgc3Bsb3JlIGlzIG5vdCBhdmFpbGFibGUAaW5zdGFsbGluZyBnYW1lcyB0byAvZ2FtZXMvAHNvcnJ5LCBkZW1vcyBhcmUgbm90IGF2YWlsYWJsZS4AYmFja2VkIHVwICVzJXMAaG9zdCBhbGxvY2F0aW9uIGVycm9yACVkbWIgKyAlZGsKAGJhZCBtZW1vcnkgYWNjZXNzAHByaW50KCVzKQAhPQArPQAtPQAqPQAvPQAlPQBcPQAmPQB8PQBeXj0APDw+PQA+Pjw9ADw8PQA+Pj49AD4+PQBePQAuLj0AJXMgPSAlcyAlcyAoJXMpICVzAGlmKABpZiAAd2hpbGUoAHdoaWxlIAAlcyB0aGVuICVzIGVuZCAAJXMgZG8gJXMgZW5kIABeCiAwMTIzNDU2Nzg5YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXohIyUoKXt9W108Pis9Lyo6Oy4sfl8AaWYoX3VwZGF0ZTYwKV91cGRhdGU9ZnVuY3Rpb24oKV91cGRhdGU2MCgpX3VwZGF0ZTYwKCllbmQAaWYoX3VwZGF0ZTYwKV91cGRhdGU9ZnVuY3Rpb24oKV91cGRhdGU2MCgpX3VwZGF0ZV9idXR0b25zKClfdXBkYXRlNjAoKWVuZABHSUY4N2EAR0lGODlhAAABAwcPHz9//yVzJXMucDhkLnR4dAAlMDh4AGNhcnRkYXRhKCkgY2FuIG9ubHkgYmUgY2FsbGVkIG9uY2UAY2FydCBkYXRhIGlkIHRvbyBsb25nAGNhcnQgZGF0YSBpZDogYmFkIGNoYXIAcGxheWVyIGtleSBjb25maWcAc2F2ZWQgY29uZmlnLgBwcmVzcyBlc2NhcGUAdG8gY29udGludWUAcHJlc3Mga2V5IGZvcjoAZGVsIGZvciBkZWZhdWx0AGVzYyB0byBjYW5jZWwAJXMgOiAlcwBsZWZ0AHJpZ2h0AHVwAGRvd24AeiAvIGMgLyBuAHggLyB2IC8gbQBzAGYAZQBkAHRhYgBxAHAgLyBlbnRlcgBwMSBsZWZ0ICAgIABwMSByaWdodCAgIABwMSB1cCAgICAgIABwMSBkb3duICAgIABwMSCOICAgICAgAHAxIJcgICAgICAAcDIgbGVmdCAgICAAcDIgcmlnaHQgICAAcDIgdXAgICAgICAAcDIgZG93biAgICAAcDIgjiAgICAgIABwMiCXICAgICAgAHBhdXNlICAgICAgAC5wbmcAfCUtMjBzIHwlLTIwcyB8JS02ZCB8JS0xNnMgfCUtMjBzIHwlcwoAY291bGQgbm90IGxvYWQgZmF2b3VyaXRlcyBmaWxlOiAlcwoAYmJzAGJicy8lZC8AJXN0ZW1wLSVkLm5mbwAlcyVkLnA4LnBuZwBiYnMvY2FydHMAJXMvdGVtcC0lcy5uZm8AJXMvJXMucDgucG5nACVzL2Jicy9nZXRfY2FydC5waHA/Y2F0PTcmcGxheV9zcmM9JWQmbGlkPSVzAGJicy9sYWJlbHMvACVzJXMucG5nAHJ1biBjYXJ0AG9wdGlvbnMAcmVtb3ZlIGZyb20gZmF2b3VyaXRlcwBmYXZvdXJpdGUAY2FydHMgYnkgQCVzAHNpbWlsYXIgY2FydHMAc2VhcmNoIGJicyB0aHJlYWQAb3BlbiB0aHJlYWQgaW4gYnJvd3NlcgBbYmFja10AZWRpdCBjYXJ0AHJlLWRvd25sb2FkAG9wZW4gaW4gYnJvd3NlcgBiYWNrAHZvbHVtZQBmdWxsc2NyZWVuAHNodXRkb3duIHBpY28tOABjYXQ9NyZzZWFyY2g9JXMmbWF4PTMyAGJicy90ZW1wXyVzX18ucGlwLnBuZwBiYnMvdGVtcF8lcy5waXAucG5nAGJicy8lcy5waXAucG5nAC9iYnMvY3Bvc3RfbGlzdGVyMy5waHA/bWF4PTMyJnN0YXJ0X2luZGV4PSVkJiVzJnZlcnNpb249JXMlYyZjZmlsPSVkADAwMDIwMGkAZG93bmxvYWQgZmFpbGVkACoALnA4AGxpZAB0aXRsZQBhdXRob3IAbWlkAGNhdHN1YgAgYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5AGNhbmNlbGxlZABkb3dubG9hZCBjYW5jZWxsZWQAUElDTy04AHsgaWYgKHR5cGVvZiBwaWNvOF9ncGlvICE9PSAndW5kZWZpbmVkJykgcGljbzhfZ3Bpb1skMF09JDF9AHt2YXIgdmFsPTA7IGlmICh0eXBlb2YgcGljbzhfZ3BpbyAhPT0gJ3VuZGVmaW5lZCcpIHZhbCA9IHBpY284X2dwaW9bJDBdOyByZXR1cm4gdmFsfQBoZWxsby5wOABhcGkucDgAYXV0b21hdGEucDgAYm91bmNlLnA4AGNhc3QucDgAY29sbGlkZS5wOABkb3RzM2QucDgAZHJpcHB5LnA4AGplbHBpLnA4AHNvcnQucDgAd2FuZGVyLnA4AHdhdmVzLnA4ADE1MTMzADE5NjM5ADEwMDIyADE5NDg4ADE4OTczADQxNDIyADU3MjAxAGNlbGVzdGUucDgucG5nAGZyb2dfaG9tZS5wOC5wbmcAaHVnX2FyZW5hLnA4LnBuZwBhcmNoZW9zLnA4LnBuZwBkdXNrX2NoaWxkLnA4LnBuZwA4X2xlZ3NfdG9fbG92ZS5wOC5wbmcAZW1icmFjZS5wOC5wbmcAY2VsZXN0ZQBmcm9nIGhvbWUAaHVnIGFyZW5hAHRvd2VyIG9mIGFyY2hlb3MAZHVzayBjaGlsZAA4IGxlZ3MgdG8gbG92ZQBlbWJyYWNlAGluc3RhbGxpbmcgZGVtbyBjYXJ0cyB0byAvZGVtb3MvAGRlbW9zLwB3AGZhdm91cml0ZXMudHh0AGdhbWVzLwAjaW5jbHVkZSAAY2FuIG5vdCAjaW5jbHVkZQBzZXJpYWwgYnVmZmVyIG92ZXJmbG93ACUxMDIzcwBmcmVxAGRtYQB0eXBlAGJyaWdodG5lc3MAaW52ZXJ0AGxlZHMAcGljby04IDAuMi4waQAoYykgMjAxNC0yMCBsZXhhbG9mZmxlIGdhbWVzIGxscAB1c2luZyB0ZW1wb3JhcnkgYnJvd3NlciBzdG9yYWdlAGZldGNoaW5nIGNhcnRyaWRnZS4uAGJvb3RpbmcgY2FydHJpZGdlLi4AW2NvZG9dICVzAD5jb2RvX2luaXQKAHBsYXRmb3JtOiAlcwoARW1zY3JpcHRlbgBjb2RvX3N5c3RlbV9pbml0CgBjb2RvX3Jlc2V0X3RpbWVyCgBjb2RvX2d1aV9pbml0CgBjb2RvX2tleXNfaW5pdAoAY29kb190ZXh0X2luaXQKAGNvZG9fdmlkZW9faW5pdAoAY29kb19tb3VzZV9pbml0CgBjb2RvX2pveXN0aWNrX2luaXQKADxvawoAd2lkdGgAaGVpZ2h0AHNob3dfZnBzAHdpbmRvd2VkAHdpbmRvd194AHdpbmRvd195AGZyYW1lbGVzcwBmdWxsc2NyZWVuX21ldGhvZABmb3JlZ3JvdW5kX3NsZWVwX21zAHNvdW5kX3ZvbHVtZQBtdXNpY192b2x1bWUAc291bmQAbXVzaWMAbWl4X2J1ZmZlcl9zaXplAHNvZnR3YXJlX2JsaXQAc29mdHdhcmVfYmxpdHRlcgBob21lAGRlc2t0b3AAcGl4ZWxfcGVyZmVjdABkcmF3X3JlY3QAdGltZW91dABoZWFkbGVzcwBmcmFtZWJ1ZmZlcgBiYWNrZ3JvdW5kX3NsZWVwX21zAGVtdWxhdGVfdGV4dGlucHV0AGRlZmVycmVkX2RlYWxsb2MAZXh0X2Rpc3BsYXkAcHJlYmxpdF9zY2FsZQBkaXNwbGF5AGxvZ19zeXN0ZW1faW5mbwAlZAAlZCwlZCwlZCwlZAA+Y29kb19leGl0CgBjbXVzaWNfc3RvcAoAY29kb19tYWluX2V4aXQKAGNvZG9fY29uZmlnX3NhdmUKAGNvZG9fc291bmRfZXhpdAoAY29kb192aWRlb19leGl0CgBjb2RvX2pveXN0aWNrX2V4aXQKAGNvZG9fc3lzdGVtX2V4aXQKAGNvZG9faXRlbXNfY3JlYXRlZDogJWQKAEBAIHN5bmNpbmcARlMuc3luY2ZzKCBmYWxzZSwgZnVuY3Rpb24gKGVycikgeyB9ICk7AGNvZG9fZGVzdHJveV9wb2Q6IGNwb2QtPml0ZW1zICE9IDAKAEJhZCBjcG9kX2FkZF9pdGVtIHR5cGUAQmFkIGNwb2RfYWRkX2l0ZW0AY29kb19sb2FkX3BvZF9maWxlOiBVbmtub3duIENodW5rIQoAcmIAZmFpbGVkAG9rAGNvZG9fbG9hZF9wb2Q6ICVzICVzIAoAKiogd2ViIGZpbGUgc3lzdGVtIG5vdCBtb3VudGVkLiByZXR1cm5pbmcgdmRpc2sgZmlsZTogJXMgKCVzKQoAY29kb19mb3BlbiAlcyAoJXMpICVzCgBvcGVuZWQAIC0+IHJldHVybmluZyB2ZGlzayBmaWxlOiAlcyAoJXMpCgAie3JldHVybiAoKHR5cGVvZiBwOF90b3VjaF9kZXRlY3RlZCA9PT0gJ3VuZGVmaW5lZCcpIHx8ICFwOF90b3VjaF9kZXRlY3RlZCkgPyAwIDogMTt9IgBAQCBkZWZhdWx0IG1peF9idWZmZXJfc2l6ZSBhZGp1c3RlZCB0byAyMDQ4IChNb2JpbGUpAGNvZG9fc3BsaXRfZmlsZW5hbWVfZXg6IGZpbGVfbmFtZSB0b28gbG9uZwoALi4AfgAKQXNzZXJ0aW9uIGZhaWxlZDogJXMKAENvdWxkIG5vdCBhbGxvY2F0ZSB2ZXJ0ZXgAQ291bGQgbm90IGFsbG9jYXRlIGJvbmVfdmVydGV4AENvdWxkIG5vdCBhbGxvY2F0ZSBwb2x5AGFjdG9yJWQAIABJSERSAFBMVEUAYktHRABwSFlzAElEQVQAdElNRQB6VFh0AExvZGVQTkcAMjAxMTAyMjEAaVRYdAB0RVh0AHRSTlMAY29kb19mcmVlIGZhaWwgJXggJXgKACUwOHglMDh4JTA4eCUwOHglMDh4ACJ7cmV0dXJuIGRvY3VtZW50LmhpZGRlbiA/IDEgOiAwO30iAGNvZG9fc291bmRfaW5pdCBtaXhfYnVmZmVyX3NpemU6ICVkCgBjb2RvX3NldF9zY3JlZW4gJWQgJWQgJWQgJXgKAHJldHJpZXZpbmcgZGVza3RvcCByZXNvbHV0aW9uOiAlZCAlZAoAIHdpbmRvdyBzaXplOiAlZCAlZAoAIGRlc2t0b3Agc2l6ZTogJWQgJWQKAG9rCgAlWS0lbS0lZCAlSDolTTolUwAlcy8lcwAlZC0lZC0lZCAlZDolZDolZABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAMQAyADMANAA1ADYANwA4ADkAMABSZXR1cm4ARXNjYXBlAEJhY2tzcGFjZQBUYWIAU3BhY2UALQA9AFsAXQBTbGFzaAAjADsAJwBgACwALwBDYXBzTG9jawBGMQBGMgBGMwBGNABGNQBGNgBGNwBGOABGOQBGMTAARjExAEYxMgBQcmludFNjcmVlbgBTY3JvbGxMb2NrAFBhdXNlAEluc2VydABIb21lAFBhZ2VVcABEZWxldGUARW5kAFBhZ2VEb3duAFJpZ2h0AExlZnQARG93bgBVcABOdW1sb2NrAEtleXBhZCAvAEtleXBhZCAqAEtleXBhZCAtAEtleXBhZCArAEtleXBhZCBFbnRlcgBLZXlwYWQgMQBLZXlwYWQgMgBLZXlwYWQgMwBLZXlwYWQgNABLZXlwYWQgNQBLZXlwYWQgNgBLZXlwYWQgNwBLZXlwYWQgOABLZXlwYWQgOQBLZXlwYWQgMABLZXlwYWQgLgBBcHBsaWNhdGlvbgBQb3dlcgBLZXlwYWQgPQBGMTMARjE0AEYxNQBGMTYARjE3AEYxOABGMTkARjIwAEYyMQBGMjIARjIzAEYyNABFeGVjdXRlAEhlbHAATWVudQBTZWxlY3QAU3RvcABBZ2FpbgBVbmRvAEN1dABDb3B5AFBhc3RlAEZpbmQATXV0ZQBWb2x1bWVVcABWb2x1bWVEb3duAEtleXBhZCAsAEtleXBhZCA9IChBUzQwMCkAQWx0RXJhc2UAU3lzUmVxAENhbmNlbABDbGVhcgBQcmlvcgBTZXBhcmF0b3IAT3V0AE9wZXIAQ2xlYXIgLyBBZ2FpbgBDclNlbABFeFNlbABLZXlwYWQgMDAAS2V5cGFkIDAwMABUaG91c2FuZHNTZXBhcmF0b3IARGVjaW1hbFNlcGFyYXRvcgBDdXJyZW5jeVVuaXQAQ3VycmVuY3lTdWJVbml0AEtleXBhZCAoAEtleXBhZCApAEtleXBhZCB7AEtleXBhZCB9AEtleXBhZCBUYWIAS2V5cGFkIEJhY2tzcGFjZQBLZXlwYWQgQQBLZXlwYWQgQgBLZXlwYWQgQwBLZXlwYWQgRABLZXlwYWQgRQBLZXlwYWQgRgBLZXlwYWQgWE9SAEtleXBhZCBeAEtleXBhZCAlAEtleXBhZCA8AEtleXBhZCA+AEtleXBhZCAmAEtleXBhZCAmJgBLZXlwYWQgfABLZXlwYWQgfHwAS2V5cGFkIDoAS2V5cGFkICMAS2V5cGFkIFNwYWNlAEtleXBhZCBAAEtleXBhZCAhAEtleXBhZCBNZW1TdG9yZQBLZXlwYWQgTWVtUmVjYWxsAEtleXBhZCBNZW1DbGVhcgBLZXlwYWQgTWVtQWRkAEtleXBhZCBNZW1TdWJ0cmFjdABLZXlwYWQgTWVtTXVsdGlwbHkAS2V5cGFkIE1lbURpdmlkZQBLZXlwYWQgKy8tAEtleXBhZCBDbGVhcgBLZXlwYWQgQ2xlYXJFbnRyeQBLZXlwYWQgQmluYXJ5AEtleXBhZCBPY3RhbABLZXlwYWQgRGVjaW1hbABLZXlwYWQgSGV4YWRlY2ltYWwATGVmdCBDdHJsAExlZnQgU2hpZnQATGVmdCBBbHQATGVmdCBHVUkAUmlnaHQgQ3RybABSaWdodCBTaGlmdABSaWdodCBBbHQAUmlnaHQgR1VJAE1vZGVTd2l0Y2gAQXVkaW9OZXh0AEF1ZGlvUHJldgBBdWRpb1N0b3AAQXVkaW9QbGF5AEF1ZGlvTXV0ZQBNZWRpYVNlbGVjdABXV1cATWFpbABDYWxjdWxhdG9yAENvbXB1dGVyAEFDIFNlYXJjaABBQyBIb21lAEFDIEJhY2sAQUMgRm9yd2FyZABBQyBTdG9wAEFDIFJlZnJlc2gAQUMgQm9va21hcmtzAEJyaWdodG5lc3NEb3duAEJyaWdodG5lc3NVcABEaXNwbGF5U3dpdGNoAEtCRElsbHVtVG9nZ2xlAEtCRElsbHVtRG93bgBLQkRJbGx1bVVwAEVqZWN0AFNsZWVwAEFwcDEAQXBwMgBBdWRpb1Jld2luZABBdWRpb0Zhc3RGb3J3YXJkAFVuYWJsZSB0byBpbml0aWFsaXplIFNETABpZiAodHlwZW9mIGNvZG9fa2V5X2J1ZmZlciA9PT0gJ3VuZGVmaW5lZCcpIGNvZG9fa2V5X2J1ZmZlciA9IFtdOyBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgZnVuY3Rpb24oZSl7IHZhciB2YWwgPSAtMTsgaWYgKGUua2V5Lmxlbmd0aCA9PSAxKSB7IHZhbCA9IGUua2V5LmNoYXJDb2RlQXQoMCk7IH0gZWxzZSB7IGlmIChlLmtleSA9PSAiVGFiIikgdmFsID0gOTsgaWYgKGUua2V5ID09ICJFbnRlciIpIHZhbCA9IDEzOyBpZiAoZS5rZXkgPT0gIkJhY2tzcGFjZSIpIHZhbCA9IDg7IGlmIChlLmtleSA9PSAiRXNjYXBlIikgdmFsID0gMjc7IGlmICh2YWwgPT0gLTEpeyB9IH0gdmFyIGVsID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvZG9fdGV4dGFyZWEiKTsgY29kb19rZXlfYnVmZmVyLnB1c2godmFsKTsgfSk7AHZhciBfY29kb190ZXh0X3ZhbHVlID0gIiI7IHZhciBfY29kb19zdHJfb3V0ID0gIiI7IHZhciBjb2RvX3doZWVsX2R4ID0gMDsgdmFyIGNvZG9fd2hlZWxfZHkgPSAwOwBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCd3aGVlbCcsIGZ1bmN0aW9uKGUpeyBkeCA9IGUuZGVsdGFYOyBpZiAoZHggPCAwKSBkeCA9IC0xOyBpZiAoZHggPiAwKSBkeCA9IDE7IGlmIChlLmRlbHRhTW9kZSA9PSAyKSBkeCAqPSA0OyBpZiAodHlwZW9mIGNvZG9fd2hlZWxfZHggIT09ICd1bmRlZmluZWQnKSBjb2RvX3doZWVsX2R4IC09IGR4OyBkeSA9IGUuZGVsdGFZOyBpZiAoZHkgPCAwKSBkeSA9IC0xOyBpZiAoZHkgPiAwKSBkeSA9IDE7IGlmIChlLmRlbHRhTW9kZSA9PSAyKSBkeSAqPSA0OyBpZiAodHlwZW9mIGNvZG9fd2hlZWxfZHkgIT09ICd1bmRlZmluZWQnKSBjb2RvX3doZWVsX2R5IC09IGR5OyB9KTsACgoqKiBGQVRBTCBFUlJPUjogJXMKCgBTREwgRXJyb3I6ICVzCgBmdW5jdGlvbiBhdWRpb19sb2cobXNnKSB7IGlmICh3aW5kb3cuY29uc29sZSAmJiB3aW5kb3cuY29uc29sZS5sb2cpIHsgd2luZG93LmNvbnNvbGUubG9nKCJbY29kb10gYXVkaW9faW5pdF93ZWJhdWRpbyAiK21zZyk7IH0gfSBhdWRpb19sb2coImF1ZGlvX2luaXQiKTsgdmFyIGNvZG9fYXVkaW9fY29udGV4dDsgaWYgKHR5cGVvZiBNb2R1bGUgPT09ICd1bmRlZmluZWQnKSBhdWRpb19sb2coIiAqKiogTW9kdWxlIHVuZGVmaW5lZCIpOyBlbHNlIGlmICh0eXBlb2YgTW9kdWxlLmNjYWxsID09PSAndW5kZWZpbmVkJykgYXVkaW9fbG9nKCIgKioqKiBNb2R1bGUuY2NhbGwgdW5kZWZpbmVkIik7IGVsc2UgeyB2YXIgd2ViQXVkaW9BUEkgPSB3aW5kb3cuQXVkaW9Db250ZXh0IHx8IHdpbmRvdy53ZWJraXRBdWRpb0NvbnRleHQgfHwgd2luZG93Lm1vekF1ZGlvQ29udGV4dCB8fCB3aW5kb3cub0F1ZGlvQ29udGV4dCB8fCB3aW5kb3cubXNBdWRpb0NvbnRleHQ7IGlmICh3ZWJBdWRpb0FQSSkgeyBpZiAodHlwZW9mIHBpY284X2F1ZGlvX2NvbnRleHQgIT09ICd1bmRlZmluZWQnKSB7IGNvZG9fYXVkaW9fY29udGV4dCA9IHBpY284X2F1ZGlvX2NvbnRleHQ7IGF1ZGlvX2xvZygiZm91bmQgcGljbzhfYXVkaW9fY29udGV4dCIpOyB9IGVsc2UgaWYgKHR5cGVvZiB2b3hhdHJvbl9hdWRpb19jb250ZXh0ICE9PSAndW5kZWZpbmVkJykgeyBjb2RvX2F1ZGlvX2NvbnRleHQgPSB2b3hhdHJvbl9hdWRpb19jb250ZXh0OyBhdWRpb19sb2coImZvdW5kIHZveGF0cm9uX2F1ZGlvX2NvbnRleHQiKTsgfSBlbHNlIHsgY29kb19hdWRpb19jb250ZXh0ID0gbmV3IHdlYkF1ZGlvQVBJOyBhdWRpb19sb2coImNyZWF0aW5nIG93biBhdWRpbyBjb250ZXh0Iik7IH0gaWYgKGNvZG9fYXVkaW9fY29udGV4dCkgeyBhdWRpb19sb2coIlNhbXBsZSBSYXRlOiAiK2NvZG9fYXVkaW9fY29udGV4dC5zYW1wbGVSYXRlKTsgYXVkaW9fbG9nKCJCdWZmZXIgU2l6ZTogIiskMCk7IG5vZGUgPSBjb2RvX2F1ZGlvX2NvbnRleHQuY3JlYXRlU2NyaXB0UHJvY2Vzc29yKCQwLCAxLCAxKTsgbm9kZS5vbmF1ZGlvcHJvY2VzcyA9IGZ1bmN0aW9uKGUpIHsgdmFyIGRhdGEgPSBlLm91dHB1dEJ1ZmZlci5nZXRDaGFubmVsRGF0YSgwKTsgdmFyIHIgPSAyMjA1MC4wIC8gY29kb19hdWRpb19jb250ZXh0LnNhbXBsZVJhdGU7IHZhciBsZW4wID0gTWF0aC5mbG9vcihkYXRhLmxlbmd0aCAqIHIpOyB2YXIgbGVuMSA9IGRhdGEubGVuZ3RoOyB2YXIgcHRyID0gTW9kdWxlLmNjYWxsKCdtaXhfMCcsICdudW1iZXInLCBbJ251bWJlcicsJ251bWJlciddLCBbbGVuMCwgbGVuMV0pOyBmb3IgKHZhciBqID0gMDsgaiA8IGRhdGEubGVuZ3RoOyBqKyspIGRhdGFbal0gPSBNb2R1bGUuZ2V0VmFsdWUocHRyICsgaioyLCAnaTE2JykgLyAweDgwMDA7IH07IG5vZGUuY29ubmVjdChjb2RvX2F1ZGlvX2NvbnRleHQuZGVzdGluYXRpb24pOyB9IGVsc2UgeyBhdWRpb19sb2coIioqIGZhaWxlZCB0byBjcmVhdGUgY29kb19hdWRpb19jb250ZXh0Iik7IH0gfSBlbHNlIHsgYXVkaW9fbG9nKCIqKiB3ZWJBdWRpb0FQSSBub3QgZm91bmQiKTsgfSB9ACJpZiAodHlwZW9mIGNvZG9fa2V5X2J1ZmZlciA9PT0gJ3VuZGVmaW5lZCcpIGNvZG9fa2V5X2J1ZmZlciA9IFtdOyByZXR1cm4gY29kb19rZXlfYnVmZmVyLmxlbmd0aCA+IDAgPyAxIDogMDsiACJpZiAodHlwZW9mIGNvZG9fa2V5X2J1ZmZlciA9PT0gJ3VuZGVmaW5lZCcpIGNvZG9fa2V5X2J1ZmZlciA9IFtdOyBsZXQgdmFsID0gY29kb19rZXlfYnVmZmVyLnNoaWZ0KCkgfCAwOyByZXR1cm4gdmFsOyIAcmVhZCBjdXJzb3Iga2V5ICVkCgAie3RlbXAgPSAodHlwZW9mIGNvZG9fd2hlZWxfZHggIT09ICd1bmRlZmluZWQnKSA/IGNvZG9fd2hlZWxfZHg6MDsgY29kb193aGVlbF9keCA9IDA7IHJldHVybiB0ZW1wO30iACJ7dGVtcCA9ICh0eXBlb2YgY29kb193aGVlbF9keSAhPT0gJ3VuZGVmaW5lZCcpID8gY29kb193aGVlbF9keTowOyBjb2RvX3doZWVsX2R5ID0gMDsgcmV0dXJuIHRlbXA7fSIAInsgaWYgKGRvY3VtZW50LmhpZGRlbikgcmV0dXJuIDA7IGVsID0gKHR5cGVvZiBjb2RvX3RleHRhcmVhID09PSAndW5kZWZpbmVkJykgPyBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImNvZG9fdGV4dGFyZWFcIikgOiBjb2RvX3RleHRhcmVhOyBpZiAoZWwpIHsgaWYgKGVsID09IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHJldHVybiAxOyB9IGVsID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudDsgcmV0dXJuICghZWwgfHwgKGVsLnRhZ05hbWUudG9Mb3dlckNhc2UoKSAhPSBcImlucHV0XCIgJiYgZWwudGFnTmFtZS50b0xvd2VyQ2FzZSgpICE9IFwidGV4dGFyZWFcIikpOyB9IgBlbCA9ICh0eXBlb2YgY29kb190ZXh0YXJlYSA9PT0gJ3VuZGVmaW5lZCcpID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvZG9fdGV4dGFyZWEiKSA6IGNvZG9fdGV4dGFyZWE7IGlmIChlbCAmJiBlbC5zdHlsZS5kaXNwbGF5ICE9ICJub25lIikgeyBlbC5mb2N1cygpOyBlbC5zZWxlY3QoKTsgfQBlbCA9ICh0eXBlb2YgY29kb190ZXh0YXJlYSA9PT0gJ3VuZGVmaW5lZCcpID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvZG9fdGV4dGFyZWEiKSA6IGNvZG9fdGV4dGFyZWE7IGlmIChlbCAmJiBlbC5zdHlsZS5kaXNwbGF5ICE9ICJub25lIikgeyBlbC5zZWxlY3QoKTsgfQAie3ZhciByZXQgPSAwOyBpZiAodHlwZW9mIHBpY284X21vdXNlICE9PSAndW5kZWZpbmVkJyAmJiBwaWNvOF9tb3VzZS5sZW5ndGggPiAwKSByZXQ9MTsgcmV0dXJuIHJldDt9IgAie3JldHVybiBwaWNvOF9tb3VzZVswXX0iACJ7cmV0dXJuIHBpY284X21vdXNlWzFdfSIAIntyZXR1cm4gcGljbzhfbW91c2VbMl19IgAvdXNlcl9kYXRhLyVzACJ7dmFyIHZhbD0wOyBpZiAodHlwZW9mIGNvZG9fbW91bnRlZF9maWxlc3lzdGVtICE9PSAndW5kZWZpbmVkJykgdmFsPTE7IHJldHVybiB2YWw7fSIAQEAgY29kb19ta2RpciBmYWlsZWQ7IGZpbGVzeXN0ZW0gbm90IGZvdW5kZWQAX2Rpcl9uYW1lPSIiOwB7X2Rpcl9uYW1lPV9kaXJfbmFtZStTdHJpbmcuZnJvbUNoYXJDb2RlKCQwKTt9AGNvbnNvbGUubG9nKCJAQCBta2RpciBkaXJlY3RvcnkgKG5vY2hlY2spOiAiK19kaXJfbmFtZSk7IEZTLmNyZWF0ZVBhdGgoIiIsIF9kaXJfbmFtZSwgdHJ1ZSwgdHJ1ZSk7AEBAIGNvZG9fd2dldF9vbmxvYWQ6IHNhdmluZyAlZCBieXRlcyB0byAlcwoAQEAgY29kb193Z2V0X29uZXJyb3I6ICVzCgBAQCBjb2RvX3dnZXRfd2l0aF9jYWxsYmFja3M6IGRvd25sb2FkaW5nICVzIC0+ICVzCgBlbCA9ICh0eXBlb2YgY29kb190ZXh0YXJlYSA9PT0gJ3VuZGVmaW5lZCcpID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvZG9fdGV4dGFyZWEiKSA6IGNvZG9fdGV4dGFyZWE7IGlmIChlbCkgeyB9AF9jb2RvX3N0cl9vdXQ9IiI7AHtfY29kb19zdHJfb3V0PV9jb2RvX3N0cl9vdXQrU3RyaW5nLmZyb21DaGFyQ29kZSgkMCk7fQAieyBlbCA9ICh0eXBlb2YgY29kb190ZXh0YXJlYSA9PT0gJ3VuZGVmaW5lZCcpID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJjb2RvX3RleHRhcmVhXCIpIDogY29kb190ZXh0YXJlYTsgaWYgKGVsKSB7IGVsLnZhbHVlID0gX2NvZG9fc3RyX291dDsgcmV0dXJuIDA7IH0gZWxzZSByZXR1cm4gMTsgfSIAZWwgPSAodHlwZW9mIGNvZG9fdGV4dGFyZWEgPT09ICd1bmRlZmluZWQnKSA/IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb2RvX3RleHRhcmVhIikgOiBjb2RvX3RleHRhcmVhOyBpZiAoZWwgJiYgZWwuc3R5bGUuZGlzcGxheSA9PSAibm9uZSIgJiYgKCh0eXBlb2YgcDhfdG91Y2hfZGV0ZWN0ZWQgPT09ICd1bmRlZmluZWQnKSB8fCAhcDhfdG91Y2hfZGV0ZWN0ZWQpKSB7IGNvbnNvbGUubG9nKCJAQCBlbmFibGluZyBjb2RvX3RleHRmaWVsZCIpOyBlbC5zdHlsZS5kaXNwbGF5ID0gIiI7IGVsLmZvY3VzKCk7IGVsLnNlbGVjdCgpOyB9ACJ7cmV0dXJuICh0eXBlb2YgX2NvZG9fdGV4dF92YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpID8gMSA6IDA7fSIAaWlpID0gMDsAIntpaWkgPSBpaWkrMTsgcmV0dXJuIF9jb2RvX3RleHRfdmFsdWUuY2hhckNvZGVBdChpaWktMSk7IH0iACJlbCA9ICh0eXBlb2YgY29kb190ZXh0YXJlYSA9PT0gJ3VuZGVmaW5lZCcpID8gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJjb2RvX3RleHRhcmVhXCIpIDogY29kb190ZXh0YXJlYTsgaWYgKGVsICYmIGVsLnN0eWxlLmRpc3BsYXkgIT0gXCJub25lXCIgJiYgZWwudmFsdWUgIT0gXCJcIikgeyBfY29kb190ZXh0X3ZhbHVlID0gZWwudmFsdWU7IHJldHVybiAxOyB9IHJldHVybiAwOyIAJXMlcwBwaWNvLTggY2FydHJpZGdlAHZlcnNpb24gJWQAX19sdWFfXwBfX2dmeF9fAF9fZ2ZmX18AX19tYXBfXwBfX3NmeF9fAF9fbXVzaWNfXwBfX2xhYmVsX18AX19jaGFuZ2VfbWFza19fACUwMnglMDJ4JTAyeCUwMngAJTAyeCUxeCUxeCUxeAAlMDJ4IAByAHBpY28tOCBjYXJ0cmlkZ2UgLy8gaHR0cDovL3d3dy5waWNvLTguY29tCgB2ZXJzaW9uICVkCgBfX2x1YV9fCgAKAF9fZ2Z4X18KACV4AF9fbGFiZWxfXwoAX19nZmZfXwoAJTAyeABfX21hcF9fCgBfX3NmeF9fCgAlMDJ4JXgleCV4AF9fbXVzaWNfXwoAJTAyeCUwMnglMDJ4JTAyeAoAX19jaGFuZ2VfbWFza19fCgB3YgAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgAAAQIEBwMGBQBpbmZpbml0eQBuYW4AcndhAC4="; var tempDoublePtr = 2999168; 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 _exit(status) { exit(status); } var ___tm_current = 2999024; var ___tm_timezone = (stringToUTF8("GMT", 2999072, 4), 2999072); 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_iiiiii, "N": _emscripten_async_wget_data, "O": _emscripten_get_heap_size, "P": _emscripten_get_now, "Q": _emscripten_memcpy_big, "R": _emscripten_resize_heap, "S": _emscripten_set_main_loop, "T": _emscripten_set_main_loop_timing, "U": _exit, "V": _gmtime, "W": _gmtime_r, "X": _localtime, "Y": _localtime_r, "Z": _longjmp, "_": _strftime, "$": _time, "aa": _tzset, "ab": abortOnCannotGrowMemory, "ac": tempDoublePtr, "ad": 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.ac|0,i=env.ad|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=2999184,Ha=8242064,Ia=0.0; // EMSCRIPTEN_START_FUNCS function If(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=Ga;Ga=Ga+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:2059440;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;Ga=d;return o|0}break}default:{o=l-h>>3;Ga=d;return o|0}}if((m|0)<=1){Og(2998896);p=lf(b,2,45458,0)|0;c[e>>2]=p;hf(b,43484,e)|0}m=g+16|0;g=m>>>0>>0?m:2059440;if((c[g+4>>2]&15|0)!=4)if(!(rd(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{vc(b);break}while(0);j=(c[c[f>>2]>>2]|0)+16|0;r=j>>>0<(c[i>>2]|0)>>>0?j:2059440;s=13}else{r=g;s=13}if((s|0)==13)q=(c[r>>2]|0)+16|0;Og(q);p=lf(b,2,45458,0)|0;c[e>>2]=p;hf(b,43484,e)|0;return 0}function Jf(a){a=a|0;var b=0;b=(c[c[a+16>>2]>>2]|0)+8|0;if(!((b|0)==2059440?1:b>>>0>=(c[a+8>>2]|0)>>>0)){rf(a,1,0)|0;return 1}gf(a,1,45087)|0;rf(a,1,0)|0;return 1}function Kf(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:2059440;if((c[h+4>>2]|0)==72?(i=c[h>>2]|0,(i|0)!=0):0){j=e;k=g;l=i}else{gf(a,1,45476)|0;j=(c[c[b>>2]>>2]|0)+8|0;k=c[f>>2]|0;l=0}i=Lf(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]|0)==22)r=2059440;else{l=c[b>>2]|0;r=(i+-1000999|0)>(d[l+6>>0]|0|0)?2059440: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 Lf(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=Ga;Ga=Ga+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)?(ec(d,5,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{vc(b);break}while(0);p=Lc(b,45495,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;Ga=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{vc(b);break}while(0);i=Lc(b,45533,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;Ga=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((Mf(d,b,e)|0)>>>0>=2){if(k){s=-1;Ga=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;Ga=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)?(ec(b,5,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{vc(b);break}while(0);p=Lc(b,45571,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;Ga=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;Ga=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;Ga=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;Ga=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;Ga=f;return s|0}function Mf(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=ec(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;zc(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=Lc(d,43537,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)gc(d,w);c[r>>2]=c[u+32>>2];a[k>>0]=a[k>>0]|32;a[u+37>>0]=t;w=ec(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=Lc(d,43537,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 Nf(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;f=c[b+16>>2]|0;if((e[b+38>>1]|0)>199)Qf(b,42877,d);g=b+6|0;switch(a[g>>0]|0){case 0:{if((f|0)!=(b+72|0))Qf(b,45607,d);if(lc(b,d+-8|0,-1)|0)return;mc(b);return}case 1:{a[g>>0]=0;c[f>>2]=(c[b+28>>2]|0)+(c[f+20>>2]|0);g=f+18|0;h=a[g>>0]|0;if(!(h&1)){i=c[f+28>>2]|0;if(!i)j=d;else{a[f+37>>0]=1;a[g>>0]=h|8;h=Ja[i&255](b)|0;j=(c[b+8>>2]|0)+(0-h<<3)|0}ed(b,j)|0}else mc(b);Of(b,0);return}default:Qf(b,45645,d)}}function Of(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;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=Ja[c[j+28>>2]&255](d)|0;ed(d,(c[i>>2]|0)+(0-f<<3)|0)|0}else{Pf(d);mc(d)}j=c[e>>2]|0}while((j|0)!=(g|0));return}function Pf(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=2059440;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=2059440;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;yc(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 Qf(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=zd(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;fc(b,-1)}function Rf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;b=Ga;Ga=Ga+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)==2059440?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]=52325;c[d+4>>2]=j;gf(a,1,Bd(a,45067,d)|0)|0}d=Sf(a)|0;j=(c[c[e>>2]>>2]|0)+8|0;e=c[h>>2]|0;i=j>>>0>>0?j:2059440;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)){Ga=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];Ga=b;return 1}function Sf(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{vc(d);j=c[e>>2]|0;break}else j=f;while(0);f=j+4|0;g=Ma[c[j>>2]&1](c[f>>2]|0,0,8,112)|0;if(!g){if(!(a[j+51>>0]|0))fc(d,4);rc(d,1);h=Ma[c[j>>2]&1](c[f>>2]|0,0,8,112)|0;if(!h)fc(d,4);else k=h}else k=g;g=j+12|0;c[g>>2]=(c[g>>2]|0)+112;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=Ma[c[i>>2]&1](c[e>>2]|0,0,0,320)|0;if(!f){if(!(a[i+51>>0]|0))fc(d,4);rc(d,1);l=Ma[c[i>>2]&1](c[e>>2]|0,0,0,320)|0;if(!l)fc(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 Tf(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:2059440;if((c[f+4>>2]|0)==72?(d=c[f>>2]|0,(d|0)!=0):0)g=d;else{gf(b,1,45476)|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{vc(b);break}while(0);j=Lc(b,45674,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{vc(b);break}while(0);j=Lc(b,45682,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{vc(b);break}while(0);j=Lc(b,45692,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{vc(b);break}while(0);j=Lc(b,45699,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{vc(b);break}while(0);j=Lc(b,45682,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{vc(b);break}while(0);j=Lc(b,45699,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 Uf(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)==2059440?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=qd(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)==2059440)?(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)==2059440)?(c[d+(f<<3)+4>>2]&15|0)!=0:0)l=mf(a,f)|0;else l=h;cf(a,i,g,l);return 1}function Vf(a){a=a|0;uf(c[(c[a+12>>2]|0)+144>>2]|0);return}function Wf(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;d=Ga;Ga=Ga+16|0;e=d;f=b+16|0;g=(c[c[f>>2]>>2]|0)+8|0;h=b+8|0;i=g>>>0<(c[h>>2]|0)>>>0?g:2059440;do if((c[i+4>>2]&15|0)==4){j=i;k=8}else{if(!(rd(b,i)|0)){g=c[c[f>>2]>>2]|0;l=g+8|0;if((l|0)==2059440?1:l>>>0>=(c[h>>2]|0)>>>0)m=0;else m=(c[g+12>>2]&15)+1|0;g=c[16+(m<<2)>>2]|0;c[e>>2]=42830;c[e+4>>2]=g;gf(b,1,Bd(b,45067,e)|0)|0;n=0;o=0;break}g=c[b+12>>2]|0;l=g+12|0;p=c[l>>2]|0;do if((p|0)>0)if(!(a[g+51>>0]|0)){q=g+8|0;c[q>>2]=p+1600+(c[q>>2]|0);c[l>>2]=-1600;break}else{vc(b);break}while(0);l=(c[c[f>>2]>>2]|0)+8|0;j=l>>>0<(c[h>>2]|0)>>>0?l:2059440;k=8}while(0);if((k|0)==8){k=c[j>>2]|0;n=k+16|0;o=c[k+12>>2]|0}k=mf(b,2)|0;j=o+1|0;e=(k|0)>-1?k:o>>>0<(0-k|0)>>>0?0:j+k|0;k=c[c[f>>2]>>2]|0;f=k+24|0;if(!((f|0)==2059440?1:f>>>0>=(c[h>>2]|0)>>>0)?(c[k+28>>2]&15|0)!=0:0){k=mf(b,3)|0;r=(k|0)>-1?k:o>>>0<(0-k|0)>>>0?0:j+k|0}else r=o;k=(e|0)==0?1:e;e=r>>>0>o>>>0?o:r;if(e>>>0>>0){r=c[b+12>>2]|0;o=r+12|0;j=c[o>>2]|0;do if((j|0)>0)if(!(a[r+51>>0]|0)){f=r+8|0;c[f>>2]=j+1600+(c[f>>2]|0);c[o>>2]=-1600;break}else{vc(b);break}while(0);s=Lc(b,2998896,0)|0;t=c[h>>2]|0;c[t>>2]=s;u=s+4|0;v=a[u>>0]|0;w=v|64;x=w&255;y=t+4|0;c[y>>2]=x;z=c[h>>2]|0;A=z+8|0;c[h>>2]=A;Ga=d;return 1}else{o=n+k+-1|0;n=1-k+e|0;e=c[b+12>>2]|0;k=e+12|0;j=c[k>>2]|0;do if((j|0)>0)if(!(a[e+51>>0]|0)){r=e+8|0;c[r>>2]=j+1600+(c[r>>2]|0);c[k>>2]=-1600;break}else{vc(b);break}while(0);s=gd(b,o,n)|0;t=c[h>>2]|0;c[t>>2]=s;u=s+4|0;v=a[u>>0]|0;w=v|64;x=w&255;y=t+4|0;c[y>>2]=x;z=c[h>>2]|0;A=z+8|0;c[h>>2]=A;Ga=d;return 1}return 0}function Xf(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=b+16|0;f=(c[d>>2]|0)-((c[c[e>>2]>>2]|0)+8)|0;g=f>>3;Gd(b,g,1);h=c[d>>2]|0;c[h>>2]=g;c[h+4>>2]=3;h=c[d>>2]|0;c[d>>2]=h+16;i=gd(b,44994,1)|0;c[h+8>>2]=i;c[h+12>>2]=(a[i+4>>0]|64)&255;i=c[d>>2]|0;pc(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)return 1;j=(c[c[e>>2]>>2]|0)+8|0;k=j>>>0>>0?j:2059440;c[h>>2]=c[k>>2];c[i+-12>>2]=c[k+4>>2];c[d>>2]=(c[d>>2]|0)+8;Id(b,-2,1);k=c[d>>2]|0;i=(c[c[e>>2]>>2]|0)+8|0;e=i>>>0>>0?i:2059440;c[e>>2]=c[k+-8>>2];c[e+4>>2]=c[k+-4>>2];c[d>>2]=(c[d>>2]|0)+-8;if((f|0)<=8)return 1;f=g;while(1){Id(b,1,f);if((f|0)>2)f=f+-1|0;else break}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,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;b=Ga;Ga=Ga+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)==2059440)){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]=42837;c[g+4>>2]=q;gf(a,1,Bd(a,45067,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)==2059440)?(c[n+20>>2]&15|0)!=0:0){g=mf(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)==2059440)?(c[r+28>>2]&15|0)!=0:0)u=mf(a,3)|0;else{o=r+8|0;xc(a,s,o>>>0>>0?o:2059440);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)hf(a,45102,f)|0;n=c[o>>2]|0;if(!(Ec(n+16|0,c[n+12>>2]|0,h)|0))hf(a,45102,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;Ga=b;return x|0}v=u-t|0;w=v+1|0;if((v|0)<0)hf(a,45704,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)?(ec(a,5,h)|0)==0:0){y=c[l>>2]|0;z=c[h>>2]|0;break}hf(a,45704,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:2059440)>>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=2059440;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)){x=w;Ga=b;return x|0}y=t;t=A;while(1){A=y;y=y+1|0;e=(c[c[i>>2]>>2]|0)+8|0;s=c[(e>>>0>>0?e:2059440)>>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=2059440;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;if((y|0)==(u|0)){x=w;break}}Ga=b;return x|0}function Zf(){c[514865]=0;return}function _f(){var a=0,b=0,d=0,e=0,f=0;a=c[514864]|0;b=c[8612]|0;if((a|0)<=(b|0)){d=0;c[514864]=d;return}e=c[514863]|0;f=a;do{e=e+b|0;f=f-b|0}while((f|0)>(b|0));c[514863]=e;d=f;c[514864]=d;return}function $f(){return c[514866]|0}function ag(a){a=a|0;c[514866]=a;return}function bg(){return (c[514864]|0)+(c[514863]|0)|0}function cg(a){a=a|0;c[514864]=(c[514864]|0)+a;return 0}function dg(a){a=a|0;c[8612]=a;return}function eg(){c[514863]=0;c[514864]=0;return}function fg(){c[514865]=1;c[514866]=1;return}function gg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[514875]|0;if((e|0)>510)return;Zl(156688+(e*1320|0)|0,a)|0;Zl(156688+((c[514875]|0)*1320|0)+256|0,b)|0;b=c[514875]|0;c[156688+(b*1320|0)+1316>>2]=d;Zl(156688+(b*1320|0)+288|0,2928412)|0;c[514875]=(c[514875]|0)+1;return}function hg(){c[749099]=0;c[514875]=0;return}function ig(){var a=0;a=c[514875]|0;return ((a|0)<1?0:156688+((a+-1|0)*1320|0)+256|0)|0}function jg(){var a=0;a=c[514875]|0;return ((a|0)<1?0:156688+((a+-1|0)*1320|0)|0)|0}function kg(){var a=0,b=0;a=c[514875]|0;if((a|0)<1)return;b=a+-1|0;if(!(c[156688+(b*1320|0)+1316>>2]|0))return;c[514875]=b;return}function lg(){var a=0,b=0;a=c[514875]|0;if(!a)return;b=156688+((a+-1|0)*1320|0)+1316|0;if(!(c[b>>2]|0))return;c[b>>2]=0;return}function mg(){var a=0;a=c[514875]|0;if((a|0)<1)return;Tb(156688+((a+-1|0)*1320|0)|0)|0;c[731640]=1;a=c[514875]|0;Zl(2929437,(a|0)<1?0:156688+((a+-1|0)*1320|0)+288|0)|0;c[731643]=20;a=c[514875]|0;if((a|0)>=1)c[514875]=a+-1;c[406460]=0;return}function ng(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=(c[694282]|0)!=0;f=c[731635]|0;if(e&(f|0)==0){Ft(b)|0;return}if(!((a[2022284]|0)==0|e^1)){Ft(b)|0;return}if((f|0)!=2)ma(17,b|0,ss(b)|0)|0;f=ss(b)|0;if((f|0)>32){e=~f;g=((f+((e|0)>-65?e:-65)+32|0)>>>5)*6|0;e=f;while(1){Xa();if((e|0)>64)e=e+-32|0;else break}h=g+6|0}else h=0;g=(c[731748]|0)-h|0;c[731748]=g;e=c[694267]|0;nm(e,0,g,127,g+5+((((ss(b)|0)+-1|0)>>>5)*6|0)|0,0);Ym(c[694267]|0,b,c[694286]|0,c[731747]|0,c[731748]|0,17,d)|0;c[731748]=(c[731748]|0)+h;Xa();return}function og(a){a=a|0;ng(a,6);return}function pg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ga;Ga=Ga+16|0;f=e;c[f>>2]=b;c[f+4>>2]=d;Ir(1469616,a,f)|0;ng(1469616,6);Ga=e;return}function qg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Ga;Ga=Ga+16|0;g=f;c[g>>2]=b;c[g+4>>2]=d;Ir(1469616,a,g)|0;ng(1469616,e);Ga=f;return}function rg(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=Ga;Ga=Ga+48|0;f=e+24|0;g=e+8|0;h=e;i=e+32|0;j=e+28|0;if(rt(b,45940)|0){k=0;Ga=e;return k|0}l=rt(b,45956)|0;if(!l){if(!b){k=0;Ga=e;return k|0}m=Uo((ss(b)|0)+1|0)|0;Zl(m,b)|0;n=m+(ss(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);At(832528,(a[r>>0]|0)==58?s+1|0:r,1023)|0;a[833551]=0;Wo(m);k=832528;Ga=e;return k|0}c[i>>2]=0;c[j>>2]=0;m=rt(b,45967)|0;if(m|0){c[i>>2]=0;c[h>>2]=i;c[h+4>>2]=j;gt(m+8|0,45976,h)|0}h=Uo((ss(b)|0)+1|0)|0;Zl(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;Ir(1469616,46021,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;Ir(1469616,45988,g)|0}ng(1469616,6);g=c[i>>2]|0;if((g|0)>0?(i=c[729239]|0,d=g+-1|0,(Xq(c[i>>2]|0,c[i+336>>2]|0)|0)!=(d|0)):0){i=Yq(c[c[729239]>>2]|0,d)|0;d=c[729239]|0;c[d+336>>2]=i;Vq(d,52);c[406466]=g}Wo(h);k=0;Ga=e;return k|0}function sg(b){b=b|0;var c=0;c=So(8192)|0;Zl(c,b)|0;if(!(rt(b,46033)|0)){if(is(b,46067)|0)ng(c,6)}else if(rt(b,46050)|0?(ng(46050,6),a[2997776]|0):0)ng(2997776,7);Wo(c);return}function tg(a){a=a|0;var b=0;if(!a){b=bg()|0;return b|0}else{b=c[694263]|0;return b|0}return 0}function ug(){var a=0;a=c[514873]|0;if(a|0)Vf(a);a=sf(1,0)|0;c[514873]=a;c[514872]=a;c[514874]=Sf(a)|0;Qh(c[514872]|0);return}function vg(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=So(262144)|0;Nl(b,e)|0;f=e;g=e}Wo(c[514876]|0);if(!g){e=Uo(16)|0;c[514876]=e;a[e>>0]=0;Wo(f);h=c[514876]|0;return h|0}e=(ss(g)|0)+1|0;b=Uo(e>>>0>32?e:32)|0;c[514876]=b;Zl(b,g)|0;g=c[514876]|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;Wo(f);h=e;return h|0}while(0);Zl(g,46085)|0;Wo(f);h=c[514876]|0;return h|0}function wg(){var b=0,d=0,e=0,f=0,g=0;b=c[731747]|0;d=c[731748]|0;e=mk(0)|0;f=mk(1)|0;g=Tj(2777036,c[732713]|0,24375)|0;Vj(2777036,c[732713]|0,24320,0,128);c[731747]=b;c[731748]=d;nk(0,e);nk(1,f);Sj(2777036,c[732713]|0,24375,g);c[731747]=0;c[731746]=6;c[731757]=15;c[731756]=15;c[731755]=255;c[731760]=0;c[731761]=0;c[731763]=0;c[731752]=0;c[731751]=0;c[731726]=0;c[731711]=1;c[731727]=1;c[731712]=2;c[731728]=2;c[731713]=3;c[731729]=3;c[731714]=4;c[731730]=4;c[731715]=5;c[731731]=5;c[731716]=6;c[731732]=6;c[731717]=7;c[731733]=7;c[731718]=8;c[731734]=8;c[731719]=9;c[731735]=9;c[731720]=10;c[731736]=10;c[731721]=11;c[731737]=11;c[731722]=12;c[731738]=12;c[731723]=13;c[731739]=13;c[731724]=14;c[731740]=14;c[731725]=15;c[731741]=15;c[731710]=16;c[731754]=0;vm(c[694267]|0);c[731743]=0;c[731742]=0;c[731745]=128;c[731744]=128;c[731759]=0;a[2997776]=0;c[732102]=0;c[505562]=0;c[749101]=0;c[749102]=0;c[749103]=0;c[694260]=0;c[749572]=0;Vl();if(c[749441]|0){c[694262]=0;return}c[405622]=0;c[405625]=0;c[694262]=0;return}function xg(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=Ga;Ga=Ga+160|0;e=d+136|0;f=d+128|0;g=d+120|0;h=d+112|0;i=d+104|0;j=d+96|0;k=d+88|0;l=d+80|0;m=d+72|0;n=d+64|0;o=d+56|0;p=d+48|0;q=d+40|0;r=d+32|0;s=d+24|0;t=d+16|0;u=d+8|0;v=d;w=d+144|0;c[w>>2]=0;c[731746]=6;if(Gr(b,46091,6)|0)if(!(Gr(b,46098,5)|0))x=b+5|0;else{if(Gr(b,46218,14)|0)if(Gr(b,46233,13)|0){if(!(Gr(b,46410,7)|0)){c[v>>2]=w;gt(b+7|0,58441,v)|0;v=c[w>>2]|0;y=(v|0)<256?v:256;v=(y|0)>8?y:8;c[w>>2]=v;c[505569]=v;if(c[515432]|0)c[515432]=v;c[u>>2]=v;Ir(1469616,46418,u)|0;ng(1469616,14);Ga=d;return}if(!(Gr(b,56808,6)|0)){ng(46433,14);ng(46453,12);c[t>>2]=c[505569];c[t+4>>2]=0;Ir(1469616,46478,t)|0;ng(1469616,6);Ga=d;return}if(!(Gr(b,46497,8)|0)){c[s>>2]=w;gt(b+8|0,58441,s)|0;s=c[w>>2]|0;t=(s|0)<120?s:120;s=(t|0)>1?t:1;c[w>>2]=s;c[405610]=s;c[r>>2]=s;Ir(1469616,46506,r)|0;ng(1469616,14);kh();Ga=d;return}if(!(Gr(b,46522,7)|0)){ng(46530,14);c[q>>2]=c[405610];c[q+4>>2]=0;Ir(1469616,46555,q)|0;ng(1469616,6);Ga=d;return}if(!(Gr(b,46575,15)|0)){c[p>>2]=w;gt(b+15|0,58441,p)|0;p=c[w>>2]|0;q=(p|0)<1?p:1;p=(q|0)>0?q:0;c[w>>2]=p;c[405611]=p;c[o>>2]=p;Ir(1469616,46591,o)|0;ng(1469616,14);Ga=d;return}if(!(Gr(b,46614,14)|0)){ng(46629,14);ng(46658,12);ng(46690,12);ng(2998896,6);c[n>>2]=c[405611];c[n+4>>2]=0;Ir(1469616,46721,n)|0;ng(1469616,6);Ga=d;return}n=b+10|0;if(!(Gr(b,46748,10)|0)){c[m>>2]=w;gt(n,58441,m)|0;m=c[w>>2]|0;o=(m|0)<8?m:8;m=(o|0)>1?o:1;c[w>>2]=m;c[405607]=m;c[l>>2]=m;Ir(1469616,46759,l)|0;ng(1469616,14);Ga=d;return}if(!(Gr(b,46777,9)|0)){ng(46787,14);c[k>>2]=c[405607];c[k+4>>2]=0;Ir(1469616,46811,k)|0;ng(1469616,6);Ga=d;return}if(!(Gr(b,46833,17)|0)){c[j>>2]=w;gt(b+17|0,58441,j)|0;j=c[w>>2]|0;k=(j|0)<8?j:8;j=(k|0)>1?k:1;c[w>>2]=j;c[405606]=j;c[i>>2]=j;Ir(1469616,46851,i)|0;ng(1469616,14);Ga=d;return}if(!(Gr(b,46876,16)|0)){ng(46893,14);c[h>>2]=c[405606];c[h+4>>2]=0;Ir(1469616,46924,h)|0;ng(1469616,6);Ga=d;return}if(!(Gr(b,46953,10)|0)){c[g>>2]=w;gt(n,58441,g)|0;g=c[w>>2]|0;n=(g|0)<8?g:8;g=(n|0)>1?n:1;c[w>>2]=g;c[405604]=g;c[f>>2]=g;Ir(1469616,46964,f)|0;ng(1469616,14);Ga=d;return}if(!(Gr(b,46982,9)|0)){ng(46992,14);c[e>>2]=c[405604];c[e+4>>2]=0;Ir(1469616,47017,e)|0;ng(1469616,6);Ga=d;return}else{ng(47039,14);ng(2998896,6);ng(47056,12);c[731746]=14;ng(56808,6);ng(46098,6);ng(46522,6);ng(46614,6);ng(46777,6);ng(46876,6);ng(46233,6);ng(46982,6);ng(2998896,6);Ga=d;return}}else z=b+13|0;else z=b+14|0;if(!(Gr(z,46247,2)|0)){c[405618]=1;ng(46250,14);Ga=d;return}if(!(Gr(z,46260,3)|0)){c[405618]=0;ng(46264,14);Ga=d;return}switch(a[z>>0]|0){case 49:{c[405618]=1;ng(46250,14);Ga=d;return}case 48:{c[405618]=0;ng(46264,14);Ga=d;return}default:{ng(46275,14);ng(2998896,6);ng(46300,6);ng(46330,6);ng(2998896,6);if(!((c[405618]|0)!=0?(ng(46361,12),(c[405618]|0)!=0):0))ng(46385,12);ng(2998896,6);Ga=d;return}}}else x=b+6|0;if(!(Gr(x,46104,4)|0)){c[405612]=1;ng(46109,14);Ga=d;return}if(!(Gr(x,46127,4)|0)){c[405612]=0;ng(46132,14);Ga=d;return}if(!(Gr(x,46150,7)|0)){c[405612]=3;ng(46158,14);Ga=d;return}else{ng(46179,14);ng(2998896,6);ng(46200,12);ng(46127,6);ng(46104,6);ng(46150,6);ng(2998896,6);Ga=d;return}}function yg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=(oq()|0)/120|0;if((c[506365]|0)==0|(c[694260]|0)<240)return;d=bg()|0;e=eu(d|0,((d|0)<0)<<31>>31|0,16)|0;d=G()|0;f=c[749165]|0;g=8388608/(((f|0)==0?30:f)|0)|0;f=_t(e|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;G()|0;if((c[731635]|0)!=1|(f|0)<7864320|(c[731641]|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){nm(a,3,e,5,h,0);sm(a,4,f,((Pn(2)|0)<<1)+12|0)}if(((((d<<2)+103|0)%4701|0|0)%101|0)&8|0){nm(a,3,e,5,h,0);sm(a,4,f,7)}if(((((g*43|0)+103|0)%4701|0|0)%97|0)&4|0){nm(a,5,e,7,h,0);sm(a,6,f,((Pn(2)|0)<<1)+12|0)}if(((((d*6|0)+103|0)%4701|0|0)%101|0)&8|0){nm(a,5,e,7,h,0);sm(a,6,f,7)}if(((((g*45|0)+103|0)%4701|0|0)%97|0)&4|0){nm(a,7,e,9,h,0);sm(a,8,f,((Pn(2)|0)<<1)+12|0)}if(((((d<<3)+103|0)%4701|0|0)%101|0)&8|0){nm(a,7,e,9,h,0);sm(a,8,f,7)}f=f+2|0}while(f>>>0<10);return}function zg(a){a=a|0;var b=0,d=0,e=0;b=eu(a|0,((a|0)<0)<<31>>31|0,16)|0;a=G()|0;d=c[749165]|0;e=8388608/(((d|0)==0?30:d)|0)|0;d=_t(b|0,a|0,e|0,((e|0)<0)<<31>>31|0)|0;G()|0;return d|0}function Ag(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=Ga;Ga=Ga+48|0;d=b+16|0;e=b;if(!((c[731635]|0)==1&(c[731641]|0)!=0)){Ga=b;return}Kj(a,60,4,123,26,0);om(a,60,4,124,27);f=0;do{h=((c[506362]|0)+f|0)%64|0;if(!f)i=60;else{j=f+60|0;k=c[2023400+(h<<5)+20>>2]|0;sm(a,j,((k|0)/32768|0)+2|0,(k|0)>131071?8:2);i=j}sm(a,i,19-(c[2023400+(h<<5)+16>>2]|0)|0,2);l=2023400+(h<<5)+4|0;j=c[l>>2]|0;k=(j|0)<98303?j:98303;j=c[2023400+(h<<5)+12>>2]|0;sm(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(!(Nm(225)|0)){f=c[749165]|0;m=+(c[l>>2]|0)*.0000152587890625;n=+((c[506355]|0)+((c[506347]|0)+((c[506339]|0)+((c[506331]|0)+((c[506323]|0)+((c[506315]|0)+((c[506307]|0)+((c[506299]|0)+((c[506291]|0)+((c[506283]|0)+((c[506275]|0)+((c[506267]|0)+((c[506259]|0)+((c[506251]|0)+((c[506243]|0)+((c[506235]|0)+((c[506227]|0)+((c[506219]|0)+((c[506211]|0)+((c[506203]|0)+((c[506195]|0)+((c[506187]|0)+((c[506179]|0)+((c[506171]|0)+((c[506163]|0)+((c[506155]|0)+((c[506147]|0)+((c[506139]|0)+((c[506131]|0)+((c[506123]|0)+((c[506115]|0)+((c[506107]|0)+((c[506099]|0)+((c[506091]|0)+((c[506083]|0)+((c[506075]|0)+((c[506067]|0)+((c[506059]|0)+((c[506051]|0)+((c[506043]|0)+((c[506035]|0)+((c[506027]|0)+((c[506019]|0)+((c[506011]|0)+((c[506003]|0)+((c[505995]|0)+((c[505987]|0)+((c[505979]|0)+((c[505971]|0)+((c[505963]|0)+((c[505955]|0)+((c[505947]|0)+((c[505939]|0)+((c[505931]|0)+((c[505923]|0)+((c[505915]|0)+((c[505907]|0)+((c[505899]|0)+((c[505891]|0)+((c[505883]|0)+((c[505875]|0)+((c[505867]|0)+((c[505859]|0)+(c[505851]|0)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))|0)*2.384185791015625e-07;c[d>>2]=c[749164];c[d+4>>2]=f;g[d+8>>3]=m;g[d+16>>3]=n;Ir(1469616,47092,d)|0;Ym(a,1469616,c[694286]|0,63,20,1,(c[749164]|0)<(c[749165]|0)?8:13)|0}else{d=c[749165]|0;n=+(c[2023400+(h<<5)+24>>2]|0);c[e>>2]=c[749164];c[e+4>>2]=d;g[e+8>>3]=n;Ir(1469616,47076,e)|0;Ym(a,1469616,c[694286]|0,63,20,1,(c[749164]|0)<(c[749165]|0)?8:13)|0}vm(a);um(a,59,3,124,27,0);Ga=b;return}function Bg(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=c[506362]|0;b=(c[749100]|0)+(c[731764]|0)|0;d=(b|0)>2097152?134217728:b<<6;c[2023400+(a<<5)>>2]=(d|0)>0?d:0;d=bg()|0;b=eu(d|0,((d|0)<0)<<31>>31|0,16)|0;d=G()|0;e=c[749165]|0;f=8388608/(((e|0)==0?30:e)|0)|0;g=((f|0)<0)<<31>>31;h=_t(b|0,d|0,f|0,g|0)|0;G()|0;c[2023400+(a<<5)+4>>2]=h;h=c[694263]|0;d=eu(h|0,((h|0)<0)<<31>>31|0,16)|0;h=_t(d|0,G()|0,f|0,g|0)|0;G()|0;c[2023400+(a<<5)+8>>2]=h;c[2023400+(a<<5)+12>>2]=(c[505566]|0)==0?((c[749164]|0)<(e|0)?14:6):7;c[2023400+(a<<5)+20>>2]=c[505565];c[2023400+(a<<5)+24>>2]=Wp()|0;a=((c[506362]|0)+1|0)%64|0;c[506362]=a;e=2023400+(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 Cg(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=Ga;Ga=Ga+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[506365]=0;if((is(b,47110)|0?is(b,47117)|0:0)?is(b,66616)|0:0){if(is(b,66873)|0?!((a[b>>0]|0)==0&(c[406465]|0)!=0):0){c[406465]=0;uh(c[514872]|0);c[732095]=0;c[694280]=0;if(!(c[731641]|0)){a[1692948]=0;a[1955092]=0;c[505157]=0}c[694264]=1;c[694264]=(rt(b,52622)|0)==0&1;if(!((rt(b,47144)|0)==0?!(rt(b,53442)|0):0))Gq();c[506365]=(rt(b,47152)|0)!=0&1;c[694263]=0;c[694265]=0;eg();dg(279620);c[k>>2]=0;m=(d|0)!=0;d=(m^1)&1;n=Uo(262144)|0;a:do if(!(Nl(b,n)|0)){do if(!m){if((ss(n)|0)>>>0>65536){ng(47159,6);c[j>>2]=ss(n)|0;c[j+4>>2]=65536;Ir(1469616,47186,j)|0;ng(1469616,6);Wo(n);break a}o=_g(n)|0;if((o|0)>8192){ng(47201,6);c[i>>2]=o;c[i+4>>2]=8192;Ir(1469616,47219,i)|0;ng(1469616,6);Wo(n);break a}else{p=c[514873]|0;c[514872]=p;q=o*12|0;r=p;break}}else{p=c[514874]|0;c[514872]=p;q=0;r=p}while(0);Ye(r);ku(898064,0,262144)|0;Zl(898064,47235)|0;if(!((is(2923468,57399)|0)!=0?(is(2923468,50414)|0)!=0:0)){p=898064+(ss(898064)|0)|0;a[p>>0]=a[50420]|0;a[p+1>>0]=a[50421]|0;a[p+2>>0]=a[50422]|0;a[p+3>>0]=a[50423]|0;a[p+4>>0]=a[50424]|0;a[p+5>>0]=a[50425]|0;a[p+6>>0]=a[50426]|0}p=Uo(262144)|0;fk(n,p);Cs(898064,p)|0;Wo(n);Wo(p);if(52804){p=992;o=52804;do{Bs(l,o)|0;s=c[p>>2]|0;if(!(is(b,s)|0)){c[h>>2]=47235;c[h+4>>2]=l;Ir(898064,50427,h)|0;t=c[p>>2]|0}else t=s;s=ss(b)|0;u=ss(t)|0;b:do if(s>>>0>=(u+2|0)>>>0?(Gr(b,t,u)|0)==0:0){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]=47235;c[g+4>>2]=l;c[g+8>>2]=v+1;Ir(898064,50435,g)|0}while(0);p=p+4|0;o=c[p>>2]|0}while((o|0)!=0)}if(!(is(b,56242)|0)){o=898064;p=50447;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((Gr(b,50456,6)|0)==0?(a[b+6>>0]|0)<33:0){xg(b+7|0);Zl(898064,2998896)|0}Cs(898064,m?50463:50487)|0;c[749098]=1;p=of(c[514872]|0,898064)|0;c[749098]=0;c[749100]=q;if(!p){bk();c[749172]=0;if((c[731640]|0)==1)wg();c[731635]=1;c[731641]=d;break}c[731746]=6;c:do if(m){ng(51844,14);w=d;x=0}else{p=Dg(c[8611]|0,k)|0;do if((p|0)>0){o=c[729239]|0;u=p+-1|0;if((Xq(c[o>>2]|0,c[o+336>>2]|0)|0)==(u|0))break;o=Yq(c[c[729239]>>2]|0,u)|0;u=c[729239]|0;c[u+336>>2]=o;Vq(u,52);c[406466]=p}else{if(p|0)break;ng(51844,14);w=d;x=0;break c}while(0);u=c[k>>2]|0;c[f>>2]=p;c[f+4>>2]=u;Ir(1469616,51857,f)|0;ng(1469616,14);u=vg(b,(c[8611]|0)+-2|0,1)|0;if(!u){w=0;x=0;break}ng(u,7);w=0;x=u}while(0);u=rg(qd(c[514872]|0,-1,0)|0,w)|0;do if(u|0){if(is(u,51887)|0){ng(u,6);break}if(!(rt(x,52334)|0)){ng(51916,6);break}else{ng(u,6);break}}while(0);c[406459]=1}else Wo(n);while(0);Ga=e;return}n=c[514873]|0;if((n|0)!=0&(c[506366]|0)!=0){c[514872]=n;c[515407]=0;c[731641]=1;c[731635]=1;bk();c[406465]=1;Ga=e;return}else{ng(47126,6);Ga=e;return}}n=c[514873]|0;if((n|0)!=0&(c[506366]|0)!=0){c[514872]=n;c[515407]=0;c[731641]=1;c[731635]=1;bk();c[406465]=0;Ga=e;return}else{ng(47126,6);Ga=e;return}}function Dg(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=Ga;Ga=Ga+16|0;e=d;f=a+-2|0;a=So(262144)|0;Nl(c[c[729223]>>2]|0,a)|0;g=Xq(a,1048576)|0;Wo(a);a=g+2|0;if((f|0)>(a|0)){g=f-a|0;a=So(262144)|0;Nl(c[c[729224]>>2]|0,a)|0;h=Xq(a,1048576)|0;Wo(a);a=h+2|0;if((g|0)>(a|0)){h=g-a|0;a=So(262144)|0;Nl(c[c[729225]>>2]|0,a)|0;i=Xq(a,1048576)|0;Wo(a);a=i+2|0;if((h|0)>(a|0)){i=h-a|0;a=So(262144)|0;Nl(c[c[729226]>>2]|0,a)|0;j=Xq(a,1048576)|0;Wo(a);a=j+2|0;if((i|0)>(a|0)){j=i-a|0;a=So(262144)|0;Nl(c[c[729227]>>2]|0,a)|0;k=Xq(a,1048576)|0;Wo(a);a=k+2|0;if((j|0)>(a|0)){k=j-a|0;a=So(262144)|0;Nl(c[c[729228]>>2]|0,a)|0;l=Xq(a,1048576)|0;Wo(a);a=l+2|0;if((k|0)>(a|0)){l=k-a|0;a=So(262144)|0;Nl(c[c[729229]>>2]|0,a)|0;m=Xq(a,1048576)|0;Wo(a);a=m+2|0;if((l|0)>(a|0)){m=l-a|0;a=So(262144)|0;Nl(c[c[729230]>>2]|0,a)|0;n=Xq(a,1048576)|0;Wo(a);a=n+2|0;if((m|0)>(a|0)){n=m-a|0;a=So(262144)|0;Nl(c[c[729231]>>2]|0,a)|0;o=Xq(a,1048576)|0;Wo(a);a=o+2|0;if((n|0)>(a|0)){o=n-a|0;a=So(262144)|0;Nl(c[c[729232]>>2]|0,a)|0;p=Xq(a,1048576)|0;Wo(a);a=p+2|0;if((o|0)>(a|0)){p=o-a|0;a=So(262144)|0;Nl(c[c[729233]>>2]|0,a)|0;q=Xq(a,1048576)|0;Wo(a);a=q+2|0;if((p|0)>(a|0)){q=p-a|0;a=So(262144)|0;Nl(c[c[729234]>>2]|0,a)|0;r=Xq(a,1048576)|0;Wo(a);a=r+2|0;if((q|0)>(a|0)){r=q-a|0;a=So(262144)|0;Nl(c[c[729235]>>2]|0,a)|0;s=Xq(a,1048576)|0;Wo(a);a=s+2|0;if((r|0)>(a|0)){s=r-a|0;a=So(262144)|0;Nl(c[c[729236]>>2]|0,a)|0;t=Xq(a,1048576)|0;Wo(a);a=t+2|0;if((s|0)>(a|0)){t=s-a|0;a=So(262144)|0;Nl(c[c[729237]>>2]|0,a)|0;u=Xq(a,1048576)|0;Wo(a);a=u+2|0;if((t|0)>(a|0)){u=t-a|0;a=So(262144)|0;Nl(c[c[729238]>>2]|0,a)|0;v=Xq(a,1048576)|0;Wo(a);if((u|0)>(v+2|0)){if(!b){w=0;Ga=d;return w|0}c[b>>2]=0;w=0;Ga=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((Ol()|0)<=0){w=y;Ga=d;return w|0}x=0;b=y;while(1){if((y|0)>(Pl(x)|0)?(y|0)<=(Ql(x)|0):0)break;if((y|0)>(Ql(x)|0)){f=Ql(x)|0;z=b+1-f+(Pl(x)|0)|0}else z=b;f=x+1|0;if((f|0)<(Ol()|0)){x=f;b=z}else{w=z;A=14;break}}if((A|0)==14){Ga=d;return w|0}A=Rl(x)|0;z=y-(Pl(x)|0)|0;c[e>>2]=A;c[e+4>>2]=z;Ir(1469616,51939,e)|0;ng(1469616,9);w=1-y+b+(Pl(x)|0)|0;Ga=d;return w|0}function Eg(){var a=0,b=0,d=0;a=c[731641]|0;b=(a|0)!=0;if(b)c[514873]=c[514872];if((c[694281]|0)>0)return;if(a|0){c[515407]=1;c[694280]=0;Qk()|0;if(!((Tj(2777036,c[732713]|0,24366)|0)&1)){c[731726]=0;c[731727]=1;c[731728]=2;c[731729]=3;c[731730]=4;c[731731]=5;c[731732]=6;c[731733]=7;c[731734]=8;c[731735]=9;c[731736]=10;c[731737]=11;c[731738]=12;c[731739]=13;c[731740]=14;c[731741]=15}if(!((Tj(2777036,c[732713]|0,24366)|0)&2))Sj(2777036,c[732713]|0,24415,0);if(!((Tj(2777036,c[732713]|0,24366)|0)&4)){c[732098]=0;c[732099]=0;c[732100]=0;c[732101]=0}if(!((Tj(2777036,c[732713]|0,24366)|0)&8)){c[731757]=15;c[731756]=15;c[731755]=255}Bl();if(!(c[406459]|0))c[406459]=1}c[731635]=0;c[694278]=0;c[731752]=0;c[731751]=0;vm(c[694267]|0);Nj(0);c[731747]=0;a=c[731748]|0;d=(a|0)<120?a:120;c[731748]=(d|0)>0?d:0;if(b?Km()|0:0)do Lm()|0;while((Km()|0)!=0);c[405622]=0;return}function Fg(){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[729241]|0;d=(a[c[c[729223]>>2]>>0]|0)==0;e=(b|0)==1?1:(a[c[c[729224]>>2]>>0]|0)!=0;f=(b|0)==2?1:(a[c[c[729225]>>2]>>0]|0)!=0;g=(b|0)==3?1:(a[c[c[729226]>>2]>>0]|0)!=0;h=(b|0)==4?1:(a[c[c[729227]>>2]>>0]|0)!=0;i=(b|0)==5?1:(a[c[c[729228]>>2]>>0]|0)!=0;j=(b|0)==6?1:(a[c[c[729229]>>2]>>0]|0)!=0;k=(b|0)==7?1:(a[c[c[729230]>>2]>>0]|0)!=0;l=(b|0)==8?1:(a[c[c[729231]>>2]>>0]|0)!=0;m=(b|0)==9?1:(a[c[c[729232]>>2]>>0]|0)!=0;n=(b|0)==10?1:(a[c[c[729233]>>2]>>0]|0)!=0;o=(b|0)==11?1:(a[c[c[729234]>>2]>>0]|0)!=0;p=(b|0)==12?1:(a[c[c[729235]>>2]>>0]|0)!=0;q=(b|0)==13?1:(a[c[c[729236]>>2]>>0]|0)!=0;r=(b|0)==14?1:(a[c[c[729237]>>2]>>0]|0)!=0;s=(b|0)==15?1:(a[c[c[729238]>>2]>>0]|0)!=0;a[c[c[17040]>>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;Cs(c[c[17040]>>2]|0,c[c[729223]>>2]|0)|0;if((t|0)>0){d=c[c[17040]>>2]|0;b=d+(ss(d)|0)|0;a[b>>0]=a[51951]|0;a[b+1>>0]=a[51952]|0;a[b+2>>0]=a[51953]|0;a[b+3>>0]=a[51954]|0;a[b+4>>0]=a[51955]|0;a[b+5>>0]=a[51956]|0;a[b+6>>0]=a[51957]|0}Cs(c[c[17040]>>2]|0,c[c[729224]>>2]|0)|0;if((t|0)>1){b=c[c[17040]>>2]|0;d=b+(ss(b)|0)|0;a[d>>0]=a[51951]|0;a[d+1>>0]=a[51952]|0;a[d+2>>0]=a[51953]|0;a[d+3>>0]=a[51954]|0;a[d+4>>0]=a[51955]|0;a[d+5>>0]=a[51956]|0;a[d+6>>0]=a[51957]|0}Cs(c[c[17040]>>2]|0,c[c[729225]>>2]|0)|0;if((t|0)>2){d=c[c[17040]>>2]|0;b=d+(ss(d)|0)|0;a[b>>0]=a[51951]|0;a[b+1>>0]=a[51952]|0;a[b+2>>0]=a[51953]|0;a[b+3>>0]=a[51954]|0;a[b+4>>0]=a[51955]|0;a[b+5>>0]=a[51956]|0;a[b+6>>0]=a[51957]|0}Cs(c[c[17040]>>2]|0,c[c[729226]>>2]|0)|0;if((t|0)>3){b=c[c[17040]>>2]|0;d=b+(ss(b)|0)|0;a[d>>0]=a[51951]|0;a[d+1>>0]=a[51952]|0;a[d+2>>0]=a[51953]|0;a[d+3>>0]=a[51954]|0;a[d+4>>0]=a[51955]|0;a[d+5>>0]=a[51956]|0;a[d+6>>0]=a[51957]|0}Cs(c[c[17040]>>2]|0,c[c[729227]>>2]|0)|0;if((t|0)>4){d=c[c[17040]>>2]|0;b=d+(ss(d)|0)|0;a[b>>0]=a[51951]|0;a[b+1>>0]=a[51952]|0;a[b+2>>0]=a[51953]|0;a[b+3>>0]=a[51954]|0;a[b+4>>0]=a[51955]|0;a[b+5>>0]=a[51956]|0;a[b+6>>0]=a[51957]|0}Cs(c[c[17040]>>2]|0,c[c[729228]>>2]|0)|0;if((t|0)>5){b=c[c[17040]>>2]|0;d=b+(ss(b)|0)|0;a[d>>0]=a[51951]|0;a[d+1>>0]=a[51952]|0;a[d+2>>0]=a[51953]|0;a[d+3>>0]=a[51954]|0;a[d+4>>0]=a[51955]|0;a[d+5>>0]=a[51956]|0;a[d+6>>0]=a[51957]|0}Cs(c[c[17040]>>2]|0,c[c[729229]>>2]|0)|0;if((t|0)>6){d=c[c[17040]>>2]|0;b=d+(ss(d)|0)|0;a[b>>0]=a[51951]|0;a[b+1>>0]=a[51952]|0;a[b+2>>0]=a[51953]|0;a[b+3>>0]=a[51954]|0;a[b+4>>0]=a[51955]|0;a[b+5>>0]=a[51956]|0;a[b+6>>0]=a[51957]|0}Cs(c[c[17040]>>2]|0,c[c[729230]>>2]|0)|0;if((t|0)>7){b=c[c[17040]>>2]|0;d=b+(ss(b)|0)|0;a[d>>0]=a[51951]|0;a[d+1>>0]=a[51952]|0;a[d+2>>0]=a[51953]|0;a[d+3>>0]=a[51954]|0;a[d+4>>0]=a[51955]|0;a[d+5>>0]=a[51956]|0;a[d+6>>0]=a[51957]|0}Cs(c[c[17040]>>2]|0,c[c[729231]>>2]|0)|0;if((t|0)>8){d=c[c[17040]>>2]|0;b=d+(ss(d)|0)|0;a[b>>0]=a[51951]|0;a[b+1>>0]=a[51952]|0;a[b+2>>0]=a[51953]|0;a[b+3>>0]=a[51954]|0;a[b+4>>0]=a[51955]|0;a[b+5>>0]=a[51956]|0;a[b+6>>0]=a[51957]|0}Cs(c[c[17040]>>2]|0,c[c[729232]>>2]|0)|0;if((t|0)>9){b=c[c[17040]>>2]|0;d=b+(ss(b)|0)|0;a[d>>0]=a[51951]|0;a[d+1>>0]=a[51952]|0;a[d+2>>0]=a[51953]|0;a[d+3>>0]=a[51954]|0;a[d+4>>0]=a[51955]|0;a[d+5>>0]=a[51956]|0;a[d+6>>0]=a[51957]|0}Cs(c[c[17040]>>2]|0,c[c[729233]>>2]|0)|0;if((t|0)>10){d=c[c[17040]>>2]|0;b=d+(ss(d)|0)|0;a[b>>0]=a[51951]|0;a[b+1>>0]=a[51952]|0;a[b+2>>0]=a[51953]|0;a[b+3>>0]=a[51954]|0;a[b+4>>0]=a[51955]|0;a[b+5>>0]=a[51956]|0;a[b+6>>0]=a[51957]|0}Cs(c[c[17040]>>2]|0,c[c[729234]>>2]|0)|0;if((t|0)>11){b=c[c[17040]>>2]|0;d=b+(ss(b)|0)|0;a[d>>0]=a[51951]|0;a[d+1>>0]=a[51952]|0;a[d+2>>0]=a[51953]|0;a[d+3>>0]=a[51954]|0;a[d+4>>0]=a[51955]|0;a[d+5>>0]=a[51956]|0;a[d+6>>0]=a[51957]|0}Cs(c[c[17040]>>2]|0,c[c[729235]>>2]|0)|0;if((t|0)>12){d=c[c[17040]>>2]|0;b=d+(ss(d)|0)|0;a[b>>0]=a[51951]|0;a[b+1>>0]=a[51952]|0;a[b+2>>0]=a[51953]|0;a[b+3>>0]=a[51954]|0;a[b+4>>0]=a[51955]|0;a[b+5>>0]=a[51956]|0;a[b+6>>0]=a[51957]|0}Cs(c[c[17040]>>2]|0,c[c[729236]>>2]|0)|0;if((t|0)>13){b=c[c[17040]>>2]|0;d=b+(ss(b)|0)|0;a[d>>0]=a[51951]|0;a[d+1>>0]=a[51952]|0;a[d+2>>0]=a[51953]|0;a[d+3>>0]=a[51954]|0;a[d+4>>0]=a[51955]|0;a[d+5>>0]=a[51956]|0;a[d+6>>0]=a[51957]|0}Cs(c[c[17040]>>2]|0,c[c[729237]>>2]|0)|0;if((t|0)<=14){u=c[17040]|0;v=c[u>>2]|0;w=c[729238]|0;x=c[w>>2]|0;Cs(v,x)|0;return}t=c[c[17040]>>2]|0;d=t+(ss(t)|0)|0;a[d>>0]=a[51951]|0;a[d+1>>0]=a[51952]|0;a[d+2>>0]=a[51953]|0;a[d+3>>0]=a[51954]|0;a[d+4>>0]=a[51955]|0;a[d+5>>0]=a[51956]|0;a[d+6>>0]=a[51957]|0;u=c[17040]|0;v=c[u>>2]|0;w=c[729238]|0;x=c[w>>2]|0;Cs(v,x)|0;return}function Gg(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=c[(c[729223]|0)+4>>2]|0;ku(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729224]|0)+4>>2]|0;ku(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729225]|0)+4>>2]|0;ku(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729226]|0)+4>>2]|0;ku(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729227]|0)+4>>2]|0;ku(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729228]|0)+4>>2]|0;ku(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729229]|0)+4>>2]|0;ku(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729230]|0)+4>>2]|0;ku(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729231]|0)+4>>2]|0;ku(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729232]|0)+4>>2]|0;ku(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729233]|0)+4>>2]|0;ku(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729234]|0)+4>>2]|0;ku(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729235]|0)+4>>2]|0;ku(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729236]|0)+4>>2]|0;ku(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729237]|0)+4>>2]|0;ku(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=c[(c[729238]|0)+4>>2]|0;ku(c[a+12>>2]|0,0,c[a+88>>2]|0)|0;a=0;b=c[c[17040]>>2]|0;while(1){if((a|0)!=15){d=rt(b,51951)|0;e=c[c[2916892+(a<<2)>>2]>>2]|0;if(!d){f=e;g=6}else{ju(e|0,b|0,d-b|0)|0;h=a+1|0;i=d+6|0}}else{f=c[c[729238]>>2]|0;g=6}if((g|0)==6){g=0;Zl(f,b)|0;h=16;i=b}if((h|0)<16){a=h;b=i}else break}return}function Hg(b){b=b|0;var c=0,d=0,e=0,f=0;c=Ga;Ga=Ga+1024|0;d=c;ku(1160208,0,1024)|0;Zl(d,b)|0;a[1160208]=0;b=rt(d,57017)|0;if(!((b|0)!=0&b>>>0>d>>>0)){Ga=c;return 1160208}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}Zl(1160208,f>>>0>d>>>0?e:f)|0;Ga=c;return 1160208}function Ig(){var d=0,e=0,f=0,g=0,h=0,i=0;d=Ga;Ga=Ga+3088|0;e=d+3072|0;f=d+2048|0;g=d+1024|0;Fg();Zl(2928412,2929437)|0;a[2929437]=0;a[2923468]=0;a[2924492]=0;Zl(g,2920048)|0;c[406459]=0;wq(51958,d);if(rt(g,2916968)|0)Zl(2924492,g+(ss(2916968)|0)|0)|0;ku(1160208,0,1024)|0;Zl(f,g)|0;a[1160208]=0;g=rt(f,57017)|0;if((g|0)!=0&g>>>0>f>>>0){a[g>>0]=0;h=g;a:while(1){i=h+-1|0;g=a[i>>0]|0;if(!((g+-97&255)<26|(g+-48&255)<10))switch(g<<24>>24){case 45:case 95:break;default:break a}if(i>>>0>f>>>0)h=i;else break}Zl(1160208,i>>>0>f>>>0?h:i)|0}Zl(2923468,1160208)|0;c[505847]=0;c[e>>2]=2920048;c[e+4>>2]=2924492;c[e+8>>2]=2923468;Ir(1465008,51963,e)|0;bm(1465008);a[2925516]=0;e=c[514873]|0;if(e|0)Vf(e);e=sf(1,0)|0;c[514873]=e;c[514872]=e;c[514874]=Sf(e)|0;Qh(c[514872]|0);Wj(2777036,c[732713]|0,0,0,17152);a[2921160]=0;a[2930462]=0;a[2930526]=0;a[2930590]=0;a[2930654]=0;a[2930718]=0;a[2930782]=0;b[1465423]=0;b[1465424]=0;b[1465425]=0;e=Da(0)|0;ok((oq()|0)+e|0);Cg(c[c[17040]>>2]|0,0);Lp();Ip(0,0);c[732098]=0;c[732099]=0;c[732100]=0;c[732101]=0;c[749164]=30;c[749165]=30;bk();Eb(c[17040]|0,2921113);c[731644]=0;c[406465]=0;c[506366]=1;Nj(0);Ga=d;return}function Jg(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=Ga;Ga=Ga+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;Ed(b,54921);Ld(c[514872]|0,0,1,0,0,0)|0;k=qd(b,-1,0)|0;if(!k){Ga=d;return}id(b,-2);b=a[k>>0]|0;if(!(b<<24>>24)){Ga=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}ku(h|0,0,512)|0;At(h,l,b-l|0)|0;l=(a[b>>0]|0)==10?b+1|0:b;b:do if((rt(h,52036)|0)==0?(rt(h,52052)|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;gt(o+1|0,58441,g)|0;p=c[i>>2]|0;if((p|0)>0){q=rt(h,52063)|0;if(!q){if(!(rt(h,52100)|0))break;r=Dg(p,j)|0;if((r|0)<=-1)break;p=c[j>>2]|0;c[e>>2]=r;c[e+4>>2]=p;Ir(1469616,52114,e)|0;ng(1469616,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=Dg(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;Ir(1469616,52077,f)|0;ng(1469616,13)}}while(0);m=a[l>>0]|0;if(!(m<<24>>24)){n=23;break}}if((n|0)==23){Ga=d;return}}function Kg(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Ga;Ga=Ga+32|0;d=b+16|0;e=b;f=b+24|0;c[f>>2]=0;Ze(c[514872]|0,1,0)|0;if(Ze(c[514872]|0,9,0)|0)Ze(c[514872]|0,2,0)|0;if((Ze(c[514872]|0,9,0)|0?((c[749100]|0)+(c[731764]|0)|0)>2113536:0)?(Ze(c[514872]|0,2,0)|0,g=c[731764]|0,((c[749100]|0)+g|0)>2113536):0){if(!(Ze(c[514872]|0,9,0)|0))bm(52134);else rc(c[514872]|0,1);h=c[749100]|0;i=(c[731764]|0)+h|0;c[e>>2]=h+g;c[e+4>>2]=i;c[e+8>>2]=h;Ir(1465008,52190,e)|0;bm(1465008);if(((c[749100]|0)+(c[731764]|0)|0)>2113536){e=c[514873]|0;if(e|0)Vf(e);e=sf(1,0)|0;c[514873]=e;c[514872]=e;c[514874]=Sf(e)|0;Qh(c[514872]|0);Eg();ng(52231,6);Ga=b;return}}Ze(c[514872]|0,0,0)|0;if((c[731635]|0)!=1|(c[731636]|0)!=0){Ga=b;return}Zf();a:do switch(Mf(c[514872]|0,0,0)|0){case 0:{Eg();if((c[514872]|0)==(c[514873]|0))c[506366]=0;break}case 1:{c[731635]=1;break}default:if((c[694281]|0)<=0){Eg();if(c[731641]|0){e=c[514862]|0;if((e|0)>2){h=vg(c[c[17040]>>2]|0,e+-2|0,1)|0;i=Dg(e,f)|0;e=c[f>>2]|0;c[d>>2]=i;c[d+4>>2]=e;Ir(1469616,52245,d)|0;ng(1469616,14);if(h|0)ng(h,7);if((i|0)>0?(h=c[729239]|0,e=i+-1|0,(Xq(c[h>>2]|0,c[h+336>>2]|0)|0)!=(e|0)):0){h=Yq(c[c[729239]>>2]|0,e)|0;e=c[729239]|0;c[e+336>>2]=h;Vq(e,52);c[406466]=i}}}else ng(52274,14);sg(qd(c[514872]|0,-1,0)|0);if(a[2997776]|0)ng(2997776,6);if(c[749176]|0){c[749176]=0;break a}if(c[731641]|0)Jg(c[514872]|0)}}while(0);if(!(c[749173]|0)){Ga=b;return}d=oq()|0;if((d|0)<=((c[749174]|0)+1e3|0)){Ga=b;return}Qk()|0;c[749174]=oq()|0;Ga=b;return}function Lg(){var a=0,b=0;oq()|0;dg(8388608/(c[749164]|0)|0);_f();a=1;while(1){c[732102]=(c[732102]|0)+1;c[749175]=0;Kg();if(!(c[749175]|0)){b=4;break}if(a>>>0<1024)a=a+1|0;else{b=4;break}}if((b|0)==4)return}function Mg(a){a=a|0;var b=0;b=(a|0)==0?2:a<<1;if((a|0)<0)return;c[694263]=(c[694263]|0)+b;cg(b)|0;return}function Ng(a){a=a|0;cg(a<<1)|0;return}function Og(b){b=b|0;a[2997776]=0;if(!b)return;At(2997776,b,254)|0;a[2998031]=0;return}function Pg(){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[506362]|0;c[749134]=c[749135];c[749135]=c[749136];c[749136]=c[749137];c[749137]=c[749138];c[749138]=c[749139];c[749139]=c[749140];c[749140]=c[749141];c[749141]=c[749142];c[749142]=c[749143];c[749143]=c[749144];c[749144]=c[749145];c[749145]=c[749146];c[749146]=c[749147];c[749147]=c[749148];c[749148]=c[749149];c[749149]=c[749150];c[749150]=c[749151];c[749151]=c[749152];c[749152]=c[749153];c[749153]=c[749154];c[749154]=c[749155];c[749155]=c[749156];c[749156]=c[749157];c[749157]=c[749158];c[749158]=c[749159];c[749159]=c[749160];c[749160]=c[749161];c[749161]=c[749162];c[749162]=c[749163];c[749163]=Wp()|0;b=c[749134]|0;d=c[749135]|0;e=c[749136]|0;f=c[749137]|0;g=c[749138]|0;h=c[749139]|0;i=c[749140]|0;j=c[749141]|0;k=c[749142]|0;l=c[749143]|0;m=c[749144]|0;n=c[749145]|0;o=c[749146]|0;p=c[749147]|0;q=c[749148]|0;r=c[749149]|0;s=c[749150]|0;t=c[749151]|0;u=c[749152]|0;v=c[749153]|0;w=c[749154]|0;x=c[749155]|0;y=c[749156]|0;z=c[749157]|0;A=c[749158]|0;B=c[749159]|0;C=c[749160]|0;D=c[749161]|0;E=c[749162]|0;F=c[749163]|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[749168]|0;J=c[749166]|0;if((I|0)>(J|0)){K=I-J|0;J=eu(K|0,((K|0)<0)<<31>>31|0,16)|0;K=G()|0;I=c[749165]|0;L=8388608/(((I|0)==0?30:I)|0)|0;I=_t(J|0,K|0,L|0,((L|0)<0)<<31>>31|0)|0;G()|0;L=c[749105]|0;c[749104]=L;c[749105]=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[749171]|0;K=c[749169]|0;if((I|0)<(K|0))return;L=c[505564]|0;J=I-K+(c[749102]|0)+((L|0)>0?L:0)|0;L=(c[505430]|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[749164]|0;b=c[749165]|0;if((c[505566]|0)!=0&(H|0)==(b|0)){c[2023400+(a<<5)+28>>2]=9;c[749164]=(H|0)/2|0;c[505566]=0;return}c[505566]=0;if((H|0)==60?(K|0)<60&(b|0)==60:0){d=2023400+(a<<5)+28|0;c[d>>2]=8;c[749164]=30;if(Dq()|0?(e=oq()|0,(e-(c[749103]|0)|0)<2e3):0){c[d>>2]=10;d=(c[749102]|0)+1|0;c[749102]=(d|0)<5?d:5}c[749103]=oq()|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[2023400+(a<<5)+28>>2]=11;c[749164]=b;return}if((M|0)>=63488)return;c[2023400+(a<<5)+28>>2]=2;return}function Qg(a){a=a|0;var b=0;if((a|0)>255){b=0;return b|0}b=d[1088+(a&255)>>0]|0;return b|0}function Rg(a){a=a|0;return d[1344+(a&255)>>0]|0|0}function Sg(){c[290308]=0;c[514877]=0;return}function Tg(a){a=a|0;Zl(1161232+(c[514877]<<6)|0,a)|0;c[514877]=(c[514877]|0)+1;return}function Ug(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;d=c[514878]|0;if((d|4|0)!=-995)c[514879]=d;a[1177616]=0;c[514878]=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 13:case 9:case 8:case 32:break;default:{h=0;i=0;j=f;break a}}e=e+1|0}if((g|0)==6){c[514878]=-1e3;k=e;return k|0}do if((g|0)==7){b=a[e+1>>0]|0;if(b<<24>>24!=45){if((b+-48&255)>9){if(b<<24>>24!=46){h=0;i=1;j=45;break}if(((a[e+2>>0]|0)+-48&255)>9){h=0;i=1;j=45;break}}b=c[514879]|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)==-963|((b|0)==61|((b|0)==-964|((b|1|0)==-965|((b|1|0)==-967|((b|1|0)==-969|((b|2|0)==62|((b|0)==37|((b|0)==94|((b|0)==45|((b|4|0)==47|((b|0)==42|((b|4|0)==44|(b|32|0)==123)))))))))))))))))))&1;i=1;j=45;break}c[514878]=-995;b:do if((a[e+2>>0]|0)==91?(a[e+3>>0]|0)==91:0){b=e+4|0;l=1;while(1){m=rt(b,52288)|0;n=rt(b,52291)|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){k=p;break}else b=p}return k|0}while(0);b=e;l=45;c:while(1){switch(l<<24>>24){case 0:case 10:{k=b;break c;break}default:{}}p=b+1|0;b=p;l=a[p>>0]|0}return k|0}while(0);if(a[1088+(j&255)>>0]|0){c[514878]=0;l=c[8616]|0;b=f<<24>>24;if(!(a[1344+(b&255)>>0]|0)){q=l;r=0;s=e}else{p=l;l=0;n=e;m=b;b=f;while(1){o=(B(m,p)|0)&8191^7266;t=l+1|0;a[1177616+l>>0]=b;u=n+1|0;b=a[u>>0]|0;m=b<<24>>24;if(!(a[1344+(m&255)>>0]|0)){q=o;r=t;s=u;break}else{p=o;l=t;n=u}}}a[1177616+r>>0]=0;switch(d|0){case 46:case 58:break;default:{d=c[1243152+(q*20|0)+16>>2]|0;if(d|0?(is(1243152+(q*20|0)|0,1177616)|0)==0:0){c[514878]=d;k=s;return k|0}}}c[514878]=-998;k=s;return k|0}if((j+-48&255)>9)if(j<<24>>24==46)v=((a[e+1>>0]|0)+-48&255)<10&1;else v=0;else v=1;if(v|h|0){if(i){a[1177616]=j;i=e+1|0;w=i;x=a[i>>0]|0}else{w=e;x=f}c[514878]=0;d:do if(x<<24>>24!=48)if(x<<24>>24==46|(x+-48&255)<10)g=45;else{y=0;z=w}else{i=a[w+1>>0]|0;switch((i|32)<<24>>24){case 120:break;case 98:{a[1177616]=48;a[1177617]=i;h=0;v=w+2|0;while(1){s=a[v>>0]|0;switch(s<<24>>24){case 46:case 48:case 49:break;default:{y=h;z=v;break d}}a[1177616+h>>0]=s;h=h+1|0;v=v+1|0}break}default:{g=45;break d}}a[1177616]=48;a[1177617]=i;v=0;h=w+2|0;while(1){s=a[h>>0]|0;if((s+-48&255)>=10)switch(s<<24>>24){case 46:case 97:case 98:case 99:case 100:case 101:case 102:break;default:{y=v;z=h;break d}}a[1177616+v>>0]=s;v=v+1|0;h=h+1|0}}while(0);if((g|0)==45){h=0;v=w;w=x;while(1){x=h+1|0;a[1177616+h>>0]=w;i=v+1|0;w=a[i>>0]|0;if(!(w<<24>>24==46|(w+-48&255)<10)){y=x;z=i;break}else{h=x;v=i}}}a[1177616+y>>0]=0;c[514878]=-997;k=z;return k|0}switch(j<<24>>24){case 91:{z=e+1|0;y=a[z>>0]|0;if(y<<24>>24==91){c[514878]=-996;a[1177616]=0;v=e+2|0;h=1;while(1){w=rt(v,52288)|0;i=rt(v,52291)|0;if(!i)break;x=(w|0)!=0&w>>>0>>0;h=(x?1:-1)+h|0;s=(x?w:i)+2|0;if((h|0)<=0){k=s;g=120;break}else v=s}if((g|0)==120)return k|0;k=e+(ss(e)|0)|0;return k|0}else{A=z;C=y;D=0}break}case 34:{a[1177616]=34;y=e;z=1;e:while(1){v=y+1|0;h=a[v>>0]|0;switch(h<<24>>24){case 34:{g=59;break e;break}case 10:case 0:{E=v;F=z;break e;break}case 92:{s=y+2|0;a[1177616+z>>0]=92;G=z+1|0;H=s;I=a[s>>0]|0;break}default:{G=z;H=v;I=h}}a[1177616+G>>0]=I;y=H;z=G+1|0}if((g|0)==59){a[1177616+z>>0]=34;E=y+2|0;F=z+1|0}a[1177616+F>>0]=0;c[514878]=-996;k=E;return k|0}case 39:{a[1177616]=39;E=e;F=1;f:while(1){z=E+1|0;y=a[z>>0]|0;switch(y<<24>>24){case 39:{g=65;break f;break}case 10:case 0:{J=F;K=z;break f;break}case 92:{G=E+2|0;a[1177616+F>>0]=92;L=G;M=F+1|0;N=a[G>>0]|0;break}default:{L=z;M=F;N=y}}a[1177616+M>>0]=N;E=L;F=M+1|0}if((g|0)==65){a[1177616+F>>0]=39;J=F+1|0;K=E+2|0}a[1177616+J>>0]=0;c[514878]=-996;k=K;return k|0}case 10:{c[514880]=(c[514880]|0)+1;c[514878]=-999;k=e+1|0;return k|0}case 46:{K=e+1|0;J=a[K>>0]|0;if(J<<24>>24==46)if((a[e+2>>0]|0)==46){c[514878]=-959;k=e+3|0;return k|0}else{c[514878]=-962;k=e+2|0;return k|0}else{A=K;C=J;D=1}break}default:{J=e+1|0;A=J;C=a[J>>0]|0;D=0}}g:do if(C<<24>>24!=61){h:do if(!(j<<24>>24==0|C<<24>>24==0)?(a[e+2>>0]|0)==61:0){if(D&C<<24>>24==46){c[514878]=-963;k=e+3|0;return k|0}switch(j<<24>>24){case 47:{break h;break}case 60:{if(C<<24>>24!=60)break g;c[514878]=-963;k=e+3|0;return k|0}case 62:{if(C<<24>>24!=62)break g;c[514878]=-963;k=e+3|0;return k|0}case 94:{if(C<<24>>24!=94)break g;c[514878]=-963;k=e+3|0;return k|0}default:break g}}else g=97;while(0);i:do if((g|0)==97)switch(j<<24>>24){case 47:{break i;break}case 62:{if(C<<24>>24!=62)break g;J=e+2|0;switch(a[J>>0]|0){case 62:{if((a[e+3>>0]|0)==61){c[514878]=-963;k=e+4|0;return k|0}else{c[514878]=-955;k=e+3|0;return k|0}break}case 60:{c[514878]=-953;k=e+3|0;return k|0}default:{c[514878]=-956;k=J;return k|0}}break}case 60:{if(C<<24>>24!=60)break g;J=e+2|0;if((a[J>>0]|0)==62){c[514878]=-954;k=e+3|0;return k|0}else{c[514878]=-957;k=J;return k|0}break}case 94:{if(C<<24>>24!=94)break g;c[514878]=-952;k=e+2|0;return k|0}default:break g}while(0);if(C<<24>>24==47){c[514878]=-995;J=e;K=f;j:while(1){switch(K<<24>>24){case 0:case 10:{k=J;break j;break}default:{}}E=J+1|0;J=E;K=a[E>>0]|0}return k|0}}else do switch(j<<24>>24){case 60:{c[514878]=-968;k=e+2|0;return k|0}case 62:{c[514878]=-967;k=e+2|0;return k|0}case 126:{c[514878]=-965;k=e+2|0;return k|0}case 33:{c[514878]=-965;k=e+2|0;return k|0}case 61:{c[514878]=-964;k=e+2|0;return k|0}case 43:{c[514878]=-963;k=e+2|0;return k|0}case 45:{c[514878]=-963;k=e+2|0;return k|0}case 42:{c[514878]=-963;k=e+2|0;return k|0}case 47:{c[514878]=-963;k=e+2|0;return k|0}case 37:{c[514878]=-963;k=e+2|0;return k|0}case 38:{c[514878]=-963;k=e+2|0;return k|0}case 124:{c[514878]=-963;k=e+2|0;return k|0}default:break g}while(0);while(0);if(Gr(e,57685,9)|0){c[514878]=j<<24>>24;k=A;return k|0}c[514878]=-960;A=e;e=f;k:while(1){switch(e<<24>>24){case 0:case 10:{k=A;break k;break}default:{}}f=A+1|0;A=f;e=a[f>>0]|0}return k|0}function Vg(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=Ga;Ga=Ga+16|0;f=e+8|0;g=e;if((ss(b)|0)>>>0>15){Ga=e;return}h=c[8616]|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=1243152+(j*20|0)+16|0;h=1243152+(j*20|0)|0;if((c[l>>2]|0)==0?(a[h>>0]|0)==0:0){c[l>>2]=d;Zl(h,b)|0;Ga=e;return}c[g>>2]=h;c[g+4>>2]=b;Kt(52294,g)|0;c[f>>2]=h;c[f+4>>2]=b;Ir(1465008,52294,f)|0;bm(1465008);wa(0)}function Wg(a){a=a|0;c[8616]=a;ku(1243152,0,163840)|0;Vg(52325,-993);Vg(52334,-992);Vg(52338,-991);Vg(52342,-990);Vg(52345,-989);Vg(52350,-988);Vg(52355,-987);Vg(52362,-986);Vg(52368,-974);Vg(52372,-973);Vg(52376,-972);Vg(52379,-985);Vg(52382,-983);Vg(52388,-982);Vg(52395,-981);Vg(52402,-980);Vg(52408,-979);Vg(52413,-978);Vg(52595,-961);Vg(52600,-961);Vg(52419,-961);Vg(52423,-984);Vg(52426,-977);Vg(52434,-977);Vg(52438,-977);Vg(52442,-977);Vg(52446,-977);Vg(52455,-977);Vg(52461,-977);if((c[514877]|0)<=0)return;a=0;do{Vg(1161232+(a<<6)|0,-977);a=a+1|0}while((a|0)<(c[514877]|0));return}function Xg(b){b=b|0;var c=0;c=Ug(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 Yg(b){b=b|0;var d=0,e=0;Wg(c[8616]|0);c[514878]=0;c[514879]=0;c[514881]=b;d=Ug(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 Zg(){return c[514878]|0}function _g(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=-1;e=0;f=0;while(1){if((d|0)==-1){Wg(c[8616]|0);c[514878]=0;c[514879]=0;c[514881]=b;g=Ug(b)|0;if(!g){h=0;i=0}else{h=0;i=(g|0)==(b|0)&(a[g>>0]|0)!=0?g+1|0:g}}else{if(!(a[e>>0]|0))break;g=Ug(e)|0;if(!g){h=d;i=0}else{h=d;i=(g|0)==(e|0)&(a[g>>0]|0)!=0?g+1|0:g}}g=c[514878]|0;switch(g|0){case -960:case 58:case 44:case 46:case -992:case 93:case 125:case 41:case 59:case -1e3:case -983:case -995:case -999:{j=1;break}default:j=(f|0)==126&(g|0)==-997&1}d=(j^1)+h|0;e=i;f=g}return d|0}function $g(a){a=a|0;return}function ah(){return}function bh(){return}function ch(){return}function dh(a){a=a|0;return}function eh(){return}function fh(){return}function gh(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=b+4|0;f=b+8|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 hh(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=b+8|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 ih(){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,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;b=Ga;Ga=Ga+2832|0;e=b+2824|0;f=b+2816|0;g=b+1792|0;h=b+768|0;i=b;j=b+2828|0;c[j>>2]=0;if(!(c[514883]|0)){c[514883]=1;ku(1406992,0,1920)|0}if(!(c[514882]|0)){k=9;Ga=b;return k|0}l=0;while(1){c[f>>2]=Gl()|0;c[f+4>>2]=l;Ir(g,52468,f)|0;yq(g,h);if(!(_p(h)|0))break;else l=l+1|0}l=Ek(h,0,j)|0;if(!l){k=1;Ga=b;return k|0}c[e>>2]=h;Ir(1465008,52478,e)|0;bm(1465008);e=c[405607]<<7;j=qm(e,e,8)|0;if((c[514882]|0)>0){e=0;g=18;while(1){f=1406992+(e<<2)|0;m=c[f>>2]|0;if(!m){n=qm(128,128,8)|0;c[f>>2]=n;o=n}else o=m;m=c[o+12>>2]|0;n=0;p=g;do{p=(d[m+n>>0]|0)>15?256:p;n=n+1|0}while((n|0)!=16384);e=e+1|0;if((e|0)>=(c[514882]|0))break;else g=p}if((p|0)>0){q=p;r=15}else s=p}else{q=18;r=15}if((r|0)==15){r=c[694248]|0;p=0;do{a[i+(p*3|0)>>0]=a[r+(p*3|0)>>0]|0;a[i+(p*3|0)+1>>0]=a[r+(p*3|0)+1>>0]|0;a[i+(p*3|0)+2>>0]=a[r+(p*3|0)+2>>0]|0;p=p+1|0}while((p|0)!=(q|0));s=q}q=Dk(1<<(Nk(s)|0),i)|0;i=c[j>>2]|0;c[l>>2]=i;p=j+4|0;r=c[p>>2]|0;c[l+4>>2]=r;c[l+8>>2]=s;c[l+12>>2]=0;c[l+20>>2]=q;a:do if((c[514882]|0)>0){g=j+16|0;e=0;o=i;n=r;while(1){m=1406992+(e<<2)|0;wm(c[m>>2]|0,j,0,0,o,n,0);f=Pk(l,0)|0;c[f>>2]=0;c[f+4>>2]=0;t=c[j>>2]|0;c[f+8>>2]=t;u=c[p>>2]|0;c[f+12>>2]=u;a[f+16>>0]=0;v=(e|0)!=0;c[f+20>>2]=v?0:q;w=hr(B(u,t)|0)|0;t=f+24|0;c[t>>2]=w;ku(w|0,0,B(c[p>>2]|0,c[j>>2]|0)|0)|0;w=c[p>>2]|0;if((w|0)>0){u=0;x=w;y=c[j>>2]|0;while(1){if((y|0)>0){z=0;A=y;do{a[(c[t>>2]|0)+((B(A,u)|0)+z)>>0]=(d[(c[(c[g>>2]|0)+(u<<2)>>2]|0)+z>>0]|0)%(s|0)|0;z=z+1|0;A=c[j>>2]|0}while((z|0)<(A|0));C=A;D=c[p>>2]|0}else{C=y;D=x}u=u+1|0;if((u|0)>=(D|0)){E=D;break}else{x=D;y=C}}}else E=w;if(v&(E|0)>0){y=1406992+(e+-1<<2)|0;x=0;u=c[j>>2]|0;while(1){if((u|0)>0){z=0;F=u;while(1){G=c[405607]|0;H=(x|0)/(G|0)|0;I=(z|0)/(G|0)|0;if((a[(c[(c[(c[y>>2]|0)+16>>2]|0)+(H<<2)>>2]|0)+I>>0]|0)==(a[(c[(c[(c[m>>2]|0)+16>>2]|0)+(H<<2)>>2]|0)+I>>0]|0)){I=(B(F,x)|0)+z|0;a[(c[t>>2]|0)+I>>0]=17;J=c[j>>2]|0}else J=F;z=z+1|0;if((z|0)>=(J|0)){K=J;break}else F=J}}else K=u;x=x+1|0;if((x|0)>=(c[p>>2]|0))break;else u=K}}u=(e|0)==0;x=u?3:1;t=f+28|0;c[t>>2]=x;m=hr(x*12|0)|0;x=f+32|0;c[x>>2]=m;ku(m|0,0,(c[t>>2]|0)*12|0)|0;t=c[x>>2]|0;if(u){c[t+8>>2]=255;c[t>>2]=11;u=hr(12)|0;c[t+4>>2]=u;m=u;u=52499;y=m+12|0;do{a[m>>0]=a[u>>0]|0;m=m+1|0;u=u+1|0}while((m|0)<(y|0));u=c[x>>2]|0;c[u+20>>2]=0;c[u+12>>2]=3;m=hr(3)|0;c[u+16>>2]=m;a[m>>0]=1;a[m+1>>0]=0;a[m+2>>0]=0;L=2;M=u}else{L=0;M=t}c[M+(L*12|0)+8>>2]=249;c[M+(L*12|0)>>2]=4;u=hr(4)|0;m=M+(L*12|0)+4|0;c[m>>2]=u;a[u>>0]=1;a[(c[m>>2]|0)+1>>0]=3;a[(c[m>>2]|0)+2>>0]=0;a[(c[m>>2]|0)+3>>0]=17;m=e+1|0;if((m|0)>=(c[514882]|0))break a;e=m;o=c[j>>2]|0;n=c[p>>2]|0}}while(0);p=Mk(l)|0;rm(j)|0;Gb(h,52511,128,128);k=(p|0)==0&1;Ga=b;return k|0}function jh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Ga;Ga=Ga+16|0;d=b;if(!(c[514883]|0)){c[514883]=1;ku(1406992,0,1920)|0}if(!(c[405620]|c[405610])){Ga=b;return}vq(b+8|0,b+4|0,d);oq()|0;d=c[405620]|0;e=c[405610]|0;if((e|0)>0|(d|0)!=0){f=0;g=e;e=d;while(1){d=1406992+(f<<2)|0;if(!(c[d>>2]|0)){c[d>>2]=qm(128,128,8)|0;h=c[405620]|0;i=c[405610]|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}}}ao(a,c[1406992+(c[514882]<<2)>>2]|0,0,0,0,0,128,128);a=oq()|0;if((a|0)<(c[505847]|0))ob(c[1406992+(c[514882]<<2)>>2]|0);a=c[514882]|0;h=(c[405620]|0)==0?(c[405610]|0)*30|0:480;e=(h|0)<480;if((a|0)<(((h|0)<0?-1:e?h+-1|0:479)|0)){c[514882]=a+1;Ga=b;return}a=c[351748]|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[1406992+(g<<2)>>2]=c[1406992+(((e|0)%(i|0)|0)<<2)>>2]}while((e|0)<(h|0));k=h}else k=0;c[1406992+(k<<2)>>2]=a;Ga=b;return}function kh(){c[514882]=0;return}function lh(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;e=Ga;Ga=Ga+16|0;f=e;g=Ws(a,58775)|0;if(!g){h=1;Ga=e;return h|0}a=Uo(1048576)|0;i=It(a,1,1048576,g)|0;at(g)|0;g=Ws(b,57661)|0;if(!g){h=2;Ga=e;return h|0}xt(52515,6,1,g)|0;if((i|0)>0){b=0;do{c[f>>2]=d[a+b>>0];ot(g,66716,f)|0;b=b+1|0}while((b|0)!=(i|0))}xt(52522,7,1,g)|0;at(g)|0;h=0;Ga=e;return h|0}function mh(a){a=a|0;rm(c[(c[17040]|0)+44316>>2]|0)|0;a=qm(128,128,8)|0;c[(c[17040]|0)+44316>>2]=a;ao(c[694276]|0,a,0,0,0,0,128,128);return 0}function nh(){return}function oh(){return (c[514882]|0)/30|0|0}function ph(b){b=b|0;c[b>>2]=0;a[b+4>>0]=0;c[b+8>>2]=0;return}function qh(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[52530+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[52530+(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[52530+(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[52530+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 rh(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[52530+(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[52530+(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 sh(){return}function th(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=Ga;Ga=Ga+1040|0;g=f+1024|0;h=f;if((b|0)==0|(d|0)==0){i=1;Ga=f;return i|0}j=ss(b)|0;k=ss(2916968)|0;if((e|0)>1023|(j+4+k+(ss(2917992)|0)|0)>>>0>=e>>>0){i=1;Ga=f;return i|0}Zl(h,b)|0;if(rt(h,59123)|0){i=1;Ga=f;return i|0}b=a[h>>0]|0;a:do if(b<<24>>24){e=h;k=b;b:while(1){if(!((k+-97&255)<26|(k+-48&255)<10))switch(k<<24>>24){case 32:case 46:case 47:case 95:break;default:{i=1;break b}}e=e+1|0;k=a[e>>0]|0;if(!(k<<24>>24))break a}Ga=f;return i|0}while(0);b=ss(h)|0;if(b>>>0>3?(is(h+b+-4|0,52606)|0)==0:0)a[h+(b+-4)>>0]=0;c[g>>2]=2916968;c[g+4>>2]=2917992;c[g+8>>2]=h;Ir(d,52611,g)|0;i=0;Ga=f;return i|0}function uh(a){a=a|0;Cd(a,6,0);Hd(a,52622);Cd(a,7,0);Hd(a,52637);Cd(a,8,0);Hd(a,52647);Cd(a,9,0);Hd(a,52658);Cd(a,10,0);Hd(a,52665);Cd(a,11,0);Hd(a,52673);Cd(a,12,0);Hd(a,52682);Cd(a,13,0);Hd(a,52690);Cd(a,14,0);Hd(a,52697);Cd(a,15,0);Hd(a,52706);Cd(a,15,0);Hd(a,52719);Cd(a,16,0);Hd(a,52728);Cd(a,17,0);Hd(a,52735);Cd(a,18,0);Hd(a,52746);Cd(a,19,0);Hd(a,52772);Cd(a,20,0);Hd(a,52775);Cd(a,21,0);Hd(a,52781);Cd(a,22,0);Hd(a,52785);Cd(a,23,0);Hd(a,52788);Cd(a,13,0);Hd(a,52794);Cd(a,24,0);Hd(a,52799);Cd(a,25,0);Hd(a,52804);Cd(a,26,0);Hd(a,52809);Cd(a,27,0);Hd(a,52816);Cd(a,27,0);Hd(a,52825);Cd(a,28,0);Hd(a,52830);Cd(a,29,0);Hd(a,52835);Cd(a,30,0);Hd(a,52842);return}function vh(a){a=a|0;if(!(c[694264]|0))return 0;Ng((nd(a,1,0)|0)>>16);return 0}function wh(a){a=a|0;if((c[694281]|0)>0)return 0;c[731640]=2;c[731752]=0;c[731751]=0;xh(a)|0;fg();return 0}function xh(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=Ga;Ga=Ga+16|0;d=b;e=c[731746]|0;f=hd(a)|0;if(!f){Ga=b;return 0}g=ld(a,1)|0;do if((g+-3|0)>>>0>=2)if((g|0)==1){h=(pd(a,1)|0)==0;i=h?52600:52595;break}else{c[d>>2]=md(a,g)|0;Ir(1469616,54122,d)|0;i=1469616;break}else i=qd(a,1,0)|0;while(0);if((f|0)!=2)if((f|0)>2?(d=(nd(a,2,0)|0)>>16,g=(nd(a,3,0)|0)>>16,c[731747]=d,c[731748]=g,(f|0)!=3):0){g=c[731746]&255;if((hd(a)|0)>=4){d=nd(a,4,0)|0;h=d>>>16&255;c[731746]=h;if(!((d&268435456|0)==0|(Tj(2777036,c[732713]|0,24372)|0)!=1)?(j=d&65535,c[731759]=j,(d&16777216|0)!=0):0){c[731759]=j|65536;k=h}else k=h}else k=g;l=c[2926840+(k>>>4<<2)>>2]<<4&240|c[2926840+((k&15)<<2)>>2]&15}else l=e;else{e=c[731746]&255;if((hd(a)|0)>=2){k=nd(a,2,0)|0;a=k>>>16&255;c[731746]=a;if(!((k&268435456|0)==0|(Tj(2777036,c[732713]|0,24372)|0)!=1)?(g=k&65535,c[731759]=g,(k&16777216|0)!=0):0){c[731759]=g|65536;m=a}else m=a}else m=e;l=c[2926840+(m>>>4<<2)>>2]<<4&240|c[2926840+((m&15)<<2)>>2]&15}m=(c[731748]|0)-(c[731752]|0)|0;e=Qj(c[694267]|0,i,c[694286]|0,(c[731747]|0)-(c[731751]|0)|0,m,(c[731640]|0)==2?17:1,l)|0;if(!((f|0)>2|(e|0)<(m|0))){f=e;do{Xa();f=f+-6|0}while((f|0)>=(m|0))}Mg((ss(i)|0)<<3|2);Ga=b;return 0}function yh(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=Ga;Ga=Ga+2096|0;e=d+2080|0;f=d+2072|0;g=d+2064|0;h=d+1040|0;i=d;if(!(hd(b)|0)){Ga=d;return 0}j=ld(b,1)|0;do if((j+-3|0)>>>0>=2)if((j|0)==1){k=(pd(b,1)|0)==0;l=k?52600:52595;break}else{c[g>>2]=md(b,j)|0;Ir(1469616,54122,g)|0;l=1469616;break}else l=qd(b,1,0)|0;while(0);if((hd(b)|0)<=1){g=Zq(l,0)|0;Ft(g)|0;ct(c[8629]|0)|0;Wo(g);Ga=d;return 0}g=qd(b,2,0)|0;if(!g){Ga=d;return 0}if((hd(b)|0)>2)m=pd(b,3)|0;else m=0;if(!(is(g,53442)|0)){b=Zq(l,0)|0;Eq(b)|0;if((Fq(b)|0)==0?(Nm(-5)|0)==0:0)bb(54127,1500);j=c[406464]|0;if(j|0)Wo(j);c[406464]=b;Ga=d;return 0}if(th(g,h,1023)|0){yb(54157);Ga=d;return 0}g=c[505157]|0;b=(ss(l)|0)+g|0;if(b>>>0>10485759){yb(54183);Ga=d;return 0}c[505157]=b;c[f>>2]=h;Ir(i,54220,f)|0;do if(!(rt(1955092,i)|0)){f=0;b=0;a:while(1){switch(a[1955092+f>>0]|0){case 0:{break a;break}case 124:{n=b+1|0;break}default:n=b}f=f+1|0;b=n}if((b|0)<=63){Cs(1955092,i)|0;break}yb(54224);Ga=d;return 0}while(0);i=Ws(h,(m|0)==0?54246:57661)|0;if(!i){yb(54252);Ga=d;return 0}else{m=Zq(l,0)|0;c[e>>2]=m;ot(i,54248,e)|0;at(i)|0;Wo(m);Ga=d;return 0}return 0}function zh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=Ga;Ga=Ga+16|0;d=b+8|0;e=b;f=ld(a,1)|0;switch(f|0){case 4:{yd(a,qd(a,1,0)|0)|0;Ga=b;return 1}case 3:{if((hd(a)|0)>1?pd(a,2)|0:0){g=nd(a,1,0)|0;c[e>>2]=g>>>16;c[e+4>>2]=g&65535;Ir(1469616,54110,e)|0;yd(a,1469616)|0;Ga=b;return 1}yd(a,qd(a,1,0)|0)|0;Ga=b;return 1}case 1:{e=(pd(a,1)|0)==0;yd(a,e?52600:52595)|0;Ga=b;return 1}default:{c[d>>2]=md(a,f)|0;Ir(1469616,54122,d)|0;yd(a,1469616)|0;Ga=b;return 1}}return 0}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,s=0,t=0;d=Ga;Ga=Ga+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[694281]|0)>0){o=0;Ga=d;return o|0}Qk()|0;if((ld(b,1)|0)!=4){o=0;Ga=d;return o|0}if((hd(b)|0)<=1)if(!(c[731641]|0)){hg();p=0}else p=0;else p=qd(b,2,0)|0;if((hd(b)|0)>2?(qd(b,3,0)|0)!=0:0)At(2929437,qd(b,3,0)|0,1024)|0;else a[2929437]=0;if((hd(b)|0)<=0){o=0;Ga=d;return o|0}q=qd(b,1,n)|0;if(!q){o=0;Ga=d;return o|0}c[405625]=0;Zl(k,2920048)|0;Zl(m,2917992)|0;if((a[q>>0]|0)==47){Zl(m,2998896)|0;r=q+1|0}else r=q;Zl(g,r)|0;switch(a[r>>0]|0){case 95:{if((a[r+1>>0]|0)==95)s=34;else s=22;break}case 35:{c[405622]=0;c[405625]=0;if(!(c[731641]|0))pg(53947,0,0);q=r+1|0;m=wl()|0;c[f>>2]=56991;c[f+4>>2]=m;c[f+8>>2]=q;Ir(l,53962,f)|0;ul(l,fl(q)|0,0);c[731643]=30;if((p|0)!=0?(ss(p)|0)>>>0>1:0){gg(k,p,1);t=100}else t=100;break}default:s=22}do if((s|0)==22){if(((is(r,53442)|0?is(r,53448)|0:0)?is(r,53457)|0:0)?is(r,53467)|0:0){if(Tb(g)|0){s=34;break}sn(2920048,h,i,j);q=ss(c[c[17040]>>2]|0)|0;c[e>>2]=i;c[e+4>>2]=j;c[e+8>>2]=q;Ir(1469616,54041,e)|0;if(!(c[731641]|0))og(1469616);if(p|0?(ss(p)|0)>>>0>1:0)gg(k,p,0);wg();q=c[729239]|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;Wj(2777036,c[732713]|0,0,0,17152);Mg(8388608);if(!((c[694282]|0)==0&(c[731641]|0)!=0)){t=0;break}c[731640]=1;if(!(is(2920048,k)|0)){t=0;break}c[731643]=30;t=0;break}og(54011);t=1}while(0);do if((s|0)==34)if(!(c[731641]|0))if((c[730289]|0)==1){og(54064);c[730289]=0;t=1;break}else{og(54095);t=1;break}else t=1;while(0);switch(t&127){case 100:{fg();Dd(b,0);o=1;Ga=d;return o|0}case 0:{Dd(b,1);o=1;Ga=d;return o|0}default:{Dd(b,0);o=1;Ga=d;return o|0}}return 0}function Bh(a){a=a|0;var b=0,d=0;b=qd(a,1,0)|0;if(!b)return 0;if(!(is(b,53832)|0)){$a(0);mh(c[694276]|0)|0;bb(53838,1500)}if(!(is(b,53850)|0)){$a(0);Yb(c[694276]|0)|0;bb(53857,1500)}if(!(is(b,53885)|0))kh();if(!(is(b,53889)|0)){$a(0);ih()|0;bb(53895,1500)}if(!(is(b,53916)|0)){c[406460]=1;sb();c[406462]=0}a=is(b,53922)|0;if((c[694281]|a|0)==0?(a=oq()|0,(a|0)>((c[505567]|0)+500|0)):0){c[694281]=1;c[505567]=oq()|0}if(!((is(b,53928)|0)!=0?(is(b,53939)|0)!=0:0))d=17;if((d|0)==17?jg()|0:0){mg();fg();return 0}if(is(b,52816)|0)return 0;c[731640]=2;fg();return 0}function Ch(a){a=a|0;return Kf(a)|0}function Dh(a){a=a|0;var b=0;if((hd(a)|0)==1?(ld(a,1)|0)==3:0){ag((nd(a,1,0)|0)/65536|0);b=0;return b|0}Dd(a,$f()|0);b=1;return b|0}function Eh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Ga;Ga=Ga+2912|0;e=d+2080|0;f=d+2064|0;g=d+2056|0;h=d+2048|0;i=d+1024|0;j=d;k=d+2088|0;if((hd(b)|0)>0?(l=qd(b,1,0)|0,l|0):0){if((ss(l)|0)>>>0>511){Ga=d;return 0}if((a[l>>0]|0)==47){c[g>>2]=2916968;c[g+4>>2]=l+1;Ir(i,53791,g)|0}else{c[f>>2]=2916968;c[f+4>>2]=2917992;c[f+8>>2]=l;Ir(i,53768,f)|0}tn(i,j);if((a[2916968]|0)!=46?(rt(j,2916968)|0)==0:0){ng(53797,7);Ga=d;return 0}i=Xp(j,57015,k,-1)|0;Zp(k)|0;if(i|0){ng(53808,7);Ga=d;return 0}if((a[2916968]|0)==46)Zl(2917992,j)|0;else Zl(2917992,j+(ss(2916968)|0)|0)|0;if(!(is(2917992,59711)|0))a[2917992]=0;c[e>>2]=2917992;Ir(1469616,53828,e)|0;ng(1469616,12);Ga=d;return 0}c[h>>2]=2917992;Ir(1469616,53776,h)|0;ng(1469616,12);Ga=d;return 0}function Fh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=Ga;Ga=Ga+1040|0;d=b+1024|0;e=b;if((hd(a)|0)<1){og(53755);f=0;Ga=b;return f|0}g=qd(a,1,0)|0;if((ss(g)|0)>>>0>511){vd(a,0);f=1;Ga=b;return f|0}else{c[d>>2]=2916968;c[d+4>>2]=2917992;c[d+8>>2]=g;Ir(e,53768,d)|0;zq(e)|0;f=0;Ga=b;return f|0}return 0}function Gh(b){b=b|0;if((c[694281]|0)>0)return 0;if((hd(b)|0)>0)At(2929437,qd(b,1,0)|0,1024)|0;else a[2929437]=0;c[731640]=1;return 0}function Hh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=Ga;Ga=Ga+1856|0;e=d+1024|0;f=d+1032|0;g=d;c[749440]=17;a[2020636]=0;h=(c[731641]|0)==0;i=(hd(b)|0)>0;if(h){if(i)At(2020636,qd(b,1,0)|0,1023)|0;rb();j=0;Ga=d;return j|0}if(i){j=0;Ga=d;return j|0}if(!(c[405560]|0))wq(53747,g);else{c[e>>2]=2916968;c[e+4>>2]=2917992;Ir(g,66470,e)|0}Xp(g,57015,f,-1)|0;Gd(b,0,100);g=f+256|0;e=1;while(1){if((rt(g,57017)|0)!=0?(Es(g,126)|0)==0:0){yd(b,g)|0;Id(b,-2,e<<16);k=e+1|0}else k=e;if(!(Yp(f)|0))e=k;else{j=1;break}}Ga=d;return j|0}function Ih(a){a=a|0;og(53706);og(53725);ud(a);return 1}function Jh(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=Ga;Ga=Ga+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[694282]|0)==0;if(l&(c[731641]|0)!=0){og(53397);Ga=d;return 0}if(!l){l=0;do{m=c[17040]|0;Sj(0,m,l,Tj(2777036,c[732713]|0,l)|0);l=l+1|0}while((l|0)!=17152)}if((hd(b)|0)>0?(ld(b,1)|0)==4:0){l=qd(b,1,g)|0;if((ss(l)|0)>>>0>511){og(53424);Ga=d;return 0}if(l|0?a[l>>0]|0:0){if(((is(l,53442)|0?is(l,53448)|0:0)?is(l,53457)|0:0)?is(l,53467)|0:0){c[f>>2]=2916968;c[f+4>>2]=2917992;c[f+8>>2]=l;Ir(h,53651,f)|0;Mb(h,h);do if(_p(h)|0){if(c[749442]|0){c[749442]=0;break}og(53658);ng(53678,14);c[749442]=1;Ga=d;return 0}while(0);if(Ob(h)|0){Ga=d;return 0}Zl(2920048,h)|0;sn(h,i,j,k);c[e>>2]=j;c[e+4>>2]=k;Ir(1469616,53695,e)|0;og(1469616);Ga=d;return 0}if(!(c[(c[17040]|0)+44316>>2]|0)){ng(53480,9);ng(53504,10)}wq(53535,i);if(((Hb(c[17040]|0,i)|0)==0?(wq(53548,h),(lh(i,h)|0)==0):0)?(Iq(h)|0)==0:0){Gq();i=zn(h)|0;if(i|0){en(0,i);Fq(c[i+12>>2]|0)|0;Zo(i)}og(53565);og(53594);Ga=d;return 0}og(53623);Ga=d;return 0}}Wb(1);Ga=d;return 0}function Kh(a){a=a|0;if(c[731641]|0)return 0;og(2998896);ng(53015,12);og(2998896);og(53024);og(53057);og(53081);og(53105);og(53125);og(53158);og(53190);ng(53219,14);og(2998896);og(53252);og(53284);og(53315);og(2998896);ng(53344,12);ng(53372,12);og(2998896);return 0}function Lh(a){a=a|0;if(c[731641]|0)return 0;if(cc(52987)|0)return 0;if(ac()|0)Nb(2920048,0)|0;c[731640]=3;c[405558]=0;fg();return 0}function Mh(a){a=a|0;if((c[694282]|0)==0&(c[731641]|0)!=0)return 0;if(cc(52957)|0)return 0;if(ac()|0)Nb(2920048,0)|0;fg();return 0}function Nh(b){b=b|0;var d=0,e=0,f=0;b=Ga;Ga=Ga+3088|0;d=b+3072|0;e=b+1024|0;f=b;sn(2920048,b+2048|0,e,f);if(a[2920048]|0){if(!(a[f>>0]|0))Zl(f,57017)|0;c[d>>2]=e;c[d+4>>2]=f;Ir(1469616,52849,d)|0;ng(1469616,14)}Fg();d=Uo(131072)|0;if(Nl(c[c[17040]>>2]|0,d)|0){Wo(d);Ga=b;return 0}f=Uo(131072)|0;e=Bk(d,f,ss(d)|0)|0;Wo(f);f=_g(d)|0;qg(52860,f,8192,(f|0)<8193?6:9);f=ss(d)|0;qg(52882,f,65535,f>>>0<65536?6:9);qg(52903,e,15616,(e|0)<15617?6:9);if(ac()|0)pg(52924,0,0);if(bc()|0?(c[(c[17040]|0)+44320>>2]|0)==27:0)pg(52940,0,0);Wo(d);Ga=b;return 0}function Oh(a){a=a|0;return 0}function Ph(a){a=a|0;return 0}function Qh(a){a=a|0;Sg();Cd(a,31,0);Hd(a,54284);Tg(54284);Cd(a,32,0);Hd(a,54289);Tg(54289);Cd(a,33,0);Hd(a,54296);Tg(54296);Cd(a,34,0);Hd(a,54301);Tg(54301);Cd(a,35,0);Hd(a,54305);Tg(54305);Cd(a,22,0);Hd(a,52785);Tg(52785);Cd(a,22,0);Hd(a,54312);Tg(54312);Cd(a,19,0);Hd(a,52772);Tg(52772);Cd(a,20,0);Hd(a,52775);Tg(52775);Cd(a,36,0);Hd(a,54316);Tg(54316);Cd(a,37,0);Hd(a,54323);Tg(54323);Cd(a,38,0);Hd(a,54337);Tg(54337);Cd(a,39,0);Hd(a,54351);Tg(54351);Cd(a,40,0);Hd(a,54361);Tg(54361);Cd(a,41,0);Hd(a,54368);Tg(54368);Cd(a,42,0);Hd(a,54373);Tg(54373);Cd(a,43,0);Hd(a,54378);Tg(54378);Cd(a,10,0);Hd(a,54384);Tg(54384);Cd(a,11,0);Hd(a,54390);Tg(54390);Cd(a,12,0);Hd(a,54397);Tg(54397);Cd(a,10,0);Hd(a,52665);Cd(a,11,0);Hd(a,52673);Cd(a,12,0);Hd(a,52682);Cd(a,44,0);Hd(a,54403);Tg(54403);Cd(a,45,0);Hd(a,54410);Tg(54410);Cd(a,46,0);Hd(a,54416);Tg(54416);Cd(a,47,0);Hd(a,54420);Tg(54420);Cd(a,48,0);Hd(a,54425);Tg(54425);Cd(a,49,0);Hd(a,54430);Tg(54430);Cd(a,50,0);Hd(a,54439);Tg(54439);Cd(a,51,0);Hd(a,54444);Tg(54444);Cd(a,52,0);Hd(a,54453);Tg(54453);Cd(a,53,0);Hd(a,54458);Tg(54458);Cd(a,54,0);Hd(a,54464);Tg(54464);Cd(a,55,0);Hd(a,54468);Tg(54468);Cd(a,56,0);Hd(a,54473);Tg(54473);Cd(a,57,0);Hd(a,54479);Tg(54479);Cd(a,57,0);Hd(a,54487);Tg(54487);Cd(a,58,0);Hd(a,54491);Tg(54491);Cd(a,59,0);Hd(a,54496);Tg(54496);Cd(a,60,0);Hd(a,54501);Tg(54501);Cd(a,61,0);Hd(a,54506);Tg(54506);Cd(a,62,0);Hd(a,54511);Tg(54511);Cd(a,63,0);Hd(a,54516);Tg(54516);Cd(a,64,0);Hd(a,58217);Tg(58217);Cd(a,65,0);Hd(a,54521);Tg(54521);Cd(a,66,0);Hd(a,54525);Tg(54525);Cd(a,67,0);Hd(a,54530);Tg(54530);Cd(a,68,0);Hd(a,54535);Tg(54535);Cd(a,69,0);Hd(a,54542);Tg(54542);Cd(a,70,0);Hd(a,54548);Tg(54548);Cd(a,71,0);Hd(a,54554);Tg(54554);Cd(a,72,0);Hd(a,54560);Tg(54560);Cd(a,73,0);Hd(a,54566);Tg(54566);Cd(a,74,0);Hd(a,54573);Tg(54573);Cd(a,75,0);Hd(a,54580);Tg(54580);Cd(a,76,0);Hd(a,54587);Tg(54587);Cd(a,77,0);Hd(a,54594);Tg(54594);Cd(a,78,0);Hd(a,54598);Tg(54598);Cd(a,79,0);Hd(a,54604);Tg(54604);Cd(a,80,0);Hd(a,54608);Tg(54608);Cd(a,81,0);Hd(a,54613);Tg(54613);Cd(a,82,0);Hd(a,54617);Tg(54617);Cd(a,83,0);Hd(a,54621);Tg(54621);Cd(a,84,0);Hd(a,54625);Tg(54625);Cd(a,85,0);Hd(a,57038);Tg(57038);Cd(a,86,0);Hd(a,54629);Tg(54629);Cd(a,87,0);Hd(a,54633);Tg(54633);Cd(a,88,0);Hd(a,54637);Tg(54637);Cd(a,89,0);Hd(a,54642);Tg(54642);Cd(a,90,0);Hd(a,54648);Tg(54648);Cd(a,91,0);Hd(a,54653);Tg(54653);Cd(a,92,0);Hd(a,54657);Tg(54657);Cd(a,93,0);Hd(a,54662);Tg(54662);Cd(a,94,0);Hd(a,54667);Tg(54667);Cd(a,95,0);Hd(a,54671);Tg(54671);Cd(a,96,0);Hd(a,54675);Tg(54675);Cd(a,97,0);Hd(a,54680);Tg(54680);Cd(a,98,0);Hd(a,54685);Tg(54685);Cd(a,13,0);Hd(a,52690);Cd(a,13,0);Hd(a,52794);Tg(52794);Cd(a,24,0);Hd(a,52799);Tg(52799);Cd(a,21,0);Hd(a,52781);Tg(52781);Cd(a,9,0);Hd(a,54690);Tg(54690);Cd(a,9,0);Hd(a,52658);Cd(a,26,0);Hd(a,52809);Cd(a,27,0);Hd(a,52816);Cd(a,27,0);Hd(a,52825);Cd(a,28,0);Hd(a,52830);Cd(a,29,0);Hd(a,52835);Cd(a,30,0);Hd(a,52842);Cd(a,25,0);Hd(a,52804);Cd(a,99,0);Hd(a,54695);Tg(54695);Cd(a,99,0);Hd(a,54700);Cd(a,23,0);Hd(a,52788);Tg(52788);Cd(a,100,0);Hd(a,54702);Tg(54702);Cd(a,101,0);Hd(a,54709);Tg(54709);Cd(a,102,0);Hd(a,54716);Tg(54716);Cd(a,14,0);Hd(a,54725);Tg(54725);Cd(a,14,0);Hd(a,52697);Cd(a,103,0);Hd(a,54732);Cd(a,104,0);Hd(a,54738);Tg(54738);Cd(a,105,0);Hd(a,54753);Tg(54753);Cd(a,106,0);Hd(a,54757);Tg(54757);Cd(a,107,0);Hd(a,54762);Cd(a,108,0);Hd(a,54772);Tg(54772);Cd(a,109,0);Hd(a,54781);Tg(54781);Cd(a,110,0);Hd(a,54786);Tg(54786);Cd(a,111,0);Hd(a,54791);Tg(54791);Cd(a,112,0);Hd(a,54796);Tg(54796);Cd(a,113,0);Hd(a,54800);Tg(54800);Cd(a,114,0);Hd(a,54804);Tg(54804);Cd(a,7,0);Hd(a,52637);Cd(a,8,0);Hd(a,52647);Cd(a,16,0);Hd(a,57751);Tg(57751);Cd(a,4,0);Hd(a,54808);Tg(54808);Cd(a,115,0);Hd(a,54813);Tg(54813);Cd(a,116,0);Hd(a,54826);Tg(54826);Cd(a,117,0);Hd(a,54839);Tg(54839);Cd(a,118,0);Hd(a,54848);Tg(54848);Cd(a,119,0);Hd(a,54855);Tg(54855);Cd(a,120,0);Hd(a,54862);Tg(54862);Cd(a,121,0);Hd(a,54869);Tg(54869);Cd(a,122,0);Hd(a,54876);Tg(54876);Cd(a,17,0);Hd(a,54885);Tg(54885);Cd(a,123,0);Hd(a,54894);Tg(54894);Cd(a,124,0);Hd(a,54900);Tg(54900);Cd(a,125,0);Hd(a,54909);Tg(54909);Cd(a,126,0);Hd(a,54916);Tg(54916);Cd(a,127,0);Hd(a,54921);Cd(a,127,0);Hd(a,54929);Cd(a,128,0);Hd(a,54935);Cd(a,128,0);Hd(a,54945);Cd(a,129,0);Hd(a,54957);Cd(a,130,0);Hd(a,54981);Cd(a,131,0);Hd(a,54997);Cd(a,132,0);Hd(a,55015);Cd(a,133,0);Hd(a,55036);Cd(a,134,0);Hd(a,55045);Cd(a,135,0);Hd(a,55055);Cd(a,6,0);Hd(a,52622);return}function Rh(a){a=a|0;var b=0;Bg();a=c[749164]|0;if((a|0)==30){Bg();b=c[749164]|0}else b=a;if((b|0)==15){Bg();Bg()}tb();ck();c[694278]=0;Wl();eg();c[694263]=0;if(!(c[406465]|0)){fg();return 0}c[731640]=2;c[731748]=0;c[731747]=0;fg();return 0}function Sh(a){a=a|0;var b=0,d=0,e=0,f=0;b=Tj(2777036,c[732713]|0,24360)|0;d=((Tj(2777036,c[732713]|0,24361)|0)<<8)+b|0;b=Tj(2777036,c[732713]|0,24362)|0;e=((Tj(2777036,c[732713]|0,24363)|0)<<8)+b|0;b=nd(a,1,0)|0;f=nd(a,2,0)|0;Sj(2777036,c[732713]|0,24360,b>>>16&255);Sj(2777036,c[732713]|0,24361,b>>24);Sj(2777036,c[732713]|0,24362,f>>>16&255);Sj(2777036,c[732713]|0,24363,f>>24);vd(a,d<<16);vd(a,e<<16);return 2}function Th(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;b=c[731742]|0;d=c[731743]|0;e=(c[731744]|0)-b|0;f=(c[731745]|0)-d|0;if((hd(a)|0)>3){g=(nd(a,1,0)|0)>>16;h=(nd(a,2,0)|0)>>16;i=(nd(a,3,0)|0)>>16;j=g;k=h;l=i;m=(nd(a,4,0)|0)>>16}else{j=0;k=0;l=128;m=128}c[731742]=j;c[731743]=k;i=j+l|0;c[731744]=i;l=k+m|0;c[731745]=l;if((j|0)<128)if((j|0)>0){n=j;o=5}else p=0;else{n=128;o=5}if((o|0)==5)p=n;c[731742]=p;if((k|0)<128)if((k|0)>0){q=k;o=8}else r=0;else{q=128;o=8}if((o|0)==8)r=q;c[731743]=r;q=(i|0)<128?i:128;i=(q|0)>0?q:0;c[731744]=i;q=(l|0)<128?l:128;l=(q|0)>0?q:0;c[731745]=l;om(c[694267]|0,p,r,i,l);vd(a,b<<16);vd(a,d<<16);vd(a,e<<16);vd(a,f<<16);return 4}function Uh(a){a=a|0;var b=0;if((hd(a)|0)>0)b=(nd(a,1,0)|0)>>16;else b=0;c[731748]=0;c[731747]=0;c[731743]=0;c[731742]=0;c[731745]=128;c[731744]=128;vm(c[694267]|0);nm(c[694267]|0,0,0,127,127,b);Mg(1024);return 0}function Vh(a){a=a|0;return 0}function Wh(a){a=a|0;var b=0,d=0,e=0;a=Ga;Ga=Ga+2064|0;b=a+2048|0;d=a+1024|0;e=a;if(c[731641]|0){Ga=a;return 0}Nb(2920048,0)|0;sn(2920048,0,d,e);c[b>>2]=d;c[b+4>>2]=e;Ir(1469616,55571,b)|0;og(1469616);Ga=a;return 0}function Xh(a){a=a|0;if(!(c[405560]|0)){Ll();return 0}else{og(55539);return 0}return 0}function Yh(a){a=a|0;ng(55511,14);Zk();Ml();_k();return 0}function Zh(a){a=a|0;Tk();c[749441]=1;bk();return 0}function _h(a){a=a|0;og(55480);return 0}function $h(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if((hd(a)|0)<2)return 0;b=(nd(a,1,0)|0)>>16;d=(nd(a,2,0)|0)>>16;e=c[731746]&255;if((hd(a)|0)>=3){f=nd(a,3,0)|0;a=f>>>16&255;c[731746]=a;if(!((f&268435456|0)==0|(Tj(2777036,c[732713]|0,24372)|0)!=1)?(g=f&65535,c[731759]=g,(f&16777216|0)!=0):0){c[731759]=g|65536;h=a}else h=a}else h=e;Hj(c[694267]|0,b-(c[731751]|0)|0,d-(c[731752]|0)|0,c[2926840+(h>>>4<<2)>>2]<<4&240|c[2926840+((h&15)<<2)>>2]&15,c[731759]|0);return 0}function ai(a){a=a|0;var b=0,d=0;if((hd(a)|0)<2){vd(a,0);return 1}else{b=(nd(a,1,0)|0)>>16;d=(nd(a,2,0)|0)>>16;vd(a,(ym(c[694267]|0,b-(c[731751]|0)|0,d-(c[731752]|0)|0)|0)<<16&983040);return 1}return 0}function bi(a){a=a|0;var b=0,d=0,e=0;b=c[731746]|0;if(!(hd(a)|0))c[731746]=6;if(((hd(a)|0)>=1?(d=nd(a,1,0)|0,c[731746]=d>>>16&255,!((d&268435456|0)==0|(Tj(2777036,c[732713]|0,24372)|0)!=1)):0)?(e=d&65535,c[731759]=e,d&16777216|0):0)c[731759]=e|65536;vd(a,b<<16);return 1}function ci(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[731747]|0;d=c[731748]|0;e=c[731746]|0;f=(nd(a,1,0)|0)>>16;g=(nd(a,2,0)|0)>>16;c[731747]=f;c[731748]=g;if(((hd(a)|0)>=3?(g=nd(a,3,0)|0,c[731746]=g>>>16&255,!((g&268435456|0)==0|(Tj(2777036,c[732713]|0,24372)|0)!=1)):0)?(f=g&65535,c[731759]=f,g&16777216|0):0)c[731759]=f|65536;vd(a,b<<16);vd(a,d<<16);vd(a,e<<16);return 3}function di(b){b=b|0;var d=0,e=0,f=0,g=0;d=Ga;Ga=Ga+16|0;e=d;switch(ld(b,1)|0){case 3:{vd(b,nd(b,1,0)|0);f=1;break}case 4:{c[e>>2]=0;g=nd(b,1,e)|0;if(!(c[e>>2]|0))f=0;else{e=(g|0)>-1&(a[(qd(b,1,0)|0)>>0]|0)==45;vd(b,e?0-g|0:g);f=1}break}default:f=0}Ga=d;return f|0}function ei(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;b=Ga;Ga=Ga+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=hd(a)|0;l=nd(a,1,0)|0;m=l>>16;n=(nd(a,2,0)|0)>>16;o=(nd(a,3,0)|0)>>16;if(l>>>0>16777215){Ga=b;return 0}if((k|0)>3){l=nd(a,4,0)|0;p=l<<3>>16;l=(nd(a,5,0)|0)<<3>>16;if((k|0)>5){q=pd(a,6)|0;if((k|0)==6){r=0;s=q;t=l;u=p}else{r=pd(a,7)|0;s=q;t=l;u=p}}else{r=0;s=0;t=l;u=p}}else{r=0;s=0;t=8;u=8}if((u|0)<1|(t|0)<1){Ga=b;return 0}p=(u|0)<128?u:128;u=(t|0)<128?t:128;t=n-(c[731751]|0)|0;n=o-(c[731752]|0)|0;o=c[514887]|0;do if(!o)v=11;else{if((c[o>>2]|0)==(p|0)?(c[o+4>>2]|0)==(u|0):0){w=o;break}rm(o)|0;v=11}while(0);if((v|0)==11){v=qm(p,u,8)|0;c[514887]=v;w=v}Cj(c[(c[732713]|0)+4>>2]|0,w,m<<3&120,((m|0)/16|0)<<3,0,0,p,u,s,r,2926840);Ej(c[514887]|0,c[694267]|0,0,0,t,n,p,u,2926840);c[d>>2]=p;c[e>>2]=u;c[g>>2]=0;c[h>>2]=0;c[i>>2]=t;c[j>>2]=n;c[f>>2]=p;c[f+4>>2]=u;tm(f,c[694267]|0,g,h,i,j,d,e);j=c[d>>2]|0;d=c[e>>2]|0;e=B(d,j)|0;Mg((d|j|0)<0?0:e);Ga=b;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,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;b=Ga;Ga=Ga+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=hd(a)|0;l=(nd(a,1,0)|0)>>16;m=(nd(a,2,0)|0)>>16;n=nd(a,3,0)|0;o=n>>16;p=nd(a,4,0)|0;q=p>>16;r=(nd(a,5,0)|0)>>16;s=(nd(a,6,0)|0)>>16;if((k|0)>6){t=(nd(a,7,0)|0)>>16;u=(nd(a,8,0)|0)>>16;if((k|0)>8){v=pd(a,9)|0;if((k|0)==9){w=0;x=v;y=u;z=t}else{w=pd(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){Ga=b;return 0}if((z|0)==0|(y|0)==0){Ga=b;return 0}n=(z|0)<0;p=r-(c[731751]|0)+(n?z:0)|0;r=n?0-z|0:z;z=n?(x|0)==0&1:x;x=(y|0)<0;n=s-(c[731752]|0)+(x?y:0)|0;s=x?0-y|0:y;y=x?(w|0)==0&1:w;w=c[514886]|0;do if(!w)A=11;else{if((c[w>>2]|0)==(o|0)?(c[w+4>>2]|0)==(q|0):0){C=w;break}rm(w)|0;A=11}while(0);if((A|0)==11){A=qm(o,q,8)|0;c[514886]=A;C=A}Cj(c[(c[732713]|0)+4>>2]|0,C,l,m,0,0,o,q,z,y,2926840);Dj(c[514886]|0,c[694267]|0,p,n,r,s,2926840);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;D=n}else D=r;r=0-s|0;if((s|0)<0){c[h>>2]=s;c[e>>2]=r;E=r}else E=s;c[f>>2]=D;c[f+4>>2]=E;tm(f,c[694267]|0,g,h,i,j,d,e);j=c[d>>2]|0;d=c[e>>2]|0;e=B(d,j)|0;Mg((d|j|0)<0?0:e);Ga=b;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,n=0;b=(nd(a,1,0)|0)>>16;d=(nd(a,2,0)|0)>>16;e=(nd(a,3,0)|0)>>16;f=(nd(a,4,0)|0)>>16;g=c[731746]&255;if((hd(a)|0)>=5){h=nd(a,5,0)|0;a=h>>>16&255;c[731746]=a;if(!((h&268435456|0)==0|(Tj(2777036,c[732713]|0,24372)|0)!=1)?(i=h&65535,c[731759]=i,(h&16777216|0)!=0):0){c[731759]=i|65536;j=a}else j=a}else j=g;g=c[2926840+(j>>>4<<2)>>2]<<4&240|c[2926840+((j&15)<<2)>>2]&15;j=c[731751]|0;a=b-j|0;b=c[731752]|0;i=d-b|0;d=e-j|0;j=f-b|0;Lj(c[694267]|0,a,i,d,i,g)|0;Lj(c[694267]|0,a,j,d,j,g)|0;Lj(c[694267]|0,a,i,a,j,g)|0;Lj(c[694267]|0,d,i,d,j,g)|0;g=c[694267]|0;b=(d|0)<(a|0);f=b?a:d;e=b?d:a;a=(j|0)<(i|0);d=a?j:i;b=a?i:j;j=c[g+36>>2]|0;if((b|0)<(j|0))return 0;i=c[g+40>>2]|0;if((d|0)>=(i|0))return 0;a=c[g+28>>2]|0;if((f|0)<(a|0))return 0;h=c[g+32>>2]|0;if((e|0)>=(h|0))return 0;g=h+-1|0;k=(f|0)<(g|0)?f:g;l=(e|0)<(g|0)?e:g;g=i+-1|0;m=(b|0)<(g|0)?b:g;n=(d|0)<(g|0)?d:g;g=((j|0)>(m|0)?j:m)-((j|0)>(n|0)?j:n)+-1|0;n=(3-((a|0)>(l|0)?a:l)+((a|0)>(k|0)?a:k)|0)/4|0;k=((g|0)>0?g:0)>>>1;Mg(((f|0)<(h|0)?k:0)+((e|0)<(j|0)?0:k)+(((d|0)<(j|0)?0:n)+((b|0)<(i|0)?n:0))|0);return 0}function hi(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;b=Ga;Ga=Ga+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=(nd(a,1,0)|0)>>16;l=(nd(a,2,0)|0)>>16;m=(nd(a,3,0)|0)>>16;n=(nd(a,4,0)|0)>>16;o=c[731746]&255;if((hd(a)|0)>=5){p=nd(a,5,0)|0;a=p>>>16&255;c[731746]=a;if(!((p&268435456|0)==0|(Tj(2777036,c[732713]|0,24372)|0)!=1)?(q=p&65535,c[731759]=q,(p&16777216|0)!=0):0){c[731759]=q|65536;r=a}else r=a}else r=o;o=c[2926840+(r>>>4<<2)>>2]<<4&240|c[2926840+((r&15)<<2)>>2]&15;r=c[731751]|0;a=k-r|0;k=c[731752]|0;q=l-k|0;l=m-r|0;r=n-k|0;k=(l|0)<(a|0);n=k?a:l;m=k?l:a;a=(r|0)<(q|0);l=a?q:r;k=a?r:q;q=k;while(1){Jj(c[694267]|0,m,n,q,o,c[731759]|0);if((q|0)<(l|0))q=q+1|0;else break}q=n-m|0;n=q+1|0;o=l-k|0;l=o+1|0;c[d>>2]=n;c[e>>2]=l;c[g>>2]=0;c[h>>2]=0;c[i>>2]=m;c[j>>2]=k;k=~q;if((q|0)<-1){c[g>>2]=n;c[d>>2]=k;s=k}else s=n;n=~o;if((o|0)>=-1){t=l;c[f>>2]=s;u=f+4|0;c[u>>2]=t;v=c[694267]|0;tm(f,v,g,h,i,j,d,e);w=c[d>>2]|0;x=c[e>>2]|0;y=x|w;z=(y|0)<0;A=B(x,w)|0;C=(A|0)/16|0;D=z?0:C;Mg(D);Ga=b;return 0}c[h>>2]=l;c[e>>2]=n;t=n;c[f>>2]=s;u=f+4|0;c[u>>2]=t;v=c[694267]|0;tm(f,v,g,h,i,j,d,e);w=c[d>>2]|0;x=c[e>>2]|0;y=x|w;z=(y|0)<0;A=B(x,w)|0;C=(A|0)/16|0;D=z?0:C;Mg(D);Ga=b;return 0}function ii(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=hd(a)|0;if((b|0)<2)return 0;d=(nd(a,1,0)|0)>>16;e=(nd(a,2,0)|0)>>16;if((b|0)==2)f=4;else f=(nd(a,3,0)|0)>>16;b=c[731746]&255;if((hd(a)|0)>=4){g=nd(a,4,0)|0;a=g>>>16&255;c[731746]=a;if(!((g&268435456|0)==0|(Tj(2777036,c[732713]|0,24372)|0)!=1)?(h=g&65535,c[731759]=h,(g&16777216|0)!=0):0){c[731759]=h|65536;i=a}else i=a}else i=b;b=d-(c[731751]|0)|0;d=e-(c[731752]|0)|0;if((f|0)<0)return 0;Gj(c[694267]|0,b,d,f,c[2926840+(i>>>4<<2)>>2]<<4&240|c[2926840+((i&15)<<2)>>2]&15);i=c[694267]|0;if((b+f|0)<(c[i+28>>2]|0))return 0;if((b-f|0)>=(c[i+32>>2]|0))return 0;b=d+f|0;e=c[i+36>>2]|0;if((b|0)<(e|0))return 0;a=d-f|0;f=c[i+40>>2]|0;if((a|0)>=(f|0))return 0;i=(b|0)<(f|0)?b:f;Mg((((e|0)>(i|0)?e:i)-((e|0)>(a|0)?e:a)<<1)+2|0);return 0}function ji(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=Ga;Ga=Ga+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=hd(a)|0;if((k|0)<2){Ga=b;return 0}l=(nd(a,1,0)|0)>>16;m=(nd(a,2,0)|0)>>16;do if((k|0)!=2){n=nd(a,3,0)|0;if((n|0)<0){Ga=b;return 0}else{o=n>>>16;break}}else o=4;while(0);k=c[731746]&255;if((hd(a)|0)>=4){n=nd(a,4,0)|0;a=n>>>16&255;c[731746]=a;if(!((n&268435456|0)==0|(Tj(2777036,c[732713]|0,24372)|0)!=1)?(p=n&65535,c[731759]=p,(n&16777216|0)!=0):0){c[731759]=p|65536;q=a}else q=a}else q=k;k=l-(c[731751]|0)|0;l=m-(c[731752]|0)|0;Ij(c[694267]|0,k,l,o,c[2926840+(q>>>4<<2)>>2]<<4&240|c[2926840+((q&15)<<2)>>2]&15);q=o<<1;m=q|1;c[d>>2]=m;c[e>>2]=m;c[g>>2]=0;c[h>>2]=0;c[i>>2]=k-o;c[j>>2]=l-o;c[f>>2]=m;c[f+4>>2]=m;tm(f,c[694267]|0,g,h,i,j,d,e);j=c[d>>2]|0;d=c[e>>2]|0;e=(B(d,j)|0)/16|0;Mg(((d|j|0)<0?0:e)+q|0);Ga=b;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;b=(nd(a,1,0)|0)>>16;d=(nd(a,2,0)|0)>>16;if(!(hd(a)|0)){c[731762]=1;return 0}if((hd(a)|0)==1){c[731762]=1;if((hd(a)|0)<1)return 0;e=nd(a,1,0)|0;c[731746]=e>>>16&255;if((e&268435456|0)==0|(Tj(2777036,c[732713]|0,24372)|0)!=1)return 0;f=e&65535;c[731759]=f;if(!(e&16777216))return 0;c[731759]=f|65536;return 0}do if((hd(a)|0)<4){if((((hd(a)|0)==3?(hd(a)|0)>=3:0)?(f=nd(a,3,0)|0,c[731746]=f>>>16&255,!((f&268435456|0)==0|(Tj(2777036,c[732713]|0,24372)|0)!=1)):0)?(e=f&65535,c[731759]=e,f&16777216|0):0)c[731759]=e|65536;if(!(c[731762]&1)){e=c[731760]|0;f=c[731761]|0;c[731760]=b;c[731761]=d;g=f;h=e;break}c[731760]=b;c[731761]=d;c[731762]=0;return 0}else{e=(nd(a,3,0)|0)>>16;f=(nd(a,4,0)|0)>>16;c[731760]=e;c[731761]=f;c[731762]=0;g=f;h=e}while(0);e=c[731746]&255;if((hd(a)|0)>=5){f=nd(a,5,0)|0;a=f>>>16&255;c[731746]=a;if(!((f&268435456|0)==0|(Tj(2777036,c[732713]|0,24372)|0)!=1)?(i=f&65535,c[731759]=i,(f&16777216|0)!=0):0){c[731759]=i|65536;j=a}else j=a}else j=e;e=c[731751]|0;a=c[731752]|0;Mg(((Lj(c[694267]|0,b-e|0,d-a|0,h-e|0,g-a|0,c[2926840+(j>>>4<<2)>>2]<<4&240|c[2926840+((j&15)<<2)>>2]&15)|0)/2|0)+1|0);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;b=nd(a,1,0)|0;d=nd(a,2,0)|0;e=nd(a,3,0)|0;f=nd(a,4,0)|0;if((hd(a)|0)>4)g=nd(a,5,0)|0;else g=0;if((hd(a)|0)>5)h=nd(a,6,0)|0;else h=0;if((hd(a)|0)>6)i=nd(a,7,0)|0;else i=8192;if((hd(a)|0)>7)j=nd(a,8,0)|0;else j=0;if((hd(a)|0)>8)k=(nd(a,9,0)|0)>>16;else k=0;a=c[731751]<<16;l=c[731752]<<16;Mg((Mj(c[694267]|0,b-a|0,d-l|0,e-a|0,f-l|0,g,h,i,j,k)|0)<<1|1);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;b=hd(a)|0;d=(b|0)>1;if((ld(a,1)|0)!=5){if(d){e=(nd(a,1,0)|0)>>16;f=nd(a,2,0)|0;g=f>>16;if((b|0)!=2){b=e&15;if((nd(a,3,0)|0)>>>0>=65536){h=2926904+(b<<2)|0;i=c[h>>2]|0;c[h>>2]=g&143;if(!(f&8388608))j=i;else{jb();j=i}}else{k=b;l=20}}else{k=e&15;l=20}if((l|0)==20){l=2926840+(k<<2)|0;k=c[l>>2]|0;c[l>>2]=k&16|g&15;j=k}m=j<<16}else{c[731726]=0;c[731711]=1;c[731727]=1;c[731712]=2;c[731728]=2;c[731713]=3;c[731729]=3;c[731714]=4;c[731730]=4;c[731715]=5;c[731731]=5;c[731716]=6;c[731732]=6;c[731717]=7;c[731733]=7;c[731718]=8;c[731734]=8;c[731719]=9;c[731735]=9;c[731720]=10;c[731736]=10;c[731721]=11;c[731737]=11;c[731722]=12;c[731738]=12;c[731723]=13;c[731739]=13;c[731724]=14;c[731740]=14;c[731725]=15;c[731741]=15;c[731710]=16;m=0}vd(a,m);n=1;return n|0}if(d)o=(nd(a,2,0)|0)>>16;else o=0;ud(a);if(!($e(a,1)|0)){n=0;return n|0}if(!o){do{if((ld(a,-2)|0)==3){o=od(a,-2,0)|0;d=od(a,-1,0)|0;m=2926840+((o&15)<<2)|0;c[m>>2]=c[m>>2]&16|d&15}id(a,-2);Mg(2)}while(($e(a,1)|0)!=0);n=0;return n|0}do{if((ld(a,-2)|0)==3?(d=od(a,-2,0)|0,m=od(a,-1,0)|0,c[2926904+((d&15)<<2)>>2]=m&143,m&128|0):0)jb();id(a,-2);Mg(2)}while(($e(a,1)|0)!=0);n=0;return n|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;b=hd(a)|0;d=c[731710]|0;e=c[731711]|0;f=c[731712]|0;g=c[731713]|0;h=c[731714]|0;i=c[731715]|0;j=c[731716]|0;k=c[731717]|0;l=c[731718]|0;m=c[731719]|0;n=c[731720]|0;o=c[731721]|0;p=c[731722]|0;q=c[731723]|0;r=c[731724]|0;s=c[731725]|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[731711]=e&15;c[731712]=f&15;c[731713]=g&15;c[731714]=h&15;c[731715]=i&15;c[731716]=j&15;c[731717]=k&15;c[731718]=l&15;c[731719]=m&15;c[731720]=n&15;c[731721]=o&15;c[731722]=p&15;c[731723]=q&15;c[731724]=r&15;c[731725]=s&15;c[731710]=d&15|16;vd(a,t<<16);return 1}d=nd(a,1,0)|0;if((b|0)==1){b=c[731710]&15;c[731710]=(d|0)>-1?b:b|16;c[731711]=d>>>26&16|c[731711]&15;c[731712]=d>>>25&16|c[731712]&15;c[731713]=d>>>24&16|c[731713]&15;c[731714]=d>>>23&16|c[731714]&15;c[731715]=d>>>22&16|c[731715]&15;c[731716]=d>>>21&16|c[731716]&15;c[731717]=d>>>20&16|c[731717]&15;c[731718]=d>>>19&16|c[731718]&15;c[731719]=d>>>18&16|c[731719]&15;c[731720]=d>>>17&16|c[731720]&15;c[731721]=d>>>16&16|c[731721]&15;c[731722]=d>>>15&16|c[731722]&15;c[731723]=d>>>14&16|c[731723]&15;c[731724]=d>>>13&16|c[731724]&15;c[731725]=d>>>12&16|c[731725]&15;Mg(2);vd(a,t<<16);return 1}else{t=pd(a,2)|0;b=2926840+((d>>>16&15)<<2)|0;d=c[b>>2]|0;s=d&15;c[b>>2]=(t|0)==0?s:s|16;Dd(a,d>>>4&1);return 1}return 0}function oi(a){a=a|0;var b=0,d=0,e=0;b=c[731759]|0;if(!(hd(a)|0))d=0;else{e=nd(a,1,0)|0;d=e<<1&65536|e>>>16}c[731759]=d;vd(a,b>>>1&32768|b<<16);return 1}function pi(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,H=0,I=0;b=Ga;Ga=Ga+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=(nd(a,1,0)|0)>>16;l=(nd(a,2,0)|0)>>16;m=(nd(a,3,0)|0)>>16;n=(nd(a,4,0)|0)>>16;if((hd(a)|0)>4){o=(nd(a,5,0)|0)>>16;p=(nd(a,6,0)|0)>>16;q=o;r=(nd(a,7,0)|0)>>16;s=p}else{q=128;r=0;s=32}if((s|0)<1|(q|0)<1){Ga=b;return 0}p=m-(c[731751]|0)|0;m=n-(c[731752]|0)|0;n=c[732713]|0;a=c[n+8>>2]|0;o=c[n+4>>2]|0;n=c[731742]|0;t=c[731743]|0;if((p|0)<(n+-7|0)){u=(n-p|0)/8|0;v=u+k|0;w=(u<<3)+p|0;x=q-u|0}else{v=k;w=p;x=q}if((m|0)<(t+-7|0)){q=(t-m|0)/8|0;y=q+l|0;z=(q<<3)+m|0;A=s-q|0}else{y=l;z=m;A=s}s=((7-n+(c[731744]|0)|0)/8|0)+1|0;n=(s|0)<(x|0)?s:x;x=((7-t+(c[731745]|0)|0)/8|0)+1|0;t=(x|0)<(A|0)?x:A;if((t|0)>0){A=(n|0)>0;x=(r|0)==0;s=f+4|0;m=0;l=0;while(1){a:do if(A){q=l+y|0;p=(l<<3)+z|0;if(x){k=0;u=m;while(1){C=ym(a,k+v|0,q)|0;if(!C)D=u;else{E=(k<<3)+w|0;Fj(o,c[694267]|0,C<<3&120,((C|0)/16|0)<<3,E,p,8,8,2926840);c[d>>2]=8;c[e>>2]=8;c[g>>2]=0;c[h>>2]=0;c[i>>2]=E;c[j>>2]=p;c[f>>2]=8;c[s>>2]=8;tm(f,c[694267]|0,g,h,i,j,d,e);E=c[d>>2]|0;C=c[e>>2]|0;F=B(C,E)|0;D=((C|E|0)<0?0:F)+u|0}k=k+1|0;if((k|0)>=(n|0)){G=D;break a}else u=D}}u=0;k=m;while(1){F=ym(a,u+v|0,q)|0;if((F|0)!=0?(c[(c[732713]|0)+43292+(F<<2)>>2]&r|0)!=0:0){E=(u<<3)+w|0;Fj(o,c[694267]|0,F<<3&120,((F|0)/16|0)<<3,E,p,8,8,2926840);c[d>>2]=8;c[e>>2]=8;c[g>>2]=0;c[h>>2]=0;c[i>>2]=E;c[j>>2]=p;c[f>>2]=8;c[s>>2]=8;tm(f,c[694267]|0,g,h,i,j,d,e);E=c[d>>2]|0;F=c[e>>2]|0;C=B(F,E)|0;H=((F|E|0)<0?0:C)+k|0}else H=k;u=u+1|0;if((u|0)>=(n|0)){G=H;break}else k=H}}else G=m;while(0);l=l+1|0;if((l|0)>=(t|0)){I=G;break}else m=G}}else I=0;Mg(I);Ga=b;return 0}function qi(a){a=a|0;var b=0,d=0;b=(nd(a,1,0)|0)>>16;d=(nd(a,2,0)|0)>>16;vd(a,(ym(c[(c[732713]|0)+8>>2]|0,b,d)|0)<<16);return 1}function ri(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=nd(b,1,0)|0;e=d>>16;f=nd(b,2,0)|0;g=f>>16;h=nd(b,3,0)|0;b=h>>>16;sm(c[(c[732713]|0)+8>>2]|0,e,g,b&255);if(!(d>>>0<8388608&(f&-2097152|0)==2097152))return 0;f=(g<<7)+e|0;e=f>>6;g=f<<1&126;a[(c[(c[(c[(c[732713]|0)+4>>2]|0)+16>>2]|0)+(e<<2)>>2]|0)+g>>0]=b&15;a[(c[(c[(c[(c[732713]|0)+4>>2]|0)+16>>2]|0)+(e<<2)>>2]|0)+(g|1)>>0]=h>>>20&15;return 0}function si(a){a=a|0;var b=0,d=0,e=0,f=0;if(!(hd(a)|0)){b=0;return b|0}d=nd(a,1,0)|0;e=d>>16;if((hd(a)|0)==1){vd(a,c[(c[732713]|0)+43292+(e<<2)>>2]<<16&16711680);b=1;return b|0}f=nd(a,2,0)|0;if(d>>>0>16777215){Dd(a,0);b=1;return b|0}if(f>>>0>524287){Dd(a,0);b=1;return b|0}else{Dd(a,(c[(c[732713]|0)+43292+(e<<2)>>2]&1<<(f>>16)|0)!=0&1);b=1;return b|0}return 0}function ti(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=hd(a)|0;if((b|0)<2)return 0;d=nd(a,1,0)|0;e=d>>16;f=nd(a,2,0)|0;g=f>>16;if(d>>>0>16777215)return 0;if((b|0)==2){c[(c[732713]|0)+43292+(e<<2)>>2]=g&255;return 0}b=pd(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 ui(a){a=a|0;var b=0,d=0;b=(nd(a,1,0)|0)>>16;d=(nd(a,2,0)|0)>>16;vd(a,(ym(c[(c[732713]|0)+4>>2]|0,b,d)|0)<<16&983040);return 1}function vi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[731746]|0;d=nd(a,1,0)|0;e=nd(a,2,0)|0;if((hd(a)|0)>2)f=(nd(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=Tj(2777036,c[732713]|0,f)|0;if(!(d&65536))g=e&240|b;else g=e&15|b<<4;Sj(2777036,c[732713]|0,f,g);return 0}function wi(a){a=a|0;var b=0,d=0,e=0,f=0;if((c[731641]|0)==0&(c[515407]|0)!=0){Ip(0,0);Lp();c[515407]=0}b=c[732713]|0;d=(nd(a,1,0)|0)>>16;if((hd(a)|0)>1)e=(nd(a,2,0)|0)>>16;else e=0;if((hd(a)|0)>2)f=(nd(a,3,0)|0)>>16;else f=0;if((d|0)==-1){Ip(0,e);Mg(16);return 0}else{a=(d|0)<63?d:63;Cp(b,(a|0)>0?a:0,e);c[732097]=f;Mg(16);return 0}return 0}function xi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;if((c[731641]|0)==0&(c[515407]|0)!=0){Ip(0,0);Lp();c[515407]=0}if((hd(a)|0)<1)return 0;b=nd(a,1,0)|0;d=b>>16;if((hd(a)|0)>1){e=nd(a,2,0)|0;if((e+131072|0)>>>0>393215)return 0;else f=e>>16}else f=-1;if((hd(a)|0)>2)g=(nd(a,3,0)|0)>>16;else g=0;if((hd(a)|0)>3)h=(nd(a,4,0)|0)>>16;else h=0;switch(d|0){case -1:{up(0,0,0,c[732713]|0,f)|0;return 0}case -2:{Ap(f);return 0}default:{if((f|0)!=-2){a=(d|0)<63?d:63;e=(a|0)>0?a:0;a=(g|0)<31?g:31;vp((c[732713]|0)+12+(e*656|0)|0);g=c[732713]|0;up(g+12+(e*656|0)|0,(a|0)>0?a:0,h,g,f)|0;Mg(16);return 0}if(b>>>0>=4194304)return 0;vp((c[732713]|0)+12+(d*656|0)|0);return 0}}return 0}function yi(a){a=a|0;var b=0;if((hd(a)|0)==1)Ng(-1);b=(nd(a,1,0)|0)>>16;vd(a,(Tj(2777036,c[732713]|0,b)|0)<<16);return 1}function zi(a){a=a|0;var b=0,d=0;if((hd(a)|0)==2)Ng(-2);b=(nd(a,1,0)|0)>>16;d=(nd(a,2,0)|0)>>16;Sj(2777036,c[732713]|0,b,d);return 0}function Ai(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=(nd(a,1,0)|0)>>16;if((hd(a)|0)==2?(ld(a,2)|0)==4:0){c=qd(a,2,0)|0;if(!c)return 0;Ul(b,c);return 0}c=(nd(a,2,0)|0)>>16;d=(nd(a,3,0)|0)>>13;if((hd(a)|0)>3){e=nd(a,4,0)|0;a=e>>16;if((e|0)>65535){f=a;g=7}else h=a}else{f=1;g=7}if((g|0)==7){g=0;do{Tl(b,c,d)|0;g=g+1|0}while((g|0)!=(f|0));h=f}Mg((B(h,d)|0)/64|0);return 0}function Bi(a){a=a|0;var b=0,d=0;if((hd(a)|0)==1)Ng(-1);b=(nd(a,1,0)|0)>>16;d=(Tj(2777036,c[732713]|0,b)|0)<<16;vd(a,((Tj(2777036,c[732713]|0,b+1|0)|0)<<24)+d|0);return 1}function Ci(a){a=a|0;var b=0,d=0;if((hd(a)|0)==2)Ng(-2);b=(nd(a,1,0)|0)>>16;d=nd(a,2,0)|0;Sj(2777036,c[732713]|0,b,d>>>16&255);Sj(2777036,c[732713]|0,b+1|0,d>>>24);return 0}function Di(a){a=a|0;var b=0,d=0,e=0;if((hd(a)|0)==1)Ng(-1);b=(nd(a,1,0)|0)>>16;d=Tj(2777036,c[732713]|0,b)|0;e=((Tj(2777036,c[732713]|0,b+1|0)|0)<<8)+d|0;d=e+((Tj(2777036,c[732713]|0,b+2|0)|0)<<16)|0;vd(a,d+((Tj(2777036,c[732713]|0,b+3|0)|0)<<24)|0);return 1}function Ei(a){a=a|0;var b=0,d=0;if((hd(a)|0)==2)Ng(-2);b=(nd(a,1,0)|0)>>16;d=nd(a,2,0)|0;Sj(2777036,c[732713]|0,b,d&255);Sj(2777036,c[732713]|0,b+1|0,d>>>8&255);Sj(2777036,c[732713]|0,b+2|0,d>>>16&255);Sj(2777036,c[732713]|0,b+3|0,d>>>24);return 0}function Fi(a){a=a|0;var b=0,d=0,e=0;b=(nd(a,1,0)|0)>>16;d=(nd(a,2,0)|0)>>16;e=(nd(a,3,0)|0)>>16;Mg((e+1|0)/2|0);Uj(2777036,c[732713]|0,b,d,e);return 0}function Gi(a){a=a|0;var b=0,d=0,e=0;b=(nd(a,1,0)|0)>>16;d=(nd(a,2,0)|0)>>16;e=(nd(a,3,0)|0)>>16;Mg((e+1|0)/4|0);Vj(2777036,c[732713]|0,b,d,e);return 0}function Hi(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=Ga;Ga=Ga+1056|0;e=d+1040|0;f=d+1032|0;g=d+1024|0;h=d+1048|0;i=d;if((hd(b)|0)>2){j=(nd(b,1,0)|0)>>16;k=(nd(b,2,0)|0)>>16;l=(nd(b,3,0)|0)>>16;m=j;n=l;o=k;p=((l|0)<4096?l:4096)<<3}else{m=0;n=17152;o=0;p=32768}Mg(p);if((hd(b)|0)==4?(ld(b,4)|0)==4:0){p=qd(b,4,h)|0;if((a[p>>0]|0)==95?(a[p+1>>0]|0)==95:0){vd(b,0);Ga=d;return 1}a[i>>0]=0;if(!($b(p,1)|0)){wq(53747,i);Cs(i,(a[p>>0]|0)==47?p+1|0:p)|0}else{Zl(i,Rb($b(p,1)|0)|0)|0;h=ln(i,66616)|0;if(!h){c[g>>2]=i;Ir(1465008,55379,g)|0;bm(1465008);c[f>>2]=p;Ir(1465008,55416,f)|0;bm(1465008);Zl(i,p)|0}mn(h)}c[e>>2]=n;c[e+4>>2]=i;Ir(1465008,55447,e)|0;bm(1465008);if(!(Ub(i,m,o,n)|0)){vd(b,n<<16);Ga=d;return 1}else{vd(b,0);Ga=d;return 1}}Wj(2777036,c[732713]|0,m,o,n);vd(b,n<<16);Ga=d;return 1}function Ii(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=Ga;Ga=Ga+1040|0;e=d+1024|0;f=d;g=d+1032|0;if((hd(b)|0)>2){h=(nd(b,1,0)|0)>>16;i=(nd(b,2,0)|0)>>16;j=(nd(b,3,0)|0)>>16;k=h;l=i;m=j;n=((j|0)<4096?j:4096)<<6}else{k=0;l=0;m=17152;n=262144}Mg(n);do if((hd(b)|0)>3?(ld(b,4)|0)==4:0){n=qd(b,4,g)|0;if((ss(n)|0)>>>0>511){vd(b,0);Ga=d;return 1}if((a[n>>0]|0)==95?(a[n+1>>0]|0)==95:0){vd(b,0);Ga=d;return 1}if(!($b(n,1)|0)){wq(53747,f);Cs(f,(a[n>>0]|0)==47?n+1|0:n)|0;o=0;p=0;break}else{Zl(f,Rb($b(n,1)|0)|0)|0;o=0;p=1;break}}else q=13;while(0);if((q|0)==13){Zl(f,Rb(2921072)|0)|0;o=1;p=0}c[e>>2]=m;c[e+4>>2]=f;Ir(1465008,55343,e)|0;bm(1465008);if(!(Vb(f,k,l,m,o,p)|0)){vd(b,m<<16);Ga=d;return 1}else{vd(b,0);Ga=d;return 1}return 0}function Ji(a){a=a|0;var b=0,c=0;if((ld(a,1)|0)==5){vd(a,((pk(sd(a,1)|0)|0)<<16)+65536|0);Fd(a,-2);return 1}if((hd(a)|0)>0)b=nd(a,1,0)|0;else b=65536;c=pk(b)|0;Mg(4);vd(a,c);return 1}function Ki(a){a=a|0;ok((nd(a,1,0)|0)&2147483647);return 0}function Li(a){a=a|0;var b=0;b=nd(a,1,0)|0;if((hd(a)|0)==1)Ng(-1);vd(a,b&-65536);return 1}function Mi(a){a=a|0;var b=0;b=nd(a,1,0)|0;if((hd(a)|0)==1)Ng(-1);vd(a,b+65535&-65536);return 1}function Ni(a){a=a|0;vd(a,(nd(a,1,0)|0)>>31&-131072|65536);return 1}function Oi(a){a=a|0;var b=0;b=nd(a,1,0)|0;if((b|0)==-2147483648){vd(a,2147483647);return 1}else{vd(a,(b|0)<0?0-b|0:b);return 1}return 0}function Pi(a){a=a|0;var b=0,c=0;b=nd(a,1,0)|0;c=nd(a,2,0)|0;vd(a,(b|0)<(c|0)?b:c);return 1}function Qi(a){a=a|0;var b=0,c=0;b=nd(a,1,0)|0;c=nd(a,2,0)|0;vd(a,(b|0)>(c|0)?b:c);return 1}function Ri(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0;b=nd(a,1,0)|0;c=nd(a,2,0)|0;d=nd(a,3,0)|0;e=(b|0)<(c|0);f=(b|0)<(d|0);do if(!(e&f))if((c|0)<(b|0)&(c|0)<(d|0)){g=f?b:d;break}else{g=e?b:c;break}else g=(c|0)<(d|0)?c:d;while(0);vd(a,g);return 1}function Si(a){a=a|0;vd(a,Qn(nd(a,1,0)|0)|0);return 1}function Ti(a){a=a|0;vd(a,Rn(nd(a,1,0)|0)|0);return 1}function Ui(a){a=a|0;var b=0;b=nd(a,1,0)|0;Mg(6);vd(a,kk(b)|0);return 1}function Vi(a){a=a|0;var b=0;b=nd(a,1,0)|0;vd(a,lk(b,nd(a,2,0)|0)|0);return 1}function Wi(a){a=a|0;var b=0,c=0;b=nd(a,1,0)|0;c=nd(a,2,0)|0;if((hd(a)|0)==2)Ng(-2);vd(a,c&b);return 1}function Xi(a){a=a|0;var b=0,c=0;b=nd(a,1,0)|0;c=nd(a,2,0)|0;if((hd(a)|0)==2)Ng(-2);vd(a,c|b);return 1}function Yi(a){a=a|0;var b=0,c=0;b=nd(a,1,0)|0;c=nd(a,2,0)|0;if((hd(a)|0)==2)Ng(-2);vd(a,c^b);return 1}function Zi(a){a=a|0;var b=0;b=nd(a,1,0)|0;if((hd(a)|0)==1)Ng(-1);vd(a,~b);return 1}function _i(a){a=a|0;var b=0,c=0;b=nd(a,1,0)|0;c=nd(a,2,0)|0;if((hd(a)|0)==2)Ng(-2);vd(a,tk(b,c)|0);return 1}function $i(a){a=a|0;var b=0,c=0;b=nd(a,1,0)|0;c=nd(a,2,0)|0;if((hd(a)|0)==2)Ng(-2);vd(a,uk(b,c)|0);return 1}function aj(a){a=a|0;var b=0,c=0;b=nd(a,1,0)|0;c=nd(a,2,0)|0;if((hd(a)|0)==2)Ng(-2);vd(a,sk(b,c)|0);return 1}function bj(a){a=a|0;var b=0,c=0;b=nd(a,1,0)|0;c=nd(a,2,0)|0;if((hd(a)|0)==2)Ng(-2);vd(a,qk(b,c)|0);return 1}function cj(a){a=a|0;var b=0,c=0;b=nd(a,1,0)|0;c=nd(a,2,0)|0;if((hd(a)|0)==2)Ng(-2);vd(a,rk(b,c)|0);return 1}function dj(a){a=a|0;var b=0,d=0;b=c[694260]|0;d=eu(b|0,((b|0)<0)<<31>>31|0,16)|0;b=_t(d|0,G()|0,60,0)|0;G()|0;vd(a,b);return 1}function ej(a){a=a|0;ud(a);return 1}function fj(a){a=a|0;if(!(c[514885]|0))bb(55312,2e3);c[514885]=1;ud(a);return 1}function gj(a){a=a|0;if(!(c[514884]|0))bb(55281,2e3);c[514884]=1;ud(a);vd(a,0);return 2}function hj(a){a=a|0;ud(a);vd(a,0);return 2}function ij(a){a=a|0;return 0}function jj(a){a=a|0;c[749172]=1;Bj(a,0);return 1}function kj(a){a=a|0;c[749172]=1;Bj(a,1);return 1}function lj(b){b=b|0;var c=0,d=0,e=0;c=nd(b,1,0)|0;d=c>>16;e=qd(b,2,0)|0;if(!e){a[2930462+(d<<6)>>0]=0;return 0}if((c+-65536|0)>>>0>327679)return 0;At(2930462+(d<<6)|0,e,16)|0;return 0}function mj(a){a=a|0;var b=0,d=0,e=0,f=0;b=Ga;Ga=Ga+16|0;d=b;c[d>>2]=255;if((hd(a)|0)>0?(e=qd(a,1,d)|0,(e|0)!=0):0){Dd(a,(Rk(e)|0)==0&1);f=1}else f=0;Ga=b;return f|0}function nj(b){b=b|0;var d=0,e=0;d=nd(b,1,0)|0;if((a[2921160]|0)==0&(((a[2923468]|0)!=0&(c[731641]|0)!=0|(c[405561]|0)!=0)^1)){yb(55248);fg();e=0;return e|0}if(d>>>0>4194303){vd(b,0);e=1;return e|0}else{vd(b,c[2922184+(d>>16<<2)>>2]|0);e=1;return e|0}return 0}function oj(b){b=b|0;var d=0,e=0;d=nd(b,1,0)|0;e=nd(b,2,0)|0;if((a[2921160]|0)==0&(((a[2923468]|0)!=0&(c[731641]|0)!=0|(c[405561]|0)!=0)^1)){yb(55215);fg();return 0}if(d>>>0>4194303)return 0;b=2922184+(d>>16<<2)|0;if((c[b>>2]|0)!=(e|0))c[749173]=1;c[b>>2]=e;return 0}function pj(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=Ga;Ga=Ga+112|0;e=d+64|0;f=d+108|0;g=d+104|0;h=d+100|0;i=d+72|0;j=d;Mg(16);a:do if((hd(b)|0)>0){k=(nd(b,1,0)|0)>>16;switch(k|0){case 1:{l=4;break a;break}case 0:{m=(c[749100]|0)+(c[731764]|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=zg(tg(1)|0)|0;break a;break}default:{n=(k|0)==3?c[749573]<<16:0;switch(k|0){case 5:{q=1769472;break a;break}case 4:{Gq();m=c[406464]|0;if(!m){xd(b,2998896,0)|0;Ga=d;return 1}else{xd(b,m,ss(m)|0)|0;Ga=d;return 1}break}case 6:{m=ss(2928412)|0;xd(b,2928412,m>>>0<1024?m:1024)|0;Ga=d;return 1}case 7:{q=c[749164]<<16;break a;break}case 9:{q=(Wp()|0)<<16;break a;break}case 11:{q=(Oj()|0)<<16;break a;break}case 13:{sb();q=4128768-((((c[406461]<<3)+8|0)/2|0)<<16)|0;break a;break}default:{o=k;p=n;l=15;break a}}}}}else l=4;while(0);if((l|0)==4){o=1;p=zg(tg(0)|0)|0;l=15}b:do if((l|0)==15)switch(o|0){case 12:{q=1507328;break b;break}case 14:{q=6815744;break b;break}case 15:{sb();q=((((c[406461]<<3)+8|0)/2|0)<<16)+4194304|0;break b;break}default:{n=(o|0)==10?c[749102]<<16:(o|0)==8?c[749165]<<16:p;k=o&-4;if((k|0)==16){m=zp(o+-16|0)|0;r=c[732713]|0;s=0;t=-65536;do{t=(m|0)==(r+12+(s*656|0)|0)?s<<16:t;s=s+1|0}while((s|0)!=64);if((t|0)==-65536){s=zp(o+-12|0)|0;r=c[732713]|0;m=0;u=-65536;while(1){v=(s|0)==(r+12+(m*656|0)|0)?m<<16:u;m=m+1|0;if((m|0)==64){w=v;break}else u=v}}else w=t}else w=n;do if((k|0)==20){u=zp(o+-20|0)|0;if(!u){m=zp(o+-16|0)|0;if(!m){x=-65536;break}else y=m}else y=u;x=(yp(y)|0)<<16}else x=w;while(0);switch(o|0){case 24:{k=c[515414]<<16;n=(Kp()|0)==0;q=n?-65536:k;break b;break}case 25:{k=c[515413]<<16;n=(Kp()|0)==0;q=n?-65536:k;break b;break}case 26:{k=(Mp()|0)<<16;n=(Kp()|0)==0;q=n?-65536:k;break b;break}case 29:{q=rq()|0;break b;break}default:{k=(o|0)==30;n=(o|0)==31;if((o|1|0)==31){if(((Tj(2777036,c[732713]|0,24365)|0)&255|0)!=1){if(k)Dd(b,0);if(!n){Ga=d;return 1}xd(b,2998896,0)|0;Ga=d;return 1}Gq();if(!((a[1621200]|0)==0&(((a[2923468]|0)!=0&(c[731641]|0)!=0|(c[405561]|0)!=0)^1))){if(!(c[749099]|0))bb(55068,2e3);c[749099]=1}if(k){Dd(b,(c[749572]|0)>0&1);Ga=d;return 1}if(n){if(!(c[749572]|0)){xd(b,2998896,0)|0;Ga=d;return 1}xd(b,2998032,1)|0;n=0;do{k=n;n=n+1|0;a[2998032+k>>0]=a[2998032+n>>0]|0}while((n|0)!=255);c[749572]=(c[749572]|0)+-1;Ga=d;return 1}}if((o+-32|0)>>>0<5)if(((Tj(2777036,c[732713]|0,24365)|0)&255|0)==1){if(!((a[1621200]|0)==0&(((a[2923468]|0)!=0&(c[731641]|0)!=0|(c[405561]|0)!=0)^1))){if(!(c[749099]|0))bb(55092,2e3);c[749099]=1}vq(f,g,h);z=((o|0)==36?c[732022]|0:(o|0)==35?c[732021]|0:(o|0)==34?c[h>>2]|0:(o|0)==33?c[g>>2]|0:(o|0)==32?c[f>>2]|0:x)<<16;l=59}else{z=x;l=59}else if((o|0)==37){n=c[731763]|0;c[731763]=0;A=n}else{z=x;l=59}c:do if((l|0)==59)switch(o|0){case 48:{ud(b);Ga=d;return 1}case 49:{xd(b,2998896,0)|0;Ga=d;return 1}default:{if((o+-50|0)>>>0<8){ud(b);Ga=d;return 1}if((o+-58|0)>>>0<6){xd(b,2998896,0)|0;Ga=d;return 1}if((o&-8|0)==64){ud(b);Ga=d;return 1}if((o+-80|0)>>>0>=6)if((o+-90|0)>>>0<6){$p(i,1);B=((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:z)<<16}else B=z;else{$p(i,0);B=((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:z)<<16}switch(o|0){case 100:{if(!(ig()|0)){ud(b);Ga=d;return 1}else{n=ig()|0;xd(b,n,ss(ig()|0)|0)|0;Ga=d;return 1}break}case 101:{if((a[2923468]|0)!=0&(c[731641]|0)!=0){xd(b,2923468,ss(2923468)|0)|0;Ga=d;return 1}else{ud(b);Ga=d;return 1}break}case 102:{n=la(18,0)|0;k=n;if(!n){ud(b);Ga=d;return 1}else{xd(b,k,ss(k)|0)|0;Ga=d;return 1}break}case 103:{xd(b,2921113,ss(2921113)|0)|0;Ga=d;return 1}case 104:{Dd(b,0);Ga=d;return 1}case 106:{c[e>>2]=2928412;c[e+4>>2]=2921113;Ir(1469616,66470,e)|0;bp(1469616,ss(1469616)|0,j)|0;xd(b,j,ss(j)|0)|0;Ga=d;return 1}case 107:{A=c[405625]|0;break c;break}default:switch(o|0){case 108:{q=c[515251]<<16;break b;break}case 109:{q=((c[515444]|0)/4|0)<<16;break b;break}case 110:{Dd(b,c[406465]|0);Ga=d;return 1}default:{q=B;break b}}}}}while(0);q=A<<16;break b}}}}while(0);vd(b,q);Ga=d;return 1}function qj(b){b=b|0;var d=0,e=0;d=Ga;Ga=Ga+16|0;e=d;c[e>>2]=32;a[e>>0]=(nd(b,1,0)|0)>>>16;xd(b,e,1)|0;Mg(2);Ga=d;return 1}function rj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Ga;Ga=Ga+16|0;e=d;c[e>>2]=16384;if((hd(b)|0)>0)f=qd(b,1,e)|0;else f=0;if((hd(b)|0)>1)g=((nd(b,2,0)|0)>>16)+-1|0;else g=0;if(!f){h=0;Ga=d;return h|0}Mg(((c[e>>2]|0)>>>8)+1|0);if(!((g|0)>-1?g>>>0<(c[e>>2]|0)>>>0:0)){h=0;Ga=d;return h|0}vd(b,(((a[f+g>>0]|0)+256|0)%256|0)<<16);h=1;Ga=d;return h|0}function sj(a){a=a|0;var b=0,c=0;b=hd(a)|0;if((b|0)>=1){c=1;while(1){kd(a,c);if((c|0)==(b|0))break;else c=c+1|0}}return nc(a,b,0,0)|0}function tj(a){a=a|0;c[694278]=1;if(c[749101]|0)return 0;c[749101]=1;return 0}function uj(b){b=b|0;var c=0,d=0,e=0,f=0;c=nd(b,1,0)|0;if((c+-65536|0)>>>0>327679){d=0;return d|0}e=2930846+(c>>>16)|0;if(!(a[e>>0]|0))f=0;else{a[e>>0]=0;f=1}Dd(b,f);d=1;return d|0}function vj(a){a=a|0;var b=0;b=(nd(a,1,0)|0)>>16;c[694260]=(c[694260]|0)+b;dk();return 0}function wj(a){a=a|0;Pg();return 0}function xj(a){a=a|0;c[732095]=(nd(a,1,0)|0)>>16;return 0}function yj(a){a=a|0;var b=0;b=(nd(a,1,0)|0)>>16;c[749164]=b;c[749165]=b;return 0}function zj(a){a=a|0;var b=0;b=(nd(a,1,0)|0)>>16;a=(b|0)<2?b:2;b=(a|0)>0?a:0;c[2996664+(b<<2)>>2]=tg(0)|0;c[2996676+(b<<2)>>2]=oq()|0;return 0}function Aj(a){a=a|0;var b=0,d=0,e=0;b=nd(a,1,0)|0;d=b>>16;e=(b|0)>65535;b=e?((d|0)<7?d:7):0;if(e?(Tj(2777036,c[732713]|0,24374)|0)!=1:0){Dd(a,0);return 1}Nj(b);Dd(a,1);return 1}function Bj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=(nd(a,1,0)|0)>>16;e=(d|0)<7?d:7;d=(e|0)>0?e:0;if(!(hd(a)|0)){e=(b|0)==0;wd(a,((((e?c[731780]|0:c[731972]|0)|0)==0?0:32768)|((((e?c[731779]|0:c[731971]|0)|0)==0?0:16384)|((((e?c[731778]|0:c[731970]|0)|0)==0?0:8192)|((((e?c[731777]|0:c[731969]|0)|0)==0?0:4096)|((((e?c[731776]|0:c[731968]|0)|0)==0?0:2048)|((((e?c[731775]|0:c[731967]|0)|0)==0?0:1024)|((((e?c[731774]|0:c[731966]|0)|0)==0?0:512)|((((e?c[731773]|0:c[731965]|0)|0)==0?0:256)|((((e?c[731772]|0:c[731964]|0)|0)==0?0:128)|((((e?c[731771]|0:c[731963]|0)|0)==0?0:64)|((((e?c[731770]|0:c[731962]|0)|0)==0?0:32)|((((e?c[731769]|0:c[731961]|0)|0)==0?0:16)|((((e?c[731768]|0:c[731960]|0)|0)==0?0:8)|((((e?c[731767]|0:c[731959]|0)|0)==0?0:4)|((((e?c[731766]|0:c[731958]|0)|0)==0?0:2)|((e?c[731765]|0:c[731957]|0)|0)!=0)))))))))))))))<<16);return}if((hd(a)|0)>1)f=(nd(a,2,0)|0)>>16;else f=0;if((f|d)>>>0<8)if(!b)g=c[2927060+(f<<5)+(d<<2)>>2]|0;else g=c[2927828+(f<<5)+(d<<2)>>2]|0;else g=0;Dd(a,g);Mg(4);return}function Cj(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,I=0,J=0;n=Ga;Ga=Ga+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;tm(b,d,o,p,q,r,s,t);j=(k|0)!=0;k=(l|0)!=0;l=c[t>>2]|0;i=(l|0)>0;if(j&k){if(!i){Ga=n;return}h=b+16|0;g=d+16|0;f=0;e=l;u=c[s>>2]|0;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[h>>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}}Ga=n;return}if(k){if(!i){Ga=n;return}k=b+16|0;B=d+16|0;u=0;C=l;e=c[s>>2]|0;while(1){if((e|0)>0){f=~u;h=0;g=C;while(1){a[(c[(c[B>>2]|0)+((c[r>>2]|0)+u<<2)>>2]|0)+((c[q>>2]|0)+h)>>0]=c[m+((a[(c[(c[k>>2]|0)+((c[p>>2]|0)+f+g<<2)>>2]|0)+((c[o>>2]|0)+h)>>0]&15)<<2)>>2];h=h+1|0;y=c[s>>2]|0;x=c[t>>2]|0;if((h|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}}Ga=n;return}if(j){if(!i){Ga=n;return}j=b+16|0;D=d+16|0;e=0;E=l;C=c[s>>2]|0;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[j>>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}}Ga=n;return}else{if(!i){Ga=n;return}i=b+16|0;b=d+16|0;d=0;G=c[s>>2]|0;C=l;while(1){if((G|0)>0){l=0;do{a[(c[(c[b>>2]|0)+((c[r>>2]|0)+d<<2)>>2]|0)+((c[q>>2]|0)+l)>>0]=c[m+((a[(c[(c[i>>2]|0)+((c[p>>2]|0)+d<<2)>>2]|0)+((c[o>>2]|0)+l)>>0]&15)<<2)>>2];l=l+1|0;H=c[s>>2]|0}while((l|0)<(H|0));I=c[t>>2]|0;J=H}else{I=C;J=G}d=d+1|0;if((d|0)>=(I|0))break;else{G=J;C=I}}Ga=n;return}}function Dj(b,e,f,g,h,i,j){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;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)){Ej(b,e,0,0,f,g,h,i,0);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)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;n=(c[(c[b>>2]|0)+(o<<2)>>2]|0)+q|0;k=s;p=0;while(1){m=d[e+(k>>16)>>0]|0;if(!(m&240)){h=c[731756]|0;a[n>>0]=((h^15)&(d[n>>0]|0)|h&m&c[731757])&15}p=p+1|0;if((p|0)>=(g|0))break;else{n=n+1|0;k=k+l|0}}o=o+1|0;if((o|0)>=(f|0))break;else i=i+j|0}return}function Ej(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;l=Ga;Ga=Ga+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)){Ga=l;return}tm(b,e,m,n,o,p,q,r);k=c[q>>2]|0;if(!((c[r>>2]|0)>0&(k|0)>0)){Ga=l;return}j=b+16|0;b=e+16|0;e=0;i=k;while(1){if(i|0){k=(c[(c[j>>2]|0)+((c[n>>2]|0)+e<<2)>>2]|0)+(c[m>>2]|0)|0;h=i;g=(c[(c[b>>2]|0)+((c[p>>2]|0)+e<<2)>>2]|0)+(c[o>>2]|0)|0;while(1){f=d[k>>0]|0;if(!(f&240)){s=c[731756]|0;a[g>>0]=((s^15)&(d[g>>0]|0)|s&f&c[731757])&15}h=h+-1|0;if(!h)break;else{k=k+1|0;g=g+1|0}}}g=e+1|0;if((g|0)>=(c[r>>2]|0))break;e=g;i=c[q>>2]|0}Ga=l;return}function Fj(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;m=Ga;Ga=Ga+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)){Ga=m;return}tm(b,e,n,o,p,q,r,s);k=c[r>>2]|0;if(!((c[s>>2]|0)>0&(k|0)>0)){Ga=m;return}j=b+16|0;b=e+16|0;e=0;i=k;while(1){if(i|0){k=(c[(c[b>>2]|0)+((c[q>>2]|0)+e<<2)>>2]|0)+(c[p>>2]|0)|0;h=(c[(c[j>>2]|0)+((c[o>>2]|0)+e<<2)>>2]|0)+(c[n>>2]|0)|0;g=i;while(1){f=c[l+((a[h>>0]&15)<<2)>>2]|0;if(!(f&240)){t=c[731756]|0;a[k>>0]=((t^15)&(d[k>>0]|0)|t&f&c[731757])&15}g=g+-1|0;if(!g)break;else{k=k+1|0;h=h+1|0}}}h=e+1|0;if((h|0)>=(c[s>>2]|0))break;e=h;i=c[r>>2]|0}Ga=m;return}function Gj(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;i=c[731759]|0;if((g|0)<0)return;j=b+28|0;k=b+32|0;l=b+36|0;m=b+40|0;n=(i&65536|0)==0;o=b+16|0;b=1-g|0;p=0;q=g;while(1){g=q+e|0;r=p+f|0;s=c[j>>2]|0;if(((((s|0)<=(g|0)?(c[k>>2]|0)>(g|0):0)?(c[l>>2]|0)<=(r|0):0)?(c[m>>2]|0)>(r|0):0)?(t=i>>(r<<2&12^12)>>>(g&3^3)&1,n|(t|0)==0):0){u=(c[(c[o>>2]|0)+(r<<2)>>2]|0)+g|0;v=c[731756]|0;a[u>>0]=((v^15)&(d[u>>0]|0)|v&h>>(t<<2)&c[731757])&15;w=c[j>>2]|0}else w=s;s=p+e|0;t=q+f|0;if(((((w|0)<=(s|0)?(c[k>>2]|0)>(s|0):0)?(c[l>>2]|0)<=(t|0):0)?(c[m>>2]|0)>(t|0):0)?(v=i>>(t<<2&12^12)>>>(s&3^3)&1,n|(v|0)==0):0){u=(c[(c[o>>2]|0)+(t<<2)>>2]|0)+s|0;x=c[731756]|0;a[u>>0]=((x^15)&(d[u>>0]|0)|x&h>>(v<<2)&c[731757])&15;y=c[j>>2]|0}else y=w;v=e-q|0;if(((((y|0)<=(v|0)?(c[k>>2]|0)>(v|0):0)?(c[l>>2]|0)<=(r|0):0)?(c[m>>2]|0)>(r|0):0)?(x=i>>(r<<2&12^12)>>>(v&3^3)&1,n|(x|0)==0):0){u=(c[(c[o>>2]|0)+(r<<2)>>2]|0)+v|0;r=c[731756]|0;a[u>>0]=((r^15)&(d[u>>0]|0)|r&h>>(x<<2)&c[731757])&15;z=c[j>>2]|0}else z=y;x=e-p|0;if(((((z|0)<=(x|0)?(c[k>>2]|0)>(x|0):0)?(c[l>>2]|0)<=(t|0):0)?(c[m>>2]|0)>(t|0):0)?(r=i>>(t<<2&12^12)>>>(x&3^3)&1,n|(r|0)==0):0){u=(c[(c[o>>2]|0)+(t<<2)>>2]|0)+x|0;t=c[731756]|0;a[u>>0]=((t^15)&(d[u>>0]|0)|t&h>>(r<<2)&c[731757])&15;A=c[j>>2]|0}else A=z;r=f-p|0;if(((((A|0)<=(v|0)?(c[k>>2]|0)>(v|0):0)?(c[l>>2]|0)<=(r|0):0)?(c[m>>2]|0)>(r|0):0)?(t=i>>(r<<2&12^12)>>>(v&3^3)&1,n|(t|0)==0):0){u=(c[(c[o>>2]|0)+(r<<2)>>2]|0)+v|0;v=c[731756]|0;a[u>>0]=((v^15)&(d[u>>0]|0)|v&h>>(t<<2)&c[731757])&15;B=c[j>>2]|0}else B=A;t=f-q|0;if(((((B|0)<=(x|0)?(c[k>>2]|0)>(x|0):0)?(c[l>>2]|0)<=(t|0):0)?(c[m>>2]|0)>(t|0):0)?(v=i>>(t<<2&12^12)>>>(x&3^3)&1,n|(v|0)==0):0){u=(c[(c[o>>2]|0)+(t<<2)>>2]|0)+x|0;x=c[731756]|0;a[u>>0]=((x^15)&(d[u>>0]|0)|x&h>>(v<<2)&c[731757])&15;C=c[j>>2]|0}else C=B;if(((((C|0)<=(g|0)?(c[k>>2]|0)>(g|0):0)?(c[l>>2]|0)<=(r|0):0)?(c[m>>2]|0)>(r|0):0)?(v=i>>(r<<2&12^12)>>>(g&3^3)&1,n|(v|0)==0):0){x=(c[(c[o>>2]|0)+(r<<2)>>2]|0)+g|0;g=c[731756]|0;a[x>>0]=((g^15)&(d[x>>0]|0)|g&h>>(v<<2)&c[731757])&15;D=c[j>>2]|0}else D=C;if(((((D|0)<=(s|0)?(c[k>>2]|0)>(s|0):0)?(c[l>>2]|0)<=(t|0):0)?(c[m>>2]|0)>(t|0):0)?(v=i>>(t<<2&12^12)>>>(s&3^3)&1,n|(v|0)==0):0){g=(c[(c[o>>2]|0)+(t<<2)>>2]|0)+s|0;s=c[731756]|0;a[g>>0]=((s^15)&(d[g>>0]|0)|s&h>>(v<<2)&c[731757])&15}v=p+1|0;s=(b|0)<0;g=q+-1|0;q=s?q:g;if((q|0)<=(p|0))break;else{b=(v-(s?0:g)<<1|1)+b|0;p=v}}return}function Hj(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[731756]|0;a[h>>0]=((e^15)&(d[h>>0]|0)|e&g>>(i<<2)&c[731757])&15;return}function Ij(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;if((e|0)<0)return;g=0;h=e;i=1-e|0;while(1){e=b-h|0;j=h+b|0;Jj(a,e,j,g+d|0,f,c[731759]|0);Jj(a,e,j,d-g|0,f,c[731759]|0);j=b-g|0;e=g+b|0;if((i|0)>-1){Jj(a,j,e,h+d|0,f,c[731759]|0);Jj(a,j,e,d-h|0,f,c[731759]|0)}e=g+1|0;j=(i|0)<0;k=h+-1|0;h=j?h:k;if((h|0)<=(g|0))break;else{g=e;i=(e-(j?0:k)<<1|1)+i|0}}return}function Jj(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;j=Ga;Ga=Ga+16|0;k=j;if((c[b+36>>2]|0)>(g|0)){Ga=j;return}if((c[b+40>>2]|0)<=(g|0)){Ga=j;return}l=h&15;m=(i&65536|0)!=0;n=m?16:h>>>4&15;h=i>>(12-(g<<2)&12);a[k>>0]=(h&8|0)==0?l:n;a[k+1>>0]=(h&4|0)==0?l:n;a[k+2>>0]=(h&2|0)==0?l:n;a[k+3>>0]=(h&1|0)==0?l:n;n=(f|0)<(e|0);l=n?e:f;h=n?f:e;e=c[b+28>>2]|0;f=(h|0)<(e|0)?e:h;h=c[b+32>>2]|0;e=(l|0)<(h|0)?l:h+-1|0;h=(c[(c[b+16>>2]|0)+(g<<2)>>2]|0)+f|0;g=(f|0)>(e|0);if(!m){if(g){Ga=j;return}m=h;b=f;while(1){l=c[731756]|0;a[m>>0]=(l&(d[k+(b&3)>>0]|0)&c[731757]|(l^15)&(d[m>>0]|0))&15;if((b|0)<(e|0)){m=m+1|0;b=b+1|0}else break}Ga=j;return}if(g){Ga=j;return}g=h;h=f;while(1){f=a[k+(h&3)>>0]|0;if(f<<24>>24!=16){b=c[731756]|0;a[g>>0]=((b^15)&(d[g>>0]|0)|b&(f&255)&c[731757])&15}if((h|0)<(e|0)){g=g+1|0;h=h+1|0}else break}Ga=j;return}function Kj(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=Ga;Ga=Ga+128|0;j=i+64|0;k=i;l=k;m=1600;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=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){h=c[l+(n<<2)>>2]|0;m=d;while(1){o=j+(c[1664+((a[h+m>>0]&15)<<2)>>2]<<2)|0;c[o>>2]=(c[o>>2]|0)+1;if((m|0)<(f|0))m=m+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;m=(l|0)<0?0-l|0:l;l=(c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0))-n|0;h=(l|0)<0?0-l|0:l;l=(h|0)<(m|0);o=l?h:m;m=(c[j+12>>2]|0)+((c[j+8>>2]|0)+((c[j+4>>2]|0)+(c[j>>2]|0)))-n|0;h=(m|0)<0?0-m|0:m;m=(h|0)<(o|0);p=m?h: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;h=(o|0)<0?0-o|0:o;o=(h|0)<(p|0);q=o?h: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;h=(p|0)<0?0-p|0:p;p=(h|0)<(q|0);r=p?h: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;h=(q|0)<0?0-q|0:q;q=(h|0)<(r|0);s=q?h: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;h=(r|0)<0?0-r|0:r;r=(h|0)<(s|0);t=r?h: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;h=(s|0)<0?0-s|0:s;s=(h|0)<(t|0);u=s?h: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;h=(t|0)<0?0-t|0:t;t=(h|0)<(u|0);v=t?h: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;h=(u|0)<0?0-u|0:u;u=(h|0)<(v|0);w=u?h: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;h=(v|0)<0?0-v|0:v;v=(h|0)<(w|0);x=v?12:u?11:t?10:s?9:r?8:q?7:p?6:o?5:m?4:l?3:2;l=v?h: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;h=(w|0)<0?0-w|0:w;w=(x|0)==-1|(h|0)<(l|0);v=w?13:x;x=w?h: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;h=(l|0)<0?0-l|0:l;l=(v|0)==-1|(h|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?h:x)|0))?15:w;if(!(Nm(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)){Ga=i;return}n=b+16|0;if((d|0)>(f|0)){Ga=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}Ga=i;return}function Lj(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,B=0,C=0,D=0,E=0,F=0,H=0,I=0,J=0,K=0,L=0;j=c[731759]|0;k=(h|0)<(f|0);l=k?e:g;m=k?f:h;n=k?h:f;f=k?g:e;e=l-f|0;g=((e|0)<0)<<31>>31;k=m-n|0;h=((k|0)<0)<<31>>31;o=(g|0)<0;p=Xt(0,0,e|0,g|0)|0;q=G()|0;r=o?p:e;p=o?q:g;q=(h|0)<0;o=Xt(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=eu(k|0,h|0,16)|0;s=G()|0;p=eu(e|0,g|0,16)|0;q=_t(p|0,G()|0,o|0,t|0)|0;p=G()|0;u=_t(r|0,s|0,o|0,t|0)|0;v=u;w=G()|0;x=q;y=p}else{v=k;w=h;x=e;y=g}g=f<<16|32768;e=n<<16|32768;h=b+36|0;k=c[h>>2]|0;if((m|0)<(k|0)){z=0;return z|0}p=b+40|0;q=c[p>>2]|0;if((n|0)>=(q|0)){z=0;return z|0}u=b+28|0;t=c[u>>2]|0;s=(t|0)>(f|0);r=(t|0)>(l|0);if(s&r){z=0;return z|0}A=b+32|0;B=c[A>>2]|0;C=(f|0)<(B|0);D=(l|0)<(B|0);if(!(C|D)){z=0;return z|0}if((k|0)>(n|0)){E=k-n<<16;n=eu(E|0,((E|0)<0)<<31>>31|0,16)|0;E=_t(n|0,G()|0,v|0,w|0)|0;G()|0;n=E>>16;F=(n|0)>0?n:0}else F=0;if((m|0)<(q|0))H=0;else{n=(m-q<<16)+65536|0;q=eu(n|0,((n|0)<0)<<31>>31|0,16)|0;n=_t(q|0,G()|0,v|0,w|0)|0;G()|0;q=n>>16;H=(q|0)>0?q:0}if(s){s=t-f<<16;q=eu(s|0,((s|0)<0)<<31>>31|0,16)|0;s=_t(q|0,G()|0,x|0,y|0)|0;G()|0;q=s>>16;I=(F|0)>(q|0)?F:q}else I=F;if(C)J=I;else{C=(f-B<<16)+65536|0;f=eu(C|0,((C|0)<0)<<31>>31|0,16)|0;C=G()|0;F=Xt(0,0,x|0,y|0)|0;q=_t(f|0,C|0,F|0,G()|0)|0;G()|0;F=q>>16;J=(I|0)>(F|0)?I:F}if(r){r=t-l<<16;F=eu(r|0,((r|0)<0)<<31>>31|0,16)|0;r=G()|0;I=Xt(0,0,x|0,y|0)|0;q=_t(F|0,r|0,I|0,G()|0)|0;G()|0;I=q>>16;K=(H|0)>(I|0)?H:I}else K=H;if(D)L=K;else{D=(l-B<<16)+65536|0;B=eu(D|0,((D|0)<0)<<31>>31|0,16)|0;D=_t(B|0,G()|0,x|0,y|0)|0;G()|0;B=D>>16;L=(K|0)>(B|0)?K:B}B=J+-1|0;J=(B|0)>0?B:0;B=L+-1|0;L=au(x|0,y|0,J|0,0)|0;K=Wt(L|0,G()|0,g|0,((g|0)<0)<<31>>31|0)|0;g=G()|0;L=au(v|0,w|0,J|0,0)|0;D=Wt(L|0,G()|0,e|0,((e|0)<0)<<31>>31|0)|0;e=G()|0;L=o-J-((B|0)>0?B:0)|0;B=(L|0)>0?L:0;if((L|0)<=-1){z=B;return z|0}J=b+16|0;if(!(j&65536)){b=L;o=K;l=g;H=D;I=e;q=t;while(1){r=du(o|0,l|0,16)|0;G()|0;F=du(H|0,I|0,16)|0;C=G()|0;if((((q|0)<=(r|0)?(c[A>>2]|0)>(r|0):0)?(c[h>>2]|0)<=(F|0):0)?(c[p>>2]|0)>(F|0):0){f=eu(F|0,C|0,2)|0;G()|0;C=(c[(c[J>>2]|0)+(F<<2)>>2]|0)+r|0;F=c[731756]|0;a[C>>0]=((F^15)&(d[C>>0]|0)|F&i>>(j>>(f&12^12)>>>(r&3^3)<<2&4)&c[731757])&15}if((b|0)<=0){z=B;break}r=Wt(H|0,I|0,v|0,w|0)|0;f=G()|0;F=Wt(o|0,l|0,x|0,y|0)|0;C=G()|0;b=b+-1|0;o=F;l=C;H=r;I=f;q=c[u>>2]|0}return z|0}q=L;L=K;K=g;g=D;D=e;e=t;while(1){t=du(L|0,K|0,16)|0;G()|0;I=du(g|0,D|0,16)|0;H=G()|0;if(((((e|0)<=(t|0)?(c[A>>2]|0)>(t|0):0)?(c[h>>2]|0)<=(I|0):0)?(c[p>>2]|0)>(I|0):0)?(l=eu(I|0,H|0,2)|0,G()|0,(j>>(l&12^12)&1<<(t&3^3)|0)==0):0){l=(c[(c[J>>2]|0)+(I<<2)>>2]|0)+t|0;t=c[731756]|0;a[l>>0]=((t^15)&(d[l>>0]|0)|t&i&c[731757])&15}if((q|0)<=0){z=B;break}t=Wt(g|0,D|0,v|0,w|0)|0;l=G()|0;I=Wt(L|0,K|0,x|0,y|0)|0;H=G()|0;q=q+-1|0;L=I;K=H;g=t;D=l;e=c[u>>2]|0}return z|0}function Mj(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;n=c[732713]|0;o=c[n+8>>2]|0;p=c[n+4>>2]|0;q=Tj(2777036,n,24376)|0;n=Tj(2777036,c[732713]|0,24377)|0;r=Tj(2777036,c[732713]|0,24378)|0;s=Tj(2777036,c[732713]|0,24379)|0;t=q+255&255;q=n+255&255;n=e>>16;u=f>>16;v=g>>16;g=h>>16;h=v-n|0;w=((h|0)<0)<<31>>31;x=g-u|0;y=((x|0)<0)<<31>>31;z=(w|0)<0;A=Xt(0,0,h|0,w|0)|0;C=G()|0;D=z?A:h;A=z?C:w;C=(y|0)<0;z=Xt(0,0,x|0,y|0)|0;E=G()|0;F=C?z:x;z=C?E:y;E=(A|0)>(z|0)|(A|0)==(z|0)&D>>>0>F>>>0;z=E?D:F;F=((z|0)<0)<<31>>31;if((z|0)>0){D=eu(x|0,y|0,16)|0;E=G()|0;A=eu(h|0,w|0,16)|0;C=_t(A|0,G()|0,z|0,F|0)|0;A=G()|0;H=_t(D|0,E|0,z|0,F|0)|0;I=C;J=A;K=H;L=G()|0}else{I=h;J=w;K=x;L=y}y=c[b+36>>2]|0;if((g|0)<(y|0)){M=0;return M|0}x=c[b+40>>2]|0;if((u|0)>=(x|0)){M=0;return M|0}w=c[b+28>>2]|0;h=(w|0)>(n|0);H=(w|0)>(v|0);if(h&H){M=0;return M|0}A=c[b+32>>2]|0;b=(n|0)<(A|0);C=(v|0)<(A|0);if(!(b|C)){M=0;return M|0}F=e&-65536|32768;e=f&-65536|32768;if((y|0)>(u|0)){f=y-u<<16;u=eu(f|0,((f|0)<0)<<31>>31|0,16)|0;f=_t(u|0,G()|0,K|0,L|0)|0;G()|0;u=f>>16;N=(u|0)>0?u:0}else N=0;if((g|0)<(x|0))O=0;else{u=(g-x<<16)+65536|0;x=eu(u|0,((u|0)<0)<<31>>31|0,16)|0;u=_t(x|0,G()|0,K|0,L|0)|0;G()|0;x=u>>16;O=(x|0)>0?x:0}if(h){h=w-n<<16;x=eu(h|0,((h|0)<0)<<31>>31|0,16)|0;h=_t(x|0,G()|0,I|0,J|0)|0;G()|0;x=h>>16;P=(N|0)>(x|0)?N:x}else P=N;if(b)Q=P;else{b=(n-A<<16)+65536|0;n=eu(b|0,((b|0)<0)<<31>>31|0,16)|0;b=G()|0;N=Xt(0,0,I|0,J|0)|0;x=_t(n|0,b|0,N|0,G()|0)|0;G()|0;N=x>>16;Q=(P|0)>(N|0)?P:N}if(H){H=w-v<<16;w=eu(H|0,((H|0)<0)<<31>>31|0,16)|0;H=G()|0;N=Xt(0,0,I|0,J|0)|0;P=_t(w|0,H|0,N|0,G()|0)|0;G()|0;N=P>>16;R=(O|0)>(N|0)?O:N}else R=O;if(C)S=R;else{C=(v-A<<16)+65536|0;A=eu(C|0,((C|0)<0)<<31>>31|0,16)|0;C=_t(A|0,G()|0,I|0,J|0)|0;G()|0;A=C>>16;S=(R|0)>(A|0)?R:A}A=Q+-1|0;Q=(A|0)>0?A:0;A=S+-1|0;S=au(I|0,J|0,Q|0,0)|0;R=Wt(S|0,G()|0,F|0,((F|0)<0)<<31>>31|0)|0;F=G()|0;S=au(K|0,L|0,Q|0,0)|0;C=Wt(S|0,G()|0,e|0,((e|0)<0)<<31>>31|0)|0;e=G()|0;S=(B(Q,k)|0)+i|0;i=(B(Q,l)|0)+j|0;j=z-Q-((A|0)>0?A:0)|0;A=(j|0)>0?j:0;if((j|0)<=-1){M=A;return M|0}if(!m){Q=S;z=i;v=j;O=R;N=F;P=C;H=e;while(1){w=ym(o,(t&Q>>>16)+r|0,(q&z>>>16)+s|0)|0;do if(((w|0?(x=(w|0)/16|0,b=c[2926840+((ym(p,w-(x<<4)<<3|Q>>>13&7,x<<3|z>>>13&7)|0)<<2)>>2]|0,(b&16|0)==0):0)?(x=cu(O|0,N|0,16)|0,n=G()|0,h=c[694267]|0,u=c[h+28>>2]|0,g=((u|0)<0)<<31>>31,!((n|0)<(g|0)|(n|0)==(g|0)&x>>>0>>0)):0)?(u=c[h+32>>2]|0,g=((u|0)<0)<<31>>31,(n|0)<(g|0)|(n|0)==(g|0)&x>>>0>>0):0){u=cu(P|0,H|0,16)|0;g=G()|0;n=c[h+36>>2]|0;f=((n|0)<0)<<31>>31;if((g|0)<(f|0)|(g|0)==(f|0)&u>>>0>>0)break;n=c[h+40>>2]|0;f=((n|0)<0)<<31>>31;if(!((g|0)<(f|0)|(g|0)==(f|0)&u>>>0>>0))break;n=(c[(c[h+16>>2]|0)+(u<<2)>>2]|0)+x|0;x=c[731756]|0;a[n>>0]=((x^15)&(d[n>>0]|0)|x&b&c[731757])&15}while(0);O=Wt(O|0,N|0,I|0,J|0)|0;N=G()|0;P=Wt(P|0,H|0,K|0,L|0)|0;H=G()|0;if((v|0)<=0){M=A;break}else{Q=Q+k|0;z=z+l|0;v=v+-1|0}}return M|0}v=S;S=i;i=j;j=R;R=F;F=C;C=e;while(1){e=ym(o,(t&v>>>16)+r|0,(q&S>>>16)+s|0)|0;do if((((e|0?c[(c[732713]|0)+43292+(e<<2)>>2]&m|0:0)?(z=(e|0)/16|0,Q=c[2926840+((ym(p,e-(z<<4)<<3|v>>>13&7,z<<3|S>>>13&7)|0)<<2)>>2]|0,(Q&16|0)==0):0)?(z=cu(j|0,R|0,16)|0,H=G()|0,P=c[694267]|0,N=c[P+28>>2]|0,O=((N|0)<0)<<31>>31,!((H|0)<(O|0)|(H|0)==(O|0)&z>>>0>>0)):0)?(N=c[P+32>>2]|0,O=((N|0)<0)<<31>>31,(H|0)<(O|0)|(H|0)==(O|0)&z>>>0>>0):0){N=cu(F|0,C|0,16)|0;O=G()|0;H=c[P+36>>2]|0;w=((H|0)<0)<<31>>31;if((O|0)<(w|0)|(O|0)==(w|0)&N>>>0>>0)break;H=c[P+40>>2]|0;w=((H|0)<0)<<31>>31;if(!((O|0)<(w|0)|(O|0)==(w|0)&N>>>0>>0))break;H=(c[(c[P+16>>2]|0)+(N<<2)>>2]|0)+z|0;z=c[731756]|0;a[H>>0]=((z^15)&(d[H>>0]|0)|z&Q&c[731757])&15}while(0);j=Wt(j|0,R|0,I|0,J|0)|0;R=G()|0;F=Wt(F|0,C|0,K|0,L|0)|0;C=G()|0;if((i|0)<=0){M=A;break}else{v=v+k|0;S=S+l|0;i=i+-1|0}}return M|0}function Nj(a){a=a|0;var b=0;if(c[514888]|0)To(1408912,0,1024);c[514888]=1;c[749573]=a;b=(a|0)<3?a:3;if(!(c[732713]|0))return;c[694267]=c[2777072+(((b|0)>0?b:0)<<2)>>2];return}function Oj(){var a=0,b=0;if(c[505846]|0)return 1;a=c[694252]|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 Pj(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)){ao(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=ym(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}sm(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 Qj(b,e,f,g,h,i,j){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,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;if((e|0)==0|(f|0)==0){k=h;return k|0}if(!(i&2))l=g;else l=g-((Zm(e,f)|0)/2|0)|0;if(!(i&4))m=l;else m=l-(Zm(e,f)|0)|0;l=a[e>>0]|0;if(!(l<<24>>24)){k=h;return k|0}n=b+28|0;o=b+32|0;p=b+36|0;q=b+40|0;r=b+16|0;if(!(i&16)){i=e;b=0;s=h;t=m;u=l;while(1){v=c[(c[f>>2]|0)+((u&255)<<2)>>2]|0;w=v+4|0;x=c[w>>2]|0;if((x|0)>0){y=v+16|0;z=0;A=x;B=c[v>>2]|0;while(1){if((B|0)>0){C=z+s|0;D=0;E=B;while(1){if(((((a[(c[(c[y>>2]|0)+(z<<2)>>2]|0)+D>>0]|0)!=0?(F=D+t|0,(F|0)>=(c[n>>2]|0)):0)?(F|0)<(c[o>>2]|0):0)?(C|0)>=(c[p>>2]|0):0)?(C|0)<(c[q>>2]|0):0){G=(c[(c[r>>2]|0)+(C<<2)>>2]|0)+F|0;F=c[731756]|0;a[G>>0]=((F^15)&d[G>>0]|F&j&c[731757])&15;H=c[v>>2]|0}else H=E;D=D+1|0;if((D|0)>=(H|0))break;else E=H}I=H;J=c[w>>2]|0}else{I=B;J=A}z=z+1|0;if((z|0)>=(J|0))break;else{A=J;B=I}}K=J;L=I;M=a[i>>0]|0}else{K=x;L=c[v>>2]|0;M=u}B=(b|0)>(K|0)?b:K;A=M<<24>>24==10;z=A?s+1+B|0:s;i=i+1|0;u=a[i>>0]|0;if(!(u<<24>>24)){k=z;break}else{b=A?0:B;s=z;t=A?g:L+t+1|0}}return k|0}t=e;e=0;L=h;h=m;m=l;while(1){l=c[(c[f>>2]|0)+((m&255)<<2)>>2]|0;s=l+4|0;b=c[s>>2]|0;if((b|0)>0){u=l+16|0;i=0;M=c[l>>2]|0;while(1){if((M|0)>0){K=i+L|0;I=0;J=M;while(1){if(((((a[(c[(c[u>>2]|0)+(i<<2)>>2]|0)+I>>0]|0)!=0?(H=I+h|0,(H|0)>=(c[n>>2]|0)):0)?(H|0)<(c[o>>2]|0):0)?(K|0)>=(c[p>>2]|0):0)?(K|0)<(c[q>>2]|0):0){A=(c[(c[r>>2]|0)+(K<<2)>>2]|0)+H|0;H=c[731756]|0;a[A>>0]=((H^15)&d[A>>0]|H&j&c[731757])&15;N=c[l>>2]|0}else N=J;I=I+1|0;if((I|0)>=(N|0)){O=N;break}else J=N}}else O=M;i=i+1|0;P=c[s>>2]|0;if((i|0)>=(P|0))break;else M=O}Q=P;R=O;S=a[t>>0]|0}else{Q=b;R=c[l>>2]|0;S=m}M=R+h|0;i=(e|0)>(Q|0)?e:Q;if(S<<24>>24!=10?(M|0)<((c[o>>2]|0)+~R|0):0){T=L;U=i;V=M+1|0}else{T=L+1+i|0;U=0;V=g}t=t+1|0;m=a[t>>0]|0;if(!(m<<24>>24)){k=T;break}else{e=U;L=T;h=V}}return k|0} function Rj(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;a=(b|0)!=0;if(!e){if(!a){f=0;return f|0}g=b+-4|0;h=c[g>>2]|0;Wo(g);c[731764]=(c[731764]|0)-h;f=0;return f|0}h=c[731764]|0;if((h-(c[749100]|0)|0)>2097152){c[749175]=1;fg();g=c[731764]|0;if((g-(c[749100]|0)|0)>67108864){og(55586);pg(55608,(c[731764]|0)/1048576|0,e>>>10);c[749176]=1;f=0;return f|0}else i=g}else i=h;if(a){h=b+-4|0;g=c[h>>2]|0;c[731764]=i-g;i=Vo(h,e+4|0)|0;j=(g|0)==0?0:e;k=i}else{j=0;k=Vo(0,e+4|0)|0}i=(b|0)==0;b=i&(d|0)==0&(c[749098]|0)!=0?0:i&(d+-7|0)>>>0<13?32:a?j:(d|0)!=2&(i&d>>>0<7)?e:0;c[731764]=b+(c[731764]|0);c[k>>2]=b;f=k+4|0;return f|0}function Sj(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=(e&32768|0)!=0;i=(b|0)!=0;if(i&h?(a[b+178194>>0]&-16)<<24>>24!=16:0){yb(55620);return}j=g>>>0<24320;if((g+-17152|0)>>>0<7168&(c[694281]|0)>0)return;k=f&255;l=k>>>0>127?f|-256:k;if(i)a[b+153820+g>>0]=f;if(h)return;if(g>>>0<4096){h=d+4|0;i=g>>>6;m=e<<1&126;a[(c[(c[(c[h>>2]|0)+16>>2]|0)+(i<<2)>>2]|0)+m>>0]=f&15;a[(c[(c[(c[h>>2]|0)+16>>2]|0)+(i<<2)>>2]|0)+(m|1)>>0]=f>>>4&15;return}if(g>>>0<8192){m=d+4|0;i=g>>>6;h=e<<1&126;a[(c[(c[(c[m>>2]|0)+16>>2]|0)+(i<<2)>>2]|0)+h>>0]=f&15;a[(c[(c[(c[m>>2]|0)+16>>2]|0)+(i<<2)>>2]|0)+(h|1)>>0]=f>>>4&15;a[(c[(c[(c[d+8>>2]|0)+16>>2]|0)+(g>>>7<<2)>>2]|0)+(e&127)>>0]=f;return}if(g>>>0<12288){h=g+-8192|0;a[(c[(c[(c[d+8>>2]|0)+16>>2]|0)+(h>>7<<2)>>2]|0)+(h&127)>>0]=f;return}if(g>>>0<12544){c[d+43292+(g+-12288<<2)>>2]=k;return}if(g>>>0<12800){h=g+-12544|0;i=(h|0)/4|0;m=h&3;c[d+41996+(i<<4)+(m<<2)>>2]=f&127;h=1<>2]|0;c[m>>2]=i&~h;if(!(f&128))return;c[m>>2]=i|h;return}if(g>>>0<17152){h=g+-12800|0;i=(h|0)/68|0;m=h-(i*68|0)|0;if((m|0)<64){h=(m|0)/2|0;if(!(m&1)){c[d+12+(i*656|0)+16+(h*20|0)>>2]=f&63;n=d+12+(i*656|0)+16+(h*20|0)+4|0;c[n>>2]=c[n>>2]&4|f>>>6&3;return}else{n=d+12+(i*656|0)+16+(h*20|0)+4|0;c[n>>2]=c[n>>2]&3|f<<2&4;c[d+12+(i*656|0)+16+(h*20|0)+8>>2]=f>>>1&7;c[d+12+(i*656|0)+16+(h*20|0)+12>>2]=f>>>4&7;c[d+12+(i*656|0)+16+(h*20|0)+16>>2]=f&128;return}}switch(m|0){case 64:{c[d+12+(i*656|0)>>2]=k;return}case 65:{c[d+12+(i*656|0)+4>>2]=k;return}case 66:{c[d+12+(i*656|0)+8>>2]=k;return}case 67:{c[d+12+(i*656|0)+12>>2]=k;return}default:return}}if((b|0)==0|g>>>0<24064)return;if(j){j=g+-24064|0;b=2922184+(((j|0)/4|0)<<2)|0;i=c[b>>2]|0;d=j<<3&24;j=i&~(255<>2]=j;if((i|0)==(j|0))return;c[749173]=1;return}if(g>>>0>=24448)if(g>>>0<24576){Jl(g+-24448|0,k);return}else{j=g+-24576|0;i=j>>6;b=j<<1&126;a[(c[(c[(c[694267]|0)+16>>2]|0)+(i<<2)>>2]|0)+b>>0]=f&15;a[(c[(c[(c[694267]|0)+16>>2]|0)+(i<<2)>>2]|0)+(b|1)>>0]=f>>>4&15;return}b=g+-24320|0;a:do if(g>>>0<24336)c[2926840+(b<<2)>>2]=k;else{if(g>>>0<24352){c[2926904+(g+-24336<<2)>>2]=k;if(!(f&128))break;jb();break}if(g>>>0<24356){c[2926968+(g+-24352<<2)>>2]=k;om(c[694267]|0,c[731742]|0,c[731743]|0,c[731744]|0,c[731745]|0);break}do switch((e&65535)<<16>>16){case 24357:{c[731746]=k;return}case 24358:{c[731747]=k;return}case 24359:{c[731748]=k;return}case 24360:{c[731751]=c[731751]&-256|l;return}case 24361:{c[731751]=c[731751]&255|l<<8;return}case 24362:{c[731752]=c[731752]&-256|l;return}case 24363:{c[731752]=c[731752]&255|l<<8;return}case 24364:{c[731754]=k;return}case 24369:{c[731759]=c[731759]&-256|k;return}case 24370:{c[731759]=c[731759]&-65281|k<<8;return}case 24371:{c[731759]=c[731759]&-16711681|k<<16;return}case 24373:{c[731762]=k;return}case 24380:{c[731760]=c[731760]&-256|l;return}case 24381:{c[731760]=c[731760]&255|l<<8;return}case 24382:{c[731761]=c[731761]&-256|l;return}case 24383:{c[731761]=c[731761]&255|l<<8;return}case 24384:{c[732098]=k;return}case 24385:{c[732099]=k;return}case 24386:{c[732100]=k;return}case 24387:{c[732101]=k;return}default:switch((e&65532)<<16>>16){case 24388:{i=(g<<3)+-195104|0;nk(0,(mk(0)|0)&~(255<>>0<8){c[2927060+(i<<5)>>2]=f&1;c[2927060+(i<<5)+4>>2]=f>>>1&1;c[2927060+(i<<5)+8>>2]=f>>>2&1;c[2927060+(i<<5)+12>>2]=f>>>3&1;c[2927060+(i<<5)+16>>2]=f>>>4&1;c[2927060+(i<<5)+20>>2]=f>>>5&1;return}i=g+-24404|0;if(i>>>0>=8)break a;c[2927572+(i<<5)>>2]=f&1;c[2927572+(i<<5)+4>>2]=f>>>1&1;c[2927572+(i<<5)+8>>2]=f>>>2&1;c[2927572+(i<<5)+12>>2]=f>>>3&1;c[2927572+(i<<5)+16>>2]=f>>>4&1;c[2927572+(i<<5)+20>>2]=f>>>5&1;c[2927572+(i<<5)+24>>2]=f>>>6&1;c[2927572+(i<<5)+28>>2]=f>>>7&1;return}}}while(0)}while(0);if((b|0)!=94)return;c[731755]=k;c[731756]=f&15;c[731757]=f>>>4&15;return}function Tj(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&g>>>0>32767?(a[b+178194>>0]&-16)<<24>>24!=16:0){i=0;return i|0}if(h)j=d[b+153820+g>>0]|0;else j=0;a:do if(g>>>0>=8192){if(g>>>0<12288){h=g+-8192|0;k=d[(c[(c[(c[e+8>>2]|0)+16>>2]|0)+(h>>7<<2)>>2]|0)+(h&127)>>0]|0;break}if(g>>>0<12544){k=c[e+43292+(g+-12288<<2)>>2]|0;break}if(g>>>0<12800){h=g+-12544|0;l=(h|0)/4|0;m=h&3;h=c[e+41996+(l<<4)+(m<<2)>>2]&127;k=(c[e+43020+(l<<2)>>2]&1<>>0<17152){h=g+-12800|0;m=(h|0)/68|0;l=h-(m*68|0)|0;if((l|0)<64){h=(l|0)/2|0;if(!(l&1)){k=c[e+12+(m*656|0)+16+(h*20|0)+4>>2]<<6&192|c[e+12+(m*656|0)+16+(h*20|0)>>2];break}else{k=c[e+12+(m*656|0)+16+(h*20|0)+8>>2]<<1&14|(c[e+12+(m*656|0)+16+(h*20|0)+4>>2]|0)>>>2&1|c[e+12+(m*656|0)+16+(h*20|0)+12>>2]<<4&112|c[e+12+(m*656|0)+16+(h*20|0)+16>>2]&128;break}}switch(l|0){case 64:{k=c[e+12+(m*656|0)>>2]|0;break a;break}case 65:{k=c[e+12+(m*656|0)+4>>2]|0;break a;break}case 66:{k=c[e+12+(m*656|0)+8>>2]|0;break a;break}case 67:{k=c[e+12+(m*656|0)+12>>2]|0;break a;break}default:{k=j;break a}}}if(!b){i=0;return i|0}if(g>>>0<24064)k=j;else{if(g>>>0<24320){m=g+-24064|0;k=(c[2922184+(((m|0)/4|0)<<2)>>2]|0)>>>(m<<3&24)&255;break}if(g>>>0>=24448){if(g>>>0<24576){k=Kl(g+-24448|0)|0;break}if(g>>>0>=32768){k=j;break}m=g+-24576|0;l=c[(c[(c[694267]|0)+16>>2]|0)+(m>>6<<2)>>2]|0;h=m<<1&126;k=(a[l+(h|1)>>0]<<4&255|a[l+h>>0]&15)&255;break}h=g+-24320|0;b:do if(g>>>0<24336)n=c[2926840+(h<<2)>>2]|0;else{if(g>>>0<24352){n=c[2926904+(g+-24336<<2)>>2]|0;break}if(g>>>0<24356){n=c[2926968+(g+-24352<<2)>>2]|0;break}do switch((f&65535)<<16>>16){case 24357:{n=c[731746]|0;break b;break}case 24358:{n=c[731747]|0;break b;break}case 24359:{n=c[731748]|0;break b;break}case 24360:{n=c[731751]&255;break b;break}case 24361:{n=c[731751]>>8;break b;break}case 24362:{n=c[731752]&255;break b;break}case 24363:{n=c[731752]>>8;break b;break}case 24364:{n=c[731754]|0;break b;break}case 24369:{n=c[731759]&255;break b;break}case 24370:{n=(c[731759]|0)>>>8&255;break b;break}case 24371:{n=(c[731759]|0)>>>16&255;break b;break}case 24373:{n=c[731762]&255;break b;break}case 24380:{n=c[731760]&255;break b;break}case 24381:{n=c[731760]>>8;break b;break}case 24382:{n=c[731761]&255;break b;break}case 24383:{n=c[731761]>>8;break b;break}case 24384:{n=c[732098]|0;break b;break}case 24385:{n=c[732099]|0;break b;break}case 24386:{n=c[732100]|0;break b;break}case 24387:{n=c[732101]|0;break b;break}default:switch((f&65532)<<16>>16){case 24388:{n=(mk(0)|0)>>>((g<<3)+-195104|0)&255;break b;break}case 24392:{n=(mk(1)|0)>>>((g<<3)+-195136|0)&255;break b;break}default:{l=g+-24396|0;if(l>>>0<8){n=((c[2927060+(l<<5)+28>>2]|0)==0?0:128)|(((c[2927060+(l<<5)+24>>2]|0)==0?0:64)|(((c[2927060+(l<<5)+20>>2]|0)==0?0:32)|(((c[2927060+(l<<5)+16>>2]|0)==0?0:16)|(((c[2927060+(l<<5)+12>>2]|0)==0?0:8)|(((c[2927060+(l<<5)+8>>2]|0)==0?0:4)|(((c[2927060+(l<<5)+4>>2]|0)==0?0:2)|(c[2927060+(l<<5)>>2]|0)!=0))))));break b}l=g+-24404|0;if(l>>>0<8){n=((c[2927572+(l<<5)+28>>2]|0)==0?0:128)+(((c[2927572+(l<<5)+24>>2]|0)==0?0:64)|(((c[2927572+(l<<5)+20>>2]|0)==0?0:32)|(((c[2927572+(l<<5)+16>>2]|0)==0?0:16)|(((c[2927572+(l<<5)+12>>2]|0)==0?0:8)|(((c[2927572+(l<<5)+8>>2]|0)==0?0:4)|(((c[2927572+(l<<5)+4>>2]|0)==0?0:2)|(c[2927572+(l<<5)>>2]|0)!=0))))))|0;break b}if((h|0)!=94){n=j;break b}n=c[731755]&255;break b}}}while(0)}while(0);k=n&255}}else{h=c[(c[(c[e+4>>2]|0)+16>>2]|0)+(g>>>6<<2)>>2]|0;l=f<<1&126;k=((d[h+(l|1)>>0]|0)<<4)+(d[h+l>>0]|0)|0}while(0);i=k&255;return i|0}function Uj(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;if((e|0)>32767)return;f=(e|0)>0;if((c|0)<(d|0)){if(!f)return;g=0;do{Sj(a,b,g+c|0,Tj(a,b,g+d|0)|0);g=g+1|0}while((g|0)!=(e|0));return}else{if(!f)return;f=e;do{e=f;f=f+-1|0;Sj(a,b,f+c|0,Tj(a,b,f+d|0)|0)}while((e|0)>1);return}}function Vj(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;if((e+-1|0)>>>0>=32767)return;f=0;do{Sj(a,b,f+c|0,d);f=f+1|0}while((f|0)<(e|0));return}function Wj(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{Sj(b,d,h+e|0,Tj(0,c[17040]|0,h+f|0)|0);h=h+1|0}while((h|0)!=(g|0))}if(!(a[2925516]|0))return;a[2925516]=0;g=30-(c[731644]|0)|0;h=(g|0)<30?g:30;c[731643]=(h|0)>0?h:0;c[731644]=28;return}function Xj(a){a=a|0;var b=0,d=0;b=a>>16;a=Tj(2777036,c[732713]|0,b)|0;d=((Tj(2777036,c[732713]|0,b+1|0)|0)<<8)+a|0;a=d+((Tj(2777036,c[732713]|0,b+2|0)|0)<<16)|0;return a+((Tj(2777036,c[732713]|0,b+3|0)|0)<<24)|0}function Yj(a){a=a|0;var b=0;b=a>>16;a=(Tj(2777036,c[732713]|0,b)|0)<<16;return ((Tj(2777036,c[732713]|0,b+1|0)|0)<<24)+a|0}function Zj(a){a=a|0;return (Tj(2777036,c[732713]|0,a>>16)|0)<<16|0}function _j(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=Ga;Ga=Ga+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{sq(b-(c[405563]|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);Ga=d;return h|0}function $j(a){a=a|0;return ((c[405571]|0)==(a|0)|(c[405572]|0)==(a|0)|(c[405573]|0)==(a|0)|(c[405574]|0)==(a|0)|(c[405575]|0)==(a|0)|(c[405576]|0)==(a|0))&1|0}function ak(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;a:do switch(b|0){case 0:{switch(a|0){case 0:{d=c[405571]|0;e=0;f=0;g=(d|0)==0?80:d;h=9;break}case 1:{d=c[405572]|0;e=0;f=0;g=(d|0)==0?79:d;h=9;break}case 2:{d=c[405573]|0;e=0;f=0;g=(d|0)==0?82:d;h=9;break}case 3:{d=c[405574]|0;e=0;f=0;g=(d|0)==0?81:d;h=9;break}case 4:{d=c[405575]|0;e=0;f=1;g=(d|0)==0?29:d;h=9;break}case 5:{d=c[405576]|0;e=1;f=0;g=(d|0)==0?27:d;h=9;break}default:{i=0;j=0;k=0}}if((h|0)==9){i=Nm(g)|0;j=e;k=f}if(!(Nm(-5)|0)){if(k){d=c[405575]|0;l=Nm((d|0)==0?6:d)|0|i}else l=i;if(j){d=c[405576]|0;m=Nm((d|0)==0?25:d)|0|l}else m=l}else m=i;if(k){d=c[405575]|0;n=Nm((d|0)==0?17:d)|0|m}else n=m;if(j&(Nm(-5)|0)==0){d=c[405576]|0;o=Nm((d|0)==0?16:d)|0|n}else o=n;d=(a|0)==6;if(d){p=c[405583]|0;q=Nm((p|0)==0?19:p)|0|o;p=c[405583]|0;r=q|(Nm((p|0)==0?40:p)|0)}else r=o;if(d&((c[749441]|0)==2&(((c[731635]|0)!=1|(c[731641]|0)==0|(c[406460]|0)!=0)^1))){d=c[405583]|0;s=Nm((d|0)==0?41:d)|0|r}else s=r;break}case 1:{switch(a|0){case 0:{d=c[405577]|0;if(!d){s=Nm(22)|0;break a}else{s=Nm(d)|0;break a}break}case 1:{d=c[405578]|0;if(!d){s=Nm(9)|0;break a}else{s=Nm(d)|0;break a}break}case 2:{d=c[405579]|0;if(!d){s=Nm(8)|0;break a}else{s=Nm(d)|0;break a}break}case 3:{d=c[405580]|0;if(!d){s=Nm(7)|0;break a}else{s=Nm(d)|0;break a}break}case 4:{d=c[405581]|0;p=Nm((d|0)==0?225:d)|0;d=c[405581]|0;q=Nm((d|0)==0?43:d)|0|p;p=c[405581]|0;s=q|(Nm((p|0)==0?26:p)|0);break a;break}case 5:{p=c[405582]|0;q=Nm((p|0)==0?4:p)|0;p=c[405582]|0;s=Nm((p|0)==0?20:p)|0|q;break a;break}default:{s=0;break a}}break}default:s=0}while(0);r=c[2928092+(b<<2)>>2]|0;if((r|0)==-1)return s|0;else return s|(r&1<>2]=1;c[2927060+(a<<5)>>2]=0;if(!b){d=Tj(2777036,c[732713]|0,24412)|0;e=(d|0)==0?15:d;f=c[406460]|0}else{e=15;f=b}d=c[515405]|0;if(!(f|d)){g=c[749165]|0;h=(g|0)>0?g:30}else h=30;c[2928124+(a<<5)>>2]=((B(h,e)|0)/30|0)+1;c[2927572+(a<<5)+4>>2]=1;c[2927060+(a<<5)+4>>2]=0;if(!f){g=Tj(2777036,c[732713]|0,24412)|0;i=(g|0)==0?15:g;j=c[515405]|0;k=c[406460]|0}else{i=15;j=d;k=f}if(!(k|j)){d=c[749165]|0;l=(d|0)>0?d:30}else l=30;c[2928124+(a<<5)+4>>2]=((B(l,i)|0)/30|0)+1;c[2927572+(a<<5)+8>>2]=1;c[2927060+(a<<5)+8>>2]=0;if(!k){d=Tj(2777036,c[732713]|0,24412)|0;m=(d|0)==0?15:d;n=c[515405]|0;o=c[406460]|0}else{m=15;n=j;o=k}if(!(o|n)){d=c[749165]|0;p=(d|0)>0?d:30}else p=30;c[2928124+(a<<5)+8>>2]=((B(p,m)|0)/30|0)+1;c[2927572+(a<<5)+12>>2]=1;c[2927060+(a<<5)+12>>2]=0;if(!o){d=Tj(2777036,c[732713]|0,24412)|0;q=(d|0)==0?15:d;r=c[515405]|0;s=c[406460]|0}else{q=15;r=n;s=o}if(!(s|r)){d=c[749165]|0;t=(d|0)>0?d:30}else t=30;c[2928124+(a<<5)+12>>2]=((B(t,q)|0)/30|0)+1;c[2927572+(a<<5)+16>>2]=1;c[2927060+(a<<5)+16>>2]=0;if(!s){d=Tj(2777036,c[732713]|0,24412)|0;u=(d|0)==0?15:d;v=c[515405]|0;w=c[406460]|0}else{u=15;v=r;w=s}if(!(w|v)){d=c[749165]|0;x=(d|0)>0?d:30}else x=30;c[2928124+(a<<5)+16>>2]=((B(x,u)|0)/30|0)+1;c[2927572+(a<<5)+20>>2]=1;c[2927060+(a<<5)+20>>2]=0;if(!w){d=Tj(2777036,c[732713]|0,24412)|0;y=(d|0)==0?15:d;z=c[515405]|0;A=c[406460]|0}else{y=15;z=v;A=w}if(!(A|z)){d=c[749165]|0;C=(d|0)>0?d:30}else C=30;c[2928124+(a<<5)+20>>2]=((B(C,y)|0)/30|0)+1;c[2927572+(a<<5)+24>>2]=1;c[2927060+(a<<5)+24>>2]=0;if(!A){d=Tj(2777036,c[732713]|0,24412)|0;D=(d|0)==0?15:d;E=c[515405]|0;F=c[406460]|0}else{D=15;E=z;F=A}if(!(F|E)){d=c[749165]|0;G=(d|0)>0?d:30}else G=30;c[2928124+(a<<5)+24>>2]=((B(G,D)|0)/30|0)+1;c[2927572+(a<<5)+28>>2]=1;c[2927060+(a<<5)+28>>2]=0;if(!F){d=Tj(2777036,c[732713]|0,24412)|0;H=(d|0)==0?15:d;I=c[515405]|0;J=c[406460]|0}else{H=15;I=E;J=F}if(!(J|I)){d=c[749165]|0;K=(d|0)>0?d:30}else K=30;c[2928124+(a<<5)+28>>2]=((B(K,H)|0)/30|0)+1;a=a+1|0;if((a|0)==8)break;else b=J}return}function ck(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;ku(2927060,0,256)|0;if((c[505422]|0)>0){c[731765]=Pn(2)|0;c[731766]=Pn(2)|0;c[731767]=Pn(2)|0;c[731768]=Pn(2)|0;c[731769]=Pn(2)|0;c[731770]=Pn(2)|0;c[731773]=Pn(2)|0;c[731774]=Pn(2)|0;c[731775]=Pn(2)|0;c[731776]=Pn(2)|0;c[731777]=Pn(2)|0;c[731778]=Pn(2)|0;c[731781]=Pn(2)|0;c[731782]=Pn(2)|0;c[731783]=Pn(2)|0;c[731784]=Pn(2)|0;c[731785]=Pn(2)|0;c[731786]=Pn(2)|0;c[731789]=Pn(2)|0;c[731790]=Pn(2)|0;c[731791]=Pn(2)|0;c[731792]=Pn(2)|0;c[731793]=Pn(2)|0;c[731794]=Pn(2)|0;c[731797]=Pn(2)|0;c[731798]=Pn(2)|0;c[731799]=Pn(2)|0;c[731800]=Pn(2)|0;c[731801]=Pn(2)|0;c[731802]=Pn(2)|0;c[731805]=Pn(2)|0;c[731806]=Pn(2)|0;c[731807]=Pn(2)|0;c[731808]=Pn(2)|0;c[731809]=Pn(2)|0;c[731810]=Pn(2)|0;c[731813]=Pn(2)|0;c[731814]=Pn(2)|0;c[731815]=Pn(2)|0;c[731816]=Pn(2)|0;c[731817]=Pn(2)|0;c[731818]=Pn(2)|0;c[731821]=Pn(2)|0;c[731822]=Pn(2)|0;c[731823]=Pn(2)|0;c[731824]=Pn(2)|0;c[731825]=Pn(2)|0;c[731826]=Pn(2)|0;return}a=0;do{b=0;do{if((ak(b,a)|0)==0?(_j(b,a)|0)<=128:0)c[2927572+(a<<5)+(b<<2)>>2]=0;else d=7;if(((d|0)==7?(d=0,(c[2927572+(a<<5)+(b<<2)>>2]|0)==0):0)?(c[2927060+(a<<5)+(b<<2)>>2]=1,(c[2927316+(a<<5)+(b<<2)>>2]|0)==0):0){e=c[406460]|0;if(!e){f=Tj(2777036,c[732713]|0,24412)|0;g=(f|0)==0?15:f;h=c[406460]|0}else{g=15;h=e}if(!(h|c[515405])){e=c[749165]|0;i=(e|0)>0?e:30}else i=30;c[2928124+(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[732021]=c[515399];c[732022]=c[515400];c[515399]=0;c[515400]=0;return}function dk(){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[731635]|0)!=1|(c[731641]|0)==0|(c[406460]|0)!=0)a=0;else{ck();a=1}b=0;do{d=2927828+(b<<5)|0;c[d>>2]=0;e=c[2927060+(b<<5)>>2]|0;f=2927316+(b<<5)|0;do if(e|0){if(c[f>>2]|0?(c[2928124+(b<<5)>>2]|0)!=1:0)break;if(!(c[2927572+(b<<5)>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=2927828+(b<<5)+4|0;c[d>>2]=0;g=c[2927060+(b<<5)+4>>2]|0;h=2927316+(b<<5)+4|0;do if(g|0){if(c[h>>2]|0?(c[2928124+(b<<5)+4>>2]|0)!=1:0)break;if(!(c[2927572+(b<<5)+4>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;d=2927828+(b<<5)+8|0;c[d>>2]=0;e=c[2927060+(b<<5)+8>>2]|0;f=2927316+(b<<5)+8|0;do if(e|0){if(c[f>>2]|0?(c[2928124+(b<<5)+8>>2]|0)!=1:0)break;if(!(c[2927572+(b<<5)+8>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=2927828+(b<<5)+12|0;c[d>>2]=0;g=c[2927060+(b<<5)+12>>2]|0;h=2927316+(b<<5)+12|0;do if(g|0){if(c[h>>2]|0?(c[2928124+(b<<5)+12>>2]|0)!=1:0)break;if(!(c[2927572+(b<<5)+12>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;d=2927828+(b<<5)+16|0;c[d>>2]=0;e=c[2927060+(b<<5)+16>>2]|0;f=2927316+(b<<5)+16|0;do if(e|0){if(c[f>>2]|0?(c[2928124+(b<<5)+16>>2]|0)!=1:0)break;if(!(c[2927572+(b<<5)+16>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=2927828+(b<<5)+20|0;c[d>>2]=0;g=c[2927060+(b<<5)+20>>2]|0;h=2927316+(b<<5)+20|0;do if(g|0){if(c[h>>2]|0?(c[2928124+(b<<5)+20>>2]|0)!=1:0)break;if(!(c[2927572+(b<<5)+20>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;d=2927828+(b<<5)+24|0;c[d>>2]=0;e=c[2927060+(b<<5)+24>>2]|0;f=2927316+(b<<5)+24|0;do if(e|0){if(c[f>>2]|0?(c[2928124+(b<<5)+24>>2]|0)!=1:0)break;if(!(c[2927572+(b<<5)+24>>2]|0))c[d>>2]=1}while(0);c[f>>2]=e;d=2927828+(b<<5)+28|0;c[d>>2]=0;g=c[2927060+(b<<5)+28>>2]|0;h=2927316+(b<<5)+28|0;do if(g|0){if(c[h>>2]|0?(c[2928124+(b<<5)+28>>2]|0)!=1:0)break;if(!(c[2927572+(b<<5)+28>>2]|0))c[d>>2]=1}while(0);c[h>>2]=g;b=b+1|0}while((b|0)!=8);if((Tj(2777036,c[732713]|0,24412)|0)!=255){b=0;do{d=2928124+(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[406460]|0;if(!f){e=Tj(2777036,c[732713]|0,24413)|0;i=(e|0)==0?4:e;j=c[406460]|0}else{i=4;j=f}if(!(j|c[515405])){f=c[749165]|0;k=(f|0)>0?f:30}else k=30;c[d>>2]=(B(k,i)|0)/30|0}d=2928124+(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[406460]|0;if(!e){f=Tj(2777036,c[732713]|0,24413)|0;l=(f|0)==0?4:f;m=c[406460]|0}else{l=4;m=e}if(!(m|c[515405])){e=c[749165]|0;n=(e|0)>0?e:30}else n=30;c[d>>2]=(B(n,l)|0)/30|0}d=2928124+(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[406460]|0;if(!f){e=Tj(2777036,c[732713]|0,24413)|0;o=(e|0)==0?4:e;p=c[406460]|0}else{o=4;p=f}if(!(p|c[515405])){f=c[749165]|0;q=(f|0)>0?f:30}else q=30;c[d>>2]=(B(q,o)|0)/30|0}d=2928124+(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[406460]|0;if(!e){f=Tj(2777036,c[732713]|0,24413)|0;r=(f|0)==0?4:f;s=c[406460]|0}else{r=4;s=e}if(!(s|c[515405])){e=c[749165]|0;t=(e|0)>0?e:30}else t=30;c[d>>2]=(B(t,r)|0)/30|0}d=2928124+(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[406460]|0;if(!f){e=Tj(2777036,c[732713]|0,24413)|0;u=(e|0)==0?4:e;v=c[406460]|0}else{u=4;v=f}if(!(v|c[515405])){f=c[749165]|0;w=(f|0)>0?f:30}else w=30;c[d>>2]=(B(w,u)|0)/30|0}d=2928124+(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[406460]|0;if(!e){f=Tj(2777036,c[732713]|0,24413)|0;x=(f|0)==0?4:f;y=c[406460]|0}else{x=4;y=e}if(!(y|c[515405])){e=c[749165]|0;z=(e|0)>0?e:30}else z=30;c[d>>2]=(B(z,x)|0)/30|0}d=2928124+(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[406460]|0;if(!f){e=Tj(2777036,c[732713]|0,24413)|0;A=(e|0)==0?4:e;C=c[406460]|0}else{A=4;C=f}if(!(C|c[515405])){f=c[749165]|0;D=(f|0)>0?f:30}else D=30;c[d>>2]=(B(D,A)|0)/30|0}d=2928124+(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[406460]|0;if(!e){f=Tj(2777036,c[732713]|0,24413)|0;E=(f|0)==0?4:f;F=c[406460]|0}else{E=4;F=e}if(!(F|c[515405])){e=c[749165]|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;ck();return}function ek(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[2927060+(b<<5)+(a<<2)>>2]|0;if(!(c[2927316+(b<<5)+(a<<2)>>2]|0)){d=e;return d|0}else return ((c[2928124+(b<<5)+(a<<2)>>2]|0)==1?e:0)|0;return 0}function fk(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;e=Ga;Ga=Ga+64|0;f=e+40|0;g=e+32|0;h=e+8|0;i=e;j=e+48|0;k=Uo(131072)|0;l=Uo(131072)|0;m=Uo(131072)|0;n=Uo(131072)|0;o=Uo(131072)|0;a[d>>0]=0;if(!(a[b>>0]|0)){Wo(k);Wo(l);Wo(m);Wo(n);Wo(o);Ga=e;return}p=m;q=l+1|0;r=b;b=1;s=1;while(1){a[k>>0]=0;a[l>>0]=0;a[m>>0]=0;ku(n|0,0,131072)|0;t=0;u=0;v=0;w=0;x=0;y=r;z=b;while(1){if(x>>>0>=16384){A=t;B=u;C=w;D=y;E=z;break}x=x+1|0;if(!z)F=Xg(y)|0;else F=Yg(y)|0;G=Zg()|0;if((G|0)<-998|(G|0)==-995)if(y>>>0>>0){H=y;I=w;while(1){J=I+((a[H>>0]|0)==10&1)|0;H=H+1|0;if((H|0)==(F|0)){K=t;L=v;M=u;N=J;break}else I=J}}else{K=t;L=v;M=u;N=w}else{I=F-y|0;ju(m+v|0,y|0,I|0)|0;H=I+v|0;a[m+H>>0]=0;switch(G|0){case -996:{if((I|0)>0){I=v+1|0;ku(n+v|0,1,((H|0)>(I|0)?H:I)-v|0)|0;O=u}else O=u;break}case -989:{O=1;break}default:O=u}K=(G|0)==-985?1:t;L=H;M=O;N=w}if(!((G|1|0)!=-999&(F|0)!=0)){A=K;B=M;C=N;D=F;E=0;break}else{t=K;u=M;v=L;w=N;y=F;z=0}}z=m;a:while(1){switch(a[z>>0]|0){case 63:{P=21;break a;break}case 9:case 32:break;default:break a}z=z+1|0}if((P|0)==21){P=0;Zl(l,z)|0;c[i>>2]=q;Ir(z,55638,i)|0;y=(ss(m)|0)+5|0;if((y|0)>4){w=y;while(1){a[n+w>>0]=a[n+(w+-5)>>0]|0;if((w|0)>5)w=w+-1|0;else break}};a[n>>0]=0;a[n+1>>0]=0;a[n+2>>0]=0;a[n+3>>0]=0;a[n+4>>0]=0}w=n;z=m;while(1){y=rt(z,55648)|0;if(y){v=y-z|0;u=v+2|0;if(!((a[w+(v+1)>>0]|a[w+v>>0])<<24>>24)){a[y>>0]=126;Q=1;P=30}else{R=w+u|0;S=z+u|0}}else{Q=0;P=30}if((P|0)==30){P=0;u=n;y=m;while(1){T=rt(y,55651)|0;if(!T){P=32;break}v=T-y|0;t=v+2|0;if(!((a[u+(v+1)>>0]|a[u+v>>0])<<24>>24)){P=38;break}else{u=u+t|0;y=y+t|0}}b:do if((P|0)==32){P=0;y=n;u=m;while(1){U=rt(u,55654)|0;if(!U)break;G=U-u|0;t=G+2|0;if(!((a[y+(G+1)>>0]|a[y+G>>0])<<24>>24)){P=37;break}else{y=y+t|0;u=u+t|0}}if((P|0)==37){P=0;a[j>>0]=a[55654]|0;a[j+1>>0]=a[55655]|0;a[j+2>>0]=a[55656]|0;V=U;P=94;break}u=n;y=m;while(1){W=rt(y,55657)|0;if(!W)break;t=W-y|0;G=t+2|0;if(!((a[u+(t+1)>>0]|a[u+t>>0])<<24>>24)){P=42;break}else{u=u+G|0;y=y+G|0}}if((P|0)==42){P=0;a[j>>0]=a[55657]|0;a[j+1>>0]=a[55658]|0;a[j+2>>0]=a[55659]|0;V=W;P=94;break}y=n;u=m;while(1){X=rt(u,55660)|0;if(!X)break;G=X-u|0;t=G+2|0;if(!((a[y+(G+1)>>0]|a[y+G>>0])<<24>>24)){P=46;break}else{y=y+t|0;u=u+t|0}}if((P|0)==46){P=0;a[j>>0]=a[55660]|0;a[j+1>>0]=a[55661]|0;a[j+2>>0]=a[55662]|0;V=X;P=94;break}u=n;y=m;while(1){Y=rt(y,55663)|0;if(!Y)break;t=Y-y|0;G=t+2|0;if(!((a[u+(t+1)>>0]|a[u+t>>0])<<24>>24)){P=50;break}else{u=u+G|0;y=y+G|0}}if((P|0)==50){P=0;a[j>>0]=a[55663]|0;a[j+1>>0]=a[55664]|0;a[j+2>>0]=a[55665]|0;V=Y;P=94;break}y=n;u=m;while(1){Z=rt(u,55666)|0;if(!Z)break;G=Z-u|0;t=G+2|0;if(!((a[y+(G+1)>>0]|a[y+G>>0])<<24>>24)){P=54;break}else{y=y+t|0;u=u+t|0}}if((P|0)==54){P=0;a[j>>0]=a[55666]|0;a[j+1>>0]=a[55667]|0;a[j+2>>0]=a[55668]|0;V=Z;P=94;break}u=n;y=m;while(1){_=rt(y,55669)|0;if(!_)break;t=_-y|0;G=t+2|0;if(!((a[u+(t+1)>>0]|a[u+t>>0])<<24>>24)){P=58;break}else{u=u+G|0;y=y+G|0}}if((P|0)==58){P=0;a[j>>0]=a[55669]|0;a[j+1>>0]=a[55670]|0;a[j+2>>0]=a[55671]|0;V=_;P=94;break}y=n;u=m;while(1){$=rt(u,55672)|0;if(!$)break;G=$-u|0;t=G+2|0;if(!((a[y+(G+1)>>0]|a[y+G>>0])<<24>>24)){P=62;break}else{y=y+t|0;u=u+t|0}}if((P|0)==62){P=0;a[j>>0]=a[55672]|0;a[j+1>>0]=a[55673]|0;a[j+2>>0]=a[55674]|0;V=$;P=94;break}u=n;y=m;while(1){aa=rt(y,55675)|0;if(!aa)break;t=aa-y|0;G=t+3|0;if(!((a[u+(t+2)>>0]|(a[u+(t+1)>>0]|a[u+t>>0]))<<24>>24)){P=66;break}else{u=u+G|0;y=y+G|0}}if((P|0)==66){P=0;c[j>>2]=4021854;V=aa;P=94;break}y=n;u=m;while(1){ba=rt(u,55679)|0;if(!ba)break;G=ba-u|0;t=G+4|0;if(!((a[y+(G+3)>>0]|(a[y+(G+2)>>0]|(a[y+(G+1)>>0]|a[y+G>>0])))<<24>>24)){P=70;break}else{y=y+t|0;u=u+t|0}}if((P|0)==70){P=0;a[j>>0]=a[55679]|0;a[j+1>>0]=a[55680]|0;a[j+2>>0]=a[55681]|0;a[j+3>>0]=a[55682]|0;a[j+4>>0]=a[55683]|0;V=ba;P=94;break}u=n;y=m;while(1){ca=rt(y,55684)|0;if(!ca)break;t=ca-y|0;G=t+4|0;if(!((a[u+(t+3)>>0]|(a[u+(t+2)>>0]|(a[u+(t+1)>>0]|a[u+t>>0])))<<24>>24)){P=74;break}else{u=u+G|0;y=y+G|0}}if((P|0)==74){P=0;a[j>>0]=a[55684]|0;a[j+1>>0]=a[55685]|0;a[j+2>>0]=a[55686]|0;a[j+3>>0]=a[55687]|0;a[j+4>>0]=a[55688]|0;V=ca;P=94;break}y=n;u=m;while(1){da=rt(u,55689)|0;if(!da)break;G=da-u|0;t=G+3|0;if(!((a[y+(G+2)>>0]|(a[y+(G+1)>>0]|a[y+G>>0]))<<24>>24)){P=78;break}else{y=y+t|0;u=u+t|0}}if((P|0)==78){P=0;c[j>>2]=4013116;V=da;P=94;break}u=n;y=m;while(1){ea=rt(y,55693)|0;if(!ea)break;t=ea-y|0;G=t+4|0;if(!((a[u+(t+3)>>0]|(a[u+(t+2)>>0]|(a[u+(t+1)>>0]|a[u+t>>0])))<<24>>24)){P=82;break}else{u=u+G|0;y=y+G|0}}if((P|0)==82){P=0;a[j>>0]=a[55693]|0;a[j+1>>0]=a[55694]|0;a[j+2>>0]=a[55695]|0;a[j+3>>0]=a[55696]|0;a[j+4>>0]=a[55697]|0;V=ea;P=94;break}y=n;u=m;while(1){fa=rt(u,55698)|0;if(!fa)break;G=fa-u|0;t=G+3|0;if(!((a[y+(G+2)>>0]|(a[y+(G+1)>>0]|a[y+G>>0]))<<24>>24)){P=86;break}else{y=y+t|0;u=u+t|0}}if((P|0)==86){P=0;c[j>>2]=4013630;V=fa;P=94;break}u=n;y=m;while(1){ga=rt(y,55702)|0;if(!ga)break;t=ga-y|0;G=t+2|0;if(!((a[u+(t+1)>>0]|a[u+t>>0])<<24>>24)){P=90;break}else{u=u+G|0;y=y+G|0}}if((P|0)==90){P=0;a[j>>0]=a[55702]|0;a[j+1>>0]=a[55703]|0;a[j+2>>0]=a[55704]|0;V=ga;P=94;break}y=n;u=m;while(1){ha=rt(u,55705)|0;if(!ha){P=121;break b}G=ha-u|0;t=G+3|0;if(!((a[y+(G+2)>>0]|(a[y+(G+1)>>0]|a[y+G>>0]))<<24>>24))break;else{y=y+t|0;u=u+t|0}}c[j>>2]=4009518;V=ha;P=94}else if((P|0)==38){P=0;a[j>>0]=a[55651]|0;a[j+1>>0]=a[55652]|0;a[j+2>>0]=a[55653]|0;V=T;P=94}while(0);if((P|0)==94){P=0;if((V|0)!=0&V>>>0>m>>>0){a[o>>0]=0;u=V;while(1){y=u+-1|0;ia=a[y>>0]|0;ja=y>>>0>m>>>0;if(ia<<24>>24==32&ja)u=y;else break}c:do if(ja){y=ia<<24>>24==93&1;t=-1;while(1){d:do if((y|0)<=0){G=a[u+t+-1>>0]|0;switch(G|0){case 46:case 91:case 93:{break d;break}default:{}}if(!(Rg(G)|0)){ka=t;break c}}while(0);G=t+-1|0;v=u+G|0;x=a[v>>0]|0;if(v>>>0>m>>>0){y=y+(x<<24>>24==93&1)+((x<<24>>24==91)<<31>>31)|0;t=G}else{ka=G;break}}}else ka=-1;while(0);t=ka;while(1)if((t|0)<-1&(Qg(a[u+t>>0]|0)|0)==0)t=t+1|0;else break;Zl(k,u+t|0)|0;a[k+(0-t)>>0]=0;a[u>>0]=0;y=V+(ss(j)|0)|0;Yg(m)|0;G=Xg(y)|0;x=Zg()|0;e:do if((x|1|0)!=-999){v=0;H=y;I=0;J=x;la=G;f:while(1){g:do if((v|0)==1){switch(J|0){case 40:case 91:case 123:{ma=I+1|0;break}default:ma=I}switch(J|0){case 41:case 93:case 125:{na=ma+-1|0;break}default:na=ma}if((na|0)<0)break f;else{oa=(na|0)==0?2:1;pa=na}}else{switch(J|0){case 40:case 91:case 123:{oa=1;pa=1;break g;break}case 37:case 42:case 43:case 45:case 47:case 94:case -962:{oa=0;pa=I;break g;break}default:{}}if(((J&-9)+973|0)>>>0>=2){switch(J|0){case 35:case 36:case 37:case 38:case 46:case 58:case 64:case 92:case 124:case 126:case -974:case -970:case -969:case -968:case -967:case -957:case -956:case -955:case -954:case -953:case -952:{oa=0;pa=I;break g;break}default:{}}if((v|0)==2)break f;else{oa=2;pa=I}}else{oa=0;pa=I}}while(0);qa=Xg(la)|0;J=Zg()|0;if((J|1|0)==-999)break e;else{ra=la;v=oa;I=pa;la=qa;H=ra}}Zl(o,H)|0;a[H>>0]=0}while(0);a[j+((ss(j)|0)+-1)>>0]=0;c[h>>2]=m;c[h+4>>2]=k;c[h+8>>2]=j;c[h+12>>2]=y;c[h+16>>2]=o;Ir(l,55709,h)|0;Zl(m,l)|0;sa=1}else P=121}if((P|0)==121){P=0;if(!Q)break;else sa=Q}ku(n|0,0,(ss(m)|0)+1|0)|0;G=Yg(m)|0;if(G|0){x=0;u=G;do{G=Zg()|0;t=u;la=x;x=t-p|0;if((G|0)==-996&(la|0)<(x|0))ku(n+la|0,1,t-p-la|0)|0;u=Xg(u)|0}while((G|1|0)!=-999&(u|0)!=0)}if(!sa)break;else{R=n;S=m}}w=R;z=S}h:do if(!B){z=n;w=m;while(1){u=rt(w,55728)|0;if(!u){ta=0;break}x=u-w|0;y=x+3|0;if(!((a[z+(x+2)>>0]|(a[z+(x+1)>>0]|a[z+x>>0]))<<24>>24)){ta=u;break}else{z=z+y|0;w=w+y|0}}w=n;z=m;while(1){y=rt(z,55732)|0;if(!y){ua=ta;P=135;break h}u=y-z|0;x=u+3|0;if(!((a[w+(u+2)>>0]|(a[w+(u+1)>>0]|a[w+u>>0]))<<24>>24)){va=2;wa=y;xa=ta;break}else{w=w+x|0;z=z+x|0}}}else{ua=0;P=135}while(0);if((P|0)==135){P=0;if(!ua)if(!A){z=n;w=m;while(1){x=rt(w,55736)|0;if(!x){ya=0;break}y=x-w|0;u=y+6|0;if(!((a[z+(y+5)>>0]|(a[z+(y+4)>>0]|(a[z+(y+3)>>0]|(a[z+(y+2)>>0]|(a[z+(y+1)>>0]|a[z+y>>0])))))<<24>>24)){ya=x;break}else{z=z+u|0;w=w+u|0}}w=n;z=m;while(1){u=rt(z,55743)|0;if(!u){za=0;break}x=u-z|0;y=x+6|0;if(!((a[w+(x+5)>>0]|(a[w+(x+4)>>0]|(a[w+(x+3)>>0]|(a[w+(x+2)>>0]|(a[w+(x+1)>>0]|a[w+x>>0])))))<<24>>24)){za=u;break}else{w=w+y|0;z=z+y|0}}va=(ya|0)!=0|(za|0)!=0?5:0;wa=za;xa=ya}else{va=0;wa=0;xa=0}else{va=2;wa=0;xa=ua}}z=(wa|0)!=0;w=(xa|0)!=0&z?(xa>>>0>>0?xa:wa):z?wa:xa;i:do if(w|0){if((w|0)!=(m|0))switch(a[w+-1>>0]|0){case 9:case 32:break;default:break i}z=w+va|0;j:while(1){switch(a[z>>0]|0){case 40:{break j;break}case 32:case 9:break;default:break i}z=z+1|0}y=z+1|0;u=a[y>>0]|0;if(u<<24>>24){x=y;y=1;G=u;while(1){if(!((y|0)>0&G<<24>>24!=10)){Aa=x;Ba=y;Ca=G;break}u=(a[n+(x-p)>>0]|0)==0?y+(G<<24>>24==40&1)+((G<<24>>24==41)<<31>>31)|0:y;la=x+1|0;G=a[la>>0]|0;if(!(G<<24>>24)){Aa=la;Ba=u;Ca=0;break}else{x=la;y=u}}if(!Ba){y=l+(Aa-p)|0;switch(va&7){case 2:{x=Aa;G=Ca;k:while(1){switch(G<<24>>24){case 10:case 0:{break i;break}default:{}}if(((G&-33)+-65&255)<26)break;if((((G<<24>>24)+256|0)%256|0|0)>127)break;switch(G<<24>>24){case 95:case 31:case 30:{break k;break}case 9:case 32:break;default:break i}z=x+1|0;x=z;G=a[z>>0]|0}Xg(x)|0;if((Zg()|0)==-973)break i;if((Zg()|0)==-972)break i;Zl(l,m)|0;a[y>>0]=0;c[g>>2]=l;c[g+4>>2]=Aa;Ir(k,55750,g)|0;Zl(m,k)|0;break i;break}case 5:{G=Aa;z=Ca;l:while(1){switch(z<<24>>24){case 10:case 0:{break i;break}default:{}}if(((z&-33)+-65&255)<26)break;if((((z<<24>>24)+256|0)%256|0|0)>127)break;switch(z<<24>>24){case 95:case 31:case 30:{break l;break}case 9:case 32:break;default:break i}u=G+1|0;G=u;z=a[u>>0]|0}Xg(G)|0;if((Zg()|0)==-973)break i;if((Zg()|0)==-972)break i;Zl(l,m)|0;a[y>>0]=0;c[f>>2]=l;c[f+4>>2]=Aa;Ir(k,55766,f)|0;Zl(m,k)|0;break i;break}default:{z=Aa;x=Ca;m:while(1){switch(x<<24>>24){case 10:case 0:{break i;break}default:{}}if(((x&-33)+-65&255)<26)break;if((((x<<24>>24)+256|0)%256|0|0)>127)break;switch(x<<24>>24){case 95:case 31:case 30:{break m;break}case 9:case 32:break;default:break i}u=z+1|0;z=u;x=a[u>>0]|0}Xg(z)|0;if((Zg()|0)==-973)break i;if((Zg()|0)==-972)break i;Zl(l,m)|0;a[y>>0]=0;Zl(m,k)|0;break i}}}}}while(0);Cs(d,m)|0;if(C|0){w=C;do{w=w+-1|0;x=d+(ss(d)|0)|0;a[x>>0]=10;a[x+1>>0]=0}while((w|0)!=0)}w=(a[D>>0]|0)!=0;if(s>>>0<65536&w){r=D;b=E;s=s+(w&1)|0}else break}Wo(k);Wo(l);Wo(m);Wo(n);Wo(o);Ga=e;return}function gk(a,b){a=a|0;b=b|0;var c=0;c=au(b|0,((b|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=du(c|0,G()|0,16)|0;G()|0;return a|0}function hk(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=eu(a|0,((a|0)<0)<<31>>31|0,16)|0;a=_t(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 ik(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 jk(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=_t(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=au(i|0,a|0,d|0,((d|0)<0)<<31>>31|0)|0;f=du(h|0,G()|0,16)|0;G()|0;h=(e&65536|0)==0?d:f;f=au(i|0,a|0,i|0,a|0)|0;i=du(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=eu(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=du(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=Wt(m|0,n|0,p|0,q|0)|0;u=G()|0;if(r>>>0>>0|(r|0)==(u|0)&s>>>0>>0){v=du(m|0,n|0,1)|0;w=s;x=r;y=v;z=G()|0}else{v=Xt(s|0,r|0,t|0,u|0)|0;u=G()|0;t=du(m|0,n|0,1)|0;A=Wt(t|0,G()|0,p|0,q|0)|0;w=v;x=u;y=A;z=G()|0}p=du(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}Mg(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=au(C|0,((C|0)<0)<<31>>31|0,j|0,((j|0)<0)<<31>>31|0)|0;d=du(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;Mg(8);c=D;return c|0}function kk(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=eu(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=du(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=Wt(f|0,e|0,a|0,g|0)|0;j=G()|0;if(i>>>0>>0|(i|0)==(j|0)&c>>>0>>0){k=du(a|0,g|0,1)|0;l=c;m=i;n=k;o=G()|0}else{k=Xt(c|0,i|0,b|0,j|0)|0;j=G()|0;b=du(a|0,g|0,1)|0;p=Wt(b|0,G()|0,f|0,e|0)|0;l=k;m=j;n=p;o=G()|0}f=du(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}Mg(8);d=h;return d|0}function lk(a,b){a=a|0;b=b|0;return Sn(a,b)|0}function mk(a){a=a|0;var b=0,d=0,e=0;switch(a|0){case 0:{b=34468;d=3;break}case 1:{b=34472;d=3;break}default:e=0}if((d|0)==3)e=c[b>>2]|0;return e|0}function nk(a,b){a=a|0;b=b|0;var d=0;switch(a|0){case 0:{d=34468;break}case 1:{d=34472;break}default:return}c[d>>2]=b;return}function ok(a){a=a|0;var b=0;b=(a|0)==0?-559038737:a;c[8618]=b;c[8617]=b^-1095947846;b=0;do{c[8617]=(c[8617]|0)>>>16|c[8617]<<16;c[8617]=(c[8617]|0)+(c[8618]|0);c[8618]=(c[8618]|0)+(c[8617]|0);b=b+1|0}while((b|0)!=32);Mg(8);return}function pk(a){a=a|0;var b=0;if(!a){b=0;return b|0}c[8617]=(c[8617]|0)>>>16|c[8617]<<16;c[8617]=(c[8617]|0)+(c[8618]|0);c[8618]=(c[8618]|0)+(c[8617]|0);b=((c[8617]|0)>>>0)%(a>>>0)|0;return b|0}function qk(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 tk(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=sk(a,0-(b&-65536)|0)|0;return c|0}function uk(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 vk(a,b){a=a|0;b=b|0;var d=0;d=Uo(2080)|0;To(d,0,2080);c[d>>2]=qm(a,b,8)|0;c[d+12>>2]=qm(a,b,8)|0;c[d+4>>2]=qm(a,b,8)|0;c[d+8>>2]=qm(a,b,8)|0;return d|0}function wk(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;ku(1409936,0,16384)|0;g=c[514892]|0;if(!g){h=hr(524288)|0;c[514892]=h;i=h;j=h}else{i=g;j=g}ku(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=1409936+((((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;ju(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 xk(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,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,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;g=Ga;Ga=Ga+2064|0;h=g+2060|0;i=g+2056|0;j=g+1024|0;k=g;l=g+2052|0;m=g+2048|0;n=0;do{c[j+(n<<2)>>2]=n;n=n+1|0}while((n|0)!=256);n=0;do{c[k+(c[j+(n<<2)>>2]<<2)>>2]=n;n=n+1|0}while((n|0)!=256);wk(b,f);c[8619]=1;c[514893]=0;c[514894]=e;c[514895]=0;if(!f){o=0;Ga=g;return o|0}n=Uo(f)|0;ju(n|0,b|0,f|0)|0;b=c[514894]|0;p=c[8619]|0;q=c[514893]|0;r=c[514895]|0;s=b+r|0;a[s>>0]=q;do if((p&2147483647|0)!=128){a[s>>0]=q;if((p&1073741823|0)==64){t=r+1|0;c[514893]=0;c[514895]=t;u=t;v=b+t|0;w=2;x=240;break}a[s>>0]=q;t=p<<3;if((t|0)==256){y=r+1|0;c[514893]=0;c[514895]=y;z=b+y|0;a[z>>0]=0;A=y;B=z;C=4;x=245}else{D=q;E=s;F=t;G=r;x=243}}else{t=r+1|0;c[514893]=0;c[514895]=t;z=b+t|0;a[z>>0]=0;u=t;v=z;w=4;x=240}while(0);if((x|0)==240){a[v>>0]=0;D=0;E=v;F=w;G=u;x=243}do if((x|0)==243){a[E>>0]=D;if((F&2147483647|0)==128){u=G+1|0;c[514893]=0;c[514895]=u;A=u;B=b+u|0;C=2;x=245;break}a[E>>0]=D;u=F<<2;if((u|0)==256){w=G+1|0;c[514893]=0;c[514895]=w;v=b+w|0;a[v>>0]=0;H=w;I=v;J=4;x=250}else{K=D;L=E;M=u;N=G;x=248}}while(0);if((x|0)==245){a[B>>0]=0;K=0;L=B;M=C;N=A;x=248}do if((x|0)==248){a[L>>0]=K;if((M&2147483647|0)==128){A=N+1|0;c[514893]=0;c[514895]=A;H=A;I=b+A|0;J=2;x=250;break}a[L>>0]=K;A=M<<2;if((A|0)==256){C=N+1|0;c[514893]=0;c[514895]=C;a[b+C>>0]=0;O=0;P=2;Q=C}else{R=K;S=L;T=A;U=N;x=253}}while(0);if((x|0)==250){a[I>>0]=0;R=0;S=I;T=J;U=H;x=253}if((x|0)==253){a[S>>0]=R;S=T<<1;if((S|0)==256){T=U+1|0;c[514893]=0;c[514895]=T;O=0;P=1;Q=T}else{O=R;P=S;Q=U}}c[8619]=P;U=c[514896]|0;c[514896]=U+8;a[b+Q>>0]=O;do if((P&2147483647|0)!=128){a[b+Q>>0]=O;if((P&1073741823|0)==64){S=Q+1|0;c[514893]=0;c[514895]=S;V=S;W=2;x=226;break}a[b+Q>>0]=O;S=P<<3;if((S|0)==256){R=Q+1|0;c[514893]=0;c[514895]=R;a[b+R>>0]=0;X=0;Y=2;Z=R}else{_=O;$=S;aa=Q;x=229}}else{S=Q+1|0;c[514893]=0;c[514895]=S;a[b+S>>0]=0;V=S;W=4;x=226}while(0);if((x|0)==226){a[b+V>>0]=0;_=0;$=W;aa=V;x=229}if((x|0)==229){a[b+aa>>0]=_;V=$<<1;if((V|0)==256){$=aa+1|0;c[514893]=0;c[514895]=$;X=0;Y=1;Z=$}else{X=_;Y=V;Z=aa}}aa=Y|X;c[514893]=aa;a[b+Z>>0]=aa;X=Y<<1;if((X|0)==256){Y=Z+1|0;c[514893]=0;c[514895]=Y;ba=0;ca=1;da=Y}else{ba=aa;ca=X;da=Z}Z=ca|ba;c[514893]=Z;a[b+da>>0]=Z;ba=ca<<1;if((ba|0)==256){ca=da+1|0;c[514893]=0;c[514895]=ca;ea=0;fa=1;ga=ca}else{ea=Z;fa=ba;ga=da}da=fa|ea;c[514893]=da;a[b+ga>>0]=da;if((fa&2147483647|0)!=128){a[b+ga>>0]=da;ea=fa<<2;if((ea|0)==256){fa=ga+1|0;c[514893]=0;c[514895]=fa;ha=0;ia=1;ja=fa}else{ha=da;ia=ea;ja=ga}}else{ea=ga+1|0;c[514893]=0;c[514895]=ea;a[b+ea>>0]=0;ha=0;ia=2;ja=ea}c[8619]=ia;c[514896]=U+16;a[b+ja>>0]=ha;do if((ia&2147483647|0)!=128){a[b+ja>>0]=ha;if((ia&1073741823|0)==64){ea=ja+1|0;c[514893]=0;c[514895]=ea;ka=ea;la=2;x=211;break}a[b+ja>>0]=ha;ea=ia<<3;if((ea|0)==256){ga=ja+1|0;c[514893]=0;c[514895]=ga;ma=0;na=1;oa=ga}else{ma=ha;na=ea;oa=ja}}else{ea=ja+1|0;c[514893]=0;c[514895]=ea;a[b+ea>>0]=0;ka=ea;la=4;x=211}while(0);if((x|0)==211){a[b+ka>>0]=0;ma=0;na=la;oa=ka}ka=na|ma;c[514893]=ka;a[b+oa>>0]=ka;ma=na<<1;if((ma|0)==256){na=oa+1|0;c[514893]=0;c[514895]=na;pa=0;qa=1;ra=na}else{pa=ka;qa=ma;ra=oa}oa=qa|pa;c[514893]=oa;a[b+ra>>0]=oa;pa=qa<<1;if((pa|0)==256){qa=ra+1|0;c[514893]=0;c[514895]=qa;sa=0;ta=1;ua=qa}else{sa=oa;ta=pa;ua=ra}ra=ta|sa;c[514893]=ra;a[b+ua>>0]=ra;sa=ta<<1;if((sa|0)==256){ta=ua+1|0;c[514893]=0;c[514895]=ta;va=0;wa=1;xa=ta}else{va=ra;wa=sa;xa=ua}ua=wa|va;c[514893]=ua;a[b+xa>>0]=ua;if((wa&2147483647|0)!=128){a[b+xa>>0]=ua;va=wa<<2;if((va|0)==256){wa=xa+1|0;c[514893]=0;c[514895]=wa;ya=0;za=1;Aa=wa}else{ya=ua;za=va;Aa=xa}}else{va=xa+1|0;c[514893]=0;c[514895]=va;a[b+va>>0]=0;ya=0;za=2;Aa=va}c[8619]=za;c[514896]=U+24;va=za|ya;c[514893]=va;a[b+Aa>>0]=va;do if((za&2147483647|0)!=128){a[b+Aa>>0]=va;if((za&1073741823|0)==64){ya=Aa+1|0;c[514893]=0;c[514895]=ya;Ba=ya;Ca=2;x=194;break}a[b+Aa>>0]=va;ya=za<<3;if((ya|0)==256){xa=Aa+1|0;c[514893]=0;c[514895]=xa;a[b+xa>>0]=0;Da=xa;Ea=4;x=199}else{Fa=va;Ha=ya;Ia=Aa;x=197}}else{ya=Aa+1|0;c[514893]=0;c[514895]=ya;a[b+ya>>0]=0;Ba=ya;Ca=4;x=194}while(0);if((x|0)==194){a[b+Ba>>0]=0;Fa=0;Ha=Ca;Ia=Ba;x=197}do if((x|0)==197){a[b+Ia>>0]=Fa;if((Ha&2147483647|0)==128){Ba=Ia+1|0;c[514893]=0;c[514895]=Ba;Da=Ba;Ea=2;x=199;break}a[b+Ia>>0]=Fa;Ba=Ha<<2;if((Ba|0)==256){Ca=Ia+1|0;c[514893]=0;c[514895]=Ca;Ja=0;Ka=1;La=Ca}else{Ja=Fa;Ka=Ba;La=Ia}}while(0);if((x|0)==199){a[b+Da>>0]=0;Ja=0;Ka=Ea;La=Da}Da=Ka|Ja;c[514893]=Da;a[b+La>>0]=Da;Ja=Ka<<1;if((Ja|0)==256){Ka=La+1|0;c[514893]=0;c[514895]=Ka;Ma=0;Na=1;Oa=Ka}else{Ma=Da;Na=Ja;Oa=La}La=Na|Ma;c[514893]=La;a[b+Oa>>0]=La;if((Na&2147483647|0)!=128){a[b+Oa>>0]=La;Ma=Na<<2;if((Ma|0)==256){Na=Oa+1|0;c[514893]=0;c[514895]=Na;Pa=0;Qa=1;Ra=Na}else{Pa=La;Qa=Ma;Ra=Oa}}else{Ma=Oa+1|0;c[514893]=0;c[514895]=Ma;a[b+Ma>>0]=0;Pa=0;Qa=2;Ra=Ma}c[8619]=Qa;c[514896]=U+32;Ma=(f|0)/256|0;Oa=Qa|Pa;if(!(Ma&1))Sa=Pa;else{c[514893]=Oa;Sa=Oa}a[b+Ra>>0]=Sa;Oa=Qa<<1;if((Oa|0)==256){Qa=Ra+1|0;c[514893]=0;c[514895]=Qa;Ta=0;Ua=1;Va=Qa}else{Ta=Sa;Ua=Oa;Va=Ra}Ra=Ua|Ta;if(!(Ma&2))Wa=Ta;else{c[514893]=Ra;Wa=Ra}a[b+Va>>0]=Wa;Ra=Ua<<1;if((Ra|0)==256){Ua=Va+1|0;c[514893]=0;c[514895]=Ua;Xa=0;Ya=1;Za=Ua}else{Xa=Wa;Ya=Ra;Za=Va}Va=Ya|Xa;if(!(Ma&4))_a=Xa;else{c[514893]=Va;_a=Va}a[b+Za>>0]=_a;Va=Ya<<1;if((Va|0)==256){Ya=Za+1|0;c[514893]=0;c[514895]=Ya;$a=0;ab=1;bb=Ya}else{$a=_a;ab=Va;bb=Za}Za=ab|$a;if(!(Ma&8))cb=$a;else{c[514893]=Za;cb=Za}a[b+bb>>0]=cb;Za=ab<<1;if((Za|0)==256){ab=bb+1|0;c[514893]=0;c[514895]=ab;db=0;eb=1;fb=ab}else{db=cb;eb=Za;fb=bb}bb=eb|db;if(!(Ma&16))gb=db;else{c[514893]=bb;gb=bb}a[b+fb>>0]=gb;bb=eb<<1;if((bb|0)==256){eb=fb+1|0;c[514893]=0;c[514895]=eb;hb=0;ib=1;jb=eb}else{hb=gb;ib=bb;jb=fb}fb=ib|hb;if(!(Ma&32))kb=hb;else{c[514893]=fb;kb=fb}a[b+jb>>0]=kb;fb=ib<<1;if((fb|0)==256){ib=jb+1|0;c[514893]=0;c[514895]=ib;lb=0;mb=1;nb=ib}else{lb=kb;mb=fb;nb=jb}jb=mb|lb;if(!(Ma&64))ob=lb;else{c[514893]=jb;ob=jb}a[b+nb>>0]=ob;jb=mb<<1;if((jb|0)==256){mb=nb+1|0;c[514893]=0;c[514895]=mb;pb=0;qb=1;rb=mb}else{pb=ob;qb=jb;rb=nb}nb=qb|pb;if(!(Ma&128))sb=pb;else{c[514893]=nb;sb=nb}a[b+rb>>0]=sb;nb=qb<<1;if((nb|0)==256){qb=rb+1|0;c[514893]=0;c[514895]=qb;tb=0;ub=1;vb=qb}else{tb=sb;ub=nb;vb=rb}c[8619]=ub;c[514896]=U+40;rb=f-(Ma<<8)|0;Ma=ub|tb;if(!(rb&1))wb=tb;else{c[514893]=Ma;wb=Ma}a[b+vb>>0]=wb;Ma=ub<<1;if((Ma|0)==256){ub=vb+1|0;c[514893]=0;c[514895]=ub;xb=0;yb=1;zb=ub}else{xb=wb;yb=Ma;zb=vb}vb=yb|xb;if(!(rb&2))Ab=xb;else{c[514893]=vb;Ab=vb}a[b+zb>>0]=Ab;vb=yb<<1;if((vb|0)==256){yb=zb+1|0;c[514893]=0;c[514895]=yb;Bb=0;Cb=1;Db=yb}else{Bb=Ab;Cb=vb;Db=zb}zb=Cb|Bb;if(!(rb&4))Eb=Bb;else{c[514893]=zb;Eb=zb}a[b+Db>>0]=Eb;zb=Cb<<1;if((zb|0)==256){Cb=Db+1|0;c[514893]=0;c[514895]=Cb;Fb=0;Gb=1;Hb=Cb}else{Fb=Eb;Gb=zb;Hb=Db}Db=Gb|Fb;if(!(rb&8))Ib=Fb;else{c[514893]=Db;Ib=Db}a[b+Hb>>0]=Ib;Db=Gb<<1;if((Db|0)==256){Gb=Hb+1|0;c[514893]=0;c[514895]=Gb;Jb=0;Kb=1;Lb=Gb}else{Jb=Ib;Kb=Db;Lb=Hb}Hb=Kb|Jb;if(!(rb&16))Mb=Jb;else{c[514893]=Hb;Mb=Hb}a[b+Lb>>0]=Mb;Hb=Kb<<1;if((Hb|0)==256){Kb=Lb+1|0;c[514893]=0;c[514895]=Kb;Nb=0;Ob=1;Pb=Kb}else{Nb=Mb;Ob=Hb;Pb=Lb}Lb=Ob|Nb;if(!(rb&32))Qb=Nb;else{c[514893]=Lb;Qb=Lb}a[b+Pb>>0]=Qb;Lb=Ob<<1;if((Lb|0)==256){Ob=Pb+1|0;c[514893]=0;c[514895]=Ob;Rb=0;Sb=1;Tb=Ob}else{Rb=Qb;Sb=Lb;Tb=Pb}Pb=Sb|Rb;if(!(rb&64))Ub=Rb;else{c[514893]=Pb;Ub=Pb}a[b+Tb>>0]=Ub;Pb=Sb<<1;if((Pb|0)==256){Sb=Tb+1|0;c[514893]=0;c[514895]=Sb;Vb=0;Wb=1;Xb=Sb}else{Vb=Ub;Wb=Pb;Xb=Tb}Tb=Wb|Vb;if(!(rb&128))Yb=Vb;else{c[514893]=Tb;Yb=Tb}Tb=b+Xb|0;a[Tb>>0]=Yb;Vb=Wb<<1;if((Vb|0)==256){Wb=Xb+1|0;c[514893]=0;c[514895]=Wb;Zb=0;_b=b+Wb|0;$b=1;ac=Wb}else{Zb=Yb;_b=Tb;$b=Vb;ac=Xb}c[8619]=$b;c[514896]=U+48;a[_b>>0]=Zb;do if(($b&2147483647|0)==128){Xb=ac+1|0;c[514893]=0;c[514895]=Xb;Vb=b+Xb|0;a[Vb>>0]=0;bc=Xb;cc=Vb;dc=4;x=120}else{a[_b>>0]=Zb;if(($b&1073741823|0)==64){Vb=ac+1|0;c[514893]=0;c[514895]=Vb;bc=Vb;cc=b+Vb|0;dc=2;x=120;break}a[_b>>0]=Zb;Vb=$b<<3;if((Vb|0)!=256){ec=Zb;fc=_b;gc=Vb;hc=ac;x=123;break}Vb=ac+1|0;c[514893]=0;c[514895]=Vb;Xb=b+Vb|0;a[Xb>>0]=0;ic=Vb;jc=Xb;kc=4;x=125}while(0);if((x|0)==120){a[cc>>0]=0;ec=0;fc=cc;gc=dc;hc=bc;x=123}do if((x|0)==123){a[fc>>0]=ec;if((gc&2147483647|0)==128){bc=hc+1|0;c[514893]=0;c[514895]=bc;ic=bc;jc=b+bc|0;kc=2;x=125;break}a[fc>>0]=ec;bc=gc<<2;if((bc|0)!=256){lc=ec;mc=fc;nc=bc;oc=hc;x=128;break}bc=hc+1|0;c[514893]=0;c[514895]=bc;dc=b+bc|0;a[dc>>0]=0;pc=bc;qc=dc;rc=4;x=130}while(0);if((x|0)==125){a[jc>>0]=0;lc=0;mc=jc;nc=kc;oc=ic;x=128}do if((x|0)==128){a[mc>>0]=lc;if((nc&2147483647|0)==128){ic=oc+1|0;c[514893]=0;c[514895]=ic;pc=ic;qc=b+ic|0;rc=2;x=130;break}a[mc>>0]=lc;ic=nc<<2;if((ic|0)!=256){sc=lc;tc=mc;uc=ic;vc=oc;x=133;break}ic=oc+1|0;c[514893]=0;c[514895]=ic;kc=b+ic|0;a[kc>>0]=0;wc=0;xc=kc;yc=2;zc=ic}while(0);if((x|0)==130){a[qc>>0]=0;sc=0;tc=qc;uc=rc;vc=pc;x=133}do if((x|0)==133){a[tc>>0]=sc;pc=uc<<1;if((pc|0)!=256){wc=sc;xc=tc;yc=pc;zc=vc;break}pc=vc+1|0;c[514893]=0;c[514895]=pc;wc=0;xc=b+pc|0;yc=1;zc=pc}while(0);c[8619]=yc;c[514896]=U+56;a[xc>>0]=wc;do if((yc&2147483647|0)==128){vc=zc+1|0;c[514893]=0;c[514895]=vc;tc=b+vc|0;a[tc>>0]=0;Ac=vc;Bc=tc;Cc=4;x=103}else{a[xc>>0]=wc;if((yc&1073741823|0)==64){tc=zc+1|0;c[514893]=0;c[514895]=tc;Ac=tc;Bc=b+tc|0;Cc=2;x=103;break}a[xc>>0]=wc;tc=yc<<3;if((tc|0)!=256){Dc=wc;Ec=xc;Fc=tc;Gc=zc;x=106;break}tc=zc+1|0;c[514893]=0;c[514895]=tc;vc=b+tc|0;a[vc>>0]=0;Hc=tc;Ic=vc;Jc=4;x=108}while(0);if((x|0)==103){a[Bc>>0]=0;Dc=0;Ec=Bc;Fc=Cc;Gc=Ac;x=106}do if((x|0)==106){a[Ec>>0]=Dc;if((Fc&2147483647|0)==128){Ac=Gc+1|0;c[514893]=0;c[514895]=Ac;Hc=Ac;Ic=b+Ac|0;Jc=2;x=108;break}a[Ec>>0]=Dc;Ac=Fc<<2;if((Ac|0)!=256){Kc=Dc;Lc=Ec;Mc=Ac;Nc=Gc;x=111;break}Ac=Gc+1|0;c[514893]=0;c[514895]=Ac;Cc=b+Ac|0;a[Cc>>0]=0;Oc=Ac;Pc=Cc;Qc=4;x=113}while(0);if((x|0)==108){a[Ic>>0]=0;Kc=0;Lc=Ic;Mc=Jc;Nc=Hc;x=111}do if((x|0)==111){a[Lc>>0]=Kc;if((Mc&2147483647|0)==128){Hc=Nc+1|0;c[514893]=0;c[514895]=Hc;Oc=Hc;Pc=b+Hc|0;Qc=2;x=113;break}a[Lc>>0]=Kc;Hc=Mc<<2;if((Hc|0)!=256){Rc=Kc;Sc=Lc;Tc=Hc;Uc=Nc;x=116;break}Hc=Nc+1|0;c[514893]=0;c[514895]=Hc;a[b+Hc>>0]=0;Vc=2}while(0);if((x|0)==113){a[Pc>>0]=0;Rc=0;Sc=Pc;Tc=Qc;Uc=Oc;x=116}do if((x|0)==116){a[Sc>>0]=Rc;Oc=Tc<<1;if((Oc|0)!=256){Vc=Oc;break}c[514893]=0;c[514895]=Uc+1;Vc=1}while(0);c[8619]=Vc;c[514896]=U+64;c[514889]=0;c[514890]=0;c[514891]=0;if((f|0)>0){U=0;do{Vc=yk(n,U,f,h,i)|0;Uc=d[n+U>>0]|0;Tc=k+(Uc<<2)|0;Rc=c[Tc>>2]|0;Sc=(Rc|0)<16;if(Sc)Wc=4;else{Oc=16;Qc=4;while(1){Pc=Qc+1|0;Oc=Oc+(2<2){Oc=c[i>>2]|0;a:do if((Oc|0)>(Qc|0)&(Oc|0)<128){Pc=(Oc*6|0)/5|0;c[l>>2]=0;c[m>>2]=0;yk(n,U+1|0,f,l,m)|0;do if((c[m>>2]|0)<=(Pc|0)){c[l>>2]=0;c[m>>2]=0;yk(n,U+2|0,f,l,m)|0;if((c[m>>2]|0)>(Pc|0))break;Xc=Oc;break a}while(0);c[i>>2]=0;Xc=0}else Xc=Oc;while(0);if((Xc|0)<=(Qc|0)){x=64;break}Oc=c[514893]|0;Pc=c[8619]|0;b=c[514894]|0;Nc=c[514895]|0;a[b+Nc>>0]=Oc;Lc=Pc<<1;c[8619]=Lc;if((Lc|0)==256){Pc=Nc+1|0;c[8619]=1;c[514893]=0;c[514895]=Pc;Yc=0;Zc=Pc;_c=1}else{Yc=Oc;Zc=Nc;_c=Lc}Lc=(c[514897]|0)+1|0;c[514897]=Lc;Nc=c[h>>2]|0;Oc=5;while(1)if((1<>>0)/5|0;Mc=0;Hc=3-Kc|0;Jc=Yc;Ic=Zc;Gc=_c;while(1){Ec=(Hc|0)<1;Dc=Ec?Hc:1;Fc=Gc|Jc;if(!(Dc&1))$c=Jc;else{c[514893]=Fc;$c=Fc}a[b+Ic>>0]=$c;Fc=Gc<<1;Cc=Ic+1|0;if((Fc|0)==256){c[514893]=0;c[514895]=Cc;ad=0;bd=1;cd=Cc}else{ad=$c;bd=Fc;cd=Ic}Mc=Mc+1|0;if(Mc>>>0>=2)break;if(Ec)break;else{Hc=Hc-Dc|0;Jc=ad;Ic=cd;Gc=bd}}c[8619]=bd;Gc=0;Ic=ad;Jc=bd;Hc=cd;while(1){Mc=Jc|Ic;if(!(1<>0]=dd;Mc=Jc<<1;Nc=Hc+1|0;if((Mc|0)==256){c[514893]=0;c[514895]=Nc;ed=0;fd=1;gd=Nc}else{ed=dd;fd=Mc;gd=Hc}Gc=Gc+1|0;if((Gc|0)==(Oc|0))break;else{Ic=ed;Jc=fd;Hc=gd}}c[8619]=fd;Hc=Oc+Lc+Kc|0;c[514897]=Hc;Jc=0;Ic=Vc+-3|0;Gc=ed;Pc=gd;Mc=fd;while(1){Nc=(Ic|0)<7;Dc=Nc?Ic:7;Ec=Mc|Gc;if(!(Dc&1))hd=Gc;else{c[514893]=Ec;hd=Ec}a[b+Pc>>0]=hd;Ec=Mc<<1;if((Ec|0)==256){Fc=Pc+1|0;c[514893]=0;c[514895]=Fc;id=0;jd=1;kd=Fc}else{id=hd;jd=Ec;kd=Pc}Ec=jd|id;if(!(Dc&2))ld=id;else{c[514893]=Ec;ld=Ec}a[b+kd>>0]=ld;Ec=jd<<1;if((Ec|0)==256){Fc=kd+1|0;c[514893]=0;c[514895]=Fc;md=0;nd=1;od=Fc}else{md=ld;nd=Ec;od=kd}Ec=nd|md;if(!(Dc&4))pd=md;else{c[514893]=Ec;pd=Ec}a[b+od>>0]=pd;Ec=nd<<1;if((Ec|0)==256){Fc=od+1|0;c[514893]=0;c[514895]=Fc;qd=0;rd=1;sd=Fc}else{qd=pd;rd=Ec;sd=od}Jc=Jc+3|0;if(Jc>>>0>=1e5)break;if(Nc)break;else{Ic=Ic-Dc|0;Gc=qd;Pc=sd;Mc=rd}}c[8619]=rd;c[514897]=Jc+Hc;if((Vc|0)>9)c[514891]=(c[514891]|0)+1;c[514889]=(c[514889]|0)+1;td=Vc;ud=2059592}else x=64;while(0);if((x|0)==64){x=0;Vc=c[8619]|0;Qc=c[514893]|Vc;c[514893]=Qc;Mc=c[514894]|0;Pc=c[514895]|0;a[Mc+Pc>>0]=Qc;Gc=Vc<<1;c[8619]=Gc;if((Gc|0)==256){Vc=Pc+1|0;c[8619]=1;c[514893]=0;c[514895]=Vc;vd=0;wd=Vc;xd=1}else{vd=Qc;wd=Pc;xd=Gc}if(Sc){yd=Rc;zd=4}else{Gc=Rc;Pc=16;Qc=4;while(1){Vc=Gc-(1<>0]=Ad;Kc=Ic<<1;if((Kc|0)==256){Lc=Sc+1|0;c[514893]=0;c[514895]=Lc;Bd=0;Cd=1;Dd=Lc}else{Bd=Ad;Cd=Kc;Dd=Sc}Qc=Qc+1|0;if(Qc>>>0>=16)break;if(Vc)break;else{Gc=Gc-b|0;Pc=Bd;Sc=Dd;Ic=Cd}}c[8619]=Cd;Ic=0;Sc=Bd;Pc=Cd;Gc=Dd;while(1){Qc=Pc|Sc;if(!(1<>0]=Ed;Qc=Pc<<1;if((Qc|0)==256){b=Gc+1|0;c[514893]=0;c[514895]=b;Fd=0;Gd=1;Hd=b}else{Fd=Ed;Gd=Qc;Hd=Gc}Ic=Ic+1|0;if((Ic|0)==(zd|0))break;else{Sc=Fd;Pc=Gd;Gc=Hd}}c[8619]=Gd;if((Rc|0)>0){Gc=Rc;do{Pc=Gc;Gc=Gc+-1|0;Sc=c[j+(Gc<<2)>>2]|0;c[j+(Pc<<2)>>2]=Sc;Ic=k+(Sc<<2)|0;c[Ic>>2]=(c[Ic>>2]|0)+1}while((Pc|0)>1)}c[j>>2]=Uc;c[Tc>>2]=0;td=1;ud=2059560}c[ud>>2]=(c[ud>>2]|0)+td;Gc=(U|0)<2?0:U+-2|0;U=td+U|0;Rc=U+-2|0;if((Gc|0)<(Rc|0)){Pc=Gc;do Pc=Pc+1|0;while((Pc|0)<(Rc|0))}}while((U|0)<(f|0))}Wo(n);U=(c[514895]|0)+((c[8619]|0)!=1&1)|0;td=c[514894]|0;a[td+6>>0]=(U|0)/256|0;a[td+7>>0]=U;if((U|0)<=(f|0)){o=U;Ga=g;return o|0}ju(e|0,n|0,f|0)|0;o=f;Ga=g;return o|0}function yk(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[1409936+((((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 zk(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=Ga;Ga=Ga+2080|0;h=g+1056|0;i=g+32|0;j=g;c[8619]=1;c[514893]=0;c[514899]=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[8619]=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))){Ga=g;return 0}j=f+-1|0;m=0;n=1;o=8;while(1){p=n<<1;q=(p|0)==256;r=o+(q&1)|0;s=q?1:p;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;u=(t&v|0)!=0;E=t<<1;C=q+1|0;do if((E|0)!=256){B=u&1;D=(E&v|0)==0;A=t<<2;if((A|0)==256){I=D;J=B;K=1;L=d[b+C>>0]|0;M=35;break}else{N=t<<3;O=(N|0)==256;P=(D?0:2)|B;Q=A&v;R=O?C:q;S=O?1:N;break}}else{N=d[b+C>>0]|0;I=(N&1|0)==0;J=u&1;K=2;L=N;M=35}while(0);if((M|0)==35){M=0;P=(I?0:2)|J;Q=K&L;R=C;S=K<<1}u=((Q|0)==0?0:4)|P;p=p+3|0;z=u+z|0;if(!(p>>>0<1e5&(u|0)==7))break;else{q=R;t=S}}t=~F;q=z+3|0;p=m;while(1){a[e+p>>0]=a[e+(p+t)>>0]|0;p=p+1|0;if((q|0)<=1)break;else q=q+-1|0}if((p|0)<(j|0)){a[e+p>>0]=0;T=p;U=S;V=R}else{T=p;U=S;V=R}}else{q=0;t=0;z=0;u=r;v=s;while(1){E=v<<1;N=(E|0)==256;W=u+(N&1)|0;X=N?1:E;if(!(q>>>0<16?(v&(d[b+u>>0]|0)|0)!=0:0))break;E=(16<>0]|0)|0)==0?0:1<255){Y=r;break}v=c[h+(u<<2)>>2]|0;a[e+m>>0]=v;t=m+1|0;a[e+t>>0]=0;if((u|0)>0){N=u;do{u=N;N=N+-1|0;O=c[h+(N<<2)>>2]|0;c[h+(u<<2)>>2]=O;p=i+(O<<2)|0;c[p>>2]=(c[p>>2]|0)+1}while((u|0)>1)}c[h>>2]=v;c[i+(v<<2)>>2]=0;T=t;U=r;V=s}if((T|0)<(f|0)&((T|0)<(k|0)&(V|0)<(l|0))){m=T;n=U;o=V}else{Y=U;break}}c[8619]=Y;Ga=g;return 0}function Ak(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 Bk(a,b,c){a=a|0;b=b|0;c=c|0;return xk(a,b,c)|0}function Ck(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){f=0;return f|0}if((a[b+2>>0]|0)!=58){f=0;return f|0}if(a[b+3>>0]|0){f=0;return f|0}g=d[b+4>>0]<<8|d[b+5>>0];To(c,0,e);if((g|0)>(e|0)){f=1;return f|0}h=c+g|0;if(!g)i=c;else{g=b+8|0;j=c;while(1){k=a[g>>0]|0;l=k&255;m=g+1|0;if((k&255)<60){n=k<<24>>24==0;a[j>>0]=a[(n?m:55780+l|0)>>0]|0;o=n?g+2|0:m;p=1}else{n=d[m>>0]|0;m=(n>>>4)+2|0;ju(j|0,j+(0-(n&15|(l<<4)+-960))|0,m|0)|0;o=g+2|0;p=m}m=j+p|0;if(m>>>0>>0){g=o;j=m}else{i=m;break}}}j=rt(c,55841)|0;if((j|0)!=0?(o=ss(c)|0,(c-j+o|0)==56):0){j=c+o+-56|0;a[j>>0]=0;q=j}else q=i;i=rt(c,55898)|0;if(i){j=ss(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}f=r-s|0;return f|0}case 0:{if((a[b+1>>0]|0)!=112){f=0;return f|0}if((a[b+2>>0]|0)!=120){f=0;return f|0}if((a[b+3>>0]|0)!=97){f=0;return f|0}zk(b,c,e)|0;f=0;return f|0}default:{f=0;return f|0}}return 0}function Dk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=1;while(1){f=1<>>0<9&(f|0)<(b|0))e=e+1|0;else break}if((f|0)!=(b|0)){g=0;return g|0}f=hr(16)|0;if(!f){g=0;return g|0}e=jr(b,3)|0;c[f+12>>2]=e;if(!e){ir(f);g=0;return g|0}c[f>>2]=b;h=1;while(1)if(h>>>0<9&(1<>2]=h;a[f+8>>0]=0;if(!d){g=f;return g|0}ju(e|0,d|0,b*3|0)|0;g=f;return g|0}function Ek(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Ga;Ga=Ga+16|0;f=e;c[f>>2]=384;g=Ks(a,b?193:577,f)|0;if((g|0)==-1)if(!d)h=0;else{c[d>>2]=1;h=0}else{f=Fk(g,d)|0;if(!f){Js(g)|0;h=0}else h=f}Ga=e;return h|0}function Fk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=hr(76)|0;if(!d){e=0;return e|0}f=d;g=f+76|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));f=hr(24908)|0;if(!f){ir(d);if(!b){e=0;return e|0}c[b>>2]=7;e=0;return e|0}g=hr(32768)|0;if(g|0){ku(g|0,-1,32768)|0;c[f+24900>>2]=g;g=Ys(a,66796)|0;c[d+72>>2]=f;c[f+4>>2]=a;c[f+56>>2]=g;c[f>>2]=1;c[f+64>>2]=0;c[d+68>>2]=0;c[d+64>>2]=0;e=d;return e|0}c[f+24900>>2]=0;ir(d);ir(f);if(!b){e=0;return e|0}c[b>>2]=7;e=0;return e|0}function Gk(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?55972:55979;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?55972:55979;return o|0}function Hk(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=Ga;Ga=Ga+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;Ga=i;return o|0}if(!(n&1)){c[b+64>>2]=10;o=0;Ga=i;return o|0}n=Gk(b)|0;p=ss(n)|0;q=c[l>>2]|0;r=c[q+64>>2]|0;if(!r)s=xt(n,1,p,c[q+56>>2]|0)|0;else s=La[r&7](b,n,p)|0;if((s|0)!=(ss(n)|0)){c[b+64>>2]=2;o=0;Ga=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;a:do if(n){s=c[h>>2]|0;p=c[h+12>>2]|0;r=1;while(1){t=1<>>0<9&(t|0)<(s|0))r=r+1|0;else break}do if((t|0)==(s|0)?(r=hr(16)|0,r|0):0){q=jr(s,3)|0;c[r+12>>2]=q;if(!q){ir(r);break}c[r>>2]=s;u=1;while(1)if(u>>>0<9&(1<>2]=u;a[r+8>>0]=0;if(p|0)ju(q|0,p|0,s*3|0)|0;c[b+20>>2]=r;break a}while(0);c[b+20>>2]=0;c[b+64>>2]=7;o=0;Ga=i;return o|0}else c[b+20>>2]=0;while(0);a[j>>0]=d;t=j+1|0;a[t>>0]=d>>>8;d=c[l>>2]|0;s=c[d+64>>2]|0;if(!s)xt(j,1,2,c[d+56>>2]|0)|0;else La[s&7](b,j,2)|0;a[j>>0]=e;a[t>>0]=e>>>8;e=c[l>>2]|0;t=c[e+64>>2]|0;if(!t)xt(j,1,2,c[e+56>>2]|0)|0;else La[t&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){v=f|8;w=34}}else{v=j|7;w=34}if((w|0)==34)a[k>>0]=v;v=k+1|0;a[v>>0]=g;g=k+2|0;a[g>>0]=a[b+16>>0]|0;w=c[l>>2]|0;j=c[w+64>>2]|0;if(!j)xt(k,1,3,c[w+56>>2]|0)|0;else La[j&7](b,k,3)|0;b:do if(n?(c[h>>2]|0)>0:0){j=h+12|0;w=0;while(1){f=c[j>>2]|0;a[k>>0]=a[f+(w*3|0)>>0]|0;a[v>>0]=a[f+(w*3|0)+1>>0]|0;a[g>>0]=a[f+(w*3|0)+2>>0]|0;f=c[l>>2]|0;t=c[f+64>>2]|0;if(!t)x=xt(k,1,3,c[f+56>>2]|0)|0;else x=La[t&7](b,k,3)|0;w=w+1|0;if((x|0)!=3)break;if((w|0)>=(c[h>>2]|0))break b}c[b+64>>2]=2;o=0;Ga=i;return o|0}while(0);c[m>>2]=c[m>>2]|2;o=1;Ga=i;return o|0}function Ik(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;j=Ga;Ga=Ga+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;Ga=j;return q|0}if(!(p&1)){c[b+64>>2]=10;q=0;Ga=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;a:do if(m){r=c[p>>2]|0;if(r|0){ir(c[r+12>>2]|0);ir(r);c[p>>2]=0}r=c[i>>2]|0;s=c[i+12>>2]|0;t=1;while(1){u=1<>>0<9&(u|0)<(r|0))t=t+1|0;else break}do if((u|0)==(r|0)?(t=hr(16)|0,t|0):0){v=jr(r,3)|0;c[t+12>>2]=v;if(!v){ir(t);break}c[t>>2]=r;w=1;while(1)if(w>>>0<9&(1<>2]=w;a[t+8>>0]=0;if(!s){x=t;break a}ju(v|0,s|0,r*3|0)|0;x=t;break a}while(0);c[p>>2]=0;c[b+64>>2]=7;q=0;Ga=j;return q|0}else x=0;while(0);c[p>>2]=x;a[l>>0]=44;x=c[n>>2]|0;u=c[x+64>>2]|0;if(!u)Ct(44,c[x+56>>2]|0)|0;else La[u&7](b,l,1)|0;a[k>>0]=d;u=k+1|0;a[u>>0]=d>>>8;d=c[n>>2]|0;x=c[d+64>>2]|0;if(!x)xt(k,1,2,c[d+56>>2]|0)|0;else La[x&7](b,k,2)|0;a[k>>0]=e;a[u>>0]=e>>>8;e=c[n>>2]|0;x=c[e+64>>2]|0;if(!x)xt(k,1,2,c[e+56>>2]|0)|0;else La[x&7](b,k,2)|0;a[k>>0]=f;a[u>>0]=f>>>8;x=c[n>>2]|0;e=c[x+64>>2]|0;if(!e)xt(k,1,2,c[x+56>>2]|0)|0;else La[e&7](b,k,2)|0;a[k>>0]=g;a[u>>0]=g>>>8;u=c[n>>2]|0;e=c[u+64>>2]|0;if(!e)xt(k,1,2,c[u+56>>2]|0)|0;else La[e&7](b,k,2)|0;e=(m?128:0)|(h?64:0);b:do if(m){h=(c[i+4>>2]|0)+255|e;a[l>>0]=h;u=c[n>>2]|0;x=c[u+64>>2]|0;if(!x)Ct(h<<24>>24,c[u+56>>2]|0)|0;else La[x&7](b,l,1)|0;if((c[i>>2]|0)>0){x=i+12|0;u=l+1|0;h=l+2|0;d=0;while(1){r=c[x>>2]|0;a[l>>0]=a[r+(d*3|0)>>0]|0;a[u>>0]=a[r+(d*3|0)+1>>0]|0;a[h>>0]=a[r+(d*3|0)+2>>0]|0;r=c[n>>2]|0;s=c[r+64>>2]|0;if(!s)y=xt(l,1,3,c[r+56>>2]|0)|0;else y=La[s&7](b,l,3)|0;d=d+1|0;if((y|0)!=3)break;if((d|0)>=(c[i>>2]|0))break b}c[b+64>>2]=2;q=0;Ga=j;return q|0}}else{a[l>>0]=e;d=c[n>>2]|0;h=c[d+64>>2]|0;if(!h){Ct(e<<24>>24,c[d+56>>2]|0)|0;break}else{La[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;Ga=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)Ct(e<<24>>24,c[f+56>>2]|0)|0;else La[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;ku(c[f+24900>>2]|0,-1,32768)|0;if(!(Jk(b,c[n>>2]|0)|0))c[b+64>>2]=8;q=1;Ga=j;return q|0}function Jk(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=xt(j,1,256,c[p+56>>2]|0)|0;else r=La[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=xt(j,1,n,c[m+56>>2]|0)|0;else w=La[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=xt(j,1,1,c[n+56>>2]|0)|0;else y=La[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=xt(m,1,256,c[p+56>>2]|0)|0;else A=La[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(!(Jk(a,q)|0)){y=11;break b}w=c[i>>2]|0;if((w|0)>4094){if(!(Jk(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(!(Jk(a,F)|0)){c[a+64>>2]=8;G=0;return G|0}if(!(Jk(a,c[f+16>>2]|0)|0)){c[a+64>>2]=8;G=0;return G|0}if(Jk(a,4096)|0){G=1;return G|0}c[a+64>>2]=8;G=0;return G|0}function Lk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Ga;Ga=Ga+16|0;f=e;if(!b){g=0;Ga=e;return g|0}h=c[b+72>>2]|0;if(!h){g=0;Ga=e;return g|0}if(!(c[h>>2]&1)){if(d|0)c[d>>2]=10;ir(b);g=0;Ga=e;return g|0}i=c[h+56>>2]|0;a[f>>0]=59;j=c[h+64>>2]|0;if(!j)Ct(59,i)|0;else La[j&7](b,f,1)|0;f=b+48|0;j=c[f>>2]|0;if(j|0){ir(c[j+12>>2]|0);ir(j);c[f>>2]=0}f=b+20|0;j=c[f>>2]|0;if(j|0){ir(c[j+12>>2]|0);ir(j);c[f>>2]=0}f=c[h+24900>>2]|0;if(f|0)ir(f);ir(h);if(i|0?at(i)|0:0){if(d|0)c[d>>2]=9;ir(b);g=0;Ga=e;return g|0}ir(b);if(!d){g=1;Ga=e;return g|0}c[d>>2]=0;g=1;Ga=e;return g|0}function Mk(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=Ga;Ga=Ga+16|0;e=d;if(!(Hk(b,c[b>>2]|0,c[b+4>>2]|0,c[b+8>>2]|0,c[b+12>>2]|0,c[b+20>>2]|0)|0)){f=0;Ga=d;return f|0}g=b+24|0;a:do if((c[g>>2]|0)>0){h=b+52|0;i=b+72|0;j=e+1|0;k=b+36|0;l=0;b:while(1){m=c[h>>2]|0;n=c[m+(l*36|0)+12>>2]|0;o=c[m+(l*36|0)+8>>2]|0;p=m+(l*36|0)+24|0;c:do if(c[p>>2]|0){q=c[m+(l*36|0)+32>>2]|0;r=c[m+(l*36|0)+28>>2]|0;if((q|0)!=0&(r|0)>0){s=r+-1|0;t=0;do{u=q+(t*12|0)|0;v=c[q+(t*12|0)+8>>2]|0;if(v|0){w=c[i>>2]|0;if(!(c[w>>2]&1)){x=13;break b}a[e>>0]=33;a[j>>0]=v;v=c[w+64>>2]|0;if(!v)xt(e,1,2,c[w+56>>2]|0)|0;else La[v&7](b,e,2)|0}v=c[u>>2]|0;w=c[q+(t*12|0)+4>>2]|0;y=c[i>>2]|0;if(!(c[y>>2]&1)){x=21;break b}a[e>>0]=v;z=c[y+64>>2]|0;if(!z)Ct(v<<24>>24,c[y+56>>2]|0)|0;else La[z&7](b,e,1)|0;z=c[i>>2]|0;y=c[z+64>>2]|0;if(!y)xt(w,1,v,c[z+56>>2]|0)|0;else La[y&7](b,w,v)|0;if(!((t|0)!=(s|0)?!(c[u+12+8>>2]|0):0)){u=c[i>>2]|0;if(!(c[u>>2]&1)){x=29;break b}a[e>>0]=0;v=c[u+64>>2]|0;if(!v)Ct(0,c[u+56>>2]|0)|0;else La[v&7](b,e,1)|0}t=t+1|0}while((t|0)<(r|0))}r=m+(l*36|0)+16|0;if(!(Ik(b,c[m+(l*36|0)>>2]|0,c[m+(l*36|0)+4>>2]|0,o,n,(a[r>>0]|0)!=0,c[m+(l*36|0)+20>>2]|0)|0)){f=0;x=105;break b}if(!(a[r>>0]|0)){if((n|0)<=0)break;if(!o){r=0;while(1){t=c[p>>2]|0;s=c[i>>2]|0;if(!(c[s>>2]&1)){x=70;break b}q=c[k>>2]|0;v=s+52|0;u=c[v>>2]|0;if(u>>>0>>0){x=72;break b}c[v>>2]=u-q;u=a[55986+(c[s+8>>2]|0)>>0]|0;if((q|0)>0){s=0;do{v=t+s|0;a[v>>0]=a[v>>0]&u;s=s+1|0}while((s|0)!=(q|0))}r=r+1|0;if(!(Kk(b,t,q)|0)){f=0;x=105;break b}if((r|0)>=(n|0))break c}}else{r=(o|0)>0;s=0;while(1){u=(c[p>>2]|0)+(B(s,o)|0)|0;v=c[i>>2]|0;if(!(c[v>>2]&1)){x=70;break b}w=v+52|0;y=c[w>>2]|0;if(y>>>0>>0){x=72;break b}c[w>>2]=y-o;y=a[55986+(c[v+8>>2]|0)>>0]|0;if(r){v=0;do{w=u+v|0;a[w>>0]=a[w>>0]&y;v=v+1|0}while((v|0)!=(o|0))}s=s+1|0;if(!(Kk(b,u,o)|0)){f=0;x=105;break b}if((s|0)>=(n|0))break c}}}s=(n|0)>0;if(!o){if(!s)break;r=0;do{v=c[p>>2]|0;y=c[i>>2]|0;if(!(c[y>>2]&1)){x=48;break b}q=c[k>>2]|0;t=y+52|0;w=c[t>>2]|0;if(w>>>0>>0){x=50;break b}c[t>>2]=w-q;w=a[55986+(c[y+8>>2]|0)>>0]|0;if((q|0)>0){y=0;do{t=v+y|0;a[t>>0]=a[t>>0]&w;y=y+1|0}while((y|0)!=(q|0))}if(!(Kk(b,v,q)|0)){f=0;x=105;break b}r=r+8|0}while((r|0)<(n|0));if((n|0)>4){r=4;do{y=c[p>>2]|0;w=c[i>>2]|0;if(!(c[w>>2]&1)){x=48;break b}u=c[k>>2]|0;t=w+52|0;z=c[t>>2]|0;if(z>>>0>>0){x=50;break b}c[t>>2]=z-u;z=a[55986+(c[w+8>>2]|0)>>0]|0;if((u|0)>0){w=0;do{t=y+w|0;a[t>>0]=a[t>>0]&z;w=w+1|0}while((w|0)!=(u|0))}if(!(Kk(b,y,u)|0)){f=0;x=105;break b}r=r+8|0}while((r|0)<(n|0))}if((n|0)>2){r=2;do{w=c[p>>2]|0;z=c[i>>2]|0;if(!(c[z>>2]&1)){x=48;break b}q=c[k>>2]|0;v=z+52|0;t=c[v>>2]|0;if(t>>>0>>0){x=50;break b}c[v>>2]=t-q;t=a[55986+(c[z+8>>2]|0)>>0]|0;if((q|0)>0){z=0;do{v=w+z|0;a[v>>0]=a[v>>0]&t;z=z+1|0}while((z|0)!=(q|0))}if(!(Kk(b,w,q)|0)){f=0;x=105;break b}r=r+4|0}while((r|0)<(n|0))}if((n|0)<=1)break;r=1;do{z=c[p>>2]|0;t=c[i>>2]|0;if(!(c[t>>2]&1)){x=48;break b}u=c[k>>2]|0;y=t+52|0;v=c[y>>2]|0;if(v>>>0>>0){x=50;break b}c[y>>2]=v-u;v=a[55986+(c[t+8>>2]|0)>>0]|0;if((u|0)>0){t=0;do{y=z+t|0;a[y>>0]=a[y>>0]&v;t=t+1|0}while((t|0)!=(u|0))}if(!(Kk(b,z,u)|0)){f=0;x=105;break b}r=r+2|0}while((r|0)<(n|0))}else{if(!s)break;r=(o|0)>0;t=0;do{v=(c[p>>2]|0)+(B(t,o)|0)|0;q=c[i>>2]|0;if(!(c[q>>2]&1)){x=48;break b}w=q+52|0;y=c[w>>2]|0;if(y>>>0>>0){x=50;break b}c[w>>2]=y-o;y=a[55986+(c[q+8>>2]|0)>>0]|0;if(r){q=0;do{w=v+q|0;a[w>>0]=a[w>>0]&y;q=q+1|0}while((q|0)!=(o|0))}if(!(Kk(b,v,o)|0)){f=0;x=105;break b}t=t+8|0}while((t|0)<(n|0));if((n|0)>4){t=(o|0)>0;r=4;do{s=(c[p>>2]|0)+(B(r,o)|0)|0;q=c[i>>2]|0;if(!(c[q>>2]&1)){x=48;break b}y=q+52|0;u=c[y>>2]|0;if(u>>>0>>0){x=50;break b}c[y>>2]=u-o;u=a[55986+(c[q+8>>2]|0)>>0]|0;if(t){q=0;do{y=s+q|0;a[y>>0]=a[y>>0]&u;q=q+1|0}while((q|0)!=(o|0))}if(!(Kk(b,s,o)|0)){f=0;x=105;break b}r=r+8|0}while((r|0)<(n|0))}if((n|0)>2){r=(o|0)>0;t=2;do{q=(c[p>>2]|0)+(B(t,o)|0)|0;u=c[i>>2]|0;if(!(c[u>>2]&1)){x=48;break b}v=u+52|0;y=c[v>>2]|0;if(y>>>0>>0){x=50;break b}c[v>>2]=y-o;y=a[55986+(c[u+8>>2]|0)>>0]|0;if(r){u=0;do{v=q+u|0;a[v>>0]=a[v>>0]&y;u=u+1|0}while((u|0)!=(o|0))}if(!(Kk(b,q,o)|0)){f=0;x=105;break b}t=t+4|0}while((t|0)<(n|0))}if((n|0)<=1)break;t=(o|0)>0;r=1;do{u=(c[p>>2]|0)+(B(r,o)|0)|0;y=c[i>>2]|0;if(!(c[y>>2]&1)){x=48;break b}s=y+52|0;v=c[s>>2]|0;if(v>>>0>>0){x=50;break b}c[s>>2]=v-o;v=a[55986+(c[y+8>>2]|0)>>0]|0;if(t){y=0;do{s=u+y|0;a[s>>0]=a[s>>0]&v;y=y+1|0}while((y|0)!=(o|0))}if(!(Kk(b,u,o)|0)){f=0;x=105;break b}r=r+2|0}while((r|0)<(n|0))}}while(0);l=l+1|0;if((l|0)>=(c[g>>2]|0))break a}if((x|0)==13){c[b+64>>2]=10;f=0;Ga=d;return f|0}else if((x|0)==21){c[b+64>>2]=10;f=0;Ga=d;return f|0}else if((x|0)==29){c[b+64>>2]=10;f=0;Ga=d;return f|0}else if((x|0)==48){c[b+64>>2]=10;f=0;Ga=d;return f|0}else if((x|0)==50){c[b+64>>2]=6;f=0;Ga=d;return f|0}else if((x|0)==70){c[b+64>>2]=10;f=0;Ga=d;return f|0}else if((x|0)==72){c[b+64>>2]=6;f=0;Ga=d;return f|0}else if((x|0)==105){Ga=d;return f|0}}while(0);g=c[b+60>>2]|0;l=c[b+56>>2]|0;d:do if((g|0)!=0&(l|0)>0){i=l+-1|0;k=b+72|0;j=e+1|0;h=0;while(1){n=g+(h*12|0)|0;o=c[g+(h*12|0)+8>>2]|0;if(o|0){p=c[k>>2]|0;if(!(c[p>>2]&1)){x=86;break}a[e>>0]=33;a[j>>0]=o;o=c[p+64>>2]|0;if(!o)xt(e,1,2,c[p+56>>2]|0)|0;else La[o&7](b,e,2)|0}o=c[n>>2]|0;p=c[g+(h*12|0)+4>>2]|0;m=c[k>>2]|0;if(!(c[m>>2]&1)){x=94;break}a[e>>0]=o;r=c[m+64>>2]|0;if(!r)Ct(o<<24>>24,c[m+56>>2]|0)|0;else La[r&7](b,e,1)|0;r=c[k>>2]|0;m=c[r+64>>2]|0;if(!m)xt(p,1,o,c[r+56>>2]|0)|0;else La[m&7](b,p,o)|0;if(!((h|0)!=(i|0)?!(c[n+12+8>>2]|0):0)){n=c[k>>2]|0;if(!(c[n>>2]&1)){x=102;break}a[e>>0]=0;o=c[n+64>>2]|0;if(!o)Ct(0,c[n+56>>2]|0)|0;else La[o&7](b,e,1)|0}h=h+1|0;if((h|0)>=(l|0))break d}if((x|0)==86){c[b+64>>2]=10;f=0;Ga=d;return f|0}else if((x|0)==94){c[b+64>>2]=10;f=0;Ga=d;return f|0}else if((x|0)==102){c[b+64>>2]=10;f=0;Ga=d;return f|0}}while(0);f=(Lk(b,0)|0)!=0&1;Ga=d;return f|0}function Nk(a){a=a|0;var b=0;b=1;while(1)if(b>>>0<9&(1<>2]|0;if(!b)return;d=a+24|0;a=(c[d>>2]|0)+-1|0;c[d>>2]=a;d=b+(a*36|0)+20|0;e=c[d>>2]|0;if(e|0){ir(c[e+12>>2]|0);ir(e);c[d>>2]=0}d=c[b+(a*36|0)+24>>2]|0;if(d|0)ir(d);d=b+(a*36|0)+28|0;e=b+(a*36|0)+32|0;a=c[e>>2]|0;if(!a)return;if((c[d>>2]|0)>0){b=a;do{ir(c[b+4>>2]|0);b=b+12|0;f=c[e>>2]|0}while(b>>>0<(f+((c[d>>2]|0)*12|0)|0)>>>0);g=f}else g=a;ir(g);c[e>>2]=0;c[d>>2]=0;return}function Pk(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=b+52|0;f=c[e>>2]|0;if(!f)g=hr(36)|0;else g=kr(f,((c[b+24>>2]|0)*36|0)+36|0)|0;c[e>>2]=g;if(!g){h=0;return h|0}e=b+24|0;f=c[e>>2]|0;c[e>>2]=f+1;e=g+(f*36|0)|0;i=e;j=i+36|0;do{a[i>>0]=0;i=i+1|0}while((i|0)<(j|0));if(!d){h=e;return h|0}i=e;k=d;j=i+36|0;do{a[i>>0]=a[k>>0]|0;i=i+1|0;k=k+1|0}while((i|0)<(j|0));k=g+(f*36|0)+20|0;a:do if(c[k>>2]|0){i=c[d+20>>2]|0;j=c[i>>2]|0;l=c[i+12>>2]|0;i=1;while(1){m=1<>>0<9&(m|0)<(j|0))i=i+1|0;else break}do if((m|0)==(j|0)?(i=hr(16)|0,i|0):0){n=jr(j,3)|0;c[i+12>>2]=n;if(!n){ir(i);break}c[i>>2]=j;o=1;while(1)if(o>>>0<9&(1<>2]=o;a[i+8>>0]=0;if(l|0)ju(n|0,l|0,j*3|0)|0;c[k>>2]=i;break a}while(0);c[k>>2]=0;Ok(b);h=0;return h|0}while(0);k=B(c[d+8>>2]|0,c[d+12>>2]|0)|0;m=hr(k)|0;c[g+(f*36|0)+24>>2]=m;if(!m){Ok(b);h=0;return h|0}ju(m|0,c[d+24>>2]|0,k|0)|0;k=g+(f*36|0)+32|0;if(!(c[k>>2]|0)){h=e;return h|0}f=(c[d+28>>2]|0)*12|0;g=hr(f)|0;c[k>>2]=g;if(!g){Ok(b);h=0;return h|0}else{ju(g|0,c[d+32>>2]|0,f|0)|0;h=e;return h|0}return 0}function Qk(){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=Ga;Ga=Ga+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[749173]=0;ku(n|0,0,521)|0;if((c[731635]|0)!=1|(c[731641]|0)==0|(a[2921160]|0)==0){o=0;Ga=b;return o|0}if((ss(2921160)|0)>>>0>64){o=0;Ga=b;return o|0}c[l>>2]=2919016;c[l+4>>2]=2921160;Ir(m,55995,l)|0;l=ln(m,66796)|0;if(!l){o=1;Ga=b;return o|0}m=0;do{p=m*65|0;q=m<<3;r=n+(p+64)|0;c[k>>2]=c[2922184+(q<<2)>>2];Ir(n+p|0,56008,k)|0;a[r>>0]=10;c[j>>2]=c[2922184+((q|1)<<2)>>2];Ir(n+(p+8)|0,56008,j)|0;a[r>>0]=10;c[i>>2]=c[2922184+((q|2)<<2)>>2];Ir(n+(p+16)|0,56008,i)|0;a[r>>0]=10;c[h>>2]=c[2922184+((q|3)<<2)>>2];Ir(n+(p+24)|0,56008,h)|0;a[r>>0]=10;c[g>>2]=c[2922184+((q|4)<<2)>>2];Ir(n+(p+32)|0,56008,g)|0;a[r>>0]=10;c[f>>2]=c[2922184+((q|5)<<2)>>2];Ir(n+(p+40)|0,56008,f)|0;a[r>>0]=10;c[e>>2]=c[2922184+((q|6)<<2)>>2];Ir(n+(p+48)|0,56008,e)|0;a[r>>0]=10;c[d>>2]=c[2922184+((q|7)<<2)>>2];Ir(n+(p+56)|0,56008,d)|0;a[r>>0]=10;m=m+1|0}while((m|0)!=8);cn(n,1,520,l)|0;mn(l);o=0;Ga=b;return o|0}function Rk(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=Ga;Ga=Ga+2592|0;e=d+2584|0;f=d+2576|0;g=d+1552|0;h=d+528|0;i=d;if(!b){j=3;Ga=d;return j|0}if(!((c[731635]|0)==1&(c[731641]|0)!=0)){j=1;Ga=d;return j|0}if(a[2921160]|0){yb(56013);j=2;Ga=d;return j|0}k=a[b>>0]|0;if(k<<24>>24?(l=ss(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}yb(56070);j=2;Ga=d;return j|0}while(0);Zl(2921160,b)|0;ku(2922184,0,256)|0;c[f>>2]=2919016;c[f+4>>2]=2921160;Ir(g,55995,f)|0;f=ln(g,58775)|0;if(!f){j=1;Ga=d;return j|0}To(h,0,1024);an(h,1,1024,f)|0;mn(f);To(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]=2922184+(q<<2);gt(i+(q<<3)|0,56008,e)|0;q=q+1|0}while((q|0)!=64);j=0;Ga=d;return j|0}yb(56048);j=2;Ga=d;return j|0}function Sk(a){a=a|0;return}function Tk(){var a=0,b=0,d=0;c[514900]=0;c[514901]=0;a=1622348;b=1622284;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 Uk(){var a=0,b=0,d=0;if((c[514900]|0)>=13)return;a=1622284;b=1622348;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 Vk(a){a=a|0;var b=0,d=0,e=0;b=(a|0)==27;if(b&(c[514900]|0)<13){a=1622284;d=1622348;e=a+64|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(e|0));Wk(c[694267]|0)}if(b)c[749441]=0;if((c[514900]|0)<=12)return;c[749441]=0;c[731748]=120;return}function Wk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;d=Ga;Ga=Ga+16|0;e=d+8|0;f=d;nm(b,0,0,127,127,1);nm(b,4,41,123,124,6);nm(b,0,0,127,6,7);Ym(b,56093,c[694286]|0,6,1,1,12)|0;g=c[c[694285]>>2]|0;h=c[514900]|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;pm(i,b,0,0,6,8,c[i>>2]|0,c[i+4>>2]|0);i=c[694286]|0;if((c[514900]|0)>12){Ym(b,56111,i,60,12,1,11)|0;Ym(b,56125,c[694286]|0,60,22,1,12)|0;Ym(b,56138,c[694286]|0,60,29,1,12)|0}else{Ym(b,56150,i,60,12,1,6)|0;Ym(b,c[1728+(c[514900]<<2)>>2]|0,c[694286]|0,60,19,1,7)|0;Ym(b,56165,c[694286]|0,60,26,1,13)|0;Ym(b,56181,c[694286]|0,60,33,1,13)|0}i=0;h=44;while(1){g=c[1622284+(i<<2)>>2]|0;j=c[1728+(i<<2)>>2]|0;if(!g){k=c[1792+(i<<2)>>2]|0;c[f>>2]=j;c[f+4>>2]=k;Ir(1469616,56195,f)|0}else{k=(g|0)<255?g:255;g=fq((k|0)>0?k:0)|0;c[e>>2]=j;c[e+4>>2]=g;Ir(1469616,56195,e)|0}g=a[1469616]|0;if(g<<24>>24){j=1469616;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[514900]|0)){nm(b,7,h+-1|0,120,h+5|0,14);l=1}else l=5;Ym(b,1469616,c[694286]|0,10,h,1,l)|0;i=i+1|0;if((i|0)==13)break;else h=h+6|0}Ga=d;return}function Xk(){var a=0,b=0,d=0;if(!(c[514901]|0)){c[514901]=1;a=0;do{if(Nm(a)|0)c[514901]=0;a=a+1|0}while((a|0)!=512);if((c[514900]|0)<=12)return;c[514901]=0;return}a=0;do{if(Nm(a)|0){switch(a&2147483647|0){case 42:case 76:{b=0;break}default:b=a}d=c[514900]|0;c[1622284+(d<<2)>>2]=b;c[514901]=0;c[514900]=d+1;if((d|0)>11?Km()|0:0)do Lm()|0;while((Km()|0)!=0)}a=a+1|0}while((a|0)!=512);return}function Yk(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+((ss(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(qb(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 Zk(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=Ga;Ga=Ga+1056|0;b=a+1024|0;d=a;wq(57663,d);e=Ws(d,57661)|0;if(!e){Ga=a;return}d=c[357140]|0;if((d|0)>0){f=0;g=d;while(1){d=c[356873]|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;ot(e,56423,b)|0;i=c[357140]|0}else i=g;f=f+1|0;if((f|0)>=(i|0))break;else g=i}}at(e)|0;Ga=a;return}function _k(){var a=0,b=0;a=Ga;Ga=Ga+1024|0;b=a;wq(57663,b);$k(1427488,b);Ga=a;return}function $k(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=Ga;Ga=Ga+528|0;f=e+520|0;g=e+512|0;h=e;i=ln(d,66616)|0;if(!i){c[g>>2]=d;Ir(1465008,56462,g)|0;bm(1465008);Ga=e;return}a:do if(!(jn(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;nn(h,511,i)|0;do if((a[h>>0]|0)==124){Yo(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;ku(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;Zl(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;Zl(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;gt(r,58441,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;Zl(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;Zl(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;Zl(n+4|0,q)|0;al(n);r=bl(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=(rt(p,56418)|0)==0;u=s?177:180}else u=176;else u=c[n>>2]|0;c[n>>2]=u}while(0)}while(!(jn(i)|0))}while(0);mn(i);Ga=e;return}function al(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=(ss(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=(ss(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=(ss(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=(ss(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((ss(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=(ss(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(qb(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(!(is(c,59651)|0))a[c>>0]=0;if(is(d,59651)|0)return;a[d>>0]=0;return}function bl(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)?(is(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(!(is(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)?(is(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 cl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=Ga;Ga=Ga+2080|0;e=d+2064|0;f=d+2056|0;g=d+2048|0;h=d+1024|0;i=d;wq(56498,i);zq(i)|0;c[g>>2]=(a|0)/1e4|0;Ir(h,56502,g)|0;wq(h,i);zq(i)|0;if(!b){c[e>>2]=i;c[e+4>>2]=a;Ir(1445552,56524,e)|0;Ga=d;return 1445552}else{c[f>>2]=i;c[f+4>>2]=a;Ir(1445552,56510,f)|0;Ga=d;return 1445552}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;e=Ga;Ga=Ga+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[1445552]=0;Ga=e;return 1445552}c[j>>2]=0;l=ss(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;gt(b,58441,h)|0;cl(c[j>>2]|0,d)|0;Ga=e;return 1445552}wq(56498,i);zq(i)|0;wq(56536,i);zq(i)|0;if(!d){c[f>>2]=i;c[f+4>>2]=b;Ir(1445552,56561,f)|0;Ga=e;return 1445552}else{c[g>>2]=i;c[g+4>>2]=b;Ir(1445552,56546,g)|0;Ga=e;return 1445552}return 0}function el(a){a=a|0;dl(a,0)|0;return 1445552}function fl(a){a=a|0;dl(a,1)|0;return 1445552}function gl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Ga;Ga=Ga+16|0;f=e;if((ss(d)|0)>>>0<2){a[1446576]=0;Ga=e;return 1446576}else{g=c[405619]|0;c[f>>2]=b;c[f+4>>2]=g;c[f+8>>2]=d;Ir(1446576,56574,f)|0;Ga=e;return 1446576}return 0}function hl(a,b){a=a|0;b=b|0;return (bl(1427488,a,b)|0)!=-1|0}function il(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(!(rt(b,56418)|0)){e=Oq(b)|0;if(!e){d=0;return d|0}f=e+44316|0;if(!(c[f>>2]|0)){d=0;return d|0}e=qm(128,128,8)|0;ao(c[f>>2]|0,e,0,0,0,0,128,128);d=e;return d|0}e=vn(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=qm(128,128,32)|0;f=qm(128,128,8)|0;ao(e,b,16,24,0,0,128,128);Pj(b,f,c[694248]|0);rm(e)|0;rm(b)|0;d=f;return d|0}function jl(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=Ga;Ga=Ga+16|0;e=d;c[514902]=b;c[514903]=0;if((b|0)==1){Zl(1445012,56640)|0;f=c[514903]|0;c[1445008+(f*68|0)>>2]=1;g=f+1|0;c[514903]=g;Zl(1445008+(g*68|0)+4|0,56649)|0;g=c[514903]|0;c[1445008+(g*68|0)>>2]=5;f=g+1|0;c[514903]=f;g=1445008+(f*68|0)+4|0;if(1==1)Zl(g,56657)|0;else Zl(g,56680)|0;g=c[514903]|0;c[1445008+(g*68|0)>>2]=3;f=g+1|0;c[514903]=f;g=1427488;h=c[357141]|0;do if((h|0)>=0?(c[357140]|0)>(h|0):0)if((c[(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)+684>>2]|0)==1){if((c[357140]|0)<=(h|0)){ku(2060308,0,692)|0;i=f;break}if(a[(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)+388>>0]|0){if((c[357140]|0)>(h|0))j=(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)|0;else{ku(2060308,0,692)|0;j=2060308}c[e>>2]=j+132;Ir(1469616,56690,e)|0;Zl(1445008+((c[514903]|0)*68|0)+4|0,1469616)|0;k=c[514903]|0;c[1445008+(k*68|0)>>2]=19;l=k+1|0;c[514903]=l;Zl(1445008+(l*68|0)+4|0,56703)|0;l=c[514903]|0;c[1445008+(l*68|0)>>2]=20;k=l+1|0;c[514903]=k;Zl(1445008+(k*68|0)+4|0,56717)|0;k=c[514903]|0;c[1445008+(k*68|0)>>2]=21;l=k+1|0;c[514903]=l;Zl(1445008+(l*68|0)+4|0,56735)|0;l=c[514903]|0;c[1445008+(l*68|0)>>2]=18;k=l+1|0;c[514903]=k;i=k}else i=f}else i=f;else m=7;while(0);if((m|0)==7){ku(2060308,0,692)|0;i=f}Zl(1445008+(i*68|0)+4|0,56758)|0;i=c[514903]|0;c[1445008+(i*68|0)>>2]=6;f=i+1|0;c[514903]=f;n=c[514902]|0;o=f}else{n=b;o=0}if((n|0)==4){Zl(1445008+(o*68|0)+4|0,56765)|0;b=c[514903]|0;c[1445008+(b*68|0)>>2]=16;f=b+1|0;c[514903]=f;Zl(1445008+(f*68|0)+4|0,56775)|0;f=c[514903]|0;c[1445008+(f*68|0)>>2]=17;b=f+1|0;c[514903]=b;Zl(1445008+(b*68|0)+4|0,56787)|0;b=c[514903]|0;c[1445008+(b*68|0)>>2]=18;f=b+1|0;c[514903]=f;Zl(1445008+(f*68|0)+4|0,56803)|0;f=c[514903]|0;c[1445008+(f*68|0)>>2]=6;b=f+1|0;c[514903]=b;p=c[514902]|0;q=b}else{p=n;q=o}if((p|0)!=5){Ga=d;return}Zl(1445008+(q*68|0)+4|0,56808)|0;q=c[514903]|0;c[1445008+(q*68|0)>>2]=32;p=q+1|0;c[514903]=p;Zl(1445008+(p*68|0)+4|0,56815)|0;p=c[514903]|0;c[1445008+(p*68|0)>>2]=33;q=p+1|0;c[514903]=q;Zl(1445008+(q*68|0)+4|0,56826)|0;q=c[514903]|0;c[1445008+(q*68|0)>>2]=34;p=q+1|0;c[514903]=p;Zl(1445008+(p*68|0)+4|0,56803)|0;p=c[514903]|0;c[1445008+(p*68|0)>>2]=6;c[514903]=p+1;Ga=d;return}function kl(){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=Ga;Ga=Ga+2064|0;d=b+2048|0;e=b+1024|0;f=b;g=1427488;h=c[357141]|0;do if((h|0)<0)ku(2060308,0,692)|0;else{if((c[357140]|0)<=(h|0)){ku(2060308,0,692)|0;break}if(!((c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)|0)){Ga=b;return}if((c[(c[(c[g>>2]|0)+12>>2]|0)+(h*692|0)+684>>2]|0)!=1){Ga=b;return}if((c[357140]|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{ku(2060308,0,692)|0;i=2060308;j=2060696}k=ol(j,i+260|0)|0;if(k|0){l=c[357141]|0;if((l|0)>=0?(c[357140]|0)>(l|0):0)m=(c[(c[356872]|0)+12>>2]|0)+(l*692|0)|0;else{ku(2060308,0,692)|0;m=2060308}ju(k|0,m|0,692)|0;l=k+648|0;c[l>>2]=qm(128,128,8)|0;n=1427488;o=c[357141]|0;if((o|0)>=0?(c[357140]|0)>(o|0):0){if(c[(c[(c[n>>2]|0)+12>>2]|0)+(o*692|0)+648>>2]|0){if((c[357140]|0)>(o|0))p=c[(c[(c[n>>2]|0)+12>>2]|0)+(o*692|0)+648>>2]|0;else{ku(2060308,0,692)|0;p=0}ao(p,c[l>>2]|0,0,0,0,0,128,128)}}else ku(2060308,0,692)|0;o=k+388|0;if(a[o>>0]|0?(wq(56619,e),c[d>>2]=e,c[d+4>>2]=o,Ir(f,56631,d)|0,(_p(f)|0)==0):0)wn(f,c[l>>2]|0)|0;pl(k)}k=1428564;l=c[k>>2]|0;o=1428560;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=1427492;r=0;do{k=c[n>>2]|0;q=k+(r*692|0)+688|0;c[q>>2]=0;c[q>>2]=(bl(1427488,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))}Zk();Ga=b;return}while(0);ku(2060308,0,692)|0;Ga=b;return}function ll(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=Ga;Ga=Ga+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;Ir(l,56887,i)|0;wq(l,k);c[h>>2]=b;Ir(l,56907,h)|0;wq(l,1624812)}else{c[j>>2]=b;Ir(l,56865,j)|0;wq(l,k);a[1624812]=0}l=c[405618]|0;c[g>>2]=e;c[g+4>>2]=d;c[g+8>>2]=56991;c[g+12>>2]=101;c[g+16>>2]=l;Ir(m,56922,g)|0;if(c[405622]|0){Ga=f;return}Zl(1622764,m)|0;Zl(1623788,k)|0;c[405622]=1;c[405623]=oq()|0;c[405624]=0;Cq(1622764,1623788,2,3)|0;Ga=f;return}function ml(a){a=a|0;var b=0;if(!(c[405622]|0))return;if(_p(1623788)|0)if(rt(1623788,56418)|0){a=vn(1623788)|0;if(!a)b=3;else{rm(a)|0;b=2}}else b=2;else b=3;c[405622]=b;return}function nl(a){a=a|0;if(!(c[405622]|0))return;c[405622]=3;return}function ol(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=bl(1427488,b,d)|0;if((e|0)!=-1){rm(c[(c[356873]|0)+(e*692|0)+648>>2]|0)|0;f=(c[357140]|0)+-1|0;g=c[356873]|0;if((e|0)<(f|0)){h=e;e=g;while(1){i=h;h=h+1|0;ju(e+(i*692|0)|0,e+(h*692|0)|0,692)|0;i=(c[357140]|0)+-1|0;j=c[356873]|0;if((h|0)>=(i|0)){k=j;l=i;break}else e=j}}else{k=g;l=f}ku(k+(l*692|0)|0,0,692)|0;c[357140]=(c[357140]|0)+-1;m=0;return m|0}Yo(c[356872]|0,((c[357140]|0)*692|0)+692|0)|0;l=c[(c[356872]|0)+12>>2]|0;c[356873]=l;k=c[357140]|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;ju(f+(k*692|0)|0,f+(l*692|0)|0,692)|0;if((l|0)>(n|0)){f=l;do{l=c[356873]|0;e=f;f=f+-1|0;ju(l+(e*692|0)|0,l+(f*692|0)|0,692)|0}while((f|0)>(n|0))}o=c[357140]|0;p=c[(c[356872]|0)+12>>2]|0}else{o=k;p=g}c[357140]=o+1;o=p+(n*692|0)|0;ku(o|0,0,692)|0;c[o+684>>2]=1;Zl(o+388|0,b)|0;if(!d){m=o;return m|0}Zl(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}sn(d,0,b,0);d=ss(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 pl(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=Ga;Ga=Ga+1024|0;f=e;ku(f|0,0,1024)|0;g=c[b+648>>2]|0;if(!g){Ga=e;return}h=b+652|0;if(a[h>>0]|0){Ga=e;return}i=b+653|0;if(a[i>>0]|0){Ga=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;i=f+4|0;h=f+8|0;j=f+12|0;g=f+16|0;k=f+20|0;l=f+24|0;m=f+28|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[h>>2]|0)<(c[f+(x<<2)>>2]|0)?2:x;x=(c[j>>2]|0)<(c[f+(y<<2)>>2]|0)?3:y;y=(c[g>>2]|0)<(c[f+(x<<2)>>2]|0)?4:x;x=(c[k>>2]|0)<(c[f+(y<<2)>>2]|0)?5:y;y=(c[l>>2]|0)<(c[f+(x<<2)>>2]|0)?6:x;x=(c[m>>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);Ga=e;return}function ql(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=Ga;Ga=Ga+1856|0;f=e+1032|0;g=e+1024|0;h=e+1040|0;i=e;c[b+1080>>2]=0;if(ss(2917992)|0){j=b+1072|0;Yo(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;ku(j+4|0,0,688)|0;c[j>>2]=185;a[j+388>>0]=0;Zl(j+4|0,59123)|0;c[j+648>>2]=0;c[j+684>>2]=2}c[g>>2]=2916968;c[g+4>>2]=d;Ir(i,66470,g)|0;if(!(Xp(i,57015,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((rt(g,57017)|0)==0?(c[d>>2]&16384|0)==0:0)break;Yo(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;ku(n|0,0,692)|0;c[f>>2]=2917992;c[f+4>>2]=g;Ir(i,66470,f)|0;m=n+260|0;At(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;Zl(p,g)|0;c[k>>2]=2;o=p}if(((a[o>>0]|0)==0?(sn(m,0,o,0),m=ss(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(!(Yp(h)|0));q=j;r=l}else{q=b+1072|0;r=b+4|0}ts(c[r>>2]|0,c[q>>2]|0,692,2);if((b|0)==1427488){Ga=e;return}if((c[q>>2]|0)<=0){Ga=e;return}b=0;do{l=c[r>>2]|0;j=l+(b*692|0)+688|0;c[j>>2]=0;c[j>>2]=(bl(1427488,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));Ga=e;return}function rl(b){b=b|0;var d=0,e=0,f=0;d=Ga;Ga=Ga+16|0;e=d;if(b|0?(ss(b)|0)>>>0>=2:0){if((ss(b)|0)>>>0<2)a[1446576]=0;else{f=c[405619]|0;c[e>>2]=2998896;c[e+4>>2]=f;c[e+8>>2]=b;Ir(1446576,56574,e)|0}dl(b,0)|0;if(c[405622]|0){Ga=d;return}Zl(1622764,1446576)|0;Zl(1623788,1445552)|0;c[405622]=1;c[405623]=oq()|0;c[405624]=0;Cq(1622764,1623788,2,3)|0;Ga=d;return}c[405622]=0;bb(56999,1500);c[731643]=0;Ga=d;return}function sl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=is(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 tl(){return}function ul(a,b,d){a=a|0;b=b|0;d=d|0;if(c[405622]|0)return;Zl(1622764,a)|0;Zl(1623788,b)|0;c[405622]=1;c[405623]=oq()|0;c[405624]=d;Cq(1622764,1623788,2,3)|0;return}function vl(a){a=a|0;c[405622]=0;if(a|0)bb(a,1500);c[731643]=0;return}function wl(){return 101}function xl(){var b=0,d=0,e=0;if(!((a[2923468]|0)!=0&(c[731641]|0)!=0|(c[405561]|0)!=0)){b=0;return b|0}d=ho(1623788)|0;if(!d){b=0;return b|0}dl(go(d,57021,0)|0,0)|0;e=(ss(go(d,57021,0)|0)|0)>>>0<2;fo(d);if(e|(c[749441]|0)==0){b=0;return b|0}if(ig()|0){b=0;return b|0}if(!(is(1445552,2920048)|0)){b=0;return b|0}c[406463]=1;b=1;return b|0}function yl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Ga;Ga=Ga+16|0;e=d;if(!((a|0)!=0&(b|0)!=0)){Ga=d;return}ku(a|0,0,692)|0;Zl(a+4|0,go(b,57025,0)|0)|0;Zl(a+132|0,go(b,57031,0)|0)|0;Zl(a+388|0,go(b,57021,0)|0)|0;Zl(a+516|0,go(b,57038,0)|0)|0;f=a+644|0;c[f>>2]=0;g=go(b,57042,0)|0;c[e>>2]=f;gt(g,58441,e)|0;c[a+684>>2]=1;al(a);Ga=d;return}function zl(){return c[357146]|0}function Al(b){b=b|0;var d=0,e=0,f=0;d=1428588+(c[357163]|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[57049+((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 Bl(){oq()|0;return}function Cl(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=Ga;Ga=Ga+16|0;e=d+8|0;f=d;g=c[357146]|0;if(!g){a:do if((b|0)==27){if((c[405622]|0)>0){c[405622]=0;bb(57097,1500);c[731643]=0;h=62;break}if(c[405558]|0){i=(c[515250]|0)==0&1;c[515250]=i;j=i;break}i=c[514902]|0;switch(i|0){case 0:{c[749441]=0;wg();h=62;break a;break}case 1:{c[514902]=0;h=62;break a;break}default:{if((i|1|0)==5){c[514902]=1;k=1}else k=i;jl(k);h=62;break a}}}else h=62;while(0);if((h|0)==62)j=c[515250]|0;if(j|0){Ga=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(!($j(9)|0)){kl();oq()|0;h=68}else h=68;while(0);if(((h|0)==68?(Nm(76)|0)==3:0)?($j(76)|0)==0&1==1:0)h=71;if((h|0)==71){kl();oq()|0}if(Nm(75)|0?($j(75)|0)==0:0){j=1428564;k=(c[j>>2]|0)+-6|0;i=c[357140]|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(Nm(78)|0?($j(78)|0)==0:0){i=1428564;j=(c[i>>2]|0)+6|0;l=c[357140]|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(Nm(74)|0?($j(74)|0)==0:0)c[357141]=0;if(!(Nm(77)|0)){Ga=d;return}if($j(77)|0){Ga=d;return}l=c[357140]|0;i=l+-1|0;k=(l|0)<1?0:i;l=(i|0)<(k|0)?i:k;c[357141]=(l|0)>0?l:0;Ga=d;return}l=ss(1428588)|0;do if((g|0)==1){if((Nm(82)|0)!=3?(Nm(81)|0)!=3:0){if((c[357146]|0)!=1)break;if(!((b|0)==13|(qb(b)|0)!=0))break;c[357146]=2;break}c[357146]=3}while(0);g=(b|0)==-1;if(g){if((Nm(80)|0)==3){k=ss(1428588)|0;i=1428652;j=(c[i>>2]|0)+-1|0;m=(j|0)<(k|0)?j:k;c[i>>2]=(m|0)>0?m:0}if((Nm(79)|0)==3){m=ss(1428588)|0;i=1428652;k=c[i>>2]|0;if((k|0)==(m|0)&(k|0)<21){a[1428588+m>>0]=32;j=(c[i>>2]|0)+1|0;c[i>>2]=j;a[1428588+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[357146]=0;c:do if((c[357146]|0)==2){if((l|0)<22&(qb(b)|0)!=0){o=1428652;i=c[o>>2]|0;if((i|0)<22){n=22;do{k=n;n=n+-1|0;a[1428588+k>>0]=a[1428588+n>>0]|0;k=c[o>>2]|0}while((n|0)>(k|0));p=k}else p=i;a[1428610]=0;a[1428588+p>>0]=b;c[o>>2]=(c[o>>2]|0)+1;c[357146]=2;break}switch(b|0){case 8:case 127:{h=26;break}default:if((Nm(76)|0)==3)h=26}if((h|0)==26?(c[357163]|0)>0:0){n=(Nm(76)|0)==3;k=1428652;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[1428588+k>>0]=a[1428588+n>>0]|0;if((k|0)>=21)break c}}if((b|0)==13){c[f>>2]=1428588;Ir(1427500,56842,f)|0;ll(c[356874]|0,1427500,0);Zl(1428528,1428588)|0;c[357146]=0;bk();break}if(g){if((Nm(80)|0)==3){n=ss(1428588)|0;o=1428652;i=(c[o>>2]|0)+-1|0;k=(i|0)<(n|0)?i:n;c[o>>2]=(k|0)>0?k:0}if((Nm(79)|0)==3){k=ss(1428588)|0;o=1428652;n=c[o>>2]|0;if((n|0)==(k|0)&(n|0)<21){a[1428588+k>>0]=32;i=(c[o>>2]|0)+1|0;c[o>>2]=i;a[1428588+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[357146]|0)!=3){Ga=d;return}if(ak(2,0)|0)Al(-1);if(ak(3,0)|0)Al(1);if(!((ak(4,0)|0)==0?!(ak(5,0)|0):0)){c[e>>2]=1428588;Ir(1427500,56842,e)|0;ll(c[356874]|0,1427500,0);Zl(1428528,1428588)|0;c[357146]=0;bk()}if(!(ak(6,0)|0)){Ga=d;return}c[357146]=0;c[731899]=1;bb(57087,1e3);Ga=d;return}function Dl(){var a=0,b=0,d=0,e=0,f=0,g=0;c[406459]=0;a=c[356848]|0;if((a|0)>0){b=0;d=a;while(1){a=c[(c[356581]|0)+(b*692|0)+648>>2]|0;if(!a)e=d;else{rm(a)|0;e=c[356848]|0}b=b+1|0;if((b|0)>=(e|0))break;else d=e}}c[356848]=0;ql(1426320,2917992);e=1428564;d=c[e>>2]|0;b=1428560;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)){oq()|0;c[515250]=0;return}a=1427492;g=0;do{e=c[a>>2]|0;f=e+(g*692|0)+688|0;c[f>>2]=0;c[f>>2]=(bl(1427488,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));oq()|0;c[515250]=0;return}function El(){return}function Fl(a){a=a|0;yl(2059616,a);return}function Gl(){var b=0,d=0,e=0;b=Ga;Ga=Ga+1024|0;d=b;a[1447600]=0;sn(2920048,0,d,0);e=d;a:while(1){switch(a[e>>0]|0){case 0:{break a;break}case 58:{a[e>>0]=32;break}default:{}}e=e+1|0}Zq(d,1447600)|0;if((a[2923468]|0)!=0&(c[731641]|0)!=0|(c[405561]|0)!=0)Zl(1447600,2059620)|0;Zl(1447600,Wa()|0)|0;if(a[1447600]|0){Ga=b;return 1447600}Zl(1447600,57116)|0;Ga=b;return 1447600}function Hl(){return}function Il(){return}function Jl(a,b){a=a|0;b=b|0;ma(19,a|0,b|0)|0;return}function Kl(a){a=a|0;var b=0;b=la(20,a|0)|0;a=(b|0)<255?b:255;return ((a|0)>0?a:0)|0}function Ll(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0;a=Ga;Ga=Ga+528|0;b=a+512|0;d=a;e=c[(c[c[694283]>>2]|0)+12>>2]|0;c[e+20>>2]=0;f=gn(2998896,e)|0;ng(57621,14);if(!57268){Gm(f);Ga=a;return}e=0;g=1856;do{h=c[(c[f>>2]|0)+(e<<2)>>2]|0;c[b>>2]=2916968;c[b+4>>2]=57654;Ir(d,66470,b)|0;zq(d)|0;Cs(d,c[g>>2]|0)|0;i=ln(d,57661)|0;cn(c[h+12>>2]|0,1,c[h+16>>2]|0,i)|0;mn(i);og(c[g>>2]|0);e=e+1|0;g=1856+(e<<2)|0}while((c[g>>2]|0)!=0);Gm(f);Ga=a;return}function Ml(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;a=Ga;Ga=Ga+1040|0;b=a+1024|0;d=a;wq(57663,d);e=c[(c[c[694283]>>2]|0)+24>>2]|0;c[e+20>>2]=0;f=gn(2998896,e)|0;if(!2998896){Gm(f);Ga=a;return}e=0;g=2998896;do{h=c[(c[f>>2]|0)+(e<<2)>>2]|0;if(!e){wq(57663,d);mn(0)}else{Bs(d,el(g)|0)|0;i=ln(d,66796)|0;j=h+12|0;if(!i)k=h+16|0;else{l=h+16|0;cn(c[j>>2]|0,1,c[l>>2]|0,i)|0;k=l}mn(i);og(c[2e3+(e<<2)>>2]|0);c[b>>2]=2916968;c[b+4>>2]=57678;Ir(d,66470,b)|0;zq(d)|0;Cs(d,c[1968+(e<<2)>>2]|0)|0;i=ln(d,66796)|0;cn(c[j>>2]|0,1,c[k>>2]|0,i)|0;mn(i)}e=e+1|0;g=c[1920+(e<<2)>>2]|0}while((g|0)!=0);Gm(f);Ga=a;return}function Nl(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=So(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=Xg(e)|0;else h=Yg(e)|0;i=Zg()|0;j=h-e|0;ju(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=Xg(j)|0;l=Zg()|0;m=k-j|0;ju(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(!(Gr(j,57685,9)|0))break;Cs(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}ng(57695,6);Wo(d);p=1;return p|0}while(0);Wo(d);p=0;return p|0}function Ol(){return 0}function Pl(a){a=a|0;return 0}function Ql(a){a=a|0;return 0}function Rl(a){a=a|0;return 0}function Sl(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=c[515251]|0;i=c[515252]|0;if(!((h|0)!=0&(i|0)!=0))return;j=(g|0)/4|0;g=(j|0)<(h|0)?j:h;j=g<<2;if((g|0)>0){k=0;do{l=f+(k<<1)|0;b[l>>1]=((d[i+(k>>>2)>>0]|0)<<8)+32768+(e[l>>1]|0);k=k+1|0}while((k|0)<(j|0))}j=h-g|0;c[515251]=j;if((j|0)<=0)return;a[i>>0]=a[i+g>>0]|0;if((c[515251]|0)<=1)return;i=1;do{j=c[515252]|0;a[j+i>>0]=a[j+(i+g)>>0]|0;i=i+1|0}while((i|0)<(c[515251]|0));return}function Tl(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;if((f|0)<1){g=0;return g|0}if(!(c[515253]|0)){c[515253]=1;c[515254]=So(262144)|0;To(1448624,0,16384)}h=1448624+(b<<2)|0;i=c[h>>2]|0;if(!i){j=So(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[515255]|0;j=c[515256]|0;if((((f+7+j|0)/8|0)+i|0)>262138){bb(57712,1e3);c[515256]=0;l=20;break}h=(b|0)==255;if(h|(c[8620]|0)!=(b|0)){if((j|0)>0){m=((j+7|0)/8|0)+i|0;c[515255]=m;n=c[515254]|0;o=c[515257]|0;a[n+o>>0]=j;a[n+(o+1)>>0]=j>>>8;p=n;q=m}else{p=c[515254]|0;q=i}c[8620]=b;c[515256]=0;a[p+q>>0]=b;a[p+(q+1)>>0]=b>>>8;c[515257]=q+2;m=q+4|0;c[515255]=m;r=m;s=0}else{r=i;s=j}if(h){h=c[515254]|0;a[h+r>>0]=f>>>3;a[h+(r+1)>>0]=f>>>11;c[515256]=s+16;t=16;break}h=0;j=0;i=s;m=r;while(1){n=h&7;if(!n){o=Tj(2777036,c[732713]|0,(h>>>3)+e|0)|0;u=o;v=c[515256]|0;w=c[515255]|0}else{u=j;v=i;w=m}o=(c[515254]|0)+(((v|0)/8|0)+w)|0;a[o>>0]=(u>>>n&1)<<(v&7)|(d[o>>0]|0);i=v+1|0;c[515256]=i;h=h+1|0;if((h|0)==(f|0)){l=20;break}else{j=u;m=w}}}else l=20;while(0);if((l|0)==20){if((b|1|0)==257){if(!(c[515258]|0))c[515258]=So(32768)|0;l=(f+7|0)/8|0;w=(f|0)>0;if(w){u=0;do{v=(Tj(2777036,c[732713]|0,u+e|0)|0)&255;x=c[515258]|0;a[x+u>>0]=v;u=u+1|0}while((u|0)<(l|0));if(w?(Sj(2777036,c[732713]|0,e,d[x>>0]|0),(f|0)>8):0){x=1;do{Sj(2777036,c[732713]|0,x+e|0,d[(c[515258]|0)+x>>0]|0);x=x+1|0}while((x|0)<(l|0))}}}if((b|0)==2056){if(!(c[515252]|0))c[515252]=So(2048)|0;b=(f|0)/8|0;if((f|0)>7&(c[515251]|0)<2048){l=0;do{x=(Tj(2777036,c[732713]|0,l+e|0)|0)&255;a[(c[515252]|0)+(c[515251]|0)>>0]=x;x=c[515251]|0;c[515251]=x+1;l=l+1|0}while((l|0)<(b|0)&(x|0)<2047);t=f}else t=f}else t=f}c[k+44>>2]=1;g=t;return g|0}function Ul(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=Ga;Ga=Ga+1056|0;f=e+1040|0;g=e+1032|0;h=e+1024|0;i=e;j=e+1044|0;if(!(c[515253]|0)){c[515253]=1;c[515254]=So(262144)|0;To(1448624,0,16384)}k=1448624+(b<<2)|0;l=c[k>>2]|0;if(!l){m=So(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){Ga=e;return}l=a[d>>0]|0;if(l<<24>>24>47?(a[d+1>>0]|0)<58:0){c[h>>2]=j;gt(d,58441,h)|0;c[n+16>>2]=c[j>>2];Ga=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)){Ga=e;return}p=o;while(1){a[i>>0]=0;c[g>>2]=i;o=gt(p,57735,g)|0;if(!(Es(i,58)|0)){a[i>>0]=0;q=0}else{c[j>>2]=0;n=(Es(i,58)|0)+1|0;c[f>>2]=j;gt(n,58441,f)|0;a[(Es(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(!(is(i,57742)|0))c[l>>2]=c[j>>2];if(!(is(i,57747)|0))c[d>>2]=c[j>>2];if(!(is(i,57751)|0))c[h>>2]=c[j>>2];if(!(is(i,57756)|0))c[b>>2]=c[j>>2];if(!(is(i,57767)|0))c[m>>2]=c[j>>2];if(!(is(i,57774)|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){Ga=e;return}}function Vl(){var a=0,b=0,d=0;c[515251]=0;if(!(c[515253]|0))return;a=0;do{b=c[1448624+(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[515256]=0;To(c[515254]|0,0,262144);if(!(c[515253]|0))return;c[515256]=0;To(c[515254]|0,0,262144);c[8620]=-1;c[515257]=0;c[515255]=0;a=c[515258]|0;if(!a)return;To(a,0,32768);return}function Wl(){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[515253]|0))return;b=c[515256]|0;if((b|0)>0){e=(c[515255]|0)+((b+7|0)/8|0)|0;c[515255]=e;f=c[515254]|0;g=c[515257]|0;a[f+g>>0]=b;a[f+(g+1)>>0]=b>>>8;h=e}else h=c[515255]|0;if((h|0)>0){e=0;b=h;while(1){h=c[515254]|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){Jl(f,d[h+j>>0]|0);if((m|0)!=1){n=j;o=1;do{n=n+1|0;Jl(f,d[(c[515254]|0)+n>>0]|0);o=o+1|0}while((o|0)!=(m|0))}k=j+m|0;l=c[515255]|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[515253]|0))return}c[515256]=0;To(c[515254]|0,0,262144);c[8620]=-1;c[515257]=0;c[515255]=0;l=c[515258]|0;if(!l)return;To(l,0,32768);return}function Xl(){var b=0,d=0,e=0,f=0,g=0,h=0;b=c[694259]|0;d=b+4|0;if((d|0)==1){e=0;do{f=e>>>5;g=(Pn(4)|0)+f&255;a[(c[(c[(c[694267]|0)+16>>2]|0)+(e<<2)>>2]|0)+2>>0]=g;g=(Pn(4)|0)+f&255;a[(c[(c[(c[694267]|0)+16>>2]|0)+(e<<2)>>2]|0)+10>>0]=g;g=(Pn(4)|0)+f&255;a[(c[(c[(c[694267]|0)+16>>2]|0)+(e<<2)>>2]|0)+18>>0]=g;g=(Pn(4)|0)+f&255;a[(c[(c[(c[694267]|0)+16>>2]|0)+(e<<2)>>2]|0)+26>>0]=g;g=(Pn(4)|0)+f&255;a[(c[(c[(c[694267]|0)+16>>2]|0)+(e<<2)>>2]|0)+34>>0]=g;g=(Pn(4)|0)+f&255;a[(c[(c[(c[694267]|0)+16>>2]|0)+(e<<2)>>2]|0)+42>>0]=g;g=(Pn(4)|0)+f&255;a[(c[(c[(c[694267]|0)+16>>2]|0)+(e<<2)>>2]|0)+50>>0]=g;g=(Pn(4)|0)+f&255;a[(c[(c[(c[694267]|0)+16>>2]|0)+(e<<2)>>2]|0)+58>>0]=g;g=(Pn(4)|0)+f&255;a[(c[(c[(c[694267]|0)+16>>2]|0)+(e<<2)>>2]|0)+66>>0]=g;g=(Pn(4)|0)+f&255;a[(c[(c[(c[694267]|0)+16>>2]|0)+(e<<2)>>2]|0)+74>>0]=g;g=(Pn(4)|0)+f&255;a[(c[(c[(c[694267]|0)+16>>2]|0)+(e<<2)>>2]|0)+82>>0]=g;g=(Pn(4)|0)+f&255;a[(c[(c[(c[694267]|0)+16>>2]|0)+(e<<2)>>2]|0)+90>>0]=g;g=(Pn(4)|0)+f&255;a[(c[(c[(c[694267]|0)+16>>2]|0)+(e<<2)>>2]|0)+98>>0]=g;g=(Pn(4)|0)+f&255;a[(c[(c[(c[694267]|0)+16>>2]|0)+(e<<2)>>2]|0)+106>>0]=g;g=(Pn(4)|0)+f&255;a[(c[(c[(c[694267]|0)+16>>2]|0)+(e<<2)>>2]|0)+114>>0]=g;g=(Pn(4)|0)+f&255;a[(c[(c[(c[694267]|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[694267]|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=(Pn(4)|0)+10&255;a[(c[(c[(c[694267]|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[694267]|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[694267]|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)lm(c[694267]|0);else if((h|0)==26){lm(c[694267]|0);wp((c[694284]|0)+12|0);og(2998896);og(2998896);ao(c[(c[c[694285]>>2]|0)+8>>2]|0,c[694267]|0,0,0,1,1,40,10);c[731746]=6}else if((h|0)==27){og(57779);ao(c[(c[c[694285]>>2]|0)+8>>2]|0,c[694267]|0,0,0,1,1,40,10)}else if((h|0)==28){c[731746]=13;og(57793);c[731746]=6;og(2998896);if(!(c[405560]|0)){og(57879);og(2998896);break}else{ng(57826,14);og(2998896);og(57858);break}}else if((h|0)==31?(d|0)==70&(c[405558]|0)!=0:0){c[731635]=0;c[731746]=6;Dl();c[749441]=2}while(0);h=(c[405557]|0)!=0;e=c[405556]|0;if(h&((d|0)==90&(e|0)!=0)){c[731640]=1;return}if(!(h|((d|0)!=60|(e|0)==0))){c[731635]=0;return}switch(b|0){case 76:{db();return}case 896:{og(58307);return}default:return}}function Yl(a){a=a|0;if((a|0)!=2061048?(Bs(2061048,a)|0,(a|0)==2032):0)return;Bs(2032,a)|0;return}function Zl(a,b){a=a|0;b=b|0;var c=0;if((a|0)==(b|0))c=a;else{Bs(a,b)|0;c=a}return c|0}function _l(a){a=a|0;var b=0;if(a)if((a|0)==2061304)b=2061304;else{Bs(2061304,a)|0;b=2061304}else b=0;c[515390]=b;return}function $l(){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=Ga;Ga=Ga+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[515986]|0){Ga=a;return 0}c[515259]=0;To(2061048,0,652);Bs(2061048,2032)|0;if(2032!=2061304)Bs(2061304,2032)|0;c[515390]=2061304;on();o=c[8621]|0;p=c[515987]|0;if((o|0)>0&(p|0)!=0)am(o,p);c[n>>2]=57909;Kt(57899,n)|0;n=c[8629]|0;ct(n)|0;c[m>>2]=57935;Ir(1465008,57921,m)|0;c[l>>2]=1465008;Kt(57899,l)|0;ct(n)|0;l=c[8621]|0;m=c[515987]|0;if((l|0)>0&(m|0)!=0)am(l,m);if(!0){c[k>>2]=57946;Kt(57899,k)|0;ct(n)|0;bq()|0;c[j>>2]=57964;Kt(57899,j)|0;ct(n)|0;oq()|0;c[i>>2]=57982;Kt(57899,i)|0;ct(n)|0;Qm();c[h>>2]=57997;Kt(57899,h)|0;ct(n)|0;Om();c[g>>2]=58013;Kt(57899,g)|0;ct(n)|0;Wm();c[f>>2]=58029;Kt(57899,f)|0;ct(n)|0;Pp()|0;c[e>>2]=58046;Kt(57899,e)|0;ct(n)|0;Jm();c[d>>2]=58063;Kt(57899,d)|0;ct(n)|0}On(0);c[515465]=(c[515465]|0)+1;c[b>>2]=58083;Kt(57899,b)|0;ct(n)|0;c[515986]=1;Ga=a;return 0}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,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=Ga;Ga=Ga+32|0;f=e+8|0;g=e;h=e+24|0;if((b|0)<=1){Ga=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=42;break a;break}case 45:{n=l+1|0;o=(Gr(n,58088,5)|0)==0;p=(Gr(n,58094,6)|0)==0;q=(Gr(n,58101,8)|0)==0;r=(Gr(n,58110,8)|0)==0;s=(Gr(n,58119,8)|0)==0;t=(Gr(n,58128,8)|0)==0;u=(Gr(n,58137,9)|0)==0;v=(Gr(n,58147,17)|0)==0;w=(Gr(n,58165,19)|0)==0;x=(Gr(n,58185,12)|0)==0;y=(Gr(n,58198,12)|0)==0;z=(Gr(n,58211,5)|0)==0;A=(Gr(n,58217,5)|0)==0;B=(Gr(n,58223,15)|0)==0;C=(Gr(n,58239,13)|0)==0|(Gr(n,58253,16)|0)==0;D=(Gr(n,58270,4)|0)==0;E=(Gr(n,58275,7)|0)==0;F=(Gr(n,58283,13)|0)==0;G=(Gr(n,58297,9)|0)==0;H=(Gr(n,58307,7)|0)==0;if(!(Gr(n,58315,8)|0)){c[515468]=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;if(!(Gr(n,58324,11)|0)){c[515469]=1;J=0}else J=I;if((a[n>>0]|0)==120){c[515468]=1;K=0}else K=J;o=(Gr(n,58336,19)|0)==0;p=(Gr(n,58356,17)|0)==0;q=(Gr(n,58374,16)|0)==0;r=(Gr(n,58391,11)|0)==0;s=(Gr(n,58403,13)|0)==0;t=(Gr(n,58417,7)|0)==0;u=(Gr(n,58425,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;gt(l,58441,g)|0;do switch(i|0){case 1:{c[515429]=c[h>>2];L=0;break b;break}case 2:{c[515430]=c[h>>2];L=0;break b;break}case 3:{c[515447]=c[h>>2];L=0;break b;break}case 4:{c[515431]=c[h>>2];L=0;break b;break}case 5:{c[515439]=c[h>>2];L=0;break b;break}case 6:{c[515440]=c[h>>2];L=0;break b;break}case 7:{c[515438]=c[h>>2];L=0;break b;break}case 8:{c[515454]=c[h>>2];L=0;break b;break}case 9:{c[515434]=c[h>>2];L=0;break b;break}case 10:{c[515432]=c[h>>2];L=0;break b;break}case 11:{c[515433]=c[h>>2];L=0;break b;break}case 12:{c[515444]=c[h>>2];L=0;break b;break}case 14:{c[515455]=c[h>>2];L=0;break b;break}case 15:{c[515454]=c[h>>2];L=0;break b;break}case 16:{o=c[k>>2]|0;if((o|0)==2061880){L=0;break b}Bs(2061880,o)|0;L=0;break b;break}case 17:{o=c[k>>2]|0;if((o|0)==2062904){L=0;break b}Bs(2062904,o)|0;L=0;break b;break}case 18:{c[515458]=c[h>>2];L=0;break b;break}case 19:{c[515461]=0;c[515462]=0;c[515463]=4096;c[515464]=4096;o=c[k>>2]|0;c[f>>2]=2061844;c[f+4>>2]=2061848;c[f+8>>2]=2061852;c[f+12>>2]=2061856;gt(o,58444,f)|0;L=0;break b;break}case 20:{o=c[h>>2]|0;p=(o|0)<240?o:240;c[515466]=(p|0)>1?p:1;L=0;break b;break}case 21:{c[515468]=1;L=0;break b;break}case 22:{c[515435]=c[h>>2];L=0;break b;break}case 23:{c[515437]=c[h>>2];L=0;break b;break}case 24:{c[515982]=c[h>>2];L=0;break b;break}case 25:{c[515983]=c[h>>2];L=0;break b;break}case 26:{p=c[h>>2]|0;o=(p|0)<8?p:8;c[515456]=(o|0)>0?o:0;L=0;break b;break}case 27:{c[515441]=c[h>>2];L=0;break b;break}case 28:{c[515985]=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=42;break}else i=L}if((m|0)==42){Ga=e;return}}function bm(a){a=a|0;var b=0,d=0;b=Ga;Ga=Ga+16|0;d=b;c[d>>2]=a;Kt(57899,d)|0;ct(c[8629]|0)|0;Ga=b;return}function cm(){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=Ga;Ga=Ga+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[515986]|0)){Ga=a;return 0}c[515986]=0;c[m>>2]=58456;Kt(57899,m)|0;m=c[8629]|0;ct(m)|0;c[l>>2]=58468;Kt(57899,l)|0;ct(m)|0;Ip(0,0);c[k>>2]=58481;Kt(57899,k)|0;ct(m)|0;Cb();c[j>>2]=58497;Kt(57899,j)|0;ct(m)|0;c[i>>2]=58515;Kt(57899,i)|0;ct(m)|0;pp()|0;c[h>>2]=58532;Kt(57899,h)|0;ct(m)|0;Qp()|0;c[g>>2]=58549;Kt(57899,g)|0;ct(m)|0;c[f>>2]=58569;Kt(57899,f)|0;ct(m)|0;if(!0){Xm();Rm()}c[e>>2]=c[515259];Ir(1465008,58587,e)|0;c[d>>2]=1465008;Kt(57899,d)|0;ct(m)|0;c[b>>2]=58083;Kt(57899,b)|0;ct(m)|0;m=c[515391]|0;if(m|0)at(m)|0;m=c[515392]|0;if(m|0)at(m)|0;c[515391]=0;c[515392]=0;c[515986]=0;Ga=a;return 0}function dm(a){a=a|0;return}function em(){var a=0;a=tq()|0;if(!(c[515988]|0)){c[515988]=1;Sm();c[515988]=0}vq(2061040,2061044,0);Dp();return a|0}function fm(){var a=0;Tp();tq()|0;if(!(c[515988]|0)){c[515988]=1;Sm();c[515988]=0}vq(2061040,2061044,0);Dp();c[515989]=0;Bb();if(!(c[515989]|0)){pb();Vp();Up()}c[515406]=0;a=c[515422]|0;if(!a)return;if((a|0)<=(oq()|0))return;Ft(58611)|0;c[515422]=0;ka(21)|0;return}function gm(){c[515989]=1;return}function hm(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;if((d|0)!=1469104)Bs(1469104,d)|0;c[8621]=a;c[515987]=b;hb(a,b);ua(1,0,0);return 0}function im(){var a=0;a=Uo(768)|0;ku(a|0,0,768)|0;c[515259]=(c[515259]|0)+1;return a|0}function jm(a){a=a|0;if(!a)return;Wo(a);c[515259]=(c[515259]|0)+-1;return}function km(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=Uo((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]=Uo(B(f,d)|0)|0;h=e+16|0;c[h>>2]=e+48;if((d|0)<=0){i=c[515259]|0;j=i+1|0;c[515259]=j;return e|0}k=(b<<2)+52|0;if((b|0)<=0){l=0;do{m=Uo(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[515259]|0;j=i+1|0;c[515259]=j;return e|0}l=(b|0)==1;m=0;do{n=Uo(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(2776940!=(n|0)?(To(c[c[t>>2]>>2]|0,0,a),(c[o>>2]|0)>1):0){q=1;do{To(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[515259]|0;j=i+1|0;c[515259]=j;return e|0}function lm(a){a=a|0;var b=0,d=0,e=0,f=0;if(2776940==(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{To(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 mm(a){a=a|0;var b=0,d=0,e=0;if(!a)return 0;b=c[a+12>>2]|0;if(b|0)Wo(b);b=a+8|0;if((c[b>>2]|0)>0){d=a+16|0;e=0;do{Wo(c[(c[d>>2]|0)+(e<<2)>>2]|0);e=e+1|0}while((e|0)<(c[b>>2]|0))}Wo(a);c[515259]=(c[515259]|0)+-1;return 0}function nm(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((2776940!=(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{To((c[(c[i>>2]|0)+(b<<2)>>2]|0)+g|0,h,e);b=b+1|0}while((b|0)<(q|0));return}function om(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 pm(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(2776940==(b|0)){nq(a,b,h,i,q,f,e,r,1);return}switch(j|0){case 8:{bo(a,b,h,i,q,f,e,r);return}case 32:{co(a,b,h,i,q,f,e,r);return}default:return}}function qm(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=Uo((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=Uo(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(2776940!=(f|0)?(c[g>>2]|0)>0:0){b=0;do{To(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[515259]=(c[515259]|0)+1;e=f;return e|0}function rm(a){a=a|0;var b=0;if(!a)return 0;b=c[a+12>>2]|0;if(b|0)Wo(b);Wo(a);c[515259]=(c[515259]|0)+-1;return 0}function sm(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 tm(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;j=c[d>>2]|0;k=c[a>>2]|0;if((((j|0)<=(k|0)?(l=c[e>>2]|0,m=a+4|0,(l|0)<(c[m>>2]|0)):0)?(n=b+32|0,(c[f>>2]|0)<(c[n>>2]|0)):0)?(o=b+40|0,(c[g>>2]|0)<(c[o>>2]|0)):0){if((j|0)>=(k|0))return;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;p=c[e>>2]|0;q=0}else{p=l;q=j}if((p|0)<0){c[i>>2]=(c[i>>2]|0)+p;c[g>>2]=(c[g>>2]|0)-(c[e>>2]|0);c[e>>2]=0;r=c[d>>2]|0;s=0}else{r=q;s=p}p=c[a>>2]|0;if(((c[h>>2]|0)+r|0)>(p|0)){c[h>>2]=p-r;t=c[e>>2]|0}else t=s;s=c[m>>2]|0;if(((c[i>>2]|0)+t|0)>(s|0))c[i>>2]=s-t;t=c[f>>2]|0;s=b+28|0;m=c[s>>2]|0;if((t|0)<(m|0)){r=t-m|0;c[f>>2]=r;c[h>>2]=(c[h>>2]|0)+r;c[d>>2]=(c[d>>2]|0)-(c[f>>2]|0);d=c[s>>2]|0;c[f>>2]=d;u=d}else u=t;t=c[g>>2]|0;d=b+36|0;b=c[d>>2]|0;if((t|0)<(b|0)){s=t-b|0;c[g>>2]=s;c[i>>2]=(c[i>>2]|0)+s;c[e>>2]=(c[e>>2]|0)-(c[g>>2]|0);e=c[d>>2]|0;c[g>>2]=e;v=c[f>>2]|0;w=e}else{v=u;w=t}t=c[n>>2]|0;if(((c[h>>2]|0)+v|0)>(t|0)){c[h>>2]=t-v;x=c[g>>2]|0}else x=w;w=c[o>>2]|0;if(((c[i>>2]|0)+x|0)<=(w|0))return;c[i>>2]=w-x;return}c[i>>2]=0;return}function um(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|2776940==(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|2776940==(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|2776940==(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|2776940==(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 vm(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 wm(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)){ao(b,d,0,0,e,f,g,h);return}else{pm(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 xm(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 ym(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 be(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=Ga;Ga=Ga+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=ee(c[q>>2]|0)|0;s=fe(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;ge(e,fd(n,43742,i)|0)}he(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;Ga=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;Ga=h;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,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)?(Fr(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)}be(e,f,s);l=1;return l|0}function de(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Ga;Ga=Ga+16|0;f=e;e=c[d>>2]|0;if((a[e+4>>0]|0)==4)g=(a[e+6>>0]|0)==0?43655:43708;else g=43655;h=c[b+32>>2]|0;i=d+8|0;d=ee(c[i>>2]|0)|0;j=fe(c[i>>2]|0)|0;c[f>>2]=e+16;c[f+4>>2]=d;c[f+8>>2]=j;ge(b,fd(h,g,f)|0)}function ee(a){a=a|0;return (Dg(a,0)|0)<<16|0}function fe(a){a=a|0;var b=0,d=0;b=Ga;Ga=Ga+16|0;d=b;Dg(a,d)|0;Ga=b;return c[d>>2]<<16|0}function ge(a,b){a=a|0;b=b|0;c[a+12>>2]=0;$d(a,b)}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;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)$d(c[a+12>>2]|0,43615);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)$d(c[a+12>>2]|0,43615);else if((m|0)==20)$d(c[a+12>>2]|0,43615);else if((m|0)==22)return}function ie(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=Ga;Ga=Ga+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=ss(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{ju(j|0,l|0,k|0)|0;break a}break}case 64:{if(k>>>0>60){a[j>>0]=a[43467]|0;a[j+1>>0]=a[43468]|0;a[j+2>>0]=a[43469]|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{ju(j|0,f+1|0,k|0)|0;break a}break}default:{l=Es(f,10)|0;m=j;n=43471;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){ju(p|0,f|0,k|0)|0;r=p+k|0}else{s=q?k:l-f|0;q=s>>>0<45?s:45;ju(p|0,f|0,q|0)|0;s=p+q|0;a[s>>0]=a[43467]|0;a[s+1>>0]=a[43468]|0;a[s+2>>0]=a[43469]|0;r=s+3|0};a[r>>0]=a[43481]|0;a[r+1>>0]=a[43482]|0;a[r+2>>0]=a[43483]|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=fd(f,43833,i)|0;if(!e){t=c[r>>2]|0;fc(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)ie(b,43843,0);q=s<<1;if((q|0)==-2)sc(i);p=c[k>>2]|0;u=c[i+12>>2]|0;v=(p|0)==0;w=u+4|0;x=Ma[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))fc(i,4);rc(i,1);y=Ma[c[u>>2]&1](c[w>>2]|0,p,s,q)|0;if(!y)fc(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=fd(C,43868,h)|0}else D=je(b,e)|0;c[g>>2]=d;c[g+4>>2]=D;fd(i,43873,g)|0;t=c[r>>2]|0;fc(t,3)}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;d=Ga;Ga=Ga+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]=43884;u=fd(t,43868,s)|0;Ga=d;return u|0}case 124:{t=c[a+32>>2]|0;c[r>>2]=43886;u=fd(t,43868,r)|0;Ga=d;return u|0}case 295:{t=c[a+32>>2]|0;c[q>>2]=43888;u=fd(t,43868,q)|0;Ga=d;return u|0}case 290:{t=c[a+32>>2]|0;c[p>>2]=43891;u=fd(t,43868,p)|0;Ga=d;return u|0}case 291:{t=c[a+32>>2]|0;c[o>>2]=43894;u=fd(t,43868,o)|0;Ga=d;return u|0}case 292:{t=c[a+32>>2]|0;c[n>>2]=43897;u=fd(t,43868,n)|0;Ga=d;return u|0}case 293:{t=c[a+32>>2]|0;c[m>>2]=43901;u=fd(t,43868,m)|0;Ga=d;return u|0}case 294:{t=c[a+32>>2]|0;c[l>>2]=43905;u=fd(t,43868,l)|0;Ga=d;return u|0}case 126:{t=c[a+32>>2]|0;c[k>>2]=59126;u=fd(t,43868,k)|0;Ga=d;return u|0}case 92:{t=c[a+32>>2]|0;c[j>>2]=43909;u=fd(t,43868,j)|0;Ga=d;return u|0}case 64:{t=c[a+32>>2]|0;c[i>>2]=43911;u=fd(t,43868,i)|0;Ga=d;return u|0}case 296:{t=c[a+32>>2]|0;c[h>>2]=43913;u=fd(t,43868,h)|0;Ga=d;return u|0}case 36:{t=c[a+32>>2]|0;c[g>>2]=43916;u=fd(t,43868,g)|0;Ga=d;return u|0}default:{if((b|0)<257){t=c[a+32>>2]|0;c[f>>2]=b;u=fd(t,43918,f)|0;Ga=d;return u|0}t=c[656+(b+-257<<2)>>2]|0;if((b|0)>=286){u=t;Ga=d;return u|0}v=c[a+32>>2]|0;c[e>>2]=t;u=fd(v,43868,e)|0;Ga=d;return u|0}}while(0);return 0}function ke(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=Ga;Ga=Ga+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=44425;else{a=(Dg(j,0)|0)<<16;Dg(j,h)|0;j=c[h>>2]<<16;c[g>>2]=a;c[g+4>>2]=j;k=fd(i,44396,g)|0}c[f>>2]=d;c[f+4>>2]=b<<16;c[f+8>>2]=k;k=fd(i,44439,f)|0;$d(c[e>>2]|0,k)}function le(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=Ga;Ga=Ga+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]=Ud(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}ne(d,h,0)|0;if((c[o>>2]|0)!=275)Wd(d,275);c[l>>2]=c[k>>2];if((c[m>>2]|0)==286){p=Ud(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:{Oe(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=Ud(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)Wd(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]=Ud(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]=Ud(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=gd(c[d+32>>2]|0,52413,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=ae(c[d+32>>2]|0,c[s>>2]|0,x,16,32767,43642)|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;ce(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}Vd(d)}if((C|0)==29){Zd(j);Ga=f;return}n=j+28|0;p=c[n>>2]|0;c[n>>2]=-1;n=Yd(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)$d(c[q>>2]|0,43615);else{c[D>>2]=(z<<14)+2147467264|E&16383;F=n;break a}}else F=p;else F=n;break}default:{oe(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:{}}Vd(d)}while((h|0)!=274);Zd(j);d=j+28|0;do if((c[o>>2]&-2|0)==260){h=c[d>>2]|0;c[d>>2]=-1;g=Yd(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)$d(c[j+12>>2]|0,43615);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)$d(c[j+12>>2]|0,43615);else{c[J>>2]=(n<<14)+2147467264|K&16383;break}}while(0);c[j+24>>2]=c[j+20>>2];if((F|0)==-1){Ga=f;return}K=c[d>>2]|0;if((K|0)==-1){c[d>>2]=F;Ga=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)$d(c[j+12>>2]|0,43615);c[L>>2]=(d<<14)+2147467264|M&16383;Ga=f;return}function me(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=Ga;Ga=Ga+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))Wd(a,b);else{j=c[a+32>>2]|0;k=je(a,b)|0;b=je(a,d)|0;d=ee(e)|0;l=fe(e)|0;c[g>>2]=k;c[g+4>>2]=b;c[g+8>>2]=d;c[g+12>>2]=l;$d(a,fd(j,44350,g)|0)}c[a+8>>2]=i;i=a+20|0;if((c[i>>2]|0)==286){c[h>>2]=Ud(a,a+16|0)|0;Ga=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;Ga=f;return}}function ne(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=Ga;Ga=Ga+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)ke(k,200,43983);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=re(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))$d(e,44307);else{m=Yd(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:{Fe(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]=Ud(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}ze(e,f,0,s);p=31;break}default:{Be(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]=Ud(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}ne(e,f,18)|0;Je(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=Ud(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;Ga=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]=Ud(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}Ke(c[j>>2]|0,k,f);u=k;k=ne(e,i,d[800+(k<<1)+1>>0]|0)|0;Le(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;Ga=h;return x|0}return 0}function oe(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;te(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;Yd(b,j>>>23<<6|16424)|0;j=b+28|0;h=c[j>>2]|0;c[j>>2]=-1;j=Yd(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)$d(c[b+12>>2]|0,43615);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)$d(c[b+12>>2]|0,44027);else{w=q&255;a[l>>0]=w;y=w;break}else y=q&255;while(0);a[f>>0]=y;Ie(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){Yd(b,c[z>>2]<<23|16361)|0;x=b+28|0;v=c[x>>2]|0;c[x>>2]=-1;x=Yd(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)$d(c[b+12>>2]|0,43615);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)$d(c[b+12>>2]|0,43615);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)$d(c[b+12>>2]|0,43615);c[E>>2]=(C<<14)+2147467264|F&16383;c[D>>2]=-1;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;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=ae(c[e+32>>2]|0,c[o>>2]|0,j,12,32767,44291)|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){qc(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)ke(g,200,44291);g=h+8|0;if((i+2|0)>(c[g>>2]|0)){k=ae(c[e+32>>2]|0,c[h>>2]|0,g,2,2147483645,44291)|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 qe(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=Ga;Ga=Ga+16|0;f=e;ne(b,f,0)|0;g=c[b+28>>2]|0;te(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;ue(g,f,m);Ga=e;return}if((h&255)>248)$d(c[g+12>>2]|0,44027);h=i&255;a[j>>0]=h;k=h;a[b>>0]=k;l=k&255;m=l+-1|0;ue(g,f,m);Ga=e;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;g=c[(c[b+12>>2]|0)+32>>2]|0;h=c[b>>2]|0;i=c[b+4>>2]|0;j=tc(i,e)|0;if((j|0)==2059440)k=uc(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)?Ac(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=ae(g,c[k>>2]|0,e,8,67108863,44281)|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){qc(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 se(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=Ga;Ga=Ga+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)Wd(e,259);c[e+8>>2]=c[e+4>>2];v=e+20|0;if((c[v>>2]|0)==286)c[r>>2]=Ud(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=Yd(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)$d(c[s>>2]|0,43615);else{c[w>>2]=(p<<14)+2147467264|x&16383;A=i;break}}else A=t;else A=i}else A=Yd(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)$d(o,44027);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:{}}Vd(e)}while((k|0)!=274);Zd(l);Zd(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)$d(c[s>>2]|0,43615);else{c[C>>2]=(r<<14)+2147467264|D&16383;break}}while(0);D=f<<6;if(v){E=D|2147450925;F=Yd(n,E)|0;G=A+1|0;he(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;Ga=j;return}else{Yd(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=Yd(n,E)|0;G=A+1|0;he(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;Ga=j;return}}function te(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]=Yd(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]=Yd(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 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,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;Ie(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)$d(c[a+12>>2]|0,43615);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=Yd(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)$d(c[a+12>>2]|0,43615);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=Yd(a,n|16387)|0;c[k>>2]=c[r>>2];q=Yd(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)$d(c[a+12>>2]|0,43615);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;$d(G,43615)}else if((o|0)==65){H=a+12|0;I=c[H>>2]|0;$d(I,43615)}}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;$d(G,43615)}else if((o|0)==65){H=a+12|0;I=c[H>>2]|0;$d(I,43615)}}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;$d(T,43615)}else if((o|0)==90){U=a+12|0;V=c[U>>2]|0;$d(V,43615)}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;$d(T,43615)}else if((o|0)==90){U=a+12|0;V=c[U>>2]|0;$d(V,43615)}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 ve(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)$d(c[b+12>>2]|0,44027);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)$d(c[b+12>>2]|0,44027);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:{te(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)$d(c[b+12>>2]|0,44027);else{k=j&255;a[i>>0]=k;o=k;break}else o=j&255;while(0);a[n>>0]=o;ue(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)$d(c[b+12>>2]|0,44027);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);Yd(b,(h<<23)+-8388608|g<<6|4)|0;return}function we(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=Ga;Ga=Ga+32|0;g=f+16|0;h=f;i=d+12|0;if((c[i>>2]|0)!=288)Wd(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]=Ud(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(He(i,k,e,1)|0){Ga=f;return}He(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=re(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]=ye(i,h)|0;a[k+3>>0]=(c[e>>2]|0)==8?8:7;c[e>>2]=9;Ga=f;return}function xe(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;te(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)){ue(b,e,g);i=f}else j=5}else j=5;if((j|0)==5){te(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)$d(c[b+12>>2]|0,44027);else{l=g&255;a[k>>0]=l;m=l;break}else m=g&255;while(0);a[j>>0]=m;ue(b,e,(m&255)+-1|0);i=e+4|0}h=c[i>>2]|0;return h|0}function ye(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=Ga;Ga=Ga+16|0;f=e+8|0;g=e;if((c[d+8>>2]|0)==(c[d+12>>2]|0))te(b,d);else xe(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=re(b,f,g)|0}else{c[f>>2]=(h|0)==2&1;c[f+4>>2]=1;i=re(b,f,f)|0}c[d+4>>2]=i;c[d>>2]=4;j=i|256;Ga=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=Lc(k,f,4)|0;c[l>>2]=m;c[l+4>>2]=(a[m+4>>0]|64)&255;m=re(b,(c[h>>2]|0)+-8|0,g)|0;c[h>>2]=(c[h>>2]|0)+-8;n=m}else n=re(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;Ga=e;return j|0}j=xe(b,d)|0;Ga=e;return j|0}function ze(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=Ga;Ga=Ga+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=ae(p,c[t>>2]|0,n,4,262143,44241)|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=Ma[c[s>>2]&1](c[t>>2]|0,0,9,80)|0;if(!n){if(!(a[s+51>>0]|0))fc(p,4);rc(p,1);u=Ma[c[s>>2]&1](c[t>>2]|0,0,9,80)|0;if(!u)fc(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){qc(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=Ma[c[n>>2]&1](c[w>>2]|0,0,5,32)|0;if(!u){if(!(a[n+51>>0]|0))fc(v,4);rc(v,1);s=Ma[c[n>>2]&1](c[w>>2]|0,0,5,32)|0;if(!s)fc(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]=2059468;a[x+7>>0]=0;c[x+20>>2]=2059468;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)fc(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){gc(v,1000200);hc(v,42862,j)}else{gc(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)Wd(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=Ud(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{pe(e,_d(e,44251,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]=Ud(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}pe(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=Ud(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)$d(e,44256);c[v>>2]=c[q>>2];if((c[o>>2]|0)==286)c[l>>2]=Ud(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)$d(c[C+12>>2]|0,44027);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)Wd(e,41);c[v>>2]=c[q>>2];if((c[o>>2]|0)==286){v=Ud(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:{}}Vd(e);if((G|0)==274)break;G=c[l>>2]|0}c[(c[k>>2]|0)+68>>2]=c[q>>2];me(e,262,265,h);h=c[(c[m>>2]|0)+8>>2]|0;m=Yd(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;te(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;ue(h,f,K);Xd(e);Ga=i;return}if((q&255)>248)$d(c[h+12>>2]|0,44027);q=k&255;a[l>>0]=q;I=q;a[m>>0]=I;J=I&255;K=J+-1|0;ue(h,f,K);Xd(e);Ga=i;return}function Ae(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}ue(b,g,c[f+4>>2]|0);return}case 8:{Yd(b,(xe(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;Yd(b,(ye(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 Be(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=Ga;Ga=Ga+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]=Ud(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}ne(e,f,0)|0;me(e,41,40,m);te(c[j>>2]|0,f);t=p;u=p;v=o;break}case 288:{we(e,f);o=e+20|0;t=o;u=o;v=e+8|0;break}default:$d(e,44172)}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))xe(L,f)|0;c[v>>2]=c[l>>2];if((c[u>>2]|0)==286){M=Ud(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]=Ud(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=re(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]=ye(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))xe(k,f)|0;c[v>>2]=c[l>>2];if((c[u>>2]|0)==286)c[n>>2]=Ud(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}ne(e,h,0)|0;O=c[j>>2]|0;if((c[x>>2]|0)==(c[y>>2]|0))te(O,h);else xe(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]=Ud(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]=ye(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=Ud(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]=Ud(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=re(M,h,h)|0;c[B>>2]=-1;c[C>>2]=-1;c[i>>2]=4;c[D>>2]=L;De(k,f,i);Ee(e,f,m);break}case 123:case 289:case 40:{te(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;ue(k,f,(U&255)+-1|0);Ee(e,f,m);break}default:{Q=58;break a}}if((Q|0)==17)Wd(e,288);else if((Q|0)==32)Wd(e,93);else if((Q|0)==41)Wd(e,288);else if((Q|0)==54)$d(c[k+12>>2]|0,44027);else if((Q|0)==58){Ga=g;return}}function Ce(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=Ga;Ga=Ga+48|0;j=i+24|0;k=i;l=g+4|0;if(((c[l>>2]|0)+-7|0)>>>0>=3)$d(f,51844);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]=Ud(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;Be(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){Yd(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)$d(c[n+12>>2]|0,44027);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)ke(c[f+28>>2]|0,200,43983);else{Ce(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]=Ud(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}ne(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]=Ud(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;te(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;ue(D,j,(F&255)+-1|0);ne(f,j,0)|0;y=t+1|0;if((c[m>>2]|0)==44)t=y;else{G=y;H=p;break b}}$d(c[D+12>>2]|0,44027)}else{G=1;H=f+28|0}while(0);n=c[H>>2]|0;if((G|0)!=(h|0)){ve(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:{}}Ae(n,l,j);Ga=i;return}default:Wd(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;Ae(f,l,j);Ga=i;return}function De(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;xe(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)$d(c[b+12>>2]|0,44027);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;Yd(b,h<<23|l<<6|(ye(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 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,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=Ga;Ga=Ga+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=Ud(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{ne(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]=Ud(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;te(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;ue(w,i,(y&255)+-1|0);ne(b,i,0)|0;if((c[l>>2]|0)!=44){z=i;break c}}$d(c[w+12>>2]|0,44027)}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)$d(c[k+12>>2]|0,44027);else{p=u&255;a[v>>0]=p;A=p;break}else A=u&255;while(0);a[r>>0]=A}while(0);me(b,41,40,f);break}case 123:{Fe(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=re(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]=Ud(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:$d(b,44190)}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=Yd(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;Ga=g;return}default:{te(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)$d(c[k+12>>2]|0,44027);else{y=z&255;a[w>>0]=y;T=y;break}else T=z&255;while(0);a[h>>0]=T;ue(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=Yd(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;Ga=g;return}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;f=Ga;Ga=Ga+32|0;g=f;h=b+28|0;i=c[h>>2]|0;j=b+4|0;k=c[j>>2]|0;l=Yd(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;te(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)$d(c[s+12>>2]|0,44027);else{w=u&255;a[v>>0]=w;x=w;break}else x=u&255;while(0);a[t>>0]=x;ue(s,e,(x&255)+-1|0);x=b+12|0;if((c[x>>2]|0)!=123)Wd(b,123);e=b+8|0;c[e>>2]=c[j>>2];s=b+20|0;if((c[s>>2]|0)==286){t=Ud(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){te(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;ue(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)Yd(i,B<<14|H)|0;else{Yd(i,H)|0;Yd(i,B<<6|52)|0}a[t>>0]=G+1;c[m>>2]=0}}c:do switch(c[x>>2]|0){case 288:{G=Ud(b,u)|0;c[v>>2]=G;if((G|0)==61){Ge(b,g);break c}ne(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:{Ge(b,g);break}default:{ne(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=Ud(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=Ud(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)$d(c[i+12>>2]|0,44027);else if((F|0)==38)ke(c[h>>2]|0,2147483645,44218);else if((F|0)==43)ke(c[h>>2]|0,2147483645,44218)}while(0);me(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)$d(c[i+12>>2]|0,44027);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:{te(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)$d(c[i+12>>2]|0,44027);else{j=s&255;a[b>>0]=j;L=j;break}else L=s&255;while(0);a[I>>0]=L;ue(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)Yd(i,x<<14|h)|0;else{Yd(i,h)|0;Yd(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)Yd(i,h<<14|b)|0;else{Yd(i,b)|0;Yd(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;Ga=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;Ga=f;return}function Ge(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=Ga;Ga=Ga+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]=Ud(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}ne(b,g,0)|0;r=c[i>>2]|0;if((c[g+8>>2]|0)==(c[g+12>>2]|0))te(r,g);else xe(r,g)|0;if((c[m>>2]|0)!=93)Wd(b,93);c[o>>2]=c[n>>2];if((c[p>>2]|0)==286){n=Ud(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)ke(j,2147483645,44218);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]=Ud(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=re(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)Wd(b,61);c[b+8>>2]=c[b+4>>2];t=b+20|0;if((c[t>>2]|0)==286){c[m>>2]=Ud(b,b+16|0)|0;v=ye(j,g)|0;ne(b,h,0)|0;w=d+16|0;x=c[w>>2]|0;y=x+4|0;z=c[y>>2]|0;A=ye(j,h)|0;B=z<<6;C=v<<23;D=A<<14;E=C|B;F=E|D;G=F|10;Yd(j,G)|0;a[k>>0]=l;Ga=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=ye(j,g)|0;ne(b,h,0)|0;w=d+16|0;x=c[w>>2]|0;y=x+4|0;z=c[y>>2]|0;A=ye(j,h)|0;B=z<<6;C=v<<23;D=A<<14;E=C|B;F=E|D;G=F|10;Yd(j,G)|0;a[k>>0]=l;Ga=e;return}}function He(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)?(Fr(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)?(Fr(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(!(He(c[e+8>>2]|0,f,g,0)|0)){i=0;return i|0}else{x=Td(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 Ie(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=Ga;Ga=Ga+16|0;g=f+8|0;h=f;te(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);Yd(b,e<<6|4)|0;break}case 2:case 3:{Yd(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){Yd(b,k|j<<14|1)|0;break a}else{Yd(b,k|2)|0;Yd(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=Lc(k,g,4)|0;c[p>>2]=o;c[p+4>>2]=(a[o+4>>0]|64)&255;o=re(b,(c[j>>2]|0)+-8|0,h)|0;c[j>>2]=(c[j>>2]|0)+-8;q=o}else q=re(b,h,h)|0;o=e<<6;if((q|0)<262144){Yd(b,o|q<<14|1)|0;break a}else{Yd(b,o|2)|0;Yd(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))Yd(b,o<<23|e<<6)|0;break}default:{Ga=f;return}}while(0);c[d+4>>2]=e;c[d>>2]=6;Ga=f;return}function Je(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=Ga;Ga=Ga+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);Ga=h;return}xe(b,f)|0;Me(b,32,f,i,g);Ga=h;return}case 14:{xe(b,f)|0;Me(b,27,f,i,g);Ga=h;return}case 16:{xe(b,f)|0;Me(b,29,f,i,g);Ga=h;return}case 17:{xe(b,f)|0;Me(b,30,f,i,g);Ga=h;return}case 18:{xe(b,f)|0;Me(b,31,f,i,g);Ga=h;return}case 1:{te(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)$d(c[b+12>>2]|0,44027);else{e=j&255;a[k>>0]=e;o=e;break}else o=j&255;while(0);a[m>>0]=o;Ie(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]=Yd(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){Ga=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);Ga=h;return}case 2:{xe(b,f)|0;Me(b,34,f,i,g);Ga=h;return}default:{Ga=h;return}}}function Ke(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:{oe(b,f);return}case 27:{Oe(b,f);return}case 19:{te(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)$d(c[b+12>>2]|0,44027);else{j=h&255;a[i>>0]=j;k=j;break}else k=h&255;while(0);a[e>>0]=k;ue(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;ye(b,f)|0;return}default:{ye(b,f)|0;return}}}function Le(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:{te(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)$d(c[b+12>>2]|0,43615);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:{te(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)$d(c[b+12>>2]|0,43615);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))te(b,g);else xe(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}te(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)$d(c[b+12>>2]|0,44027);else{o=t&255;a[s>>0]=o;u=o;break}else u=t&255;while(0);a[q>>0]=u;ue(b,g,(u&255)+-1|0);Me(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:{Me(b,e+13|0,f,g,h);return}case 22:case 21:case 20:{Ne(b,e+17|0,1,f,g);return}case 25:case 24:case 23:{Ne(b,e+14|0,0,f,g);return}default:return}}function Me(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]=ad(e+-13|0,c[j>>2]|0,i)|0;return}if((e|2|0)==34)k=0;else k=ye(b,g)|0;i=ye(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]=Yd(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 Ne(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=ye(b,g)|0;j=ye(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;Yd(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=Yd(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)$d(c[b+12>>2]|0,43615);c[n>>2]=(k<<14)+2147467264|o&16383;l=j;m=g+4|0;c[m>>2]=l;c[g>>2]=10;return}function Oe(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;te(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;Yd(b,k>>>23<<6|40)|0;k=b+28|0;l=c[k>>2]|0;c[k>>2]=-1;k=Yd(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)$d(c[b+12>>2]|0,43615);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)$d(c[b+12>>2]|0,44027);else{u=o&255;a[m>>0]=u;w=u;break}else w=o&255;while(0);a[f>>0]=w;Ie(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){Yd(b,c[x>>2]<<23|32745)|0;v=b+28|0;t=c[v>>2]|0;c[v>>2]=-1;v=Yd(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)$d(c[b+12>>2]|0,43615);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)$d(c[b+12>>2]|0,43615);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)$d(c[b+12>>2]|0,43615);c[C>>2]=(A<<14)+2147467264|D&16383;c[B>>2]=-1;return}function Pe(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=Ga;Ga=Ga+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=La[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=La[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)$d(a,44671);else{Ga=b;return}}function Qe(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=Ga;Ga=Ga+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)ie(b,43843,0);o=n<<1;p=c[b+32>>2]|0;if((o|0)==-2)sc(p);q=c[i>>2]|0;r=c[p+12>>2]|0;s=(q|0)==0;t=r+4|0;u=Ma[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))fc(p,4);rc(p,1);v=Ma[c[r>>2]&1](c[t>>2]|0,q,n,o)|0;if(!v)fc(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=La[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;Ga=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=Ma[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}rc(I,1);r=Ma[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=La[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)ie(b,43843,0);else if((H|0)==24)sc(I);else if((H|0)==28)fc(I,4);else if((H|0)==36){E=(D|0)!=(g|0);F=E<<31>>31;G=C^F;Ga=e;return G|0}return 0}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,U=0,V=0,W=0,X=0,Y=0;g=Ga;Ga=Ga+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)ie(b,43843,0);q=p<<1;r=c[b+32>>2]|0;if((q|0)==-2)sc(r);s=c[k>>2]|0;t=c[r+12>>2]|0;u=(s|0)==0;v=t+4|0;w=Ma[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))fc(r,4);rc(r,1);x=Ma[c[t>>2]&1](c[v>>2]|0,s,p,q)|0;if(!x)fc(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=La[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:{Pe(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((Qe(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=Ma[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}rc(F,1);t=Ma[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;Pe(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=La[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=Ma[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}rc(M,1);p=Ma[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=La[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)ie(b,D?44624:44648,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)ie(b,43843,0);K=L<<1;J=c[B>>2]|0;if((K|0)==-2)sc(J);B=c[R>>2]|0;I=c[J+12>>2]|0;H=(B|0)==0;G=I+4|0;C=Ma[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))fc(J,4);rc(J,1);l=Ma[c[I>>2]&1](c[G>>2]|0,B,L,K)|0;if(!l)fc(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=La[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){Ga=g;return}D=c[j>>2]|0;j=f+2|0;c[e>>2]=_d(b,(c[D>>2]|0)+j|0,(c[D+4>>2]|0)-(j<<1)|0)|0;Ga=g;return}else if((E|0)==43)ie(b,43843,0);else if((E|0)==45)sc(F);else if((E|0)==49)fc(F,4);else if((E|0)==58)ie(b,43843,0);else if((E|0)==60)sc(M);else if((E|0)==64)fc(M,4)}function Se(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;Te(a,92);a:do if((d|0)>0){f=0;do{g=c[b+(f<<2)>>2]|0;if((g|0)==-1)break a;Te(a,g);f=f+1|0}while((f|0)<(d|0))}while(0);ie(a,e,289)}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;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)ie(b,43843,0);g=j<<1;h=c[b+32>>2]|0;if((g|0)==-2)sc(h);b=Ue(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 Ue(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=Ma[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))fc(b,4);rc(b,1);k=Ma[c[g>>2]&1](c[i>>2]|0,d,e,f)|0;if(!k)fc(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 Ve(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ga;Ga=Ga+16|0;e=d;d=c[a>>2]|0;c[e>>2]=c[a+12>>2];c[e+4>>2]=b;fd(d,44778,e)|0;fc(c[a>>2]|0,3)}function We(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,Ha=0,Ia=0,Ja=0,Ka=0,Na=0,Oa=0;e=Ga;Ga=Ga+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=La[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;ju(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)Ve(b,44719);o=c[g>>2]|0;if((o|0)<0)Ve(b,44768);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=La[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;ju(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)Ve(b,44719);t=c[g>>2]|0;if((t|0)<0)Ve(b,44768);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=La[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;ju(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)Ve(b,44719);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=La[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;ju(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)Ve(b,44719);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=La[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;ju(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)Ve(b,44719);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=La[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;ju(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)Ve(b,44719);B=c[g>>2]|0;if((B|0)<0)Ve(b,44768);C=c[b>>2]|0;if((B+1|0)>>>0>1073741823)sc(C);x=B<<2;l=c[C+12>>2]|0;z=l+4|0;E=Ma[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))fc(C,4);rc(C,1);D=Ma[c[l>>2]&1](c[z>>2]|0,0,0,x)|0;if(!D)fc(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=La[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;ju(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)Ve(b,44719);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=La[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;ju(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)Ve(b,44719);p=c[g>>2]|0;if((p|0)<0)Ve(b,44768);x=c[b>>2]|0;if((p+1|0)>>>0>536870911)sc(x);F=p<<3;z=c[x+12>>2]|0;I=z+4|0;K=Ma[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))fc(x,4);rc(x,1);J=Ma[c[z>>2]&1](c[I>>2]|0,0,0,F)|0;if(!J)fc(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=La[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;ju(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=La[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;ju(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=La[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;ju(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=La[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;ju(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=Xe(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=La[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;ju(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=gd(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)Ve(b,44719);else if((s|0)==98)Ve(b,44719);else if((s|0)==106)Ve(b,44719);else if((s|0)==114)Ve(b,44719);else if((s|0)==122)Ve(b,44719)}}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=La[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;ju(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)Ve(b,44719);U=c[g>>2]|0;if((U|0)<0)Ve(b,44768);W=c[b>>2]|0;if((U+1|0)>>>0>1073741823)sc(W);X=U<<2;T=c[W+12>>2]|0;F=T+4|0;Z=Ma[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))fc(W,4);rc(W,1);Y=Ma[c[T>>2]&1](c[F>>2]|0,0,0,X)|0;if(!Y)fc(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=Ma[c[Y>>2]&1](c[W>>2]|0,0,9,80)|0;if(!F){if(!(a[Y+51>>0]|0)){s=152;break}rc($,1);V=Ma[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;We(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)fc($,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=La[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:_;ju(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)Ve(b,44719);T=c[g>>2]|0;if((T|0)<0)Ve(b,44768);_=c[b>>2]|0;if((T+1|0)>>>0>536870911)sc(_);Z=T<<3;F=c[_+12>>2]|0;$=F+4|0;ca=Ma[c[F>>2]&1](c[$>>2]|0,0,0,Z)|0;if((Z|0)!=0&(ca|0)==0){if(!(a[F+51>>0]|0))fc(_,4);rc(_,1);ba=Ma[c[F>>2]&1](c[$>>2]|0,0,0,Z)|0;if(!ba)fc(_,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=La[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;ju(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=La[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:$;ju(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)Ve(b,44719);else if((s|0)==186)Ve(b,44719)}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){$=La[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;ju(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)Ve(b,44719);ca=c[g>>2]|0;do if(ca){da=Xe(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){$=La[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;ju(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)Ve(b,44719);else if((s|0)==203){ma=gd(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=La[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;ju(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)Ve(b,44719);ia=c[g>>2]|0;if((ia|0)<0)Ve(b,44768);fa=c[b>>2]|0;if((ia+1|0)>>>0>1073741823)sc(fa);ha=ia<<2;ga=c[fa+12>>2]|0;ma=ga+4|0;oa=Ma[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))fc(fa,4);rc(fa,1);na=Ma[c[ga>>2]&1](c[ma>>2]|0,0,0,ha)|0;if(na|0){pa=na;break}fc(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=La[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;ju(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)Ve(b,44719);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=La[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;ju(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)Ve(b,44719);ka=c[g>>2]|0;if((ka|0)<0)Ve(b,44768);ha=c[b>>2]|0;if((ka+1|0)>>>0>357913941)sc(ha);pa=ka*12|0;na=c[ha+12>>2]|0;sa=na+4|0;ua=Ma[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))fc(ha,4);rc(ha,1);ta=Ma[c[na>>2]&1](c[sa>>2]|0,0,0,pa)|0;if(ta|0){va=ta;break}fc(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=La[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;ju(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=Xe(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=La[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;ju(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=gd(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=La[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;ju(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=La[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;ju(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)Ve(b,44719);else if((s|0)==261)Ve(b,44719);else if((s|0)==269)Ve(b,44719);else if((s|0)==271)Ve(b,44768);else if((s|0)==278)Ve(b,44719);else if((s|0)==280)Ve(b,44768)}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=La[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;Ha=za}else{Fa=Aa;Ha=c[Ca>>2]|0}za=Ba>>>0>Fa>>>0?Fa:Ba;ju(ya|0,Ha|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)Ve(b,44719);ya=c[g>>2]|0;if((ya|0)<0)Ve(b,44768);if(!ya){Ga=e;return}Ba=b+8|0;Ca=0;h:while(1){Aa=c[h>>2]|0;ka=Aa+16|0;Ha=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=La[c[Ha>>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;Ia=wa;Ja=xa}else{Ia=za;Ja=c[Da>>2]|0}xa=pa>>>0>Ia>>>0?Ia:pa;ju(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=Xe(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;Ha=Ea;xa=pa;wa=c[Da>>2]|0;while(1){if(!wa){va=La[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;Na=ua;Oa=va}else{Na=wa;Oa=c[ka>>2]|0}va=Ha>>>0>Na>>>0?Na:Ha;ju(xa|0,Oa|0,va|0)|0;wa=(c[Da>>2]|0)-va|0;c[Da>>2]=wa;c[ka>>2]=(c[ka>>2]|0)+va;Ha=Ha-va|0;if(!Ha)break;else xa=xa+va|0}Ka=gd(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)Ve(b,44719);else if((s|0)==307)Ve(b,44719);else if((s|0)==310){Ga=e;return}}function Xe(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)sc(b);e=c[d>>2]|0;j=c[b+12>>2]|0;k=(e|0)==0;l=j+4|0;m=Ma[c[j>>2]&1](c[l>>2]|0,e,g,i)|0;if(!m){if(!(a[j+51>>0]|0))fc(b,4);rc(b,1);n=Ma[c[j>>2]&1](c[l>>2]|0,e,g,i)|0;if(!n)fc(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 Ye(b){b=b|0;a[b+6>>0]=0;c[b+16>>2]=b+72;return}function Ze(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:{rc(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;vc(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;vc(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 Qc(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;Vc(b)|0;l=(c[g>>2]|0)+49|0;if(1<>0]&-29|0){i=0;return i|0}do Qc(b)|0;while(!(1<>0]&-29|0));i=0;return i|0}default:{i=-1;return i|0}}while(0);return 0}function _e(a){a=a|0;kc(a);return 0}function $e(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]|0)==22)f=2059440;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2059440: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:2059440}while(0);b=c[f>>2]|0;f=a+8|0;e=c[f>>2]|0;g=e+-8|0;i=af(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 af(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=Ga;Ga=Ga+16|0;f=e;g=d+4|0;switch(c[g>>2]|0){case 3:{h=2;break}case 0:{i=-1;Ga=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;Ga=e;return i|0}k=dd(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(Ac(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)hc(a,44803,f);i=((k-(c[b+16>>2]|0)|0)/20|0)+(c[b+28>>2]|0)|0;Ga=e;return i|0}function bf(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=Lc(b,2998896,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{vc(b);break}while(0);yc(b,d);return}function cf(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=Ga;Ga=Ga+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;Bd(b,54248,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{vc(b);break}while(0);J=Lc(b,44825,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{vc(b);break}while(0);z=Lc(b,44842,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{df(d,44848,n)|0;c[l>>2]=F;Bd(b,44853,l)|0;z=c[e>>2]|0;if((z|0)>0){c[k>>2]=z<<16;Bd(b,44859,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{vc(b);break}while(0);y=Lc(b,44863,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{vc(b);break}while(0);A=Lc(b,44882,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(!(ef(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{vc(b);break}while(0);z=Lc(b,43110,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(!(rd(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{vc(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;Bd(b,44868,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;Bd(b,44893,h)|0;break a}}else{c[j>>2]=c[H>>2];Bd(b,44868,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{vc(b);break}while(0);z=Lc(b,44910,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=Lc(b,2998896,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{vc(b);break}while(0);yc(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){Ga=g;return}q=Lc(b,2998896,0)|0;c[L>>2]=q;c[L+4>>2]=(a[q+4>>0]|64)&255;c[o>>2]=(c[o>>2]|0)+8;Ga=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{vc(b);break}while(0);yc(b,O);Ga=g;return}function df(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;g=Ga;Ga=Ga+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?44936: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?44939:44944}else{c[q>>2]=44931;c[r>>2]=-1;c[s>>2]=-1;S=44931;T=59585}c[t>>2]=T;Q=ss(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{ju(u|0,R|0,Q|0)|0;X=N;break b}break}case 64:{if(Q>>>0>60){a[u>>0]=a[43467]|0;a[u+1>>0]=a[43468]|0;a[u+2>>0]=a[43469]|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{ju(u|0,S+1|0,Q|0)|0;X=N;break b}break}default:{R=Es(S,10)|0;U=u;V=43471;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){ju(E|0,S|0,Q|0)|0;Y=E+Q|0}else{Z=P?Q:R-S|0;P=Z>>>0<45?Z:45;ju(E|0,S|0,P|0)|0;Z=E+P|0;a[Z>>0]=a[43467]|0;a[Z+1>>0]=a[43468]|0;a[Z+2>>0]=a[43469]|0;Y=Z+3|0};a[Y>>0]=a[43481]|0;a[Y+1>>0]=a[43482]|0;a[Y+2>>0]=a[43483]|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=Oc(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]=44948;ca=44948;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=44961}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]=2998896;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(Es(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(!(Es(k,76)|0)){Ga=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=Ma[c[X>>2]&1](c[j>>2]|0,0,5,32)|0;if(!ca){if(!(a[X+51>>0]|0))fc(b,4);rc(b,1);m=Ma[c[X>>2]&1](c[j>>2]|0,0,5,32)|0;if(!m)fc(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]=2059468;j=fa+7|0;a[j>>0]=0;c[fa+20>>2]=2059468;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){Ga=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){ea=95;break d}else V=S}ga=V;ea=94}while(0);if((ea|0)==94){ea=0;if((ga|0)==2059440)ea=95;else ha=ga}if((ea|0)==95){ea=0;c[h>>2]=_;c[da>>2]=3;ha=uc(b,fa,h)|0}c[ha>>2]=1;c[ha+4>>2]=1;$=$+1|0}while(($|0)<(c[(c[k>>2]|0)+52>>2]|0));Ga=g;return o|0}k=b+8|0;b=c[k>>2]|0;c[b+4>>2]=0;c[k>>2]=b+8;Ga=g;return o|0}function ef(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;df(a,56244,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=2059440;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(ff(a,i,2)|0){jd(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 ff(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)==2059440){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(!($e(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)!=2059440?(c[o+-12>>2]&15|0)==4:0){p=(c[c[h>>2]>>2]|0)+(e<<3)|0;q=p>>>0>>0?p:2059440;p=o+-8|0;if(((p|0)!=2059440&(q|0)!=2059440?(c[q+4>>2]|0)==(c[o+-4>>2]|0):0)?Ac(0,q,p)|0:0){r=27;break a}if(ff(b,e,j)|0)break a;s=c[i>>2]|0}else s=o;c[i>>2]=s+-8;if(!($e(b,-2)|0)){g=0;break}}return g|0}else{while(1){o=c[i>>2]|0;if((o+-16|0)!=2059440?(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]|0)!=22){u=c[q>>2]|0;t=(m|0)>(d[u+6>>0]|0)?2059440: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)!=2059440&(t|0)!=2059440):0)?(c[t+4>>2]|0)==(c[o+-4>>2]|0):0)?Ac(0,t,p)|0:0){r=27;break a}if(ff(b,e,j)|0)break a;v=c[i>>2]|0}else v=o;c[i>>2]=v+-8;if(!($e(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{vc(b);break}while(0);v=Lc(b,66873,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{vc(b);break}while(0);yc(b,3);g=1;return g|0}function gf(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=Ga;Ga=Ga+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;hf(b,44972,i)|0}c[j+96>>2]=f;df(b,44994,j)|0;if(!(is(c[j+8>>2]|0,43198)|0)){f=d+-1|0;if(!f){c[h>>2]=c[j+4>>2];c[h+4>>2]=e;hf(b,44996,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;hf(b,45026,g)|0}do if(!(ef(b,j)|0))o=43110;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(!(rd(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{vc(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;hf(b,45026,g)|0;return 0}function hf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ga;Ga=Ga+16|0;f=e;c[f>>2]=d;jf(a,1);Ad(a,b,f)|0;bf(a,2);_e(a)|0;return 0}function jf(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=Ga;Ga=Ga+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,df(b,45056,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;Bd(b,45059,f)|0;c[514862]=c[n>>2];Ga=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{vc(b);break}while(0);f=Lc(b,2998896,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;Ga=e;return}function kf(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=Ga;Ga=Ga+16|0;g=f;h=qd(a,b,e)|0;if(h|0){Ga=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]|0)!=22?(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)==2059440)l=0;else l=(c[j+4>>2]&15)+1|0;j=c[16+(l<<2)>>2]|0;c[g>>2]=42830;c[g+4>>2]=j;gf(a,b,Bd(a,45067,g)|0)|0;Ga=f;return h|0}function lf(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]|0)!=22?(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)!=2059440:0)?c[i+4>>2]&15|0:0){m=kf(a,b,f)|0;return m|0}if(!f){m=e;return m|0}if(!e)n=0;else n=ss(e)|0;c[f>>2]=n;m=e;return m|0}function mf(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=Ga;Ga=Ga+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]|0)==22)k=2059440;else{n=c[m>>2]|0;k=(l|0)>(d[n+6>>0]|0|0)?2059440: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:2059440}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(!(Ec(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]|0)!=22?(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)==2059440)s=0;else s=(c[q+4>>2]&15)+1|0;n=c[16+(s<<2)>>2]|0;c[f>>2]=42823;c[f+4>>2]=n;gf(a,b,Bd(a,45067,f)|0)|0;u=0;Ga=e;return u|0}while(0);u=o>>16;Ga=e;return u|0}function nf(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 of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Ga;Ga=Ga+16|0;e=d;f=ss(b)|0;c[e>>2]=b;c[e+4>>2]=f;f=Od(a,4,e,b,0)|0;Ga=d;return f|0}function pf(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]|0)==22)g=2059440;else{j=c[i>>2]|0;g=(h|0)>(d[j+6>>0]|0|0)?2059440: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:2059440}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;yd(a,e)|0;e=c[k>>2]|0;a=tc(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)!=2059440?(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 qf(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=Ga;Ga=Ga+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(!(pf(a,i,f)|0)){j=0;Ga=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]|0)==22)k=2059440;else{m=c[l>>2]|0;k=(e|0)>(d[m+6>>0]|0|0)?2059440: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:2059440}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)hc(a,42877,h);if((f&65535)>224)fc(a,6)}f=a+36|0;b[f>>1]=(b[f>>1]|0)+1<<16>>16;if(!(lc(a,i,1)|0))mc(a);b[f>>1]=(b[f>>1]|0)+-1<<16>>16;b[k>>1]=(b[k>>1]|0)+-1<<16>>16;j=1;Ga=g;return j|0}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;g=Ga;Ga=Ga+16|0;h=g;a:do if(!(qf(b,e,45132)|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;if((c[k+4>>2]|0)!=22){q=c[k>>2]|0;if((l|0)>(d[q+6>>0]|0)){r=l;s=k;n=46}else{m=q+16+(l+-1<<3)|0;n=10}}else t=0}while(0);do if((n|0)==10){b:do if((m|0)!=2059440)switch(c[m+4>>2]&15){case 4:case 3:{do if(!j){if((e|0)>=-1000999){u=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){u=(c[b+12>>2]|0)+36|0;break}l=-1001e3-e|0;q=c[i>>2]|0;if((c[q+4>>2]|0)==22)u=2059440;else{k=c[q>>2]|0;u=(l|0)>(d[k+6>>0]|0)?2059440:k+16+(l+-1<<3)|0}}else{l=(c[i>>2]|0)+(e<<3)|0;u=l>>>0<(c[b+8>>2]|0)>>>0?l:2059440}while(0);l=b+8|0;k=c[l>>2]|0;c[k>>2]=c[u>>2];c[k+4>>2]=c[u+4>>2];c[l>>2]=(c[l>>2]|0)+8;break a;break}case 1:{do if(!j){if((e|0)>=-1000999){v=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){v=(c[b+12>>2]|0)+36|0;break}l=-1001e3-e|0;k=c[i>>2]|0;if((c[k+4>>2]|0)==22)v=2059440;else{q=c[k>>2]|0;v=(l|0)>(d[q+6>>0]|0)?2059440:q+16+(l+-1<<3)|0}}else{l=(c[i>>2]|0)+(e<<3)|0;v=l>>>0<(c[b+8>>2]|0)>>>0?l:2059440}while(0);switch(c[v+4>>2]|0){case 0:{n=31;break}case 1:{if(!(c[v>>2]|0))n=31;else w=52595;break}default:w=52595}if((n|0)==31)w=52600;yd(b,w)|0;break a;break}case 0:{l=c[b+12>>2]|0;q=l+12|0;k=c[q>>2]|0;do if((k|0)>0)if(!(a[l+51>>0]|0)){x=l+8|0;c[x>>2]=k+1600+(c[x>>2]|0);c[q>>2]=-1600;break}else{vc(b);break}while(0);q=Lc(b,52419,3)|0;k=b+8|0;l=c[k>>2]|0;c[l>>2]=q;c[l+4>>2]=(a[q+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){y=(c[b+8>>2]|0)+(e<<3)|0;n=47;break}if((e|0)!=-1001e3){k=c[i>>2]|0;if((c[k+4>>2]|0)==22){t=0;break}else{r=-1001e3-e|0;s=k;n=46;break}}else{y=(c[b+12>>2]|0)+36|0;n=47;break}}while(0);if((n|0)==40)if(o>>>0

>>0){y=o;n=47}else t=0;else if((n|0)==46){i=c[s>>2]|0;if((r|0)>(d[i+6>>0]|0))t=0;else{y=i+16+(r+-1<<3)|0;n=47}}if((n|0)==47)if((y|0)==2059440)t=0;else t=(c[y+4>>2]&15)+1|0;i=c[16+(t<<2)>>2]|0;j=td(b,e)|0;c[h>>2]=i;c[h+4>>2]=j;Bd(b,45143,h)|0}while(0);h=b+8|0;e=c[h>>2]|0;t=e+-8|0;if((c[e+-4>>2]&15|0)==4)z=t;else{if(!(rd(b,t)|0)){if(!f){A=0;Ga=g;return A|0}c[f>>2]=0;A=0;Ga=g;return A|0}t=c[b+12>>2]|0;e=t+12|0;y=c[e>>2]|0;do if((y|0)>0)if(!(a[t+51>>0]|0)){n=t+8|0;c[n>>2]=y+1600+(c[n>>2]|0);c[e>>2]=-1600;break}else{vc(b);break}while(0);z=(c[h>>2]|0)+-8|0}if(f|0)c[f>>2]=c[(c[z>>2]|0)+12>>2];A=(c[z>>2]|0)+16|0;Ga=g;return A|0}function sf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=Ga;Ga=Ga+16|0;g=Ma[d&1](e,0,8,424)|0;if(!g){h=0;Ga=f;return h|0}i=g+112|0;c[g>>2]=0;a[g+4>>0]=8;a[g+160>>0]=33;a[g+5>>0]=1;a[g+162>>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+116>>2]=e;c[g+256>>2]=g;e=g;d=f;i=(Da(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)+(2059440>>>24&255)+(i<<5)^i;i=(j>>>2)+(2059440>>>16&255)+(j<<5)^j;j=(i>>>2)+(2059440>>>8&255)+(i<<5)^i;i=(j>>>2)+176+(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+156>>2]=(j>>>2)+(e&255)+(j<<5)^j;j=g+208|0;c[g+220>>2]=j;c[g+224>>2]=j;a[g+163>>0]=0;j=g+132|0;c[g+152>>2]=0;c[g+228>>2]=0;c[g+236>>2]=0;c[g+252>>2]=0;c[g+260>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;a[g+161>>0]=5;j=g+120|0;e=g+168|0;i=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(i|0));c[j>>2]=424;c[g+124>>2]=0;c[g+240>>2]=200;c[g+244>>2]=200;c[g+248>>2]=200;e=g+388|0;i=e+36|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(i|0));if(!(ec(g,4,0)|0)){h=g;Ga=f;return h|0}uf(g);h=0;Ga=f;return h|0}function tf(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=Ga;Ga=Ga+16|0;f=e;g=b+12|0;h=c[g>>2]|0;i=h+4|0;j=Ma[c[h>>2]&1](c[i>>2]|0,0,0,320)|0;if(!j){if(!(a[h+51>>0]|0))fc(b,4);rc(b,1);k=Ma[c[h>>2]&1](c[i>>2]|0,0,0,320)|0;if(!k)fc(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=Ma[c[k>>2]&1](c[l>>2]|0,0,5,32)|0;if(!j){if(!(a[k+51>>0]|0))fc(b,4);rc(b,1);i=Ma[c[k>>2]&1](c[l>>2]|0,0,5,32)|0;if(!i)fc(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]=2059468;l=m+7|0;a[l>>0]=0;c[m+20>>2]=2059468;c[h+36>>2]=m;c[h+40>>2]=69;Fc(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)==2059440)q=17;else s=r;if((q|0)==17){c[f>>2]=1;c[f+4>>2]=3;s=uc(b,m,f)|0}c[s>>2]=n;c[s+4>>2]=72;s=c[g>>2]|0;n=s+4|0;r=Ma[c[s>>2]&1](c[n>>2]|0,0,5,32)|0;if(!r){if(!(a[s+51>>0]|0))fc(b,4);rc(b,1);p=Ma[c[s>>2]&1](c[n>>2]|0,0,5,32)|0;if(!p)fc(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]=2059468;a[t+7>>0]=0;c[t+20>>2]=2059468;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)==2059440)q=30;else v=u;if((q|0)==30){c[f>>2]=2;c[f+4>>2]=3;v=uc(b,m,f)|0}c[v>>2]=r;c[v+4>>2]=69;Pc(b,32);v=0;do{r=c[864+(v<<2)>>2]|0;f=gd(b,r,ss(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=gd(b,g,ss(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=Lc(b,46067,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]=34452;Ga=e;return}function uf(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;zc(a,c[e>>2]|0);vf(a);f=c[b>>2]|0;g=c[f+24>>2]|0;h=c[f+32>>2]<<2;Ma[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=Ma[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;Ma[m&1](o,a,424,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;Ma[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;Ma[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;Ma[m&1](o,a,424,0)|0;return}function vf(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];Wc(b,o);u=i}else{if(h&p|0)break;if((a[o+4>>0]|0)==8)Xc(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];Wc(b,h);v=j}else{if(s&g|0)break a;if((a[h+4>>0]|0)==8)Xc(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];Wc(b,g);x=n}else{if(i&m|0)break;if((a[g+4>>0]|0)==8)Xc(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 wf(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)==2059440){gf(a,1,45087)|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:2059440;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;pf(a,1,45346)|0;return 1}return 0}function xf(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=Ga;Ga=Ga+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)==2059440)k=-1;else k=c[g+20>>2]&15;h=g+8|0;if(!(h>>>0>=j>>>0|(h|0)==2059440)){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]=42837;c[e+4>>2]=m;gf(a,1,Bd(a,45067,e)|0)|0}switch(k|0){case 0:case 5:break;default:gf(a,2,45358)|0}if(pf(a,1,45346)|0)hf(a,45380,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;Jd(a,1)|0;Ga=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;Jd(a,1)|0;Ga=b;return 1}function yf(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)==2059440){gf(a,1,45087)|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)==2059440){gf(a,2,45087)|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:2059440;i=j>>>0>>0?j:2059440;if((k|0)!=2059440&(i|0)!=2059440?(c[k+4>>2]|0)==(c[i+4>>2]|0):0){j=(Ac(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 zf(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)==2059440)?(c[d+12>>2]&14|1|0)==5:0){h=e;i=g}else{gf(a,1,45416)|0;h=(c[c[b>>2]>>2]|0)+8|0;i=c[f>>2]|0}b=h>>>0>>0?h:2059440;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=$c(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 Af(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=Ga;Ga=Ga+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)==2059440)){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]=42837;c[d+4>>2]=m;gf(a,1,Bd(a,45067,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)==2059440){gf(a,2,45087)|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=tc(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;Ga=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=tc(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;Ga=b;return 1}function Bf(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=Ga;Ga=Ga+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)==2059440)){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]=42837;c[e+4>>2]=n;gf(b,1,Bd(b,45067,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)==2059440){gf(b,2,45087)|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)==2059440){gf(b,3,45087)|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=tc(o,f)|0;if((r|0)==2059440)s=uc(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;Ga=d;return 1}if(!(a[(c[q+-8>>2]|0)+5>>0]&3)){t=q;u=t+-16|0;c[i>>2]=u;Ga=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;Ga=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;Ga=d;return 1}function Cf(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)==2059440){gf(a,1,45087)|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)==2059440){l=0;m=16+(l<<2)|0;n=c[m>>2]|0;yd(a,n)|0;return 1}l=(c[k+12>>2]&15)+1|0;m=16+(l<<2)|0;n=c[m>>2]|0;yd(a,n)|0;return 1}function Df(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=Ga;Ga=Ga+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)==2059440)){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]=42837;c[d+4>>2]=m;gf(a,1,Bd(a,45067,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($e(a,1)|0){n=2;Ga=b;return n|0}a=c[h>>2]|0;c[a+4>>2]=0;c[h>>2]=a+8;n=1;Ga=b;return n|0}function Ef(a){a=a|0;Ff(a,45441,0,4);return 3}function Ff(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=Ga;Ga=Ga+16|0;h=g+8|0;i=g;j=(pf(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)==2059440|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]=42837;c[i+4>>2]=r;gf(a,1,Bd(a,45067,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:2059440;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;Ga=g;return}else{c[p>>2]=0;c[d+12>>2]=3;c[m>>2]=(c[m>>2]|0)+8;Ga=g;return}}else{d=o?l:2059440;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)hc(a,42877,h);if((n&65535)>224)fc(a,6)}n=a+36|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16;if(!(lc(a,m,3)|0))mc(a);b[n>>1]=(b[n>>1]|0)+-1<<16>>16;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;Ga=g;return}}function Gf(a){a=a|0;Ff(a,45449,1,5);return 3}function Hf(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=Ga;Ga=Ga+16|0;e=b;f=mf(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)==2059440)){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]=42837;c[e+4>>2]=n;gf(a,1,Bd(a,45067,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:2059440)>>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=2059440;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)==2059440){Ga=b;return 2}else{Ga=b;return ((c[o+4>>2]&15|0)==0?1:2)|0}return 0} function Sa(a){a=a|0;var b=0;b=Ga;Ga=Ga+a|0;Ga=Ga+15&-16;return b|0}function Ta(){return Ga|0}function Ua(a){a=a|0;Ga=a}function Va(a,b){a=a|0;b=b|0;Ga=a;Ha=b}function Wa(){return c[(c[(c[c[694285]>>2]|0)+16>>2]|0)+12>>2]|0}function Xa(){var a=0,b=0;a=c[731748]|0;c[731748]=a+6;if((a|0)<=116)return;c[731748]=a;a=0;b=c[694267]|0;do{ao(b,b,0,a+6|0,0,a,128,1);a=a+1|0;b=c[694267]|0}while((a|0)!=122);nm(b,0,122,127,127,0);Mg(65536);return}function Ya(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=Ga;Ga=Ga+208|0;d=b+200|0;e=b+192|0;f=b+184|0;g=b+176|0;h=b+168|0;i=b+160|0;j=b+152|0;k=b+144|0;l=b+136|0;m=b+128|0;n=b+120|0;o=b+112|0;p=b+104|0;q=b+96|0;r=b+88|0;s=b+80|0;t=b+72|0;u=b+64|0;v=b+8|0;w=b;x=b+204|0;if(!(Gr(a,35080,9)|0))qn(a+10|0,2916968)|0;if(!(Gr(a,35090,10)|0))qn(a+11|0,2919016)|0;if(!(Gr(a,35101,14)|0)){c[w>>2]=1622252;gt(a+14|0,35116,w)|0}if(!(Gr(a,35120,11)|0)){c[v>>2]=1622284;c[v+4>>2]=1622288;c[v+8>>2]=1622292;c[v+12>>2]=1622296;c[v+16>>2]=1622300;c[v+20>>2]=1622304;c[v+24>>2]=1622308;c[v+28>>2]=1622312;c[v+32>>2]=1622316;c[v+36>>2]=1622320;c[v+40>>2]=1622324;c[v+44>>2]=1622328;c[v+48>>2]=1622332;gt(a+11|0,35132,v)|0}if(!(Gr(a,35172,10)|0)){c[u>>2]=1622412;gt(a+10|0,35116,u)|0}if(!(Gr(a,35183,11)|0)){c[t>>2]=1622436;gt(a+11|0,35116,t)|0}if(!(Gr(a,46522,7)|0)){c[s>>2]=1622440;gt(a+7|0,35116,s)|0}if((Gr(a,56808,6)|0)==0?(c[r>>2]=2022276,gt(a+6|0,35116,r)|0,c[515432]|0):0)c[515432]=c[505569];if(!(Gr(a,35195,9)|0)){c[q>>2]=1622448;gt(a+9|0,35116,q)|0}if(!(Gr(a,46876,16)|0)){c[p>>2]=1622424;gt(a+16|0,35116,p)|0}if(!(Gr(a,46777,9)|0)){c[o>>2]=1622428;gt(a+9|0,35116,o)|0}if(!(Gr(a,35205,12)|0)){c[n>>2]=1622464;gt(a+12|0,35116,n)|0}if(!(Gr(a,35218,20)|0)){c[m>>2]=2021716;gt(a+20|0,35116,m)|0}if(!(Gr(a,35239,22)|0)){c[l>>2]=2021720;gt(a+22|0,35116,l)|0}if(!(Gr(a,35262,14)|0)){c[k>>2]=x;gt(a+14|0,35116,k)|0;c[405618]=(c[x>>2]|0)==2&1}if(!(Gr(a,46233,13)|0)){c[j>>2]=1622472;gt(a+13|0,35116,j)|0}if(!(Gr(a,46982,9)|0)){c[i>>2]=1622416;gt(a+9|0,35116,i)|0}if(!(Gr(a,35277,9)|0)){c[h>>2]=1622420;gt(a+9|0,35116,h)|0}if(!(Gr(a,35287,19)|0)){c[g>>2]=1622276;gt(a+19|0,35116,g)|0}if(!(Gr(a,35307,19)|0)){c[f>>2]=1622272;gt(a+19|0,35116,f)|0}if(!(Gr(a,35327,22)|0)){c[e>>2]=1622280;gt(a+22|0,35116,e)|0}if(Gr(a,35350,11)|0){Ga=b;return 0}c[d>>2]=1622456;gt(a+11|0,35116,d)|0;Ga=b;return 0}function Za(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;b=Ga;Ga=Ga+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+56|0;C=b+48|0;D=b+40|0;E=b+32|0;F=b+24|0;G=b+16|0;H=b+8|0;I=b;J=a+8|0;a=c[J>>2]|0;c[I>>2]=35375;ot(a,35362,I)|0;xt(35382,25,1,c[J>>2]|0)|0;I=c[J>>2]|0;c[H>>2]=c[505569];ot(I,35408,H)|0;xt(35420,37,1,c[J>>2]|0)|0;H=c[J>>2]|0;c[G>>2]=2916968;ot(H,35458,G)|0;xt(35473,36,1,c[J>>2]|0)|0;G=c[J>>2]|0;c[F>>2]=2919016;ot(G,35510,F)|0;xt(35526,65,1,c[J>>2]|0)|0;F=c[J>>2]|0;c[E>>2]=c[405563];ot(F,35592,E)|0;xt(35612,70,1,c[J>>2]|0)|0;xt(35683,12,1,c[J>>2]|0)|0;E=c[J>>2]|0;c[D>>2]=c[405571];ot(E,35696,D)|0;D=c[J>>2]|0;c[C>>2]=c[405572];ot(D,35696,C)|0;C=c[J>>2]|0;c[B>>2]=c[405573];ot(C,35696,B)|0;B=c[J>>2]|0;c[A>>2]=c[405574];ot(B,35696,A)|0;A=c[J>>2]|0;c[z>>2]=c[405575];ot(A,35696,z)|0;z=c[J>>2]|0;c[y>>2]=c[405576];ot(z,35696,y)|0;y=c[J>>2]|0;c[x>>2]=c[405577];ot(y,35696,x)|0;x=c[J>>2]|0;c[w>>2]=c[405578];ot(x,35696,w)|0;w=c[J>>2]|0;c[v>>2]=c[405579];ot(w,35696,v)|0;v=c[J>>2]|0;c[u>>2]=c[405580];ot(v,35696,u)|0;u=c[J>>2]|0;c[t>>2]=c[405581];ot(u,35696,t)|0;t=c[J>>2]|0;c[s>>2]=c[405582];ot(t,35696,s)|0;s=c[J>>2]|0;c[r>>2]=c[405583];ot(s,35696,r)|0;xt(35700,2,1,c[J>>2]|0)|0;xt(35703,52,1,c[J>>2]|0)|0;r=c[J>>2]|0;c[q>>2]=c[405603];ot(r,35756,q)|0;xt(35772,70,1,c[J>>2]|0)|0;q=c[J>>2]|0;c[p>>2]=c[405609];ot(q,35843,p)|0;xt(35860,125,1,c[J>>2]|0)|0;p=c[J>>2]|0;c[o>>2]=c[405612];ot(p,35986,o)|0;xt(36001,52,1,c[J>>2]|0)|0;o=c[J>>2]|0;c[n>>2]=c[405606];ot(o,36054,n)|0;n=c[J>>2]|0;c[m>>2]=c[405607];ot(n,36075,m)|0;xt(36090,68,1,c[J>>2]|0)|0;m=c[J>>2]|0;c[l>>2]=c[405610];ot(m,36159,l)|0;xt(36172,101,1,c[J>>2]|0)|0;l=c[J>>2]|0;c[k>>2]=c[405611];ot(l,36274,k)|0;xt(36294,104,1,c[J>>2]|0)|0;k=c[J>>2]|0;c[j>>2]=c[505430];ot(k,36399,j)|0;xt(36427,28,1,c[J>>2]|0)|0;xt(36456,68,1,c[J>>2]|0)|0;j=c[J>>2]|0;c[i>>2]=c[405618];ot(j,36525,i)|0;xt(36544,36,1,c[J>>2]|0)|0;i=c[J>>2]|0;c[h>>2]=c[405604];ot(i,36581,h)|0;xt(36596,59,1,c[J>>2]|0)|0;h=c[J>>2]|0;c[g>>2]=c[405605];ot(h,36656,g)|0;xt(36671,109,1,c[J>>2]|0)|0;g=c[J>>2]|0;c[f>>2]=c[405569];ot(g,36781,f)|0;xt(36806,53,1,c[J>>2]|0)|0;f=c[J>>2]|0;c[e>>2]=c[405568];ot(f,36860,e)|0;xt(36885,90,1,c[J>>2]|0)|0;e=c[J>>2]|0;c[d>>2]=c[405570];ot(e,36976,d)|0;Ga=b;return 0}function _a(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;b=Ga;Ga=Ga+32|0;f=b+16|0;g=b+8|0;h=b;c[506368]=0;if(c[506367]|0){Ft(40262)|0;Ga=b;return}Zb();c[h>>2]=2920048;c[h+4>>2]=1621200;Kt(37086,h)|0;h=Xo(e)|0;cn(d,1,e,h)|0;c[g>>2]=e;Kt(37188,g)|0;c[h+20>>2]=0;g=Jb(h)|0;mn(h);if(!g){c[405625]=-1;Ga=b;return}do if(rt(1621200,37203)|0){h=rt(1621200,37221)|0;if(!h){Zl(2920048,37226)|0;break}else{Zl(2920048,h+4|0)|0;break}}else rn(1621200,0,2920048,0,1);while(0);h=2920048+(ss(2920048)|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]=2920048;c[f+4>>2]=1621200;Kt(37252,f)|0;Pb(g,2920048);_b(g,2920048);c[731635]=0;c[731746]=6;if(!(c[405560]|0)){c[731640]=1;Ga=b;return}else{c[731748]=(c[731748]|0)+-6;c[731746]=6;og(37315);og(2998896);$a(0);Ga=b;return}}function $a(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=Ga;Ga=Ga+64|0;f=e;ao(c[2777072+(((c[731641]|0)==0?0:b)<<2)>>2]|0,c[694276]|0,0,0,0,0,128,128);b=c[694276]|0;c[731758]=1;c[f>>2]=Tj(2777036,c[732713]|0,24416)|0;c[f+4>>2]=Tj(2777036,c[732713]|0,24417)|0;c[f+8>>2]=Tj(2777036,c[732713]|0,24418)|0;c[f+12>>2]=Tj(2777036,c[732713]|0,24419)|0;c[f+16>>2]=Tj(2777036,c[732713]|0,24420)|0;c[f+20>>2]=Tj(2777036,c[732713]|0,24421)|0;c[f+24>>2]=Tj(2777036,c[732713]|0,24422)|0;c[f+28>>2]=Tj(2777036,c[732713]|0,24423)|0;c[f+32>>2]=Tj(2777036,c[732713]|0,24424)|0;c[f+36>>2]=Tj(2777036,c[732713]|0,24425)|0;c[f+40>>2]=Tj(2777036,c[732713]|0,24426)|0;c[f+44>>2]=Tj(2777036,c[732713]|0,24427)|0;c[f+48>>2]=Tj(2777036,c[732713]|0,24428)|0;c[f+52>>2]=Tj(2777036,c[732713]|0,24429)|0;c[f+56>>2]=Tj(2777036,c[732713]|0,24430)|0;c[f+60>>2]=Tj(2777036,c[732713]|0,24431)|0;g=Tj(2777036,c[732713]|0,24415)|0;do if((g|0)==16)if(c[731754]&64){h=b+12|0;i=0;do{j=((Tj(2777036,c[732713]|0,(i>>>3)+24432|0)|0)&1<<(i&7)|0)==0;k=j?2926904:f;j=i<<7;l=j+128|0;m=j;do{j=(c[h>>2]|0)+m|0;a[j>>0]=c[k+((a[j>>0]&15)<<2)>>2]&143;m=m+1|0}while(m>>>0>>0);i=i+1|0}while((i|0)!=128);if(!(c[505847]|0))c[505847]=(oq()|0)+150}else n=24;else{i=c[731754]|0;if((g|0)==32&(i|0)==1){h=b+12|0;l=0;m=64;while(1){k=l<<7;if(k>>>0<(k|64)>>>0){j=k;do{k=c[h>>2]|0;o=k+j|0;a[o>>0]=c[((a[k+(j+64)>>0]|0)==0?2926904:f)+((a[o>>0]&15)<<2)>>2]&143;j=j+1|0}while((j|0)!=(m|0))}l=l+1|0;if((l|0)==128)break;else m=m+128|0}if(c[505847]|0)break;c[505847]=(oq()|0)+150;break}else{if((g&-16|0)!=48|(i&64|0)==0){n=24;break}m=b+12|0;l=g+-48|0;h=0;do{j=h>>>3;o=((Tj(2777036,c[732713]|0,j+24432|0)|0)&1<<(h&7)|0)==0;k=h<<7;p=k+128|0;q=f+((o?j:j+1&15)<<2)|0;j=k;do{k=(c[m>>2]|0)+j|0;o=d[k>>0]|0;a[k>>0]=c[((l|0)==(o|0)?q:2926904+((o&15)<<2)|0)>>2]&143;j=j+1|0}while(j>>>0

>>0);h=h+1|0}while((h|0)!=128);if(c[505847]|0)break;c[505847]=(oq()|0)+150;break}}while(0);if((n|0)==24){n=b+12|0;f=0;do{g=(c[n>>2]|0)+f|0;a[g>>0]=c[2926904+((a[g>>0]&15)<<2)>>2]&143;f=f+1|0}while((f|0)!=16384)}if(!((c[731635]|0)==1&(c[731641]|0)!=0)){Ga=e;return}ib(b,c[731754]|0);Ga=e;return}function ab(a){a=a|0;c[506368]=0;if(!(c[731641]|0)){pg(37339,0,0);c[405625]=-2;return}else{Zl(2021724,37339)|0;c[505495]=oq()|0;c[505496]=(oq()|0)+1900;c[505497]=15;c[405625]=-2;return}}function bb(a,b){a=a|0;b=b|0;Zl(2021724,a)|0;c[505495]=oq()|0;c[505496]=b+400+(oq()|0);c[505497]=15;return}function cb(){var b=0,d=0,e=0,f=0,g=0,h=0;Zb();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=Uo(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=Lq()|0;Ib(b,f);c[b+44320>>2]=27;la(3,0)|0;a[66880]=0;g=0;do{h=ka(4)|0;a[66880+g>>0]=h;g=g+1|0;a[66880+g>>0]=0}while((h|0)!=0&g>>>0<1023);Pb(b,66880);if(d){d=0;do{b=Lq()|0;Ib(b,f+(d<<15)|0);c[b+44320>>2]=27;la(3,d|0)|0;a[66880]=0;g=0;do{h=ka(4)|0;a[66880+g>>0]=h;g=g+1|0;a[66880+g>>0]=0}while((h|0)!=0&g>>>0<1023);_b(b,66880);Mq(b);d=d+1|0}while((d|0)<(e|0))}c[731635]=0;c[731640]=1;return}function db(){if(!(a[1621200]|0)){c[506368]=0;bm(37525);c[405561]=0;cb();return}else{c[506368]=1;bm(37506);c[405561]=1;pa(1621200,0,1,1);return}}function eb(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;e=Ga;Ga=Ga+16|0;f=e;g=e+4|0;ku(2025476,0,33924)|0;if((b|0)<=1){Ga=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=37;break a;break}default:{}}b:do if((h|0)!=17&l<<24>>24==45){n=k+1|0;o=(is(n,37553)|0)==0;if(!(is(n,52781)|0)){c[405557]=1;p=0}else p=o?4:-1;if(!(is(n,37562)|0)){c[405559]=1;c[405558]=1;q=0}else q=p;if((is(n,37590)|0)!=0?(o=(is(n,37578)|0)==0,r=(is(n,37568)|0)==0,s=(is(n,46777)|0)==0,t=(is(n,46876)|0)==0,u=(is(n,35195)|0)==0,v=(is(n,46522)|0)==0,(is(n,37592)|0)!=0):0)w=o?11:r?10:s?9:t?8:u?7:v?6:q;else{c[694282]=1;c[405557]=1;c[515468]=1;w=0}v=(is(n,37597)|0)==0;u=v|(is(n,37603)|0)==0;v=(is(n,46233)|0)==0;t=(is(n,35080)|0)==0;s=(is(n,35090)|0)==0;r=(is(n,37605)|0)==0;o=(is(n,52835)|0)==0;x=(is(n,56808)|0)==0;y=(is(n,37619)|0)==0;z=(is(n,37628)|0)==0;A=(is(n,37639)|0)==0;B=(is(n,46614)|0)==0;C=B?22:A?21:z?20:y?19:x?18:o?17:r?16:s?15:t?14:v?13:u?12:w}else{c[g>>2]=0;c[f>>2]=g;gt(k,58441,f)|0;do switch(h|0){case 0:{if(!(a[1621200]|0)){ku(1621200,0,1024)|0;Zl(1621200,c[j>>2]|0)|0;C=0;break b}else{Zl(2025480+(c[506369]<<10)|0,c[j>>2]|0)|0;c[506369]=(c[506369]|0)+1;C=0;break b}break}case 4:{c[405563]=c[g>>2];C=0;break b;break}case 6:{c[405610]=c[g>>2];C=0;break b;break}case 7:{c[405612]=c[g>>2];C=0;break b;break}case 8:{c[405606]=c[g>>2];C=0;break b;break}case 9:{c[405607]=c[g>>2];C=0;break b;break}case 10:{c[405613]=c[g>>2];C=0;break b;break}case 11:{c[505422]=c[g>>2];C=0;break b;break}case 12:{At(2929437,c[j>>2]|0,1024)|0;C=0;break b;break}case 13:{c[405618]=c[g>>2];C=0;break b;break}case 14:{qn(c[j>>2]|0,2916968)|0;C=0;break b;break}case 15:{qn(c[j>>2]|0,2919016)|0;C=0;break b;break}case 16:{c[405562]=c[g>>2];C=0;break b;break}case 17:{At(2022284,c[j>>2]|0,1023)|0;c[515468]=1;C=0;break b;break}case 18:{u=c[g>>2]|0;v=(u|0)<256?u:256;u=(v|0)>0?v:0;c[505569]=u;if(!(c[515432]|0)){C=0;break b}c[515432]=u;C=0;break b;break}case 19:{c[505846]=c[g>>2];C=0;break b;break}case 20:{c[505848]=c[g>>2];C=0;break b;break}case 21:{c[505849]=c[g>>2];C=0;break b;break}case 22:{c[405611]=c[g>>2];C=0;break b;break}default:{C=0;break b}}while(0)}while(0);i=i+1|0;if((i|0)>=(b|0)){m=37;break}else h=C}if((m|0)==37){Ga=e;return}}function fb(){var a=0;c[505828]=0;c[731635]=2;c[694259]=-15;ug();wg();og(2998896);c[731746]=7;lm(c[694267]|0);lm(c[694276]|0);zm(c[(c[17040]|0)+4>>2]|0,2,2,5,5,7);zm(c[(c[17040]|0)+4>>2]|0,5,2,2,5,7);a=Da(0)|0;ok((oq()|0)+a|0);Lp();Ip(0,0);c[515407]=0;c[505847]=0;if(!(Km()|0))return;do Lm()|0;while((Km()|0)!=0);return}function gb(){ku(2996708,0,220)|0;c[749217]=2;c[749212]=0;c[749218]=5;c[749181]=1;c[749200]=8;c[749201]=0;c[729241]=0;c[405565]=0;c[505425]=1;return}function hb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Ga;Ga=Ga+2896|0;f=e+2064|0;g=e+2056|0;h=e+2048|0;i=e+2072|0;j=e+1024|0;k=e;ku(1621200,0,404272)|0;c[405610]=8;c[405606]=4;c[405613]=-1;c[405616]=1;c[505429]=1;c[505430]=1;c[405618]=0;c[405604]=1;c[405570]=1;c[405569]=0;c[405568]=0;c[405607]=2;ka(5)|0;Yl(38689);_m(2);$m(3);To(2777036,0,221260);$l()|0;eb(b,d);qp(1);if((c[515426]|0)<32|(c[515427]|0)<32){c[515426]=580;c[515427]=540}if(!((a[2916968]|0)!=0?(d=Xp(2916968,57015,i,-1)|0,Zp(i)|0,!(d|0)):0))wq(38696,2916968);if(!((a[2919016]|0)!=0?(d=Xp(2919016,57015,i,-1)|0,Zp(i)|0,!(d|0)):0))wq(38703,2919016);ku(2996708,0,220)|0;c[749217]=2;c[749212]=0;c[749218]=5;c[749181]=1;c[749200]=8;c[749201]=0;c[729241]=0;c[405565]=0;c[505425]=1;c[732713]=Lq()|0;xq(38710,j);xq(38720,j);if(c[694282]|0){c[h>>2]=1621200;Kt(38729,h)|0}h=kn(j)|0;c[694283]=h;if(!h){c[g>>2]=j;Kt(38742,g)|0;wa(0)}g=c[c[h>>2]>>2]|0;c[g+20>>2]=0;c[694284]=Nq(g)|0;g=c[(c[c[694283]>>2]|0)+4>>2]|0;c[g+20>>2]=0;c[694285]=gn(2998896,g)|0;g=c[(c[c[694283]>>2]|0)+8>>2]|0;c[g+20>>2]=0;c[694286]=gn(2998896,g)|0;_l(57116);_l(c[(c[(c[c[694285]>>2]|0)+16>>2]|0)+12>>2]|0);do if(!(c[505846]|0)){g=c[505848]|0;h=c[505849]|0;if((g|0)>1|(h|0)>1){d=(g|0)<8?g:8;g=(h|0)<8?h:8;Np((d|0)<1?128:d<<7,(g|0)<1?128:g<<7,8,256)|0;break}else{Np(128,128,8,256)|0;break}}else Np(144,136,8,256)|0;while(0);Op(c[(c[c[694285]>>2]|0)+4>>2]|0);c[694267]=qm(128,128,8)|0;c[694268]=qm(128,128,8)|0;c[694269]=qm(128,128,8)|0;c[694270]=qm(128,128,8)|0;c[694271]=qm(128,128,8)|0;c[694267]=c[694268];c[694276]=qm(128,128,8)|0;c[505563]=qm(128,128,8)|0;c[717534]=vk(128,128)|0;c[717535]=vk(128,128)|0;g=0;do{c[2870144+(g<<2)>>2]=vk(8,32)|0;g=g+1|0}while((g|0)!=64);c[694287]=qm(1,1,8)|0;c[694288]=qm(8,8,8)|0;ku(67904,0,260)|0;c[17040]=Lq()|0;fb();g=Rq(0,65538)|0;c[729223]=g;c[g+308>>2]=4;c[g+312>>2]=6;d=c[405604]|0;h=(d|0)<4?d:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=1;g=Rq(0,65538)|0;c[729224]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[405604]|0;d=(h|0)<4?h:4;c[g+316>>2]=((d|0)>1?d:1)<<2;c[g+332>>2]=1;g=Rq(0,65538)|0;c[729225]=g;c[g+308>>2]=4;c[g+312>>2]=6;d=c[405604]|0;h=(d|0)<4?d:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=1;g=Rq(0,65538)|0;c[729226]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[405604]|0;d=(h|0)<4?h:4;c[g+316>>2]=((d|0)>1?d:1)<<2;c[g+332>>2]=1;g=Rq(0,65538)|0;c[729227]=g;c[g+308>>2]=4;c[g+312>>2]=6;d=c[405604]|0;h=(d|0)<4?d:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=1;g=Rq(0,65538)|0;c[729228]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[405604]|0;d=(h|0)<4?h:4;c[g+316>>2]=((d|0)>1?d:1)<<2;c[g+332>>2]=1;g=Rq(0,65538)|0;c[729229]=g;c[g+308>>2]=4;c[g+312>>2]=6;d=c[405604]|0;h=(d|0)<4?d:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=1;g=Rq(0,65538)|0;c[729230]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[405604]|0;d=(h|0)<4?h:4;c[g+316>>2]=((d|0)>1?d:1)<<2;c[g+332>>2]=1;g=Rq(0,65538)|0;c[729231]=g;c[g+308>>2]=4;c[g+312>>2]=6;d=c[405604]|0;h=(d|0)<4?d:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=1;g=Rq(0,65538)|0;c[729232]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[405604]|0;d=(h|0)<4?h:4;c[g+316>>2]=((d|0)>1?d:1)<<2;c[g+332>>2]=1;g=Rq(0,65538)|0;c[729233]=g;c[g+308>>2]=4;c[g+312>>2]=6;d=c[405604]|0;h=(d|0)<4?d:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=1;g=Rq(0,65538)|0;c[729234]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[405604]|0;d=(h|0)<4?h:4;c[g+316>>2]=((d|0)>1?d:1)<<2;c[g+332>>2]=1;g=Rq(0,65538)|0;c[729235]=g;c[g+308>>2]=4;c[g+312>>2]=6;d=c[405604]|0;h=(d|0)<4?d:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=1;g=Rq(0,65538)|0;c[729236]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[405604]|0;d=(h|0)<4?h:4;c[g+316>>2]=((d|0)>1?d:1)<<2;c[g+332>>2]=1;g=Rq(0,65538)|0;c[729237]=g;c[g+308>>2]=4;c[g+312>>2]=6;d=c[405604]|0;h=(d|0)<4?d:4;c[g+316>>2]=((h|0)>1?h:1)<<2;c[g+332>>2]=1;g=Rq(0,65538)|0;c[729238]=g;c[g+308>>2]=4;c[g+312>>2]=6;h=c[405604]|0;d=(h|0)<4?h:4;c[g+316>>2]=((d|0)>1?d:1)<<2;c[g+332>>2]=1;c[729239]=c[729223];a[2920048]=0;Eb(c[17040]|0,2921072);op(22050,1)|0;c[515451]=1;ka(6)|0;do if(!((c[694282]|0)==0&(a[2022284]|0)==0)){tn(1621200,j);g=(Tb(j)|0)==0;c[405556]=g&1;if(!g){c[f>>2]=1621200;Kt(38760,f)|0;wa(1)}if(!(a[2022284]|0)){c[731635]=0;c[731640]=1;break}else{c[694282]=1;Zl(k,2916968)|0;Zl(2916968,38779)|0;Zl(2917992,2998896)|0;Zl(2916968,k)|0;wa(0)}}while(0);c[405619]=0;if(ka(7)|0)c[405619]=1;if(!(ka(8)|0)){Ga=e;return}c[405619]=3;Ga=e;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;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 jb(){if(c[505847]|0)return;c[505847]=(oq()|0)+150;return}function kb(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=Ga;Ga=Ga+16|0;j=i;if(e>>>0>6){Ga=i;return}if(!(ak(e,f)|0))k=(_j(e,f)|0)>128&1;else k=1;pm(c[(c[c[694285]>>2]|0)+(k+247<<2)>>2]|0,b,0,0,g,h,7,7);a[j>>0]=(d[38960+e>>0]|0)+31;a[j+1>>0]=0;Ym(b,j,c[694286]|0,g,k+h|0,1,7)|0;Ga=i;return}function lb(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=Ga;Ga=Ga+16|0;e=d;f=d+4|0;g=c[(c[c[694285]>>2]|0)+984>>2]|0;h=(c[g>>2]|0)/2|0;i=64-h|0;j=(c[g+4>>2]|0)/2|0;k=64-j|0;Kj(b,63-h|0,63-j|0,h+64|0,j+64|0,1);um(b,i,k,h+63|0,j+63|0,7);pm(g,b,0,0,i,k,c[b>>2]|0,c[b+4>>2]|0);g=i+18|0;j=k+14|0;kb(b,0,0,g,j);h=i+26|0;kb(b,1,0,h,j);l=i+34|0;kb(b,2,0,l,j);m=i+42|0;kb(b,3,0,m,j);j=k+25|0;if(!(ak(4,0)|0))n=(_j(4,0)|0)>128&1;else n=1;pm(c[(c[c[694285]>>2]|0)+(n+247<<2)>>2]|0,b,0,0,g,j,7,7);a[f>>0]=-114;o=f+1|0;a[o>>0]=0;Ym(b,f,c[694286]|0,g,n+j|0,1,7)|0;n=i+26|0;if(!(ak(5,0)|0))p=(_j(5,0)|0)>128&1;else p=1;pm(c[(c[c[694285]>>2]|0)+(p+247<<2)>>2]|0,b,0,0,n,j,7,7);a[f>>0]=-105;a[o>>0]=0;Ym(b,f,c[694286]|0,n,p+j|0,1,7)|0;j=k+41|0;kb(b,0,1,g,j);kb(b,1,1,h,j);kb(b,2,1,l,j);kb(b,3,1,m,j);j=k+52|0;if(!(ak(4,1)|0))q=(_j(4,1)|0)>128&1;else q=1;pm(c[(c[c[694285]>>2]|0)+(q+247<<2)>>2]|0,b,0,0,g,j,7,7);a[f>>0]=-114;a[o>>0]=0;Ym(b,f,c[694286]|0,g,q+j|0,1,7)|0;if(ak(5,1)|0){r=1;s=c[694285]|0;t=c[s>>2]|0;u=r+247|0;v=t+(u<<2)|0;w=c[v>>2]|0;pm(w,b,0,0,n,j,7,7);a[f>>0]=-105;a[o>>0]=0;x=c[694286]|0;y=r+j|0;Ym(b,f,x,n,y,1,7)|0;z=c[505570]|0;c[e>>2]=z;Ir(1469616,38967,e)|0;A=c[694286]|0;B=i+5|0;C=k+80|0;Ym(b,1469616,A,B,C,1,13)|0;Ga=d;return}r=(_j(5,1)|0)>128&1;s=c[694285]|0;t=c[s>>2]|0;u=r+247|0;v=t+(u<<2)|0;w=c[v>>2]|0;pm(w,b,0,0,n,j,7,7);a[f>>0]=-105;a[o>>0]=0;x=c[694286]|0;y=r+j|0;Ym(b,f,x,n,y,1,7)|0;z=c[505570]|0;c[e>>2]=z;Ir(1469616,38967,e)|0;A=c[694286]|0;B=i+5|0;C=k+80|0;Ym(b,1469616,A,B,C,1,13)|0;Ga=d;return}function mb(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;switch(c[406460]|0){case 2:{Wk(a);return}case 3:{lb(a);return}default:{b=(c[17253]|0)==7?22:0;d=((c[406461]<<3)+8|0)/2|0;e=b+d|0;Kj(a,23,63-d+b|0,104,e+64|0,1);f=64-d+b|0;um(a,24,f,103,e+63|0,7);e=f+6|0;if((c[17253]|0)==7){Kj(a,10,25,118,55,1);um(a,11,26,117,54,7);Ym(a,38989,c[694286]|0,22,34,1,7)|0;Ym(a,39011,c[694286]|0,20,42,1,7)|0;if((Qn((oq()|0)*50|0)|0)<-1999)g=0;else g=(Qn((oq()|0)*50|0)|0)/2e3|0;pm(c[(c[c[694285]>>2]|0)+((((g|0)/4|0|0)%10|0)+212<<2)>>2]|0,a,0,0,g+63|0,59,10,10);if((Qn(((oq()|0)*50|0)+32768|0)|0)<-1999)h=0;else h=(Qn(((oq()|0)*50|0)+32768|0)|0)/2e3|0;pm(c[(c[c[694285]>>2]|0)+((((h|0)/4|0|0)%10|0)+212<<2)>>2]|0,a,0,0,56-h|0,59,10,10)}if((c[406461]|0)<=0)return;h=0;g=e;while(1){Ym(a,68944+(h*72|0)|0,c[694286]|0,(h|0)==(c[406462]|0)?35:34,g,1,7)|0;if((h|0)==(c[406462]|0))pm(c[(c[c[694285]>>2]|0)+980>>2]|0,a,0,0,25,g+-1|0,7,7);do if((c[68944+(h*72|0)+68>>2]|0)==2){e=(hl(2923468,2924492)|0)==0;f=c[(c[c[694285]>>2]|0)+752>>2]|0;b=g+-1|0;if(e){Am(f,a,0,0,74,b,7,7,13,0);break}else{pm(f,a,0,0,74,b,7,7);break}}while(0);h=h+1|0;if((h|0)>=(c[406461]|0))break;else g=g+8|0}return}}}function nb(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[514850]|0;if(!e){f=qm(128,128,8)|0;c[514850]=f;g=f}else g=e;e=b+4|0;ao(b,g,0,0,0,0,c[b>>2]|0,c[e>>2]|0);lm(b);ao(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[694285]>>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=(ym(h,1,(B(c[g>>2]|0,q)|0)/64|0)|0)>>>16;r=(ym(h,1,(B(c[g>>2]|0,q)|0)/64|0)|0)>>>8;t=ym(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=(ym(h,(c[h>>2]|0)+-2|0,(B(c[g>>2]|0,q)|0)/64|0)|0)>>>16;f=(ym(h,(c[h>>2]|0)+-2|0,(B(c[g>>2]|0,q)|0)/64|0)|0)>>>8;r=ym(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);Op(i);i=c[e>>2]|0;if((i|0)<=0){sm(b,0,0,255);z=c[b>>2]|0;A=z+-1|0;sm(b,A,0,255);C=c[e>>2]|0;D=C+-1|0;sm(b,0,D,255);E=c[b>>2]|0;F=E+-1|0;G=c[e>>2]|0;H=G+-1|0;sm(b,F,H,255);return}q=0;g=i;do{i=(q<<6|0)/(g|0)|0;zm(b,0,q,2,q,i+16|0);h=c[b>>2]|0;zm(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));sm(b,0,0,255);z=c[b>>2]|0;A=z+-1|0;sm(b,A,0,255);C=c[e>>2]|0;D=C+-1|0;sm(b,0,D,255);E=c[b>>2]|0;F=E+-1|0;G=c[e>>2]|0;H=G+-1|0;sm(b,F,H,255);return}function ob(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+16|0;b=(((oq()|0)/4e3|0)*101|0)+10201|0;f=0;do{g=a[(c[(c[e>>2]|0)+(f<<2)>>2]|0)+128>>0]|0;h=g&255;i=B(f+1001|0,b)|0;if(!(f&2)){j=0;while(1){k=c[(c[e>>2]|0)+(f<<2)>>2]|0;if((j|0)==127){l=h;m=128}else{n=j+1|0;l=d[k+n>>0]|0;m=n}n=(j&6|0)==0?((B(i,j+1103|0)|0)%19|0|0)!=0:0;a[k+j>>0]=n?((l&15|0)==0?1:l^128):l;if((m|0)==128)break;else j=m}}else{j=0;do{i=c[(c[e>>2]|0)+(f<<2)>>2]|0;h=j;j=j+1|0;a[i+h>>0]=a[i+j>>0]|0}while((j|0)!=127);a[(c[(c[e>>2]|0)+(f<<2)>>2]|0)+j>>0]=g}f=f+2|0}while(f>>>0<128);return}function pb(){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;b=Ga;Ga=Ga+16|0;e=b;f=b+12|0;g=b+8|0;h=b+4|0;i=c[694268]|0;a[2021992]=0;c[505564]=oq()|0;if(c[731640]|0){Ga=b;return}lm(c[694252]|0);j=c[749441]|0;do if((j|0)!=0&(c[731635]|0)==0){if((j|0)==1){Wk(i);k=c[749441]|0}else k=j}else if(c[731636]|0){nm(i,0,0,128,128,5);if((c[731636]|0)==1){l=c[405612]|0;if(l>>>0<2){nm(i,0,0,128,128,1);m=c[405612]|0}else m=l;if((m|0)==2){nm(i,0,0,128,128,0);n=c[405612]|0}else n=m;if((n|0)==3)nm(i,0,0,128,128,5)}nm(i,0,0,128,7,8);nm(i,0,121,128,127,8);Tm(7,0);vq(f,g,h);if(!(c[h>>2]|0))c[749231]=-1;l=c[749233]|0;do if((l|0)==89){o=Um(Vm()|0)|0;if(((o|0?(c[o+12>>2]|0)<20:0)?(c[o+16>>2]|0)<20:0)?c[o+20>>2]&1|0:0){o=(c[h>>2]|0)==0?93:94;c[749233]=o;p=o;break}q=c[749233]|0;r=24}else{q=l;r=24}while(0);if((r|0)==24)if(!q)break;else p=q;l=c[(c[c[694285]>>2]|0)+(p<<2)>>2]|0;o=c[l>>2]|0;s=c[l+4>>2]|0;pm(l,i,0,0,(c[f>>2]|0)-((o|0)/2|0)|0,(c[g>>2]|0)-((s|0)/2|0)|0,o,s);if((c[749231]|0)!=-1){s=c[f>>2]|0;o=c[g>>2]|0;nm(i,s+6|0,o+4|0,s+14|0,o+10|0,7);c[e>>2]=c[749231];Ir(1469616,39034,e)|0;Ym(i,1469616,c[694286]|0,(c[f>>2]|0)+7|0,(c[g>>2]|0)+5|0,1,14)|0}}while(0);if(!((c[405622]|0)!=0&(c[731641]|0)==0&(c[731635]|0)==1)){if((c[731643]|0)==0?(c[694278]|0)==0|(c[406460]|0)!=0:0)$a(0)}else ao(i,c[694276]|0,0,0,0,0,128,128);i=c[694252]|0;ao(c[694276]|0,i,0,0,0,0,128,128);if(c[406460]|0)mb(i);a:do if((c[731643]|0)>0|(c[731644]|0)>27?(c[731635]|0)==1&(c[731641]|0)!=0:0){do if(!((c[405622]|0)>0|(c[506368]|0)!=0)){if(c[505496]|0?(is(2021724,56999)|0)==0:0)break;g=c[749443]|0;f=(g|0)/2|0;if((g|0)>-2)t=f;else t=12-((0-f|0)%12|0)|0;pm(c[(c[c[694285]>>2]|0)+(((t|0)%12|0)+212<<2)>>2]|0,i,0,0,3,3,12,12);break a}while(0);f=c[749443]|0;g=(f|0)/2|0;if((f|0)>-2)u=g;else u=16-((0-g|0)%16|0)|0;pm(c[(c[c[694285]>>2]|0)+(((u|0)%16|0)+229<<2)>>2]|0,i,0,0,3,3,12,12)}while(0);ao(c[694252]|0,c[505563]|0,0,0,0,0,128,128);i=oq()|0;do if((i|0)<(c[505496]|0)){u=oq()|0;t=c[505495]|0;g=u-t|0;f=(c[505496]|0)-u|0;u=(t|0)==0?0:(f|0)<200?(200-f|0)/20|0:(g|0)<200?(200-g|0)/20|0:0;if(!(is(2021724,55092)|0)){um(c[694252]|0,0,u+119|0,101,u+127|0,0);nm(c[694252]|0,1,u+120|0,100,u+126|0,6);Ym(c[694252]|0,2021724,c[694286]|0,16,u+121|0,1,1)|0;pm(c[(c[c[694285]>>2]|0)+904>>2]|0,c[694252]|0,0,0,2,(u<<1)+112|0,15,15);break}g=(is(2021724,55068)|0)==0;f=c[694252]|0;if(g){um(f,0,u+119|0,101,u+127|0,0);nm(c[694252]|0,1,u+120|0,127,u+126|0,6);Ym(c[694252]|0,2021724,c[694286]|0,16,u+121|0,1,1)|0;pm(c[(c[c[694285]>>2]|0)+908>>2]|0,c[694252]|0,0,0,109,(u<<1)+112|0,17,15);break}else{nm(f,0,u+121|0,128,u+127|0,8);Ym(c[694252]|0,2021724,c[694286]|0,1,u+122|0,1,c[505497]|0)|0;break}}else if(a[2021992]|0){nm(c[694252]|0,0,121,128,127,8);Ym(c[694252]|0,2021992,c[694286]|0,1,122,1,2)|0}while(0);i=oq()|0;c[505564]=i-(c[505564]|0);i=oq()|0;if((i|0)<(c[505847]|0)){i=c[694252]|0;u=i+16|0;i=(((oq()|0)/4e3|0)*101|0)+10201|0;f=0;do{g=c[(c[u>>2]|0)+(f<<2)>>2]|0;t=a[g+128>>0]|0;e=t&255;p=B(f+1001|0,i)|0;b:do if(!(f&2)){q=0;h=g;while(1){n=q+1|0;if((q|0)==127){v=e;w=128}else{v=d[h+n>>0]|0;w=n}n=(q&6|0)==0?((B(p,q+1103|0)|0)%19|0|0)!=0:0;a[h+q>>0]=n?((v&15|0)==0?1:v^128):v;if((w|0)==128)break b;q=w;h=c[(c[u>>2]|0)+(f<<2)>>2]|0}}else{h=0;q=g;do{n=h;h=h+1|0;a[q+n>>0]=a[q+h>>0]|0;q=c[(c[u>>2]|0)+(f<<2)>>2]|0}while((h|0)!=127);a[q+127>>0]=t}while(0);f=f+2|0}while(f>>>0<128)}if(!(c[505846]|0))x=1;else{nb(c[694252]|0);x=(c[505846]|0)==0}f=(c[731641]|0)!=0;if(x&(f&(((a[2923468]|0)!=0&f|(c[405561]|0)!=0)^1))?((Tj(2777036,c[732713]|0,24374)|0)&15|0)==1:0){f=c[694252]|0;x=c[f>>2]|0;u=(x|0)/128|0;if((x|0)>127?(c[f+4>>2]|0)>127:0){f=0;do{x=B(f,u)|0;w=f<<7;v=0;do{i=v+x|0;if((i+-1|0)>>>0<3){$a(i);ao(c[694276]|0,c[694252]|0,0,0,v<<7,w,128,128)}v=v+1|0}while((v|0)!=(u|0));f=f+1|0}while((f|0)<((c[(c[694252]|0)+4>>2]|0)/128|0|0))}}else r=76;if((r|0)==76?(Nj(0),(Oj()|0)>1):0){r=1;do{lm(c[2777072+(r<<2)>>2]|0);r=r+1|0}while((r|0)<(Oj()|0))}if(c[506363]|0)Ag(c[694252]|0);if(c[406460]|0){Ga=b;return}yg(c[694252]|0);Ga=b;return}function qb(a){a=a|0;return (a|0)>15|0}function rb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Ga;Ga=Ga+1040|0;d=b+1032|0;e=b+1024|0;f=b;if(!(c[749440]|0)){Ga=b;return}c[e>>2]=2916968;c[e+4>>2]=2917992;Ir(f,66470,e)|0;switch(c[749439]|0){case 0:{c[d>>2]=2917992;Ir(1469616,53776,d)|0;ng(1469616,12);d=Xp(f,57015,2996940,16384)|0;c[749439]=1;g=d;h=6;break}case 2:{d=Xp(f,57015,2996940,-16385)|0;c[749439]=3;i=d;h=11;break}default:{d=Yp(2996940)|0;switch(c[749439]|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[749439]=2;break}if(is(2997196,66873)|0?is(2997196,59123)|0:0){ng(2997196,14);c[749440]=(c[749440]|0)+-1}}else if((h|0)==11){if(i|0){Zp(2996940)|0;c[749439]=0;break}if(rt(2997196,57017)|0){og(2997196);c[749440]=(c[749440]|0)+-1;break}if((c[749363]&16384|0)==0&(a[2020636]|0)==42){ng(2997196,5);c[749440]=(c[749440]|0)+-1}}while(0);if(!((c[749440]|0)==0&(c[749439]|0)!=0)){Ga=b;return}ng(39039,12);Ga=b;return}function sb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=Ga;Ga=Ga+16|0;d=b+8|0;e=b;c[406461]=0;f=c[406460]|0;if((f|0)==1){c[406461]=1;g=68944;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));At(68944,39048,16)|0;c[17253]=0;if(a[2930526]|0){i=c[406461]|0;c[406461]=i+1;j=68944+(i*72|0)|0;g=j;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));At(j,2930526,16)|0;c[68944+(i*72|0)+68>>2]=257}if(a[2930590]|0){i=c[406461]|0;c[406461]=i+1;j=68944+(i*72|0)|0;g=j;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));At(j,2930590,16)|0;c[68944+(i*72|0)+68>>2]=258}if(a[2930654]|0){i=c[406461]|0;c[406461]=i+1;j=68944+(i*72|0)|0;g=j;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));At(j,2930654,16)|0;c[68944+(i*72|0)+68>>2]=259}if(a[2930718]|0){i=c[406461]|0;c[406461]=i+1;j=68944+(i*72|0)|0;g=j;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));At(j,2930718,16)|0;c[68944+(i*72|0)+68>>2]=260}if(a[2930782]|0){i=c[406461]|0;c[406461]=i+1;j=68944+(i*72|0)|0;g=j;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));At(j,2930782,16)|0;c[68944+(i*72|0)+68>>2]=261}i=c[406461]|0;c[406461]=i+1;j=68944+(i*72|0)|0;g=j;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));At(j,39057,16)|0;c[68944+(i*72|0)+68>>2]=1;if(ig()|0){i=ig()|0;j=c[406461]|0;c[406461]=j+1;k=68944+(j*72|0)|0;g=k;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));At(k,i,16)|0;c[68944+(j*72|0)+68>>2]=5}if(c[405557]|0){j=c[406461]|0;c[406461]=j+1;i=68944+(j*72|0)|0;g=i;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));At(i,52816,16)|0;c[68944+(j*72|0)+68>>2]=6}l=c[406460]|0}else l=f;if((l|0)!=4){Ga=b;return}Ir(1469616,(c[515432]|0)==0?39077:39068,e)|0;e=c[406461]|0;c[406461]=e+1;l=68944+(e*72|0)|0;g=l;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));At(l,1469616,16)|0;c[68944+(e*72|0)+68>>2]=9;e=(Rp()|0)==0;Ir(1469616,e?39102:39087,d)|0;d=c[406461]|0;c[406461]=d+1;e=68944+(d*72|0)|0;g=e;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));At(e,1469616,16)|0;c[68944+(d*72|0)+68>>2]=10;d=c[406461]|0;c[406461]=d+1;e=68944+(d*72|0)|0;g=e;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));At(e,39116,16)|0;c[68944+(d*72|0)+68>>2]=13;d=c[406461]|0;c[406461]=d+1;e=68944+(d*72|0)|0;g=e;h=g+72|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));At(e,56803,16)|0;c[68944+(d*72|0)+68>>2]=11;Ga=b;return}function tb(){var b=0,d=0,e=0,f=0,g=0;b=c[731771]|0;if(c[406463]|0){c[406463]=0;c[406460]=1;c[406461]=1;d=68944;e=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));At(68944,39125,16)|0;c[17253]=7;f=c[406461]|0;c[406461]=f+1;g=68944+(f*72|0)|0;d=g;e=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));At(g,39137,16)|0;c[68944+(f*72|0)+68>>2]=0;c[406462]=0;a[1474393]=1;bk()}if((b|0)==0|(c[731641]|0)==0|(c[406460]|0)!=0)return;if((Tj(2777036,c[732713]|0,24368)|0)==1)Sj(2777036,c[732713]|0,24368,0);else{c[406460]=1;sb();c[406462]=0}a[1474393]=1;bk();return}function ub(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=(Nm(-5)|0)!=0;d=b&(c[514851]|0)==0&1;c[514851]=Nm(-5)|0;if(!(Km()|0))e=d;else{b=d;while(1){d=Lm()|0;a:do if(!(Nm(-5)|0)){f=c[749572]|0;if((c[406460]|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[2998032+f>>0]=h;c[749572]=(c[749572]|0)+1;i=b}else i=b}else{do if((d+-111|0)>>>0<2){c[506363]=((c[506363]|0)+1|0)%2|0;bk()}else{if((d|0)==114&(c[694281]|0)==0){h=oq()|0;if((h|0)<=((c[505567]|0)+500|0))break;Xb();c[694281]=1;c[505567]=oq()|0;if(Km()|0)do Lm()|0;while((Km()|0)!=0);bk()}if((d|0)!=118)if((d+-97|0)>>>0<26)break;else{i=b;break a}h=Hq()|0;if((h|0)!=0?(a[h>>0]|0)!=0:0){Wo(c[406464]|0);c[406464]=h}else Wo(h);bk()}while(0);a[2998032+(c[749572]|0)>>0]=d+95;c[749572]=(c[749572]|0)+1;i=0}while(0);if(!(Km()|0)){e=i;break}else b=i}}if(!e)return;a[2998032+(c[749572]|0)>>0]=-38;c[749572]=(c[749572]|0)+1;return}function vb(){var b=0,d=0,e=0,f=0,g=0,h=0;if(ek(2,0)|0)c[406462]=(c[406462]|0)+-1;b=(ek(3,0)|0)==0;d=c[406462]|0;if(b)e=d;else{b=d+1|0;c[406462]=b;e=b}b=c[406461]|0;if((e|0)>-1)f=e;else f=b-((0-e|0)%(b|0)|0)|0;c[406462]=(f|0)%(b|0)|0;if(!(((ek(4,0)|0)==0?(ek(5,0)|0)==0:0)?!(ek(6,0)|0):0))g=10;a:do if((g|0)==10){c[731769]=0;c[731770]=0;c[731771]=0;c[731897]=1;c[731898]=1;c[731899]=1;b=c[68944+((c[406462]|0)*72|0)+68>>2]|0;if((b|0)>255){a[2930846+((b|0)<261?b+-256|0:5)>>0]=1;if(c[406460]|0)c[749572]=0;c[406460]=0}do switch(b|0){case 0:{if(c[406460]|0)c[749572]=0;c[406460]=0;break a;break}case 1:{if(c[406460]|0)c[749572]=0;c[406460]=0;c[694281]=1;break a;break}case 13:{c[406460]=3;break a;break}case 3:{if(c[406460]|0)c[749572]=0;c[406460]=0;c[731640]=2;c[406459]=2;break a;break}case 4:{if(c[406460]|0)c[749572]=0;c[406460]=0;Eg();c[749441]=0;c[731635]=0;c[731746]=6;break a;break}case 5:{mg();break a;break}case 12:{Tk();c[406460]=2;bk();break a;break}case 8:{c[406460]=4;sb();c[406462]=0;break a;break}case 9:{if(!(c[515432]|0)){f=c[505569]|0;h=(f|0)==0?256:f}else h=0;c[515432]=h;sb();break a;break}case 10:{Sp();sb();break a;break}case 11:{c[406460]=1;sb();c[406462]=0;break a;break}default:break a}while(0)}while(0);if(c[406460]|c[515405]|0)return;bk();return}function wb(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;if(c[749441]|0){if(!(Km()|0))return;do{a=Lm()|0;b=c[749441]|0;if((b|0)==2)d=c[749441]|0;else d=b;if((d|0)==1){Vk(a);e=c[749441]|0}else e=d;if((e|0)==2){Cl(a);f=c[749441]|0}else f=e;if((f|0)==0?Km()|0:0)do Lm()|0;while((Km()|0)!=0)}while((Km()|0)!=0);return}if(!(c[749439]|0)){if(!(c[749442]|0))return;if(!(Km()|0))return;f=Lm()|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;Cg(70096+(((d|0)>0?d:0)<<8)|0,1);switch(f|0){case 27:case 110:{break a;break}default:{}}return}while(0);c[749442]=0;og(57087);return}else{if(c[749440]|0)return;if(!(Km()|0))return;do{f=Lm()|0;if((f|0)!=0?(g=c[731748]|0,d=g+-6|0,c[731748]=d,nm(c[694267]|0,0,d,128,g+-1|0,0),(f|0)==27):0){c[749439]=0;Zp(2996940)|0;h=0}else h=17;c[749440]=h}while((Km()|0)!=0);return}}function xb(){var b=0,d=0,e=0;Mq(c[732713]|0);Mq(c[17040]|0);Tq(c[729223]|0);Tq(c[729224]|0);Tq(c[729225]|0);Tq(c[729226]|0);Tq(c[729227]|0);Tq(c[729228]|0);Tq(c[729229]|0);Tq(c[729230]|0);Tq(c[729231]|0);Tq(c[729232]|0);Tq(c[729233]|0);Tq(c[729234]|0);Tq(c[729235]|0);Tq(c[729236]|0);Tq(c[729237]|0);Tq(c[729238]|0);c[729239]=0;To(2920044,0,76892);ku(2996708,0,220)|0;c[749217]=2;c[749212]=0;c[749218]=5;c[749181]=1;c[749200]=8;c[749201]=0;c[729241]=0;c[405565]=0;c[505425]=1;Zl(2917992,2998896)|0;c[732713]=Lq()|0;c[17040]=Lq()|0;b=Rq(0,65538)|0;c[729223]=b;c[b+308>>2]=4;c[b+312>>2]=6;d=c[405604]|0;e=(d|0)<4?d:4;c[b+316>>2]=((e|0)>1?e:1)<<2;c[b+332>>2]=1;b=Rq(0,65538)|0;c[729224]=b;c[b+308>>2]=4;c[b+312>>2]=6;e=c[405604]|0;d=(e|0)<4?e:4;c[b+316>>2]=((d|0)>1?d:1)<<2;c[b+332>>2]=1;b=Rq(0,65538)|0;c[729225]=b;c[b+308>>2]=4;c[b+312>>2]=6;d=c[405604]|0;e=(d|0)<4?d:4;c[b+316>>2]=((e|0)>1?e:1)<<2;c[b+332>>2]=1;b=Rq(0,65538)|0;c[729226]=b;c[b+308>>2]=4;c[b+312>>2]=6;e=c[405604]|0;d=(e|0)<4?e:4;c[b+316>>2]=((d|0)>1?d:1)<<2;c[b+332>>2]=1;b=Rq(0,65538)|0;c[729227]=b;c[b+308>>2]=4;c[b+312>>2]=6;d=c[405604]|0;e=(d|0)<4?d:4;c[b+316>>2]=((e|0)>1?e:1)<<2;c[b+332>>2]=1;b=Rq(0,65538)|0;c[729228]=b;c[b+308>>2]=4;c[b+312>>2]=6;e=c[405604]|0;d=(e|0)<4?e:4;c[b+316>>2]=((d|0)>1?d:1)<<2;c[b+332>>2]=1;b=Rq(0,65538)|0;c[729229]=b;c[b+308>>2]=4;c[b+312>>2]=6;d=c[405604]|0;e=(d|0)<4?d:4;c[b+316>>2]=((e|0)>1?e:1)<<2;c[b+332>>2]=1;b=Rq(0,65538)|0;c[729230]=b;c[b+308>>2]=4;c[b+312>>2]=6;e=c[405604]|0;d=(e|0)<4?e:4;c[b+316>>2]=((d|0)>1?d:1)<<2;c[b+332>>2]=1;b=Rq(0,65538)|0;c[729231]=b;c[b+308>>2]=4;c[b+312>>2]=6;d=c[405604]|0;e=(d|0)<4?d:4;c[b+316>>2]=((e|0)>1?e:1)<<2;c[b+332>>2]=1;b=Rq(0,65538)|0;c[729232]=b;c[b+308>>2]=4;c[b+312>>2]=6;e=c[405604]|0;d=(e|0)<4?e:4;c[b+316>>2]=((d|0)>1?d:1)<<2;c[b+332>>2]=1;b=Rq(0,65538)|0;c[729233]=b;c[b+308>>2]=4;c[b+312>>2]=6;d=c[405604]|0;e=(d|0)<4?d:4;c[b+316>>2]=((e|0)>1?e:1)<<2;c[b+332>>2]=1;b=Rq(0,65538)|0;c[729234]=b;c[b+308>>2]=4;c[b+312>>2]=6;e=c[405604]|0;d=(e|0)<4?e:4;c[b+316>>2]=((d|0)>1?d:1)<<2;c[b+332>>2]=1;b=Rq(0,65538)|0;c[729235]=b;c[b+308>>2]=4;c[b+312>>2]=6;d=c[405604]|0;e=(d|0)<4?d:4;c[b+316>>2]=((e|0)>1?e:1)<<2;c[b+332>>2]=1;b=Rq(0,65538)|0;c[729236]=b;c[b+308>>2]=4;c[b+312>>2]=6;e=c[405604]|0;d=(e|0)<4?e:4;c[b+316>>2]=((d|0)>1?d:1)<<2;c[b+332>>2]=1;b=Rq(0,65538)|0;c[729237]=b;c[b+308>>2]=4;c[b+312>>2]=6;d=c[405604]|0;e=(d|0)<4?d:4;c[b+316>>2]=((e|0)>1?e:1)<<2;c[b+332>>2]=1;b=Rq(0,65538)|0;c[729238]=b;c[b+308>>2]=4;c[b+312>>2]=6;e=c[405604]|0;d=(e|0)<4?e:4;c[b+316>>2]=((d|0)>1?d:1)<<2;c[b+332>>2]=1;c[729239]=c[729223];fb();c[505827]=0;a[2920048]=0;Eb(c[17040]|0,2921072);return}function yb(a){a=a|0;if((c[694281]|0)>0)return;c[731640]=4;Zl(136144,a)|0;fg();return}function zb(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;a=c[694281]|0;if(!a)return;b=(a|0)<(((c[749164]|0)==60?12:6)|0)?a+1|0:0;c[694281]=b;if((b|0)==2){a=Tj(2777036,c[732713]|0,24366)|0;if(!(Pn(8)|0))c[731754]=Pn(4)|0;d=c[732713]|0;Sj(2777036,d,24384,Pn(256)|0);d=c[732713]|0;Sj(2777036,d,24384,Pn(256)|0);d=c[732713]|0;Sj(2777036,d,24384,Pn(256)|0);d=c[732713]|0;Sj(2777036,d,24384,Pn(256)|0);if(!(Pn(4)|0)){d=c[732713]|0;Sj(2777036,d,24414,Pn(16)|0|240)}Pn(3)|0;Pn(10)|0;d=(c[505422]|0)==0?4:c[505423]<<1;e=d*10|0;if((d|0)>0){f=0;do{g=c[732713]|0;h=Pn(12288)|0;Sj(2777036,g,h,Pn(256)|0);f=f+1|0}while((f|0)<(e|0))}e=c[732713]|0;f=(Pn(32)|0)+24320|0;Sj(2777036,e,f,Pn(140)|0);f=c[732713]|0;e=(Pn(32)|0)+24320|0;Sj(2777036,f,e,Pn(140)|0);if(!(Pn(4)|0)){e=c[732713]|0;Sj(2777036,e,24369,Pn(256)|0);e=c[732713]|0;Sj(2777036,e,24370,Pn(256)|0);e=c[732713]|0;Sj(2777036,e,24371,Pn(256)|0)}e=(d|0)/2|0;f=(d|0)>1;if(f){d=0;do{h=(Pn(10240)|0)+1024|0;g=c[732713]|0;i=(Pn(2048)|0)+h|0;j=i-(Pn(2048)|0)|0;Uj(2777036,g,h,j,Pn(1024)|0);j=c[732713]|0;h=Pn(11264)|0;g=Pn(11264)|0;Uj(2777036,j,h,g,Pn(1024)|0);d=d+1|0}while((d|0)!=(e|0));if(f){f=0;do{d=Pn(11776)|0;g=c[732713]|0;h=Pn(256)|0;Vj(2777036,g,d,h,Pn(512)|0);f=f+1|0}while((f|0)!=(e|0))}}Sj(2777036,c[732713]|0,24366,a);k=c[694281]|0}else k=b;if(k|0)return;c[731640]=1;Zl(2929437,2928412)|0;return}function Ab(){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;a=Ga;Ga=Ga+1040|0;b=a+1032|0;d=a+1024|0;e=a;switch(c[405622]|0){case 1:{f=2;break}case 0:{Ga=a;return}default:{}}if((f|0)==2){g=oq()|0;if((g|0)>(((c[515466]|0)*1e3|0)+(c[405623]|0)|0)?(vl(0),kg(),(c[731641]|0)==0):0){c[731748]=(c[731748]|0)+-6;pg(39179,0,0)}if(!(c[405622]|0)){Ga=a;return}}if((Nm(41)|0)==0?!((c[731641]|0)!=0&(c[731771]|0)!=0):0){g=c[405622]|0;if((g|0)==2){c[405622]=0;h=(rt(1623788,39222)|0)!=0;i=c[405624]|0;do if(!(h&(i|0)==0)){if(h&(i|0)==1){xl()|0;break}j=Kb(1623788)|0;if(j|0){Pb(j,1623788);c[405625]=6;if((c[731641]|0)==0|(c[694282]|0)!=0){c[731748]=(c[731748]|0)+-6;pg(39254,0,0);ng(1691406,14);k=Hg(1623788)|0;l=ss(c[j>>2]|0)|0;c[b>>2]=k;c[b+4>>2]=l;Ir(1469616,39271,b)|0;pg(1469616,0,0);break}else{lg();c[731640]=1;c[731643]=20;break}}l=c[405567]|0;c[405625]=-10-l;if((l|0)==1){Zl(2021724,39293)|0;c[505495]=oq()|0;c[505496]=(oq()|0)+1900;c[505497]=15;m=c[405567]|0}else m=l;if((m|0)==2){Zl(2021724,54095)|0;c[505495]=oq()|0;c[505496]=(oq()|0)+1900;c[505497]=15;n=c[405567]|0}else n=m;if((n|0)==3){Zl(2021724,39318)|0;c[505495]=oq()|0;c[505496]=(oq()|0)+1900;c[505497]=15}}else{l=ho(1623788)|0;Zl(e,1623788)|0;k=rt(1623788,39227)|0;if(k|0)Zl(e+(k-1623788)+1|0,k+6|0)|0;do if(l)if((ss(go(l,57021,0)|0)|0)>>>0<=1)if(!(is(go(l,57042,0)|0,59651)|0)){o=l;break}else{f=19;break}else{An(1623788,e)|0;o=l;break}else f=19;while(0);if((f|0)==19){l=ho(e)|0;if(!l){if(!(c[731641]|0))pg(39293,0,0);kg();c[405625]=-3;break}else o=l}l=go(o,57021,0)|0;if((ss(l)|0)>>>0<2){k=(is(go(o,57042,0)|0,59651)|0)==0;j=(c[731641]|0)!=0;do if(k)if(j)p=-1;else{pg(39234,0,0);p=-1}else if(j){Zl(2021724,37339)|0;c[505495]=oq()|0;c[505496]=(oq()|0)+1900;c[505497]=15;p=-2;break}else{pg(37339,0,0);p=-2;break}while(0);c[405625]=p;kg();c[731643]=0}else{j=Tb(el(l)|0)|0;Fl(o);do if(!j){c[405625]=5;if((c[731641]|0)==0|(c[694282]|0)!=0){c[731748]=(c[731748]|0)+-6;pg(39254,0,0);Zl(1469616,go(o,57025,0)|0)|0;Yk(1469616);ng(1469616,14);k=ss(c[c[17040]>>2]|0)|0;c[d>>2]=l;c[d+4>>2]=k;Ir(1469616,39271,d)|0;pg(1469616,0,0);break}else{lg();c[731640]=1;c[731643]=20;break}}else{rl(l);Zl(1691406,go(o,57025,0)|0)|0;Yk(1691406)}while(0);fo(o)}c[749443]=0}while(0);q=c[405622]|0}else q=g;if((q|0)!=3){Ga=a;return}c[405622]=0;c[405625]=-3;kg();if(!(c[731641]|0)){pg(56999,0,0);Ga=a;return}else{Zl(2021724,56999)|0;c[505495]=oq()|0;c[505496]=(oq()|0)+1900;c[505497]=15;Ga=a;return}}vl(0);kg();if(!(c[731641]|0)){c[731748]=(c[731748]|0)+-6;pg(39198,0,0)}c[731771]=0;c[731899]=1;Ga=a;return}function Bb(){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,X=0;b=Ga;Ga=Ga+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;m=c[515432]|0;if(m|0)c[505569]=m;c[515433]=256;m=c[505422]|0;n=c[731635]|0;do if((m|0)!=0&(n|0)==1){o=m+1|0;c[505422]=o;if((o|0)==12)c[694281]=1;if((c[731640]|0)==1){Yb(c[694276]|0)|0;c[505422]=1;o=(c[505423]|0)+1|0;c[505423]=o;if((o|0)==48)wa(0);else{p=c[731635]|0;break}}else p=1}else p=n;while(0);if(!((c[731636]|0)>>>0>1&((c[405608]|0)!=0&(p|0)==0))){c[515409]=0;c[515408]=0}if(Nm(-5)|0?(Nm(16)|0)==3:0){if(!(c[515432]|0)){p=c[505569]|0;c[515432]=(p|0)==0?256:p;Zl(2021724,39161)|0}else{c[515432]=0;Zl(2021724,39142)|0}c[505495]=oq()|0;c[505496]=(oq()|0)+1400;c[505497]=15;c[515433]=256};c[732023]=-1;c[732024]=-1;c[732025]=-1;c[732026]=-1;c[732027]=-1;c[732028]=-1;c[732029]=-1;c[732030]=-1;p=c[406460]|0;n=c[515432]|0;m=c[694260]|0;oa(9,p|0,n|0,m|0,Dq()|0,1)|0;c[514852]=(c[514852]|0)+1;m=ka(10)|0;a:do if((m|0)>0){n=ka(11)|0;switch(m|0){case 1:{c[731640]=1;break a;break}case 2:{p=(n|0)<256?n:256;c[515432]=(p|0)>0?p:0;c[515433]=256;break a;break}case 3:{if(!(c[515432]|0)){p=c[505569]|0;c[515432]=(p|0)==0?256:p;Zl(2021724,39161)|0}else{c[515432]=0;Zl(2021724,39142)|0}c[505495]=oq()|0;c[505496]=(oq()|0)+1400;c[505497]=15;c[515433]=256;break a;break}case 4:{if(!(c[406460]|0)){c[406460]=1;sb();c[406462]=0;break a}else{c[749572]=0;c[406460]=0;break a}break}case 5:{p=(n|0)==0;n=(c[406460]|0)!=0;if(!(p|n)){c[406460]=1;sb();c[406462]=0;break a}if(!(p&n))break a;c[749572]=0;c[406460]=0;break a;break}case 6:{ku(1621200,0,1024)|0;la(3,0)|0;a[66880]=0;n=0;do{p=ka(4)|0;a[66880+n>>0]=p;n=n+1|0;a[66880+n>>0]=0}while((p|0)!=0&n>>>0<1023);Zl(1621200,gl(2998896,66880)|0)|0;xb();lm(c[694252]|0);lm(c[694276]|0);lm(c[694267]|0);break a;break}case 7:{n=c[406460]|0;if((n|1|0)!=3){c[406460]=3;Tk();break a}if(n|0)c[749572]=0;c[406460]=0;break a;break}default:break a}}while(0);ka(12)|0;c[732023]=ka(13)|0;c[732024]=ka(13)|0;c[732025]=ka(13)|0;c[732026]=ka(13)|0;c[732027]=ka(13)|0;c[732028]=ka(13)|0;c[732029]=ka(13)|0;c[732030]=ka(13)|0;c[505570]=ka(14)|0;c[749233]=89;m=c[731640]|0;if(m|0){c[694281]=0;if((m|0)==1){Ig();q=c[731640]|0}else q=m;if((q|0)==2){Eg();r=c[731640]|0}else r=q;if((r|0)==3){xb();s=c[731640]|0}else s=r;if((s|0)==4){Eg();ug();og(2998896);og(136144);t=c[731640]|0}else t=s;if((t|0)==5){xb();u=c[731640]|0}else u=t;if((u|0)==6)ug();c[731640]=0}if((c[731635]|0)!=1){c[515405]=0;if(c[406460]|0)c[749572]=0;c[406460]=0;c[749164]=30}u=(oq()|0)+72e6|0;t=(c[406460]|c[515405]|0)==0;s=c[749164]|0;r=u-(c[514853]|0)|0;q=B((((r|0)<32e3?r:32e3)<<16|0)/1e3|0,t?s:30)|0;r=q+(c[505565]|0)|0;q=(r|0)>0?r:0;c[505565]=q;c[514853]=u;if(!(c[505422]|0))v=q;else{c[505565]=65536;v=65536}q=(s|0)==60?131072:131071;s=v>>>0>>0?v:q;q=(s|0)>0?s:0;c[505565]=q;if(t){vq(j,k,l);l=c[j>>2]|0;j=c[k>>2]|0;k=(j|0)!=(c[514855]|0)|(l|0)!=(c[514854]|0);c[514854]=l;c[514855]=j;j=(Nm(225)|0)==0;l=(c[731635]|0)!=1;t=c[505565]|0;if((t|0)<65536&(l&(k&j)^1)|l&(t|0)<32768){l=2023400+(c[506362]<<5)+16|0;c[l>>2]=(c[l>>2]|0)+1;l=(Dq()|0)==0;j=l?c[515435]|0:c[515434]|0;if((j|0)>0)w=100/(((j|0)<50?j:50)>>>0)|0;else w=1e4;j=c[514856]|0;if((j|0)<(w|0)){gm();x=c[514856]|0}else x=j;y=c[505565]|0;z=x+1|0}else{y=t;z=0}c[514856]=z;if((y|0)>65535)do{do if((c[731635]|0)==1){if((c[405622]|0)>0|(c[506368]|0)!=0){dk();if((c[405622]|0)>0)Ab();y=c[731643]|0;if((y|0)<=10)break;c[731643]=y+-1;break}y=c[731643]|0;if((y|0)>0){c[731643]=y+-1;break}y=(c[514857]|0)+1|0;c[514857]=y;if(!(y&1)){y=(c[731644]|0)+-1|0;z=(y|0)<30?y:30;c[731644]=(z|0)>0?z:0}ub();c[g>>2]=0;c[h>>2]=0;c[i>>2]=0;vq(g,h,i);z=c[8608]|0;y=c[g>>2]|0;do if((z|0)==-1){A=c[h>>2]|0;C=c[i>>2]|0}else{if((z|0)!=(y|0))c[731763]=c[731763]|1;t=c[h>>2]|0;if((c[8609]|0)!=(t|0))c[731763]=c[731763]|2;x=c[8610]|0;j=c[i>>2]|0;if((x|0)==(j|0)){A=t;C=x;break}c[731763]=c[731763]|4;A=t;C=j}while(0);c[8608]=y;c[8609]=A;c[8610]=C;if((c[732095]|0)<2){dk();c[694260]=((c[749164]|0)==30?2:1)+(c[694260]|0);tb();Bg()}if((c[694281]|0)>2)break;c[506367]=1;Lg();c[506367]=0;if(!(c[694278]|0))break;c[505566]=1;if((c[732095]|0)!=2)break;if((tg(0)|0)<=2097152)break;ck();tb();Bg()}else{dk();z=c[749441]|0;if((z|0)==1){Xk();D=c[749441]|0}else D=z;c[731643]=0}while(0);z=c[731635]|0;if((z|0)==2){Xl();E=c[731635]|0}else E=z;if((E|0)==3?(z=Mm()|0,c[731765]|z|c[731766]|c[731767]|c[731768]|c[731769]|c[731770]|c[731771]|0):0)fb();zb();c[505565]=(c[505565]|0)+-65536;c[694259]=(c[694259]|0)+1;c[749443]=(c[749443]|0)+1;z=c[514858]&1^1;c[514858]=z;j=c[515405]|0;t=c[406460]|0;x=c[749164]|0;if((x|0)==60&(z|j|t|0)==0){jh(c[505563]|0);F=c[515405]|0;G=c[406460]|0;H=c[749164]|0}else{F=j;G=t;H=x}if((H|0)==30|(G|F|0)!=0){jh(c[505563]|0);I=c[515405]|0;J=c[406460]|0;K=c[749164]|0}else{I=F;J=G;K=H}if((J|I|0)==0&(K|0)==15){jh(c[505563]|0);jh(c[505563]|0)}}while((c[505565]|0)>65535)}else if((q|0)>65535){dk();switch(c[406460]|0){case 2:{Xk();break}case 3:{if(ek(6,0)|0){if(c[406460]|0)c[749572]=0;c[406460]=0;bk()}break}default:{ub();vb()}}c[505565]=(c[505565]|0)+-65536;jh(c[505563]|0)}if(!(c[731636]|c[731635])){wb();q=c[749439]|0;K=c[749440]|0;if((q|0)!=0&(K|0)>0){rb();L=c[749439]|0;M=c[749440]|0}else{L=q;M=K}if((L|0)!=0&(M|0)>0)rb()}if((c[731635]|0)==1&(c[731636]|0)==0&(c[406460]|0)==2?(Nm(41)|0)==3:0)Uk();if(c[731642]|0)c[731642]=0;do if(!(c[405568]|0))N=0;else{if((Nm(63)|0)!=3?(Nm(58)|0)!=3:0)O=0;else O=1;if((Nm(64)|0)!=3?(Nm(59)|0)!=3:0)P=O;else P=2;if((Nm(65)|0)!=3?(Nm(60)|0)!=3:0)Q=P;else Q=3;if((Nm(66)|0)!=3?(Nm(61)|0)!=3:0)R=Q;else R=4;if((Nm(67)|0)!=3?(Nm(62)|0)!=3:0){N=R;break}N=5}while(0);if(!(Nm(-5)|0))S=N;else{R=(Nm(35)|0)==3;S=R?1:N}if(!(Nm(-5)|0))T=S;else{N=(Nm(36)|0)==3;T=N?2:S}if(!(Nm(-5)|0))U=T;else{S=(Nm(37)|0)==3;U=S?3:T}if(!(Nm(-5)|0))V=U;else{T=(Nm(38)|0)==3;V=T?4:U}if(!(Nm(-5)|0))W=V;else{U=(Nm(39)|0)==3;W=U?5:V}b:do if(!(Nm(-4)|0))switch(W|0){case 1:{if(!(Yb(c[694276]|0)|0)){Zl(2021724,53857)|0;c[505495]=oq()|0;c[505496]=(oq()|0)+1400;c[505497]=15;break b}else{Zl(2021724,39989)|0;c[505495]=oq()|0;c[505496]=(oq()|0)+1900;c[505497]=15;break b}break}case 3:{kh();Zl(2021724,40018)|0;c[505495]=oq()|0;c[505496]=(oq()|0)+1400;c[505497]=15;break b;break}case 4:{V=ih()|0;do if((V|0)!=9)if((V|0)>0){Zl(2021724,40075)|0;c[505495]=oq()|0;c[505496]=(oq()|0)+1900;c[505497]=15;break}else{c[f>>2]=(oh()|0)+1;c[f+4>>2]=0;Ir(g,40099,f)|0;Zl(2021724,g)|0;c[505495]=oq()|0;c[505496]=(oq()|0)+1900;c[505497]=15;break}else{Zl(2021724,40043)|0;c[505495]=oq()|0;c[505496]=(oq()|0)+1900;c[505497]=15}while(0);if((c[405611]|0)!=1)break b;kh();break b;break}default:break b}while(0);if(c[423236]|0){ju(1473840,1692430,512)|0;c[423236]=0}if(!(c[405622]|c[731643]|c[731644]))c[749443]=0;g=c[731635]|0;if((g|0)==1&(c[731641]|0)!=0){f=Tj(2777036,c[732713]|0,24367)|0;W=(f|0)==1|(f|0)!=2&(c[406460]|0)!=0;f=c[515407]|0;c[515407]=(f+-1|0)>>>0<4&(W^1)?f+1|0:W&1;X=c[731635]|0}else X=g;do if((X|1|0)!=3){g=c[515423]|0;if(g|0){c[e>>2]=g&255;Ir(1469616,40130,e)|0;Zl(2021724,1469616)|0;c[505495]=oq()|0;c[505496]=(oq()|0)+1400;c[505497]=15;c[515423]=0}g=c[515424]|0;if(!g){Ga=b;return}else{c[d>>2]=g&255;Ir(1469616,40152,d)|0;Zl(2021724,1469616)|0;c[505495]=oq()|0;c[505496]=(oq()|0)+1400;c[505497]=15;break}}else c[515423]=0;while(0);c[515424]=0;Ga=b;return}function Cb(){Qk()|0;if(c[749439]|0)Zp(2996940)|0;cm()|0;return}function Db(a,b){a=a|0;b=b|0;ka(15)|0;return hm(a,b)|0}function Eb(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Ga;Ga=Ga+64|0;f=e;g=d;h=g+41|0;do{a[g>>0]=48;g=g+1|0}while((g|0)<(h|0));i=Uo(32768)|0;if(!(Fb(b,i,0)|0)){bp(i,32768,d)|0;j=d+40|0;a[j>>0]=0;Wo(i);Ga=e;return}k=c[b>>2]|0;c[b>>2]=f;g=f;h=g+64|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));bp(k,ss(k)|0,f)|0;a[(c[b>>2]|0)+40>>0]=0;if(!(Fb(b,i,0)|0))bp(i,32768,d)|0;c[b>>2]=k;j=d+40|0;a[j>>0]=0;Wo(i);Ga=e;return}function Fb(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;To(d,0,32768);f=0;do{a[d+f>>0]=Tj(0,b,f)|0;f=f+1|0}while((f|0)!=17152);f=So(262144)|0;g=c[b>>2]|0;do if(!e){h=0;i=Bk(g,f,ss(g)|0)|0;j=f}else{if(!(Nl(g,f)|0)){b=So(262144)|0;h=f;i=Bk(f,b,ss(f)|0)|0;j=b;break}Wo(f);k=2;return k|0}while(0);if((i|0)>15616){Wo(j);Wo(h);k=1;return k|0}else{ju(d+17152|0,j|0,i|0)|0;Wo(j);Wo(h);k=0;return k|0}return 0}function Gb(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=Ga;Ga=Ga+16|0;g=f;h=f+4|0;i=zn(a)|0;a=i+16|0;j=So(((c[a>>2]<<3|0)/6|0)+256|0)|0;To(h,0,12);c[g>>2]=b;Ir(j,40317,g)|0;g=j+(ss(j)|0)|0;if(i|0){ph(h);qh(c[i+12>>2]|0,c[a>>2]|0,g,h)|0;rh(g+(ss(g)|0)|0,h)|0}na(16,j|0,ss(j)|0,d|0,e|0)|0;Wo(j);mn(i);Ga=f;return}function Hb(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=Ga;Ga=Ga+32|0;g=f;h=Uo(32773)|0;To(h,0,32773);i=Fb(b,h,0)|0;a[h+32768>>0]=27;a[h+32769>>0]=0;a[h+32770>>0]=2;a[h+32771>>0]=0;a[h+32772>>0]=wl()|0;a[h+32773>>0]=8;if(i|0){Wo(h);j=1;Ga=f;return j|0}i=qm(160,205,32)|0;ao(c[(c[c[694285]>>2]|0)+580>>2]|0,i,0,0,0,0,160,205);k=c[b+44316>>2]|0;if(k|0)ao(k,i,0,0,16,24,128,128);k=c[b>>2]|0;b=k;while(1){l=a[b>>0]|0;m=l<<24>>24==10;n=b+1|0;if(m^l<<24>>24!=0)b=n;else break}l=m?n:b;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;if((a[k>>0]|0)==45?(a[k+1>>0]|0)==45:0){b=k+2|0;n=0;m=(a[b>>0]|0)==32?k+3|0:b;a:while(1){b=a[m>>0]|0;switch(b<<24>>24){case 10:case 0:{break a;break}default:{}}if(n>>>0>=31)break;a[g+n>>0]=b;n=n+1|0;m=m+1|0}Ym(i,g,c[694286]|0,18,167,1,-1808)|0};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;if((a[l>>0]|0)==45?(a[l+1>>0]|0)==45:0){m=l+2|0;n=0;b=(a[m>>0]|0)==32?l+3|0:m;b:while(1){m=a[b>>0]|0;switch(m<<24>>24){case 10:case 0:{break b;break}default:{}}if(n>>>0>=31)break;a[g+n>>0]=m;n=n+1|0;b=b+1|0}Ym(i,g,c[694286]|0,18,175,1,-1808)|0}Ym(i,66475,c[694286]|0,18,187,1,-6250336)|0;g=0;b=c[i+12>>2]|0;while(1){n=a[b>>0]&-4;a[b>>0]=n;if(g>>>0<131092)a[b>>0]=(d[h+(g>>>2)>>0]|0)>>>(g<<1&6)&3|n&255;g=g+1|0;if((g|0)==131200)break;else b=b+1|0}wn(e,i)|0;Gb(e,40668,80,102);rm(i)|0;Wo(h);j=0;Ga=f;return j|0}function Ib(a,b){a=a|0;b=b|0;var e=0,f=0;e=0;do{Sj(0,a,e,d[b+e>>0]|0);e=e+1|0}while((e|0)!=17152);if(!(c[a>>2]|0)){e=Uo(65538)|0;c[a>>2]=e;To(e,0,65538)}e=b+17152|0;b=(Ak(e)|0)==0;f=c[a>>2]|0;if(b){ju(f|0,e|0,15616)|0;return}else{To(f,0,65538);Ck(e,c[a>>2]|0,65537)|0;return}}function Jb(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ga;Ga=Ga+16|0;f=e;c[405567]=0;if(!b){g=0;h=2;c[405567]=h;Ga=e;return g|0}i=un(b)|0;if(!i){g=0;h=1;c[405567]=h;Ga=e;return g|0}if((c[i>>2]|0)==160?(c[i+4>>2]|0)==205:0){b=Lq()|0;j=c[i+12>>2]|0;k=0;do{l=k<<2;a[j+k>>0]=a[j+(l|1)>>0]<<2&12|a[j+l>>0]&3|a[j+(l|2)>>0]<<4&48|a[j+(l|3)>>0]<<6&255;k=k+1|0}while((k|0)!=32773);k=j+32768|0;c[b+44320>>2]=d[k>>0];do if((d[k>>0]|0)>27){if(c[405562]|0){bb(40672,1500);break}rm(i)|0;c[f>>2]=d[k>>0];Ir(1469616,40700,f)|0;og(1469616);g=0;h=3;c[405567]=h;Ga=e;return g|0}while(0);Ib(b,j);rm(i)|0;g=b;h=0;c[405567]=h;Ga=e;return g|0}rm(i)|0;g=0;h=4;c[405567]=h;Ga=e;return g|0}function Kb(a){a=a|0;var b=0,d=0;b=ln(a,58775)|0;d=Jb(b)|0;mn(b);if(!d)return d|0;c[d+44316>>2]=il(a)|0;return d|0}function Lb(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=Ga;Ga=Ga+16|0;e=d;f=ln(b,58775)|0;if(!f){g=0;Ga=d;return g|0}b=Lq()|0;h=So(262144)|0;i=So(65536)|0;j=an(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];Ir(m+s|0,66716,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=So(131072)|0;Uq(m,w)|0;a[w+65534>>0]=0;mn(f);Wo(h);Wo(i);i=w+(ss(w)|0)|0;a[i>>0]=10;a[i+1>>0]=0;Bs(c[b>>2]|0,w)|0;Wo(w);g=b;Ga=d;return g|0}function Mb(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=Ga;Ga=Ga+3104|0;e=d+3088|0;f=d+3072|0;g=d+2048|0;h=d+1024|0;i=d;Zl(b,a)|0;if(rt(b,57017)|0){Ga=d;return}sn(a,g,h,i);if(!(rt(i,56418)|0)){c[e>>2]=g;c[e+4>>2]=h;c[e+8>>2]=i;Ir(b,40729,e)|0;Ga=d;return}else{c[f>>2]=g;c[f+4>>2]=h;c[f+8>>2]=i;Ir(b,40719,f)|0;Ga=d;return}}function Nb(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=Ga;Ga=Ga+4160|0;f=e+4096|0;g=e+2048|0;h=e+1024|0;i=e;j=e+4120|0;if(!(a[b>>0]|0)){Zl(g,40739)|0;Zl(h,57017)|0}else sn(b,e+3072|0,g,h);wq(40748,i);$p(j,0);k=c[j+8>>2]|0;l=c[j+12>>2]|0;m=c[j+16>>2]|0;n=c[j+20>>2]|0;o=c[j+24>>2]|0;c[f>>2]=c[j+4>>2];c[f+4>>2]=k;c[f+8>>2]=l;c[f+12>>2]=m;c[f+16>>2]=n;c[f+20>>2]=o;Ir(1469616,40756,f)|0;Cs(i,1469616)|0;Cs(i,g)|0;Cs(i,h)|0;if(d|0){d=Uo(1048576)|0;h=ln(b,58775)|0;g=an(d,1,1048576,h)|0;mn(h);h=ln(i,66796)|0;cn(d,1,g,h)|0;mn(h);Wo(d);Ga=e;return 0}Fg();d=(rt(b,56418)|0)==0;b=c[17040]|0;if(d){Qq(b,i)|0;Ga=e;return 0}else{Hb(b,i)|0;Ga=e;return 0}return 0}function Ob(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=Ga;Ga=Ga+1024|0;e=d;Fg();f=So(262144)|0;do if(Nl(c[c[17040]>>2]|0,f)|0){if(!(rt(b,56418)|0)){Zl(f,c[c[17040]>>2]|0)|0;break}Wo(f);g=1;Ga=d;return g|0}while(0);h=ss(f)|0;i=ss(c[c[17040]>>2]|0)|0;j=(h|0)==(i|0);if(i>>>0>65536){og(40782);Wo(f);g=1;Ga=d;return g|0}i=So(262144)|0;To(i,0,262144);h=Bk(f,i,ss(c[c[17040]>>2]|0)|0)|0;Wo(i);i=(h|0)>15616;do if(!(rt(b,56418)|0)){if(i){ng(40853,9);ng(40886,9);pg(40839,h,15616);og(40917)}}else{if(i){ng(40807,8);pg(40839,h,15616);Wo(f);g=1;Ga=d;return g|0}k=c[(c[17040]|0)+44316>>2]|0;if(k|0){l=c[k+12>>2]|0;k=a[l>>0]|0;m=1;n=0;do{n=(a[l+m>>0]|0)==k<<24>>24?n:1;m=m+1|0}while((m|0)!=16384);if(n|0)break}ng(53480,9);ng(53504,10)}while(0);Mb(b,e);if(is(e,2920048)|0?_p(e)|0:0)Nb(e,1)|0;b=(rt(e,56418)|0)==0;h=c[17040]|0;if(!b){Zl(c[h>>2]|0,f)|0;Gg();b=Hb(c[17040]|0,e)|0;if(j)o=b;else{ng(40938,9);o=b}}else o=Qq(h,e)|0;if(!o){Zl(2920048,e)|0;Eb(c[17040]|0,2921072)}else bb(40958,1500);Wo(f);g=o;Ga=d;return g|0}function Pb(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=Ga;Ga=Ga+1040|0;g=f+1032|0;h=f+1024|0;i=f;if(!b){Ga=f;return}Mq(c[17040]|0);c[17040]=b;Qb(b);j=c[(c[b+8>>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)gh(b);else hh(b);Gg();Fg();Eb(c[17040]|0,2921072);a[155664]=0;c[h>>2]=41002;c[h+4>>2]=2921072;Ir(155664,40979,h)|0;h=155664+(ss(155664)|0)|0;a[h>>0]=46;a[h+1>>0]=112;a[h+2>>0]=56;a[h+3>>0]=0;Zl(i,155664)|0;if(!e)Zl(2920048,i)|0;else Zl(2920048,e)|0;c[g>>2]=i;Ir(1465008,41005,g)|0;bm(1465008);g=Oq(i)|0;if(!g)bm(41073);else{bm(41064);i=0;do{if(1<<(i&7)&d[(i>>>3)+(g+44344)>>0]|0)Sj(0,b,i,Tj(0,g,i)|0);i=i+1|0}while((i|0)!=17152)}gb();ar(c[(c[729223]|0)+364>>2]|0);ar(c[(c[729224]|0)+364>>2]|0);ar(c[(c[729225]|0)+364>>2]|0);ar(c[(c[729226]|0)+364>>2]|0);ar(c[(c[729227]|0)+364>>2]|0);ar(c[(c[729228]|0)+364>>2]|0);ar(c[(c[729229]|0)+364>>2]|0);ar(c[(c[729230]|0)+364>>2]|0);ar(c[(c[729231]|0)+364>>2]|0);ar(c[(c[729232]|0)+364>>2]|0);ar(c[(c[729233]|0)+364>>2]|0);ar(c[(c[729234]|0)+364>>2]|0);ar(c[(c[729235]|0)+364>>2]|0);ar(c[(c[729236]|0)+364>>2]|0);ar(c[(c[729237]|0)+364>>2]|0);ar(c[(c[729238]|0)+364>>2]|0);c[505827]=0;Ga=f;return}function Qb(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=Ga;Ga=Ga+16|0;d=b;e=a+44324|0;if(c[e>>2]|0){Ga=b;return}c[e>>2]=1;e=a+44320|0;f=c[e>>2]|0;do if((f+-19|0)>>>0<5)if(!(rt(c[a>>2]|0,43913)|0)){Ga=b;return}else{bb(41086,3e3);g=c[e>>2]|0;break}else g=f;while(0);if((g|0)<5){f=0;do{h=a+41996+(f<<4)|0;i=c[h>>2]|0;j=i>>>0<64;if(j){k=c[a+12+(i*656|0)+4>>2]|0;l=((k|0)>1?k:1)<<5;k=(c[a+12+(i*656|0)+12>>2]|0)>(c[a+12+(i*656|0)+8>>2]|0);m=k<<31>>31;n=k?0:l;o=l}else{m=-1;n=0;o=0}l=c[a+41996+(f<<4)+4>>2]|0;k=l>>>0<64;if(k){p=c[a+12+(l*656|0)+4>>2]|0;q=((p|0)>1?p:1)<<5;p=(o|0)>(q|0)?o:q;if((m|0)==-1){r=(c[a+12+(l*656|0)+12>>2]|0)>(c[a+12+(l*656|0)+8>>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+41996+(f<<4)+8>>2]|0;q=p>>>0<64;if(q){r=c[a+12+(p*656|0)+4>>2]|0;v=((r|0)>1?r:1)<<5;r=(u|0)>(v|0)?u:v;if((s|0)==-1){w=(c[a+12+(p*656|0)+12>>2]|0)>(c[a+12+(p*656|0)+8>>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+41996+(f<<4)+12>>2]|0;v=r>>>0<64;if(v){w=c[a+12+(r*656|0)+4>>2]|0;A=((w|0)>1?w:1)<<5;w=(z|0)>(A|0)?z:A;if((x|0)==-1){B=(c[a+12+(r*656|0)+12>>2]|0)>(c[a+12+(r*656|0)+8>>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+12+(i*656|0)+12>>2]|0)<=(c[a+12+(i*656|0)+8>>2]|0):0)?(w=c[a+12+(i*656|0)+4>>2]|0,(((w|0)>1?w:1)<<5|0)==(E|0)):0)break;if((k?(c[a+12+(l*656|0)+12>>2]|0)<=(c[a+12+(l*656|0)+8>>2]|0):0)?(w=c[a+12+(l*656|0)+4>>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+12+(p*656|0)+12>>2]|0)<=(c[a+12+(p*656|0)+8>>2]|0):0)?(w=c[a+12+(p*656|0)+4>>2]|0,(((w|0)>1?w:1)<<5|0)==(E|0)):0){F=2;break}if(!v)break a;if((c[a+12+(r*656|0)+12>>2]|0)>(c[a+12+(r*656|0)+8>>2]|0))break a;w=c[a+12+(r*656|0)+4>>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;Ir(1469616,41118,d)|0;og(1469616);w=c[h>>2]|0;A=a+41996+(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+12+(F*656|0)+16+(d*20|0)+4>>2]|0)==6?(E=a+12+(F*656|0)+16+(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);F=c[a>>2]|0;if(rt(F,41150)|0){d=hr(65536)|0;Zl(d,F)|0;Zl(c[a>>2]|0,41175)|0;Cs(c[a>>2]|0,d)|0;og(42446);H=c[e>>2]|0}else H=f}else H=f}else H=g;if((H|0)>=11){Ga=b;return}H=0;g=0;do{H=H+((c[a+12+(g*656|0)>>2]|0)>1&1)+((c[a+12+(g*656|0)+8>>2]|0)>63&1)+((c[a+12+(g*656|0)+12>>2]|0)>63&1)+((c[a+12+(g*656|0)+32>>2]|0)!=0&1)+((c[a+12+(g*656|0)+52>>2]|0)!=0&1)+((c[a+12+(g*656|0)+72>>2]|0)!=0&1)+((c[a+12+(g*656|0)+92>>2]|0)!=0&1)+((c[a+12+(g*656|0)+112>>2]|0)!=0&1)+((c[a+12+(g*656|0)+132>>2]|0)!=0&1)+((c[a+12+(g*656|0)+152>>2]|0)!=0&1)+((c[a+12+(g*656|0)+172>>2]|0)!=0&1)+((c[a+12+(g*656|0)+192>>2]|0)!=0&1)+((c[a+12+(g*656|0)+212>>2]|0)!=0&1)+((c[a+12+(g*656|0)+232>>2]|0)!=0&1)+((c[a+12+(g*656|0)+252>>2]|0)!=0&1)+((c[a+12+(g*656|0)+272>>2]|0)!=0&1)+((c[a+12+(g*656|0)+292>>2]|0)!=0&1)+((c[a+12+(g*656|0)+312>>2]|0)!=0&1)+((c[a+12+(g*656|0)+332>>2]|0)!=0&1)+((c[a+12+(g*656|0)+352>>2]|0)!=0&1)+((c[a+12+(g*656|0)+372>>2]|0)!=0&1)+((c[a+12+(g*656|0)+392>>2]|0)!=0&1)+((c[a+12+(g*656|0)+412>>2]|0)!=0&1)+((c[a+12+(g*656|0)+432>>2]|0)!=0&1)+((c[a+12+(g*656|0)+452>>2]|0)!=0&1)+((c[a+12+(g*656|0)+472>>2]|0)!=0&1)+((c[a+12+(g*656|0)+492>>2]|0)!=0&1)+((c[a+12+(g*656|0)+512>>2]|0)!=0&1)+((c[a+12+(g*656|0)+532>>2]|0)!=0&1)+((c[a+12+(g*656|0)+552>>2]|0)!=0&1)+((c[a+12+(g*656|0)+572>>2]|0)!=0&1)+((c[a+12+(g*656|0)+592>>2]|0)!=0&1)+((c[a+12+(g*656|0)+612>>2]|0)!=0&1)+((c[a+12+(g*656|0)+632>>2]|0)!=0&1)+((c[a+12+(g*656|0)+652>>2]|0)!=0&1)|0;g=g+1|0}while((g|0)!=64);if(H|0){Ga=b;return}H=0;do{g=0;do{f=a+12+(H*656|0)+16+(g*20|0)+12|0;if((c[f>>2]|0)==1?(c[a+12+(H*656|0)+16+(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);Ga=b;return}function Rb(b){b=b|0;var d=0,e=0;d=Ga;Ga=Ga+16|0;e=d;a[155664]=0;c[e>>2]=41002;c[e+4>>2]=b;Ir(155664,40979,e)|0;e=155664+(ss(155664)|0)|0;a[e>>0]=46;a[e+1>>0]=112;a[e+2>>0]=56;a[e+3>>0]=0;Ga=d;return 155664}function Sb(a){a=a|0;var b=0,d=0,e=0,f=0;b=ln(a,58775)|0;d=Jb(b)|0;mn(b);if(d|0){c[d+44316>>2]=il(a)|0;e=d;return e|0}d=Oq(a)|0;if(d|0){e=d;return e|0}d=zn(a)|0;do if(d|0){if((c[d+16>>2]|0)!=32768){mn(d);break}b=c[d+12>>2]|0;if(!(Ak(b+17152|0)|0)){mn(d);break}f=Lq()|0;Ib(f,b);mn(d);if(f|0){e=f;return e|0}}while(0);if(!(rt(a,42473)|0)){e=0;return e|0}e=Lb(a)|0;return e|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;d=Ga;Ga=Ga+1024|0;e=d;Zl(e,b)|0;f=Sb(b)|0;g=c[730289]|0;if((f|0)==0&(g|0)!=1){Mb(b,e);h=Sb(e)|0;i=h;j=c[730289]|0}else{i=f;j=g}if((i|0)==0&(j|0)!=1){g=e+(ss(e)|0)|0;a[g>>0]=a[56418]|0;a[g+1>>0]=a[56419]|0;a[g+2>>0]=a[56420]|0;a[g+3>>0]=a[56421]|0;a[g+4>>0]=a[56422]|0;g=Sb(e)|0;k=g;l=c[730289]|0}else{k=i;l=j}if((k|0)==0&(l|0)!=1){Zl(e,b)|0;b=e+(ss(e)|0)|0;a[b>>0]=a[56418]|0;a[b+1>>0]=a[56419]|0;a[b+2>>0]=a[56420]|0;a[b+3>>0]=a[56421]|0;a[b+4>>0]=a[56422]|0;m=Sb(e)|0}else m=k;if(!m){n=1;Ga=d;return n|0}Pb(m,e);n=0;Ga=d;return n|0}function Ub(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;if(is(b,2925516)|0){Zl(2925516,b)|0;g=30-(c[731644]|0)|0;h=(g|0)<30?g:30;c[731643]=(h|0)>0?h:0;c[731644]=28}h=Sb(b)|0;if(!h){if(!(rt(b,42478)|0)){i=1;return i|0}g=ln(b,58775)|0;if(!g){i=1;return i|0}b=Lq()|0;j=Uo(17152)|0;ku(j|0,0,17152)|0;an(j,1,17152,g)|0;g=0;do{Sj(0,b,g,a[j+g>>0]|0);g=g+1|0}while((g|0)!=17152);Wo(j);if(!b){i=1;return i|0}else k=b}else k=h;if((f|0)>0){h=0;do{b=c[732713]|0;Sj(2777036,b,h+d|0,Tj(0,k,h+e|0)|0);h=h+1|0}while((h|0)!=(f|0))}Mq(k);i=0;return i|0}function Vb(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=Ga;Ga=Ga+1040|0;k=j+1024|0;l=j;c[k>>2]=b;Ir(l,54220,k)|0;do if(!(rt(1692948,l)|0)){k=0;m=0;a:while(1){switch(a[1692948+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;Ga=j;return o|0}else{Cs(1692948,l)|0;break}}while(0);Zl(2925516,b)|0;c[731643]=30;l=Oq(b)|0;if(!l){n=Lq()|0;if(!i)p=n;else{ku(n+44344|0,0,2144)|0;p=n}}else p=l;l=(g|0)>0;if(l)if(!h){h=0;do{Sj(0,p,h+e|0,Tj(2777036,c[732713]|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;Sj(0,p,n,Tj(2777036,c[732713]|0,m)|0);q=c[17040]|0;Sj(0,q,n,Tj(2777036,c[732713]|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+44344)|0;a[e>>0]=1<<(l&7)|d[e>>0];l=l+1|0}while((l|0)<(i|0))}i=Qq(p,b)|0;Mq(p);o=(i|0)==0?0:2;Ga=j;return o|0}function Wb(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=Ga;Ga=Ga+3104|0;e=d+3080|0;f=d+3072|0;g=d+2048|0;h=d+1024|0;i=d;if(!(a[2920048]|0))if(!b){bb(42509,1500);Ga=d;return}else{og(42483);Ga=d;return}wq(56498,g);if(rt(2920048,g)|0)if(!b){bb(42568,1500);Ga=d;return}else{og(42541);Ga=d;return}if(Ob(2920048)|0)if(!b){bb(42612,1500);Ga=d;return}else{og(42600);Ga=d;return}sn(2920048,g,h,i);c[f>>2]=h;c[f+4>>2]=i;Ir(1469616,42630,f)|0;if(!b){bb(1469616,1e3);Ga=d;return}b=ss(2916968)|0;f=(Gr(g,2916968,b)|0)==0;j=f?g+(b+-1)|0:g;if((a[j>>0]|0)==47){g=ss(2917992)|0;b=(Gr(j+1|0,2917992,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;Ir(1469616,42642,e)|0;og(1469616);Ga=d;return}function Xb(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;b=Ga;Ga=Ga+128|0;d=b+64|0;e=b;if(!(a[2920048]|0)){Ga=b;return}f=Sb(2920048)|0;if(!f){Ga=b;return}Qb(f);g=c[(c[f+8>>2]|0)+16>>2]|0;h=0;i=32;while(1){j=c[g+(i<<2)>>2]|0;k=0;l=h;do{l=(a[j+k>>0]|0)==0?l:1;k=k+1|0}while((k|0)!=128);i=i+1|0;if((i|0)==64)break;else h=l}if(!l)gh(f);else hh(f);Eb(f,d);Eb(c[17040]|0,e);if(is(d,e)|0?is(d,2921072)|0:0)if((c[f+44320>>2]|0)==27){bb(42656,1e3);Pb(f,2920048);Ga=b;return}else{Pb(f,2920048);Ga=b;return}Mq(f);Ga=b;return}function Yb(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=Ga;Ga=Ga+2064|0;e=d+2056|0;f=d+2048|0;g=d+1024|0;h=d;i=c[405606]|0;j=(i|0)<32?i:32;i=(j|0)>1;k=0;while(1){c[f>>2]=Gl()|0;c[f+4>>2]=k;Ir(g,42680,f)|0;yq(g,h);if(!(_p(h)|0))break;else k=k+1|0}k=i?j:1;j=B(c[b>>2]|0,k)|0;i=qm(j,B(c[b+4>>2]|0,k)|0,8)|0;k=i+4|0;wm(b,i,0,0,c[i>>2]|0,c[k>>2]|0,0);if((c[k>>2]|0)<=0){c[e>>2]=h;Ir(1465008,42692,e)|0;bm(1465008);wn(h,i)|0;Gb(h,40668,128,128);rm(i)|0;l=_p(h)|0;m=(l|0)==0;n=m&1;Ga=d;return n|0}b=i+16|0;j=0;g=c[i>>2]|0;while(1){if((g|0)>0){f=0;o=g;while(1){p=(c[(c[b>>2]|0)+(j<<2)>>2]|0)+f|0;if(!(a[p>>0]|0)){a[p>>0]=16;q=c[i>>2]|0}else q=o;f=f+1|0;if((f|0)>=(q|0)){r=q;break}else o=q}}else r=g;j=j+1|0;if((j|0)>=(c[k>>2]|0))break;else g=r}c[e>>2]=h;Ir(1465008,42692,e)|0;bm(1465008);wn(h,i)|0;Gb(h,40668,128,128);rm(i)|0;l=_p(h)|0;m=(l|0)==0;n=m&1;Ga=d;return n|0}function Zb(){c[514859]=0;return}function _b(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Ga;Ga=Ga+16|0;e=d;f=c[514859]|0;if((f|0)==64){Ga=d;return}c[514859]=f+1;Zl(136656+(f*297|0)+41|0,b)|0;g=136656+(f*297|0)|0;Eb(a,g);f=ss(c[a>>2]|0)|0;c[e>>2]=b;c[e+4>>2]=f;c[e+8>>2]=g;Ir(1465008,42718,e)|0;bm(1465008);e=Jq(b,57661)|0;if(!e){bm(42757);Ga=d;return}else{Pq(a,e)|0;mn(e);Ga=d;return}}function $b(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=Ga;Ga=Ga+1024|0;f=e;g=c[514859]|0;if((g|0)<=0){h=0;Ga=e;return h|0}a:do if(d){i=0;while(1){j=136656+(i*297|0)+41|0;if(!(is(b,j)|0)){k=i;break a}Mb(b,f);if(!(is(f,j)|0)){l=10;break}m=f+(ss(f)|0)|0;a[m>>0]=a[56418]|0;a[m+1>>0]=a[56419]|0;a[m+2>>0]=a[56420]|0;a[m+3>>0]=a[56421]|0;a[m+4>>0]=a[56422]|0;if(!(is(f,j)|0)){l=12;break}j=i+1|0;if((j|0)<(c[514859]|0))i=j;else{h=0;l=14;break}}if((l|0)==10){h=136656+(i*297|0)|0;Ga=e;return h|0}else if((l|0)==12){h=136656+(i*297|0)|0;Ga=e;return h|0}else if((l|0)==14){Ga=e;return h|0}}else{j=0;while(1){if(!(is(b,136656+(j*297|0)+41|0)|0)){k=j;break a}j=j+1|0;if((j|0)>=(g|0)){h=0;break}}Ga=e;return h|0}while(0);h=136656+(k*297|0)|0;Ga=e;return h|0}function ac(){return 0}function bc(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;b=Ga;Ga=Ga+128|0;d=b+64|0;e=b;if(!(a[2920048]|0)){f=0;Ga=b;return f|0}g=Sb(2920048)|0;if(!g){f=0;Ga=b;return f|0}Qb(g);h=c[(c[g+8>>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)gh(g);else hh(g);Eb(g,d);Eb(c[17040]|0,e);Mq(g);if(!(is(d,e)|0)){f=0;Ga=b;return f|0}f=(is(d,2921072)|0)!=0&1;Ga=b;return f|0}function cc(a){a=a|0;return 0}function dc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Ga;Ga=Ga+16|0;e=c[a+32>>2]|0;if((e|0)>1e6)fc(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){gc(a,1000200);hc(a,42862,d)}else{gc(a,b);Ga=d;return}}function ec(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=Ga;Ga=Ga+176|0;g=4;h=hr(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=gu(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=hu(c[p>>2]|0,h|0,g|0)|0;if(!q)Ba(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=hu(c[p>>2]|0,h|0,g|0)|0;if(!t)Ba(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;ir(h|0);Ga=f;return v|0}u=c[i>>2]|0;c[o>>2]=u;b[l>>1]=m;v=c[n>>2]|0;ir(h|0);Ga=f;return v|0}function fc(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;Ba(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];fc(c[(c[e>>2]|0)+144>>2]|0,d)}d=c[f+140>>2]|0;if(!d)ja();Ja[d&255](b)|0;ja()}function gc(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)sc(b);i=h<<3;j=d<<3;k=c[b+12>>2]|0;l=(f|0)==0;m=k+4|0;n=Ma[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))fc(b,4);rc(b,1);o=Ma[c[k>>2]&1](c[m>>2]|0,f,i,j)|0;if(!o)fc(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 hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ga;Ga=Ga+16|0;f=e;c[f>>2]=d;jc(a,ic(a,b,f)|0);kc(a)}function ic(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=Ga;Ga=Ga+80|0;g=f+64|0;h=f+56|0;i=f+48|0;j=f+40|0;k=f;l=Es(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}gc(b,C);D=c[n>>2]|0}else D=w;c[n>>2]=D+8;C=gd(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?66809:z;z=ss(C)|0;B=c[n>>2]|0;c[n>>2]=B+8;F=gd(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=Lc(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=Ir(k,43487,i)|0;F=c[n>>2]|0;c[n>>2]=F+8;z=gd(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=Lc(b,43492,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=Es(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)fc(b,6);else if((A|0)==7){gc(b,1000200);hc(b,42862,j)}else if((A|0)==16){c[h>>2]=E<<24>>24;hc(b,43494,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)fc(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){gc(b,1000200);hc(b,42862,g)}else{gc(b,p);P=c[n>>2]|0;break}}else P=O;while(0);O=ss(K)|0;c[n>>2]=P+8;g=gd(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;Ga=f;return T|0}yc(b,L|1);Q=c[n>>2]|0;R=Q+-8|0;S=c[R>>2]|0;T=S+16|0;Ga=f;return T|0}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,n=0,o=0,p=0,q=0,r=0,s=0;e=Ga;Ga=Ga+80|0;f=e+64|0;g=e;h=c[b+16>>2]|0;if(!(a[h+18>>0]&1)){Ga=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=ss(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{ju(g|0,l|0,j|0)|0;break a}break}case 64:{if(j>>>0>60){a[g>>0]=a[43467]|0;a[g+1>>0]=a[43468]|0;a[g+2>>0]=a[43469]|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{ju(g|0,i+1|0,j|0)|0;break a}break}default:{l=Es(i,10)|0;m=g;n=43471;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){ju(p|0,i|0,j|0)|0;r=p+j|0}else{s=q?j:l-i|0;q=s>>>0<45?s:45;ju(p|0,i|0,q|0)|0;s=p+q|0;a[s>>0]=a[43467]|0;a[s+1>>0]=a[43468]|0;a[s+2>>0]=a[43469]|0;r=s+3|0};a[r>>0]=a[43481]|0;a[r+1>>0]=a[43482]|0;a[r+2>>0]=a[43483]|0;break a}}}while(0);c[f>>2]=d;fd(b,43484,f)|0;c[514862]=k;Ga=e;return}function kc(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;d=Ga;Ga=Ga+16|0;e=d;d=c[a+68>>2]|0;if(!d)fc(a,2);f=(c[a+28>>2]|0)+d|0;d=f+4|0;if((c[d>>2]&15|0)!=6)fc(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)hc(a,42877,e);if((h&65535)>224)fc(a,6)}h=a+36|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16;if(!(lc(a,g,1)|0))mc(a);b[h>>1]=(b[h>>1]|0)+-1<<16>>16;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;fc(a,2)}function lc(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=Ga;Ga=Ga+144|0;i=h+32|0;j=h+24|0;k=h+16|0;l=h+8|0;m=h;n=h+36|0;o=e+28|0;p=c[o>>2]|0;q=f;r=q-p|0;s=c[f+4>>2]|0;switch(s&63){case 22:{t=f;break}case 38:{t=(c[f>>2]|0)+12|0;break}case 6:{u=c[(c[f>>2]|0)+12>>2]|0;v=e+8|0;w=c[v>>2]|0;x=w-q>>3;q=x+-1|0;y=e+24|0;z=u+78|0;A=d[z>>0]|0;do if(((c[y>>2]|0)-w>>3|0)<=(A|0)){B=c[e+32>>2]|0;if((B|0)>1e6)fc(e,6);C=(w-p>>3)+5+A|0;D=B<<1;B=(D|0)<1e6?D:1e6;D=(B|0)<(C|0)?C:B;if((D|0)>1e6){gc(e,1000200);hc(e,42862,l)}else{gc(e,D);break}}while(0);l=a[u+76>>0]|0;A=l&255;if((x|0)>(A|0))E=q;else{x=q;q=c[v>>2]|0;do{w=q;q=q+8|0;c[w+4>>2]=0;x=x+1|0}while((x|0)<(A|0));c[v>>2]=q;E=x}if(!(a[u+77>>0]|0)){x=(c[o>>2]|0)+r|0;F=x+8|0;G=x}else{x=c[v>>2]|0;q=d[z>>0]|0;do if(((c[y>>2]|0)-x>>3|0)<=(q|0)){w=c[e+32>>2]|0;if((w|0)>1e6)fc(e,6);D=q+5+(x-(c[o>>2]|0)>>3)|0;B=w<<1;w=(B|0)<1e6?B:1e6;B=(w|0)<(D|0)?D:w;if((B|0)>1e6){gc(e,1000200);hc(e,42862,k)}else{gc(e,B);H=c[v>>2]|0;break}}else H=x;while(0);x=0-E|0;E=H+(x<<3)|0;if(l<<24>>24?(c[v>>2]=H+8,c[H>>2]=c[E>>2],k=H+(x<<3)+4|0,c[H+4>>2]=c[k>>2],c[k>>2]=0,l<<24>>24!=1):0){l=1;do{k=c[v>>2]|0;x=E+(l<<3)|0;c[v>>2]=k+8;c[k>>2]=c[x>>2];q=x+4|0;c[k+4>>2]=c[q>>2];c[q>>2]=0;l=l+1|0}while((l|0)!=(A|0))}F=H;G=(c[o>>2]|0)+r|0}H=e+16|0;A=c[(c[H>>2]|0)+12>>2]|0;l=e+12|0;if(!A){E=c[l>>2]|0;q=E+4|0;k=Ma[c[E>>2]&1](c[q>>2]|0,0,0,40)|0;if(!k){if(!(a[E+51>>0]|0))fc(e,4);rc(e,1);x=Ma[c[E>>2]&1](c[q>>2]|0,0,0,40)|0;if(!x)fc(e,4);else I=x}else I=k;k=E+12|0;c[k>>2]=(c[k>>2]|0)+40;k=c[H>>2]|0;c[k+12>>2]=I;c[I+8>>2]=k;c[I+12>>2]=0;J=I}else J=A;c[H>>2]=J;b[J+16>>1]=g;c[J>>2]=G;c[J+24>>2]=F;G=F+(d[z>>0]<<3)|0;c[J+4>>2]=G;z=J+28|0;c[z>>2]=c[u+12>>2];u=J+18|0;a[u>>0]=1;c[v>>2]=G;G=c[l>>2]|0;l=G+12|0;F=c[l>>2]|0;do if((F|0)>0)if(!(a[G+51>>0]|0)){A=G+8|0;c[A>>2]=F+1600+(c[A>>2]|0);c[l>>2]=-1600;break}else{vc(e);break}while(0);if(!(a[e+40>>0]&1)){K=0;Ga=h;return K|0}l=(c[z>>2]|0)+4|0;c[z>>2]=l;F=c[J+8>>2]|0;if((a[F+18>>0]&1)!=0?(c[(c[F+28>>2]|0)+-4>>2]&63|0)==43:0){a[u>>0]=a[u>>0]|64;L=4}else L=0;u=c[e+52>>2]|0;if((u|0)!=0?(F=e+41|0,(a[F>>0]|0)!=0):0){J=c[H>>2]|0;H=c[v>>2]|0;G=c[o>>2]|0;A=H-G|0;I=J+4|0;k=(c[I>>2]|0)-G|0;c[n>>2]=L;c[n+20>>2]=-1;c[n+96>>2]=J;L=H;do if(((c[y>>2]|0)-H|0)<168){G=c[e+32>>2]|0;if((G|0)>1e6)fc(e,6);E=(A>>3)+25|0;x=G<<1;G=(x|0)<1e6?x:1e6;x=(G|0)<(E|0)?E:G;if((x|0)>1e6){gc(e,1000200);hc(e,42862,j)}else{gc(e,x);M=c[v>>2]|0;break}}else M=L;while(0);c[I>>2]=M+160;a[F>>0]=0;M=J+18|0;a[M>>0]=a[M>>0]|2;Pa[u&7](e,n);a[F>>0]=1;F=c[o>>2]|0;c[I>>2]=F+k;c[v>>2]=F+A;a[M>>0]=a[M>>0]&-3;N=c[z>>2]|0}else N=l;c[z>>2]=N+-4;K=0;Ga=h;return K|0}default:{switch(s&15){case 5:{O=(c[f>>2]|0)+8|0;break}case 7:{O=(c[f>>2]|0)+8|0;break}default:O=(c[e+12>>2]|0)+276+((s&15)<<2)|0}s=c[O>>2]|0;a:do if(!s)P=2059440;else{O=c[(c[e+12>>2]|0)+272>>2]|0;N=(c[s+16>>2]|0)+(((1<>0])+-1&c[O+8>>2])*20|0)|0;while(1){if((c[N+12>>2]|0)==68?(c[N+8>>2]|0)==(O|0):0)break;z=c[N+16>>2]|0;if(!z){P=2059440;break a}else N=z}P=N}while(0);s=P+4|0;if((c[s>>2]&15|0)!=6)Nc(e,f,43462);O=e+8|0;z=c[O>>2]|0;if(z>>>0>f>>>0){l=z;do{M=l;l=l+-8|0;c[M>>2]=c[l>>2];c[M+4>>2]=c[M+-4>>2]}while(l>>>0>f>>>0);Q=c[O>>2]|0}else Q=z;z=Q+8|0;c[O>>2]=z;O=z;do if(((c[e+24>>2]|0)-O|0)<8){z=c[e+32>>2]|0;if((z|0)>1e6)fc(e,6);Q=(O-(c[o>>2]|0)>>3)+5|0;f=z<<1;z=(f|0)<1e6?f:1e6;f=(z|0)<(Q|0)?Q:z;if((f|0)>1e6){gc(e,1000200);hc(e,42862,i)}else{gc(e,f);break}}while(0);i=(c[o>>2]|0)+r|0;c[i>>2]=c[P>>2];c[i+4>>2]=c[s>>2];K=lc(e,i,g)|0;Ga=h;return K|0}}i=c[t>>2]|0;t=e+8|0;s=c[t>>2]|0;do if(((c[e+24>>2]|0)-s|0)<168){P=c[e+32>>2]|0;if((P|0)>1e6)fc(e,6);O=(s-p>>3)+25|0;f=P<<1;P=(f|0)<1e6?f:1e6;f=(P|0)<(O|0)?O:P;if((f|0)>1e6){gc(e,1000200);hc(e,42862,m)}else{gc(e,f);break}}while(0);m=e+16|0;p=c[(c[m>>2]|0)+12>>2]|0;s=e+12|0;if(!p){f=c[s>>2]|0;P=f+4|0;O=Ma[c[f>>2]&1](c[P>>2]|0,0,0,40)|0;if(!O){if(!(a[f+51>>0]|0))fc(e,4);rc(e,1);z=Ma[c[f>>2]&1](c[P>>2]|0,0,0,40)|0;if(!z)fc(e,4);else R=z}else R=O;O=f+12|0;c[O>>2]=(c[O>>2]|0)+40;O=c[m>>2]|0;c[O+12>>2]=R;c[R+8>>2]=O;c[R+12>>2]=0;S=R}else S=p;c[m>>2]=S;b[S+16>>1]=g;c[S>>2]=(c[o>>2]|0)+r;c[S+4>>2]=(c[t>>2]|0)+160;a[S+18>>0]=0;S=c[s>>2]|0;s=S+12|0;r=c[s>>2]|0;do if((r|0)>0)if(!(a[S+51>>0]|0)){o=S+8|0;c[o>>2]=r+1600+(c[o>>2]|0);c[s>>2]=-1600;break}else{vc(e);break}while(0);if(a[e+40>>0]&1)Dc(e,0,-1);s=Ja[i&255](e)|0;ed(e,(c[t>>2]|0)+(0-s<<3)|0)|0;K=1;Ga=h;return K|0}function mc(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,Ha=0,Ia=0,Ja=0,Ka=0,La=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;f=Ga;Ga=Ga+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+40|0;t=e+32|0;u=e+28|0;v=e+20|0;w=m+4|0;x=c[n>>2]|0;a:while(1){y=c[c[x>>2]>>2]|0;z=y+12|0;A=c[(c[z>>2]|0)+8>>2]|0;B=x+24|0;C=x+28|0;D=x+4|0;E=x+4|0;F=x+4|0;G=x+4|0;H=x+4|0;I=x+4|0;J=x+4|0;K=c[x+24>>2]|0;b:while(1){L=c[C>>2]|0;c[C>>2]=L+4;M=c[L>>2]|0;if((c[514865]|0)==0?(L=c[514864]|0,(L|0)<=(c[8612]|0)):0){N=K;O=L}else{c[514866]=1;P=c[n>>2]|0;Q=P+18|0;L=d[Q>>0]|0;if(!(L&128)){R=6;break a}a[Q>>0]=L&127;N=c[B>>2]|0;O=c[514864]|0}c[514864]=O+2;L=M>>>6&255;S=N+(L<<3)|0;c:do switch(M&63){case 44:{R=230;break b;break}case 0:{T=M>>>23;c[S>>2]=c[N+(T<<3)>>2];c[N+(L<<3)+4>>2]=c[N+(T<<3)+4>>2];U=N;break}case 1:{T=M>>>14;c[S>>2]=c[A+(T<<3)>>2];c[N+(L<<3)+4>>2]=c[A+(T<<3)+4>>2];U=N;break}case 2:{T=c[C>>2]|0;c[C>>2]=T+4;V=(c[T>>2]|0)>>>6;c[S>>2]=c[A+(V<<3)>>2];c[N+(L<<3)+4>>2]=c[A+(V<<3)+4>>2];U=N;break}case 3:{c[S>>2]=M>>>23;c[N+(L<<3)+4>>2]=1;if(!(M&8372224))U=N;else{c[C>>2]=(c[C>>2]|0)+4;U=N}break}case 4:{V=S;T=M>>>23;while(1){c[V+4>>2]=0;if(!T){U=N;break}else{V=V+8|0;T=T+-1|0}}break}case 5:{T=c[(c[y+16+(M>>>23<<2)>>2]|0)+8>>2]|0;c[S>>2]=c[T>>2];c[N+(L<<3)+4>>2]=c[T+4>>2];U=N;break}case 6:{T=M>>>14;oc(e,c[(c[y+16+(M>>>23<<2)>>2]|0)+8>>2]|0,(M&4194304|0)==0?N+((T&511)<<3)|0:A+((T&255)<<3)|0,S);U=c[B>>2]|0;break}case 7:{T=M>>>14;oc(e,N+(M>>>23<<3)|0,(M&4194304|0)==0?N+((T&511)<<3)|0:A+((T&255)<<3)|0,S);U=c[B>>2]|0;break}case 8:{T=M>>>23;V=M>>>14;pc(e,c[(c[y+16+(L<<2)>>2]|0)+8>>2]|0,(M|0)<0?A+((T&255)<<3)|0:N+(T<<3)|0,(M&4194304|0)==0?N+((V&511)<<3)|0:A+((V&255)<<3)|0);U=c[B>>2]|0;break}case 9:{V=c[y+16+(M>>>23<<2)>>2]|0;T=c[V+8>>2]|0;c[T>>2]=c[S>>2];W=N+(L<<3)+4|0;c[T+4>>2]=c[W>>2];if(((c[W>>2]&64|0)!=0?(W=c[S>>2]|0,(a[W+5>>0]&3)!=0):0)?(T=V+5|0,V=a[T>>0]|0,(V&4)!=0):0){X=c[o>>2]|0;if((d[X+49>>0]|0)<2){qc(X,W);U=N;break c}else{a[T>>0]=a[X+48>>0]&3|V&-72;U=N;break c}}else U=N;break}case 10:{V=M>>>23;X=M>>>14;pc(e,S,(M|0)<0?A+((V&255)<<3)|0:N+(V<<3)|0,(M&4194304|0)==0?N+((X&511)<<3)|0:A+((X&255)<<3)|0);U=c[B>>2]|0;break}case 11:{X=M>>>23;V=M>>>14;T=V&511;W=c[o>>2]|0;Y=W+4|0;Z=Ma[c[W>>2]&1](c[Y>>2]|0,0,5,32)|0;if(!Z){if(!(a[W+51>>0]|0)){R=30;break a}rc(e,1);_=Ma[c[W>>2]&1](c[Y>>2]|0,0,5,32)|0;if(!_){R=30;break a}else $=_}else $=Z;Z=W+12|0;c[Z>>2]=(c[Z>>2]|0)+32;Z=W+56|0;a[$+5>>0]=a[W+48>>0]&3;a[$+4>>0]=5;c[$>>2]=c[Z>>2];c[Z>>2]=$;c[$+8>>2]=0;a[$+6>>0]=-1;Z=$+12|0;c[Z>>2]=0;W=$+28|0;c[W>>2]=0;_=$+16|0;c[_>>2]=2059468;Y=$+7|0;a[Y>>0]=0;aa=$+20|0;c[aa>>2]=2059468;c[S>>2]=$;c[N+(L<<3)+4>>2]=69;if(T|X|0){ba=M>>>26&31;ca=(ba|0)==0?X:(X&7|8)<>>17&31;X=(ba|0)==0?T:(V&7|8)<>2]|0;V=a[Y>>0]|0;T=V&255;da=c[_>>2]|0;if((ba|0)<(ca|0)){if((ca+1|0)>>>0>536870911){R=34;break a}ea=c[Z>>2]|0;fa=ba<<3;ba=ca<<3;ga=c[o>>2]|0;ha=(ea|0)==0;ia=ga+4|0;ja=Ma[c[ga>>2]&1](c[ia>>2]|0,ea,fa,ba)|0;if((ba|0)!=0&(ja|0)==0){if(!(a[ga+51>>0]|0)){R=38;break a}rc(e,1);ka=Ma[c[ga>>2]&1](c[ia>>2]|0,ea,fa,ba)|0;if(!ka){R=38;break a}else la=ka}else la=ja;ja=ga+12|0;c[ja>>2]=(ha?0:0-fa|0)+ba+(c[ja>>2]|0);c[Z>>2]=la;Z=c[W>>2]|0;if((Z|0)<(ca|0)){ja=Z;do{c[la+(ja<<3)+4>>2]=0;ja=ja+1|0}while((ja|0)!=(ca|0))}c[W>>2]=ca}if(!X){c[_>>2]=2059468;ma=0;na=0;oa=2059468}else{ja=X+-1|0;if(ja>>>0>255){Z=ja;ba=0;while(1){fa=ba+8|0;ha=Z>>>8;if(Z>>>0>65535){Z=ha;ba=fa}else{pa=fa;qa=ha;break}}}else{pa=0;qa=ja}ba=pa+(d[400+qa>>0]|0)|0;if((ba|0)>30){R=49;break a}Z=1<>>0>214748364){R=51;break a}X=20<>2]|0;W=ca+4|0;ha=Ma[c[ca>>2]&1](c[W>>2]|0,0,0,X)|0;if(ba>>>0<30&(ha|0)==0){if(!(a[ca+51>>0]|0)){R=55;break a}rc(e,1);fa=Ma[c[ca>>2]&1](c[W>>2]|0,0,0,X)|0;if(!fa){R=55;break a}else ra=fa}else ra=ha;ha=ca+12|0;c[ha>>2]=(c[ha>>2]|0)+X;c[_>>2]=ra;X=0;ha=ra;do{c[ha+(X*20|0)+16>>2]=0;c[ha+(X*20|0)+12>>2]=0;c[ha+(X*20|0)+4>>2]=0;X=X+1|0;ha=c[_>>2]|0}while((X|0)<(Z|0));ma=Z;na=ba&255;oa=ha}a[Y>>0]=na;c[aa>>2]=oa+(ma*20|0);if(V<<24>>24!=31){X=1<>2]|0){ca=da+(X*20|0)+8|0;fa=tc($,ca)|0;if((fa|0)==2059440)sa=uc(e,$,ca)|0;else sa=fa;c[sa>>2]=c[da+(X*20|0)>>2];c[sa+4>>2]=c[ja>>2]}}while((_|0)>1)}if((da|0)!=2059468){X=20<>2]|0;Ma[c[V>>2]&1](c[V+4>>2]|0,da,X,0)|0;aa=V+12|0;c[aa>>2]=(c[aa>>2]|0)-((da|0)==0?0:X)}}X=c[o>>2]|0;aa=X+12|0;V=c[aa>>2]|0;if((V|0)>0){c[p>>2]=S+8;if(!(a[X+51>>0]|0)){Y=X+8|0;c[Y>>2]=V+1600+(c[Y>>2]|0);c[aa>>2]=-1600}else vc(e);c[p>>2]=c[I>>2]}U=c[B>>2]|0;break}case 12:{aa=M>>>23;Y=N+(aa<<3)|0;V=S+8|0;c[V>>2]=c[Y>>2];c[V+4>>2]=c[N+(aa<<3)+4>>2];aa=M>>>14;oc(e,Y,(M&4194304|0)==0?N+((aa&511)<<3)|0:A+((aa&255)<<3)|0,S);U=c[B>>2]|0;break}case 13:{c[514864]=O+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:N+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?N+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[S>>2]=(c[V>>2]|0)+(c[Y>>2]|0);c[N+(L<<3)+4>>2]=3;U=N;break c}wc(e,S,Y,V,6);U=c[B>>2]|0;break}case 14:{c[514864]=O+1;V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:N+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?N+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[S>>2]=(c[Y>>2]|0)-(c[aa>>2]|0);c[N+(L<<3)+4>>2]=3;U=N;break c}wc(e,S,Y,aa,7);U=c[B>>2]|0;break}case 15:{aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:N+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?N+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[S>>2]=gk(c[Y>>2]|0,c[V>>2]|0)|0;c[N+(L<<3)+4>>2]=3;U=N;break c}wc(e,S,Y,V,8);U=c[B>>2]|0;break}case 16:{V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:N+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?N+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[S>>2]=hk(c[Y>>2]|0,c[aa>>2]|0)|0;c[N+(L<<3)+4>>2]=3;U=N;break c}wc(e,S,Y,aa,9);U=c[B>>2]|0;break}case 17:{aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:N+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?N+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[S>>2]=ik(c[Y>>2]|0,c[V>>2]|0)|0;c[N+(L<<3)+4>>2]=3;U=N;break c}wc(e,S,Y,V,10);U=c[B>>2]|0;break}case 18:{V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:N+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?N+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[S>>2]=jk(c[Y>>2]|0,c[aa>>2]|0)|0;c[N+(L<<3)+4>>2]=3;U=N;break c}wc(e,S,Y,aa,11);U=c[B>>2]|0;break}case 19:{c[514864]=O+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:N+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?N+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[S>>2]=c[V>>2]&c[Y>>2];c[N+(L<<3)+4>>2]=3;U=N;break c}wc(e,S,Y,V,12);U=c[B>>2]|0;break}case 20:{c[514864]=O+1;V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:N+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?N+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[S>>2]=c[aa>>2]|c[Y>>2];c[N+(L<<3)+4>>2]=3;U=N;break c}wc(e,S,Y,aa,13);U=c[B>>2]|0;break}case 21:{c[514864]=O+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:N+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?N+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[S>>2]=c[V>>2]^c[Y>>2];c[N+(L<<3)+4>>2]=3;U=N;break c}wc(e,S,Y,V,14);U=c[B>>2]|0;break}case 22:{c[514864]=O+1;V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:N+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?N+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[S>>2]=tk(c[Y>>2]|0,c[aa>>2]|0)|0;c[N+(L<<3)+4>>2]=3;U=N;break c}wc(e,S,Y,aa,15);U=c[B>>2]|0;break}case 23:{c[514864]=O+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:N+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?N+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[S>>2]=uk(c[Y>>2]|0,c[V>>2]|0)|0;c[N+(L<<3)+4>>2]=3;U=N;break c}wc(e,S,Y,V,16);U=c[B>>2]|0;break}case 24:{c[514864]=O+1;V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:N+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?N+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[S>>2]=sk(c[Y>>2]|0,c[aa>>2]|0)|0;c[N+(L<<3)+4>>2]=3;U=N;break c}wc(e,S,Y,aa,17);U=c[B>>2]|0;break}case 25:{c[514864]=O+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:N+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?N+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[S>>2]=qk(c[Y>>2]|0,c[V>>2]|0)|0;c[N+(L<<3)+4>>2]=3;U=N;break c}wc(e,S,Y,V,18);U=c[B>>2]|0;break}case 26:{c[514864]=O+1;V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:N+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?N+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[S>>2]=rk(c[Y>>2]|0,c[aa>>2]|0)|0;c[N+(L<<3)+4>>2]=3;U=N;break c}wc(e,S,Y,aa,19);U=c[B>>2]|0;break}case 27:{c[514864]=O+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:N+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?N+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[S>>2]=~c[Y>>2];c[N+(L<<3)+4>>2]=3;U=N;break c}wc(e,S,Y,V,20);U=c[B>>2]|0;break}case 28:{V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:N+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?N+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[S>>2]=(hk(c[Y>>2]|0,c[aa>>2]|0)|0)&-65536;c[N+(L<<3)+4>>2]=3;U=N;break c}wc(e,S,Y,aa,21);U=c[B>>2]|0;break}case 29:{c[514864]=O+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:N+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?N+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[S>>2]=Zj(c[Y>>2]|0)|0;c[N+(L<<3)+4>>2]=3;U=N;break c}wc(e,S,Y,V,22);U=c[B>>2]|0;break}case 30:{c[514864]=O+1;V=M>>>23;Y=(M|0)<0?A+((V&255)<<3)|0:N+(V<<3)|0;V=M>>>14;aa=(M&4194304|0)==0?N+((V&511)<<3)|0:A+((V&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[aa+4>>2]|0)==3:0){c[S>>2]=Yj(c[Y>>2]|0)|0;c[N+(L<<3)+4>>2]=3;U=N;break c}wc(e,S,Y,aa,23);U=c[B>>2]|0;break}case 31:{c[514864]=O+1;aa=M>>>23;Y=(M|0)<0?A+((aa&255)<<3)|0:N+(aa<<3)|0;aa=M>>>14;V=(M&4194304|0)==0?N+((aa&511)<<3)|0:A+((aa&255)<<3)|0;if((c[Y+4>>2]|0)==3?(c[V+4>>2]|0)==3:0){c[S>>2]=Xj(c[Y>>2]|0)|0;c[N+(L<<3)+4>>2]=3;U=N;break c}wc(e,S,Y,V,24);U=c[B>>2]|0;break}case 32:{V=M>>>23;Y=N+(V<<3)|0;if((c[N+(V<<3)+4>>2]|0)==3){c[S>>2]=0-(c[Y>>2]|0);c[N+(L<<3)+4>>2]=3;U=N;break c}else{wc(e,S,Y,Y,25);U=c[B>>2]|0;break c}break}case 33:{Y=M>>>23;switch(c[N+(Y<<3)+4>>2]|0){case 0:{ta=1;break}case 1:{ta=(c[N+(Y<<3)>>2]|0)==0;break}default:ta=0}c[S>>2]=ta&1;c[N+(L<<3)+4>>2]=1;U=N;break}case 34:{xc(e,S,N+(M>>>23<<3)|0);U=c[B>>2]|0;break}case 35:{Y=M>>>23;V=M>>>14&511;c[p>>2]=N+(V<<3)+8;yc(e,1-Y+V|0);V=c[B>>2]|0;aa=V+(L<<3)|0;X=V+(Y<<3)|0;c[aa>>2]=c[X>>2];c[V+(L<<3)+4>>2]=c[V+(Y<<3)+4>>2];V=c[o>>2]|0;ha=V+12|0;ba=c[ha>>2]|0;if((ba|0)>0){c[p>>2]=L>>>0>>0?X:aa+8|0;if(!(a[V+51>>0]|0)){aa=V+8|0;c[aa>>2]=ba+1600+(c[aa>>2]|0);c[ha>>2]=-1600}else vc(e);ha=c[E>>2]|0;c[p>>2]=ha;ua=ha}else ua=c[D>>2]|0;ha=c[B>>2]|0;c[p>>2]=ua;U=ha;break}case 36:{if(L|0)zc(e,(c[B>>2]|0)+(L<<3)+-8|0);c[C>>2]=(c[C>>2]|0)+((M>>>14)+-131071<<2);U=N;break}case 37:{ha=M>>>23;aa=(M|0)<0?A+((ha&255)<<3)|0:N+(ha<<3)|0;ha=M>>>14;ba=(M&4194304|0)==0?N+((ha&511)<<3)|0:A+((ha&255)<<3)|0;if((c[aa+4>>2]|0)==(c[ba+4>>2]|0))va=(Ac(e,aa,ba)|0)!=0;else va=0;ba=c[C>>2]|0;if((L|0)==(va&1|0)){aa=c[ba>>2]|0;ha=aa>>>6&255;if(!ha)wa=ba;else{zc(e,(c[B>>2]|0)+(ha<<3)+-8|0);wa=c[C>>2]|0}xa=wa+((aa>>>14)+-131070<<2)|0}else xa=ba+4|0;c[C>>2]=xa;U=c[B>>2]|0;break}case 38:{ba=M>>>23;aa=M>>>14;ha=(Bc(e,(M|0)<0?A+((ba&255)<<3)|0:N+(ba<<3)|0,(M&4194304|0)==0?N+((aa&511)<<3)|0:A+((aa&255)<<3)|0)|0)==(L|0);aa=c[C>>2]|0;if(ha){ha=c[aa>>2]|0;ba=ha>>>6&255;if(!ba)ya=aa;else{zc(e,(c[B>>2]|0)+(ba<<3)+-8|0);ya=c[C>>2]|0}za=ya+((ha>>>14)+-131070<<2)|0}else za=aa+4|0;c[C>>2]=za;U=c[B>>2]|0;break}case 39:{aa=M>>>23;ha=M>>>14;ba=(Cc(e,(M|0)<0?A+((aa&255)<<3)|0:N+(aa<<3)|0,(M&4194304|0)==0?N+((ha&511)<<3)|0:A+((ha&255)<<3)|0)|0)==(L|0);ha=c[C>>2]|0;if(ba){ba=c[ha>>2]|0;aa=ba>>>6&255;if(!aa)Aa=ha;else{zc(e,(c[B>>2]|0)+(aa<<3)+-8|0);Aa=c[C>>2]|0}Ba=Aa+((ba>>>14)+-131070<<2)|0}else Ba=ha+4|0;c[C>>2]=Ba;U=c[B>>2]|0;break}case 40:{ha=c[N+(L<<3)+4>>2]|0;ba=(ha|0)==0;if(!(M&8372224)){if(!ba)if(!((ha|0)==1?!(c[S>>2]|0):0))R=196}else if(!ba){if((ha|0)==1?(c[S>>2]|0)==0:0)R=196}else R=196;if((R|0)==196){R=0;c[C>>2]=(c[C>>2]|0)+4;U=N;break c}ha=c[C>>2]|0;ba=c[ha>>2]|0;aa=ba>>>6&255;if(!aa)Ca=ha;else{zc(e,(c[B>>2]|0)+(aa<<3)+-8|0);Ca=c[C>>2]|0}c[C>>2]=Ca+((ba>>>14)+-131070<<2);U=N;break}case 41:{ba=M>>>23;aa=N+(ba<<3)|0;ha=c[N+(ba<<3)+4>>2]|0;ba=(ha|0)==0;if(!(M&8372224))if(!ba)if((ha|0)==1?(c[aa>>2]|0)==0:0)R=208;else R=207;else R=208;else if(!ba)if((ha|0)==1?(c[aa>>2]|0)==0:0)R=207;else R=208;else R=207;if((R|0)==207){R=0;Da=(c[C>>2]|0)+4|0}else if((R|0)==208){R=0;c[S>>2]=c[aa>>2];c[N+(L<<3)+4>>2]=ha;ha=c[C>>2]|0;aa=c[ha>>2]|0;ba=aa>>>6&255;if(!ba)Ea=ha;else{zc(e,(c[B>>2]|0)+(ba<<3)+-8|0);Ea=c[C>>2]|0}Da=Ea+((aa>>>14)+-131070<<2)|0}c[C>>2]=Da;U=N;break}case 42:{aa=M>>>23;ba=M>>>14&511;if(aa|0)c[p>>2]=S+(aa<<3);if(!(lc(e,S,ba+-1|0)|0)){R=218;break b}if(ba|0)c[p>>2]=c[G>>2];U=c[B>>2]|0;break}case 43:{ba=M>>>23;if(ba|0)c[p>>2]=S+(ba<<3);if(!(lc(e,S,-1)|0)){R=223;break b}U=c[B>>2]|0;break}case 45:{ba=c[S+16>>2]|0;aa=c[S>>2]|0;ha=aa+ba|0;V=c[S+8>>2]|0;if((ba|0)>0){if((ha|0)>(V|0)){U=N;break c}}else if((V|0)>(ha|0)){U=N;break c}if((aa|ba|0)<0|(ha|0)>0){c[C>>2]=(c[C>>2]|0)+((M>>>14)+-131071<<2);c[S>>2]=ha;c[N+(L<<3)+4>>2]=3;ba=S+24|0;c[ba>>2]=ha;c[ba+4>>2]=3;U=N}else U=N;break}case 46:{ba=S+8|0;ha=S+16|0;aa=N+(L<<3)+4|0;V=c[aa>>2]|0;if((V|0)!=3){if((V&15|0)!=4){R=258;break a}V=c[S>>2]|0;if(!(Ec(V+16|0,c[V+12>>2]|0,m)|0)){R=258;break a}c[S>>2]=c[m>>2];c[aa>>2]=3}V=ba+4|0;X=c[V>>2]|0;if((X|0)!=3){if((X&15|0)!=4){R=263;break a}X=c[ba>>2]|0;if(!(Ec(X+16|0,c[X+12>>2]|0,m)|0)){R=263;break a}c[ba>>2]=c[m>>2];c[V>>2]=3}V=ha+4|0;ba=c[V>>2]|0;if((ba|0)==3)Fa=ha;else{if((ba&15|0)!=4){R=269;break a}ba=c[ha>>2]|0;if(!(Ec(ba+16|0,c[ba+12>>2]|0,m)|0)){R=269;break a}c[ha>>2]=c[m>>2];c[V>>2]=3;Fa=ha}c[S>>2]=(c[S>>2]|0)-(c[Fa>>2]|0);c[aa>>2]=3;c[C>>2]=(c[C>>2]|0)+((M>>>14)+-131071<<2);U=N;break}case 47:{aa=S+24|0;ha=S+16|0;V=aa+16|0;c[V>>2]=c[ha>>2];c[V+4>>2]=c[ha+4>>2];ha=S+8|0;V=aa+8|0;c[V>>2]=c[ha>>2];c[V+4>>2]=c[ha+4>>2];c[aa>>2]=c[S>>2];c[aa+4>>2]=c[N+(L<<3)+4>>2];c[p>>2]=aa+24;ha=M>>>14&511;V=(b[q>>1]|0)+1<<16>>16;b[q>>1]=V;if((V&65535)>199){if(V<<16>>16==200){R=273;break a}if((V&65535)>224){R=275;break a}}if(!(lc(e,aa,ha)|0))mc(e);b[q>>1]=(b[q>>1]|0)+-1<<16>>16;ha=c[B>>2]|0;c[p>>2]=c[F>>2];aa=c[C>>2]|0;c[C>>2]=aa+4;V=c[aa>>2]|0;Ha=V;Ia=ha+((V>>>6&255)<<3)|0;Ja=ha;R=279;break}case 48:{Ha=M;Ia=S;Ja=N;R=279;break}case 49:{ha=M>>>23;V=M>>>14&511;if(!ha)Ka=((c[p>>2]|0)-S>>3)+-1|0;else Ka=ha;if(!V){ha=c[C>>2]|0;c[C>>2]=ha+4;La=(c[ha>>2]|0)>>>6}else La=V;V=c[S>>2]|0;ha=Ka+-50+(La*50|0)|0;aa=V+28|0;if((ha|0)>(c[aa>>2]|0)){if((c[V+16>>2]|0)==2059468)Na=0;else Na=1<>0];Fc(e,V,ha,Na)}if((Ka|0)>0){ba=V+12|0;X=V+16|0;Y=V+7|0;Z=V+5|0;_=V+24|0;ja=ha;ha=Ka;while(1){fa=S+(ha<<3)|0;ca=ja;ja=ja+-1|0;d:do if(ja>>>0<(c[aa>>2]|0)>>>0){Oa=(c[ba>>2]|0)+(ja<<3)|0;R=298}else{W=ca<<16;ga=0-W|0;ka=(c[X>>2]|0)+(((((W|0)<0?((W|0)==(ga|0)?0:ga):W)|0)%((1<>0])+-1|1|0)|0)*20|0)|0;while(1){if((c[ka+12>>2]|0)==3?(c[ka+8>>2]|0)==(W|0):0)break;ga=c[ka+16>>2]|0;if(!ga){R=299;break d}else ka=ga}Oa=ka;R=298}while(0);if((R|0)==298){R=0;if((Oa|0)==2059440)R=299;else Pa=Oa}if((R|0)==299){R=0;c[m>>2]=ca;c[w>>2]=3;Pa=uc(e,V,m)|0}c[Pa>>2]=c[fa>>2];W=fa+4|0;c[Pa+4>>2]=c[W>>2];if((c[W>>2]&64|0?a[(c[fa>>2]|0)+5>>0]&3:0)?(W=a[Z>>0]|0,W&4):0){ga=c[o>>2]|0;a[Z>>0]=W&-5;W=ga+76|0;c[_>>2]=c[W>>2];c[W>>2]=V}if((ha|0)<=1)break;else ha=ha+-1|0}}c[p>>2]=c[J>>2];U=N;break}case 50:{ha=c[(c[(c[z>>2]|0)+16>>2]|0)+(M>>>14<<2)>>2]|0;V=ha+32|0;_=c[V>>2]|0;Z=c[ha+40>>2]|0;Y=c[ha+28>>2]|0;e:do if(!_)R=314;else{if((Z|0)>0){X=_+16|0;ja=0;do{ba=d[Y+(ja<<3)+5>>0]|0;if(!(a[Y+(ja<<3)+4>>0]|0))Qa=c[(c[y+16+(ba<<2)>>2]|0)+8>>2]|0;else Qa=N+(ba<<3)|0;if((c[(c[X+(ja<<2)>>2]|0)+8>>2]|0)!=(Qa|0)){R=314;break e}ja=ja+1|0}while((ja|0)<(Z|0))}c[S>>2]=_;c[N+(L<<3)+4>>2]=70}while(0);if((R|0)==314){R=0;_=Gc(e,Z)|0;c[_+12>>2]=ha;c[S>>2]=_;c[N+(L<<3)+4>>2]=70;if((Z|0)>0){ja=_+16|0;X=0;do{fa=d[Y+(X<<3)+5>>0]|0;if(!(a[Y+(X<<3)+4>>0]|0))c[ja+(X<<2)>>2]=c[y+16+(fa<<2)>>2];else c[ja+(X<<2)>>2]=Hc(e,N+(fa<<3)|0)|0;X=X+1|0}while((X|0)!=(Z|0))}Z=ha+5|0;X=a[Z>>0]|0;do if(X&4){if(c[V>>2]|0){ja=c[o>>2]|0;a[Z>>0]=X&-5;Y=ja+76|0;c[ha+72>>2]=c[Y>>2];c[Y>>2]=ha;break}if(a[_+5>>0]&3){Y=c[o>>2]|0;if((d[Y+49>>0]|0)<2){qc(Y,_);break}else{a[Z>>0]=a[Y+48>>0]&3|X&-72;break}}}while(0);c[V>>2]=_}X=c[o>>2]|0;Z=X+12|0;ha=c[Z>>2]|0;if((ha|0)>0){c[p>>2]=S+8;if(!(a[X+51>>0]|0)){Y=X+8|0;c[Y>>2]=ha+1600+(c[Y>>2]|0);c[Z>>2]=-1600}else vc(e);c[p>>2]=c[H>>2]}U=c[B>>2]|0;break}case 51:{Z=M>>>23;Y=Z+-1|0;ha=(N-(c[x>>2]|0)>>3)-(d[(c[z>>2]|0)+76>>0]|0)|0;X=ha+-1|0;if(!Z){Z=c[p>>2]|0;if(((c[r>>2]|0)-Z>>3|0)<(ha|0)){ja=c[t>>2]|0;if((ja|0)>1e6){R=338;break a}fa=ha+4+(Z-(c[u>>2]|0)>>3)|0;Z=ja<<1;ja=(Z|0)<1e6?Z:1e6;Z=(ja|0)<(fa|0)?fa:ja;if((Z|0)>1e6){R=340;break a}gc(e,Z)}Z=c[B>>2]|0;ja=Z+(L<<3)|0;c[p>>2]=ja+(X<<3);Ra=X;Sa=ja;Ta=Z}else{Ra=Y;Sa=S;Ta=N}if((Ra|0)>0){Y=Ta+(1-ha<<3)|0;ha=0;do{if((ha|0)<(X|0)){Z=Y+(ha<<3)|0;c[Sa+(ha<<3)>>2]=c[Z>>2];Ua=c[Z+4>>2]|0}else Ua=0;c[Sa+(ha<<3)+4>>2]=Ua;ha=ha+1|0}while((ha|0)!=(Ra|0));U=Ta}else U=Ta;break}default:U=N}while(0);if((R|0)==279){R=0;L=c[Ia+12>>2]|0;if(!L)U=Ja;else{c[Ia>>2]=c[Ia+8>>2];c[Ia+4>>2]=L;c[C>>2]=(c[C>>2]|0)+((Ha>>>14)+-131071<<2);U=Ja}}K=U}if((R|0)==218){R=0;K=c[n>>2]|0;C=K+18|0;a[C>>0]=a[C>>0]|4;Va=K}else if((R|0)==223){R=0;K=c[n>>2]|0;C=c[K+8>>2]|0;B=c[K>>2]|0;H=c[C>>2]|0;y=K+24|0;J=(c[y>>2]|0)+(d[(c[(c[B>>2]|0)+12>>2]|0)+76>>0]<<3)|0;if((c[(c[z>>2]|0)+56>>2]|0)>0)zc(e,c[C+24>>2]|0);if(B>>>0>>0){F=0;G=B;do{c[H+(F<<3)>>2]=c[G>>2];c[H+(F<<3)+4>>2]=c[B+(F<<3)+4>>2];F=F+1|0;G=B+(F<<3)|0}while(G>>>0>>0)}J=B;c[C+24>>2]=H+((c[y>>2]|0)-J>>3<<3);G=H+((c[p>>2]|0)-J>>3<<3)|0;c[p>>2]=G;c[C+4>>2]=G;c[C+28>>2]=c[K+28>>2];G=C+18|0;a[G>>0]=a[G>>0]|64;c[n>>2]=C;Va=C}else if((R|0)==230){R=0;G=M>>>23;if(G|0)c[p>>2]=S+(G<<3)+-8;if((c[(c[z>>2]|0)+56>>2]|0)>0)zc(e,N);G=c[n>>2]|0;J=d[s>>0]|0;if(!(J&6)){Wa=S;Xa=c[G+8>>2]|0}else{if(!(J&2))Ya=S;else{J=S-(c[u>>2]|0)|0;Dc(e,1,-1);Ya=(c[u>>2]|0)+J|0}J=c[G+8>>2]|0;c[v>>2]=c[J+28>>2];Wa=Ya;Xa=J}J=c[G>>2]|0;F=b[G+16>>1]|0;c[n>>2]=Xa;f:do if(F<<16>>16){G=J;A=F<<16>>16;D=Wa;while(1){if(D>>>0>=(c[p>>2]|0)>>>0)break;E=G+8|0;c[G>>2]=c[D>>2];c[G+4>>2]=c[D+4>>2];I=A+-1|0;if(!I){Za=E;break f}else{G=E;A=I;D=D+8|0}}if((A|0)>0){D=G;I=A;while(1){E=D+8|0;c[D+4>>2]=0;if((I|0)>1){D=E;I=I+-1|0}else{Za=E;break}}}else Za=G}else Za=J;while(0);c[p>>2]=Za;if(!(a[x+18>>0]&4)){R=349;break}J=c[n>>2]|0;if(F<<16>>16==-1)Va=J;else{c[p>>2]=c[J+4>>2];Va=J}}x=Va}switch(R|0){case 6:{nc(e,0,0,0)|0;R=P+28|0;c[v>>2]=c[R>>2];c[R>>2]=(c[R>>2]|0)+-4;a[Q>>0]=a[Q>>0]|-128;c[P>>2]=(c[p>>2]|0)+-8;fc(e,1);break}case 30:{fc(e,4);break}case 34:{sc(e);break}case 38:{fc(e,4);break}case 49:{hc(e,42894,l);break}case 51:{sc(e);break}case 55:{fc(e,4);break}case 258:{hc(e,42909,k);break}case 263:{hc(e,42946,j);break}case 269:{hc(e,42975,i);break}case 273:{hc(e,42877,h);break}case 275:{fc(e,6);break}case 338:{fc(e,6);break}case 340:{gc(e,1000200);hc(e,42862,g);break}case 349:{Ga=f;return}}}function nc(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=Ga;Ga=Ga+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))hc(d,43420,i);else hc(d,43378,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){Ga=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;fc(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;fc(d,1);return 0}function oc(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=Ga;Ga=Ga+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=tc(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=2059440;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=2059440;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=2059440;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)Nc(e,m,43338);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)hc(e,42877,k);if((o&65535)>224)fc(e,6)}o=m<<24>>24!=0;if(!o){m=e+36|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16}if(!(lc(e,g,1)|0))mc(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];Ga=i;return}else if((t|0)==41)hc(e,43361,j);c[h>>2]=c[p>>2];c[h+4>>2]=c[p+4>>2];Ga=i;return}function pc(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=Ga;Ga=Ga+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=tc(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=2059440;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=2059440;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=2059440;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)Nc(e,m,43338);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)hc(e,42877,k);if((s&65535)>224)fc(e,6)}s=t<<24>>24!=0;if(!s){t=e+36|0;b[t>>1]=(b[t>>1]|0)+1<<16>>16}if(!(lc(e,m,0)|0))mc(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;Ga=i;return}else if((r|0)==47)hc(e,43344,j);if((r|0)==15)if((q|0)==2059440){E=uc(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)){Ga=i;return}if(!(a[(c[h>>2]|0)+5>>0]&3)){Ga=i;return}h=p+5|0;q=a[h>>0]|0;if(!(q&4)){Ga=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;Ga=i;return}function qc(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)qc(b,g);g=c[d+12>>2]|0;if(g|0?a[g+5>>0]&3:0)qc(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){qc(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 rc(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];Wc(b,x);A=v}else{if(m&z|0){p=0;break a}if((a[x+4>>0]|0)==8)Xc(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];Wc(b,q);D=s}else{if(A&m|0){C=0;break b}if((a[q+4>>0]|0)==8)Xc(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 Qc(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 Qc(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 Qc(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 Qc(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 sc(a){a=a|0;var b=0;b=Ga;Ga=Ga+16|0;hc(a,43299,b)}function tc(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=2059440;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=2059440;k=21;break}else g=h}if((k|0)==21)return j|0;j=g;return j|0}break}case 0:{j=2059440;return j|0}default:{}}g=dd(a,b)|0;while(1){if((c[g+12>>2]|0)==(c[e>>2]|0)?Ac(0,g+8|0,b)|0:0)break;a=c[g+16>>2]|0;if(!a){j=2059440;k=21;break}else g=a}if((k|0)==21)return j|0;j=g;return j|0}function uc(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=Ga;Ga=Ga+144|0;h=g;i=f+4|0;if(!(c[i>>2]|0))hc(b,43280,g+128|0);j=dd(e,f)|0;k=j+4|0;a:do if((j|0)==2059468|(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=dd(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);Fc(b,e,M,v+1+E-N|0);n=tc(e,f)|0;if((n|0)!=2059440){O=n;Ga=g;return O|0}O=uc(b,e,f)|0;Ga=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;Ga=g;return O|0}function vc(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){rc(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 Qc(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-(Qc(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 wc(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=Ga;Ga=Ga+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,Ec(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,Ec(j+16|0,c[j+12>>2]|0,h)|0):0){n=h;break}break a}while(0);c[b>>2]=ad(f+-6|0,c[l>>2]|0,c[n>>2]|0)|0;c[b+4>>2]=3;Ga=g;return}while(0);if(!(Ic(a,d,e,b,f)|0))bd(a,d,e);else{Ga=g;return}}function xc(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=Ga;Ga=Ga+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=2059440;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]=($c(l)|0)<<16;c[f+4>>2]=3;Ga=h;return}case 4:{c[f>>2]=c[(c[g>>2]|0)+12>>2]<<16;c[f+4>>2]=3;Ga=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=2059440;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=2059440;break b}else k=t}x=k}while(0);r=x+4|0;if(!(c[r>>2]|0))Nc(e,g,43244);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)hc(e,42877,i);if((w&65535)>224)fc(e,6)}w=v<<24>>24!=0;if(!w){v=e+36|0;b[v>>1]=(b[v>>1]|0)+1<<16>>16}if(!(lc(e,j,1)|0))mc(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];Ga=h;return}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,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=Ga;Ga=Ga+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=Kc(g,c[n>>2]|0)|0;if(p>>>0<41)w=Lc(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=Ma[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}rc(b,1);B=Ma[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;ju(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=Kc(g,c[k>>2]|0)|0;if(x>>>0<41)E=Lc(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=Ma[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}rc(b,1);F=Ma[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;ju(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=Kc(g,c[q>>2]|0)|0;if(y>>>0<41)K=Lc(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=Ma[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}rc(b,1);N=Ma[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;ju(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=Ma[c[p>>2]&1](c[B>>2]|0,y,A,q)|0;if(!z){if(!(a[p+51>>0]|0)){v=58;break a}rc(b,1);M=Ma[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;ju(Q+x|0,o+16|0,z|0)|0;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=Lc(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=Ma[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}rc(b,1);y=Ma[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;ju(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(!(Ic(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:{sc(b);break}case 13:{fc(b,4);break}case 17:{Mc(b,k,n);break}case 23:{sc(b);break}case 27:{fc(b,4);break}case 41:{sc(b);break}case 45:{fc(b,4);break}case 49:{hc(b,43075,f);break}case 54:{sc(b);break}case 58:{fc(b,4);break}case 65:{sc(b);break}case 69:{fc(b,4);break}case 73:{Ga=e;return}}}function zc(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)qc(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;Ma[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 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;h=Ga;Ga=Ga+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 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=(Fr(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=2059440;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=2059440;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)?(Ac(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=2059440;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=2059440;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)?(Ac(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)hc(e,42877,i);if((p&65535)>224)fc(e,6)}p=o<<24>>24!=0;if(!p){o=e+36|0;b[o>>1]=(b[o>>1]|0)+1<<16>>16}if(!(lc(e,E,1)|0))mc(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);Ga=h;return k&1|0}function Bc(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=Mt(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=ss(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=Mt(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(!(Ic(a,b,d,c[p>>2]|0,26)|0))Jc(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 Cc(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=Mt(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=ss(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=Mt(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=(Ic(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(!(Ic(a,d,b,q,26)|0))Jc(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 Dc(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=Ga;Ga=Ga+112|0;g=f;h=f+4|0;i=c[b+52>>2]|0;if(!i){Ga=f;return}j=b+41|0;if(!(a[j>>0]|0)){Ga=f;return}k=c[b+16>>2]|0;l=b+8|0;m=c[l>>2]|0;n=b+28|0;o=c[n>>2]|0;p=m-o|0;q=k+4|0;r=(c[q>>2]|0)-o|0;c[h>>2]=d;c[h+20>>2]=e;c[h+96>>2]=k;e=m;do if(((c[b+24>>2]|0)-m|0)<168){d=c[b+32>>2]|0;if((d|0)>1e6)fc(b,6);o=(p>>3)+25|0;s=d<<1;d=(s|0)<1e6?s:1e6;s=(d|0)<(o|0)?o:d;if((s|0)>1e6){gc(b,1000200);hc(b,42862,g)}else{gc(b,s);t=c[l>>2]|0;break}}else t=e;while(0);c[q>>2]=t+160;a[j>>0]=0;t=k+18|0;a[t>>0]=a[t>>0]|2;Pa[i&7](b,h);a[j>>0]=1;j=c[n>>2]|0;c[q>>2]=j+r;c[l>>2]=j+p;a[t>>0]=a[t>>0]&-3;Ga=f;return} function Ec(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;g=Ga;Ga=Ga+16|0;h=g;if(Bt(b,43003)|0){i=0;Ga=g;return i|0}do if(!(Bt(b,43006)|0)){if(!(Bt(b,43009)|0)){j=~~(+Rs(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=m;break}case 43:{n=m;break}default:n=j}a:do if((a[n>>0]|0)==48){switch(a[n+1>>0]|0){case 66:case 98:break;default:{o=0;p=b;break a}}q=n+2|0;r=a[q>>0]|0;if((r&-2)<<24>>24==48){s=0;t=r;u=0;v=q;do{s=s<<1|t<<24>>24==49;u=u+1|0;v=v+1|0;t=a[v>>0]|0}while((t&-2)<<24>>24==48);w=s<<16;x=u;y=v;z=t}else{w=0;x=0;y=q;z=r}A=y;if(z<<24>>24==46){B=y+1|0;C=B;D=a[B>>0]|0;if((D&-2)<<24>>24==48){E=0;F=0;G=D;D=B;do{E=F>>>0<16?E<<1|G<<24>>24==49:E;F=F+1|0;D=D+1|0;G=a[D>>0]|0}while((G&-2)<<24>>24==48);H=E;I=F;J=D}else{H=0;I=0;J=C}G=J-C|0;K=H<<((G+-1|0)>>>0<15?16-G|0:0);L=I;M=J}else{K=0;L=0;M=A}if(L|x){c[h>>2]=M;G=M;switch(a[G>>0]|0){case 80:case 112:{o=0;p=G;break a;break}default:{}}c[h>>2]=G;o=~~+vr(+(K+w|0),0);p=G}else{o=0;p=b}}else{o=0;p=b}while(0);c[f>>2]=o;k=p}else{c[h>>2]=b;j=b;while(1){N=a[j>>0]|0;O=j+1|0;if(!(a[64+((N&255)+1)>>0]&8))break;else j=O}switch(N<<24>>24){case 45:{P=O;break}case 43:{P=O;break}default:P=j}b:do if((a[P>>0]|0)==48){switch(a[P+1>>0]|0){case 88:case 120:break;default:{Q=0;R=b;break b}}G=P+2|0;r=a[G>>0]|0;q=r&255;if(!(a[64+(q+1)>>0]&16)){S=0;T=0;U=G;V=r}else{r=0;t=q;q=0;v=G;do{G=t+-48|0;r=(G>>>0<10?G:(t|32)+-87|0)+(r<<4)|0;q=q+1|0;v=v+1|0;W=a[v>>0]|0;t=W&255}while((a[64+(t+1)>>0]&16)!=0);S=r<<16;T=q;U=v;V=W}t=U;if(V<<24>>24==46){A=U+1|0;C=A;D=d[A>>0]|0;if(!(a[64+(D+1)>>0]&16)){X=0;Y=0;Z=C}else{F=0;E=0;G=D;D=A;do{A=G+-48|0;F=E>>>0<4?(A>>>0<10?A:(G|32)+-87|0)+(F<<4)|0:F;E=E+1|0;D=D+1|0;G=d[D>>0]|0}while((a[64+(G+1)>>0]&16)!=0);X=F;Y=E;Z=D}G=Z-C|0;_=X<<((G+-1|0)>>>0<3?16-(G<<2)|0:0);$=Y;aa=Z}else{_=0;$=0;aa=t}if($|T){c[h>>2]=aa;G=aa;switch(a[G>>0]|0){case 80:case 112:{Q=0;R=G;break b;break}default:{}}c[h>>2]=G;Q=~~+vr(+(_+S|0),0);R=G}else{Q=0;R=b}}else{Q=0;R=b}while(0);c[f>>2]=Q;k=R}while(0);if((k|0)==(b|0)){i=0;Ga=g;return i|0}if(!(a[64+((d[k>>0]|0)+1)>>0]&8))ba=k;else{R=k;do R=R+1|0;while((a[64+((d[R>>0]|0)+1)>>0]&8)!=0);c[h>>2]=R;ba=R}i=(ba|0)==(b+e|0)&1;Ga=g;return i|0}function Fc(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=Ga;Ga=Ga+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)sc(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=Ma[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))fc(b,4);rc(b,1);x=Ma[c[t>>2]&1](c[v>>2]|0,r,s,k)|0;if(!x)fc(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]=2059468;z=0;A=0;B=2059468}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)hc(b,42894,i);i=1<>>0>214748364)sc(b);D=20<>2]|0;j=C+4|0;g=Ma[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))fc(b,4);rc(b,1);y=Ma[c[C>>2]&1](c[j>>2]|0,0,0,D)|0;if(!y)fc(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=tc(e,A)|0;if((l|0)==2059440)F=uc(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)==2059468){Ga=h;return}F=20<>2]|0;Ma[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);Ga=h;return}function Gc(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=Ma[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))fc(b,4);rc(b,1);j=Ma[c[g>>2]&1](c[h>>2]|0,0,6,f)|0;if(!j)fc(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;ku(k+16|0,0,e|0)|0;return k|0}function Hc(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=Ma[c[e>>2]&1](c[l>>2]|0,0,10,20)|0;if(!g){if(!(a[e+51>>0]|0))fc(b,4);rc(b,1);f=Ma[c[e>>2]&1](c[l>>2]|0,0,10,20)|0;if(!f)fc(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 Ic(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=Ga;Ga=Ga+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=2059440;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=2059440;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=2059440;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=2059440;break b}else q=m}s=q}}else s=o;while(0);o=s+4|0;if(!(c[o>>2]|0)){t=0;Ga=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)hc(e,42877,k);if((f&65535)>224)fc(e,6)}f=l<<24>>24!=0;if(!f){l=e+36|0;b[l>>1]=(b[l>>1]|0)+1<<16>>16}if(!(lc(e,g,1)|0))mc(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;Ga=j;return t|0}function Jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=Ga;Ga=Ga+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;hc(a,43012,g)}else{c[f>>2]=e;c[f+4>>2]=b;hc(a,43045,f)}}function Kc(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=Ga;Ga=Ga+64|0;e=d+48|0;f=d+40|0;h=d+32|0;i=d;j=+(c|0)*.0000152587890625;g[h>>3]=j;Ir(i,43214,h)|0;if((rt(i,43220)|0)==0?(rt(i,43226)|0)==0:0){g[e>>3]=j;Ir(i,43238,e)|0}else{g[f>>3]=j;Ir(i,43232,f)|0}f=ss(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=ss(i)|0;t=s+1|0;ju(b|0,i|0,t|0)|0;Ga=d;return s|0}a[r>>0]=0;s=ss(i)|0;t=s+1|0;ju(b|0,i|0,t|0)|0;Ga=d;return s|0}function Lc(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)?(Fr(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){Pc(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=Ma[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))fc(b,4);rc(b,1);m=Ma[c[t>>2]&1](c[l>>2]|0,0,4,h)|0;if(!m)fc(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;ju(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 Mc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+4>>2]|0;Nc(a,(e|0)==3|(e&15|0)==4?d:b,43098)}function Nc(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=Ga;Ga=Ga+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?43110:m+16|0;c[i>>2]=o;p=43112;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;hc(b,43120,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=Oc(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;hc(b,43120,h)}}}while(0);c[g>>2]=e;c[g+4>>2]=j;hc(b,43155,g)}function Oc(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=52382;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?43110:w+16|0}while(0);if(!(y&4194304)){k=Oc(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]=43110;if(!z){q=43192;return q|0}l=(is(z,43180)|0)==0;q=l?43185:43192;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?43110:l+16|0;q=43112;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=43205;return q|0}else if((o|0)==45){B=y>>>14;if(!(y&4194304)){y=Oc(b,v,B&511,f)|0;if(y|0?(a[y>>0]|0)==99:0){q=43198;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=43198;return q|0}}c[f>>2]=43110;q=43198;return q|0}else if((o|0)==51)return q|0;return 0}function Pc(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 Qc(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)sc(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=Ma[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))fc(b,4);rc(b,1);q=Ma[c[m>>2]&1](c[o>>2]|0,j,k,l)|0;if(!q)fc(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)sc(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=Ma[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))fc(b,4);rc(b,1);r=Ma[c[l>>2]&1](c[p>>2]|0,s,t,u)|0;if(!r)fc(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 Qc(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=Ga;Ga=Ga+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)qc(h,k);if(c[h+40>>2]&64|0?(k=c[h+36>>2]|0,a[k+5>>0]&3):0)qc(h,k);Rc(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;qc(h,m);m=c[m>>2]|0}while((m|0)!=0)}a[i>>0]=0;n=c[j>>2]|0;Ga=e;return n|0}case 0:{j=h+72|0;if(c[j>>2]|0){m=h+16|0;l=c[m>>2]|0;Sc(h);n=(c[m>>2]|0)-l|0;Ga=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)qc(h,b);if(c[h+40>>2]&64|0?(o=c[h+36>>2]|0,a[o+5>>0]&3):0)qc(h,o);Rc(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)qc(h,r);q=c[q+16>>2]|0}while((q|0)!=(o|0))}if(c[j>>2]|0)do Sc(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 Sc(h);while((c[j>>2]|0)!=0);c[j>>2]=q;if(q|0)do Sc(h);while((c[j>>2]|0)!=0);c[j>>2]=t;if(t|0)do Sc(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(Tc(h,o)|0)if(!(c[j>>2]|0))u=1;else{do Sc(h);while((c[j>>2]|0)!=0);u=1}else u=q;if(!p)break;else q=u}}while((u|0)!=0);Uc(h,c[m>>2]|0,0);u=h+88|0;Uc(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;qc(h,y);y=c[y>>2]|0}while((y|0)!=0)}if(c[j>>2]|0)do Sc(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(Tc(h,o)|0)if(!(c[j>>2]|0))A=1;else{do Sc(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;qc(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;qc(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)}Uc(h,c[m>>2]|0,q);Uc(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=((Vc(b)|0)*5|0)+p|0;Ga=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];Wc(b,o);F=s}else{if(m&w|0)break a;if((a[o+4>>0]|0)==8)Xc(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;Ga=e;return n|0}case 3:{C=h+68|0;E=c[C>>2]|0;if(!E){a[i>>0]=4;n=0;Ga=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];Wc(b,j);H=F}else{if(D&m|0){G=0;break b}if((a[j+4>>0]|0)==8)Xc(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;Ga=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];Wc(b,F);J=k}else{if(H&l|0){I=0;break c}if((a[F+4>>0]|0)==8)Xc(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;Ga=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];Wc(b,p);M=h}else{if(G&D|0)break;if((a[p+4>>0]|0)==8)Xc(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){Pc(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=Ma[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;Ga=e;return n|0}default:{n=0;Ga=e;return n|0}}return 0}function Rc(b){b=b|0;var d=0;d=c[b+276>>2]|0;if(d|0?a[d+5>>0]&3:0)qc(b,d);d=c[b+280>>2]|0;if(d|0?a[d+5>>0]&3:0)qc(b,d);d=c[b+284>>2]|0;if(d|0?a[d+5>>0]&3:0)qc(b,d);d=c[b+288>>2]|0;if(d|0?a[d+5>>0]&3:0)qc(b,d);d=c[b+292>>2]|0;if(d|0?a[d+5>>0]&3:0)qc(b,d);d=c[b+296>>2]|0;if(d|0?a[d+5>>0]&3:0)qc(b,d);d=c[b+300>>2]|0;if(d|0?a[d+5>>0]&3:0)qc(b,d);d=c[b+304>>2]|0;if(d|0?a[d+5>>0]&3:0)qc(b,d);d=c[b+308>>2]|0;if(!d)return;if(!(a[d+5>>0]&3))return;qc(b,d);return}function Sc(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=2059440;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)qc(b,i);if(((q|0)!=0?(c[q+4>>2]&15|0)==4:0)?(l=(c[q>>2]|0)+16|0,o=Es(l,107)|0,r=(o|0)!=0,o=(Es(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{Tc(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)qc(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;qc(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){qc(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){qc(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)qc(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)qc(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){qc(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){qc(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){qc(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=112}else J=112}else{F=f+72|0;g=c[f+16>>2]|0;if((g|0)==(F|0))J=112;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)+112|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)qc(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){qc(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){qc(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){qc(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){qc(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 Tc(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){qc(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}qc(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{qc(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 Uc(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(_c(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?_c(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 Vc(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];Wc(b,v);y=t}else{if(m&x|0){k=0;l=q;break a}if((a[v+4>>0]|0)==8)Xc(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];Wc(b,n);B=p}else{if(j&m|0){z=0;A=26;break b}if((a[n+4>>0]|0)==8)Xc(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 Wc(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:{Yc(b,e);return}case 6:{f=(d[e+6>>0]<<2)+16|0;g=c[b+12>>2]|0;Ma[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;Ma[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;Ma[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)==2059468)i=b+12|0;else{g=20<>0];h=b+12|0;j=c[h>>2]|0;Ma[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;Ma[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;Ma[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:{Zc(b,e);return}case 7:{h=(c[e+16>>2]|0)+24|0;g=c[b+12>>2]|0;Ma[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;Ma[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 Xc(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];Wc(b,p);s=n}else{if(j&r|0)break a;if((a[p+4>>0]|0)==8)Xc(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;Ma[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;gc(e,f);return}function Yc(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;Ma[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;Ma[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;Ma[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;Ma[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;Ma[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;Ma[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;Ma[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 Zc(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;zc(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;Ma[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;Ma[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;Ma[c[d>>2]&1](c[d+4>>2]|0,b,112,0)|0;b=d+12|0;c[b>>2]=(c[b>>2]|0)+-112;return}function _c(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}qc(b,g);f=0;return f|0}function $c(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=0;h=b;while(1){i=(g+h|0)>>>1;j=(c[e+(i+-1<<3)+4>>2]|0)==0;h=j?i:h;k=j?g:i;if((h-k|0)>>>0<=1){f=k;break}else g=k}return f|0}g=c[a+16>>2]|0;if((g|0)==2059468){f=b;return f|0}h=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[h>>2]|0)+(i<<3)|0;else{j=k<<16;m=0-j|0;n=g+(((((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=2059440;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[h>>2]|0)+(l<<3)|0;else{j=o<<16;i=0-j|0;m=g+(((((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=2059440;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[h>>2]|0)+(p<<3)|0;else{j=a<<16;n=0-j|0;i=g+(((((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=2059440;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 ad(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=gk(b,c)|0;break}case 3:{d=hk(b,c)|0;break}case 4:{d=ik(b,c)|0;break}case 5:{d=jk(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=tk(b,c)|0;break}case 10:{d=uk(b,c)|0;break}case 11:{d=sk(b,c)|0;break}case 12:{d=qk(b,c)|0;break}case 13:{d=rk(b,c)|0;break}case 14:{d=~b;break}case 15:{d=(hk(b,c)|0)&-65536;break}case 16:{d=Zj(b)|0;break}case 17:{d=Yj(b)|0;break}case 18:{d=Xj(b)|0;break}case 19:{d=0-b|0;break}default:d=0}while(0);return d|0}function bd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=Ga;Ga=Ga+16|0;e=(cd(b,d)|0)==0;Nc(a,e?b:c,43258)}function cd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=Ga;Ga=Ga+16|0;e=d;f=c[a+4>>2]|0;if((f|0)!=3)if((f&15|0)==4?(f=c[a>>2]|0,(Ec(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;Ga=d;return g|0}function dd(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 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 ed(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=Ga;Ga=Ga+112|0;h=g;i=g+4|0;j=e+16|0;k=c[j>>2]|0;l=d[e+40>>0]|0;if(!(l&6)){m=f;n=c[k+8>>2]|0}else{if(!(l&2))o=f;else{l=e+28|0;p=c[l>>2]|0;q=f-p|0;f=c[e+52>>2]|0;r=p;if((f|0)!=0?(s=e+41|0,(a[s>>0]|0)!=0):0){t=e+8|0;u=c[t>>2]|0;v=u-p|0;w=k+4|0;x=(c[w>>2]|0)-p|0;c[i>>2]=1;c[i+20>>2]=-1;c[i+96>>2]=k;p=u;do if(((c[e+24>>2]|0)-u|0)<168){y=c[e+32>>2]|0;if((y|0)>1e6)fc(e,6);z=(v>>3)+25|0;A=y<<1;y=(A|0)<1e6?A:1e6;A=(y|0)<(z|0)?z:y;if((A|0)>1e6){gc(e,1000200);hc(e,42862,h)}else{gc(e,A);B=c[t>>2]|0;break}}else B=p;while(0);c[w>>2]=B+160;a[s>>0]=0;B=k+18|0;a[B>>0]=a[B>>0]|2;Pa[f&7](e,i);a[s>>0]=1;s=c[l>>2]|0;c[w>>2]=s+x;c[t>>2]=s+v;a[B>>0]=a[B>>0]&-3;C=s}else C=r;o=C+q|0}q=c[k+8>>2]|0;c[e+20>>2]=c[q+28>>2];m=o;n=q}q=c[k>>2]|0;o=b[k+16>>1]|0;k=o<<16>>16;c[j>>2]=n;n=e+8|0;if(!(o<<16>>16)){D=q;c[n>>2]=D;E=k+1|0;Ga=g;return E|0}o=q;q=k;e=m;while(1){if(e>>>0>=(c[n>>2]|0)>>>0)break;m=o+8|0;c[o>>2]=c[e>>2];c[o+4>>2]=c[e+4>>2];j=q+-1|0;if(!j){D=m;F=22;break}else{o=m;q=j;e=e+8|0}}if((F|0)==22){c[n>>2]=D;E=k+1|0;Ga=g;return E|0}if((q|0)<=0){D=o;c[n>>2]=D;E=k+1|0;Ga=g;return E|0}F=o;o=q;while(1){q=F+8|0;c[F+4>>2]=0;if((o|0)>1){F=q;o=o+-1|0}else{D=q;break}}c[n>>2]=D;E=k+1|0;Ga=g;return E|0}function fd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ga;Ga=Ga+16|0;f=e;c[f>>2]=d;d=ic(a,b,f)|0;Ga=e;return d|0}function gd(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=Lc(b,d,e)|0;return f|0}if((e+1|0)>>>0>4294967277)sc(b);g=c[b+12>>2]|0;h=c[g+44>>2]|0;i=e+17|0;j=g+4|0;k=Ma[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))fc(b,4);rc(b,1);l=Ma[c[g>>2]&1](c[j>>2]|0,0,4,i)|0;if(!l)fc(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;ju(h|0,d|0,e|0)|0;a[h+e>>0]=0;f=m;return f|0}function hd(a){a=a|0;return (c[a+8>>2]|0)-((c[c[a+16>>2]>>2]|0)+8)>>3|0}function id(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 jd(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]|0)==22)i=2059440;else{l=c[k>>2]|0;i=(j|0)>(d[l+6>>0]|0|0)?2059440: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:2059440}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]|0)==22)m=2059440;else{l=c[j>>2]|0;m=(e|0)>(d[l+6>>0]|0|0)?2059440: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:2059440}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){qc(f,h);return}else{a[i>>0]=a[f+48>>0]&3|g&-72;return}}function kd(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]|0)==22)f=2059440;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2059440: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:2059440}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 ld(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]|0)==22){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)==2059440){h=-1;return h|0}h=c[g+4>>2]&15;return h|0}function md(a,b){a=a|0;b=b|0;return c[16+(b+1<<2)>>2]|0}function nd(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=Ga;Ga=Ga+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]|0)==22)j=2059440;else{m=c[l>>2]|0;j=(k|0)>(d[m+6>>0]|0|0)?2059440: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:2059440}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,Ec(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;Ga=f;return o|0}c[e>>2]=0;o=0;Ga=f;return o|0}while(0);if(e|0)c[e>>2]=1;o=c[n>>2]|0;Ga=f;return o|0}function od(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=Ga;Ga=Ga+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]|0)==22)i=2059440;else{l=c[k>>2]|0;i=(j|0)>(d[l+6>>0]|0|0)?2059440: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:2059440}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,Ec(b+16|0,c[b+12>>2]|0,g)|0):0){m=c[g>>2]|0;break}if(!e){n=0;Ga=f;return n|0}c[e>>2]=0;n=0;Ga=f;return n|0}while(0);g=m>>16;if(!e){n=g;Ga=f;return n|0}c[e>>2]=1;n=g;Ga=f;return n|0}function pd(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]|0)==22)f=2059440;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2059440: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:2059440}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 qd(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]|0)==22)j=2059440;else{m=c[l>>2]|0;j=(k|0)>(d[m+6>>0]|0)?2059440: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:2059440}while(0);do if((c[j+4>>2]&15|0)!=4){if(!(rd(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{vc(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:2059440;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]|0)==22)p=2059440;else{m=c[k>>2]|0;p=(l|0)>(d[m+6>>0]|0)?2059440: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 rd(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=Ga;Ga=Ga+32|0;f=e;g=d+4|0;if((c[g>>2]|0)!=3){h=0;Ga=e;return h|0}i=Kc(f,c[d>>2]|0)|0;if(i>>>0<41)j=Lc(b,f,i)|0;else{if((i+1|0)>>>0>4294967277)sc(b);k=c[b+12>>2]|0;l=c[k+44>>2]|0;m=i+17|0;n=k+4|0;o=Ma[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))fc(b,4);rc(b,1);p=Ma[c[k>>2]&1](c[n>>2]|0,0,4,m)|0;if(!p)fc(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;ju(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;Ga=e;return h|0}function sd(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]|0)==22)f=2059440;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2059440: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:2059440}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=$c(c[f>>2]|0)|0;return j|0}default:{j=0;return j|0}}return 0}function td(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]|0)==22)g=2059440;else{j=c[i>>2]|0;g=(h|0)>(d[j+6>>0]|0|0)?2059440: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:2059440}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 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]|0)==22)l=2059440;else{j=c[h>>2]|0;l=(g|0)>(d[j+6>>0]|0|0)?2059440: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:2059440}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 ud(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 vd(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 wd(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 xd(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{vc(b);break}while(0);g=gd(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 yd(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{vc(b);break}while(0);e=gd(b,d,ss(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 zd(a,b){a=a|0;b=b|0;return gd(a,b,ss(b)|0)|0}function Ad(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{vc(b);break}while(0);return ic(b,d,e)|0}function Bd(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=Ga;Ga=Ga+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{vc(b);break}while(0);c[g>>2]=e;e=ic(b,d,g)|0;Ga=f;return e|0}function Cd(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;if(!e){f=b+8|0;g=c[f>>2]|0;c[g>>2]=d;h=f;i=22;j=g;k=j+4|0;c[k>>2]=i;l=c[h>>2]|0;m=l+8|0;c[h>>2]=m;return}g=b+12|0;f=c[g>>2]|0;n=f+12|0;o=c[n>>2]|0;if((o|0)<=0){p=(e<<3)+16|0;q=f+4|0;r=Ma[c[f>>2]&1](c[q>>2]|0,0,6,p)|0;if((p|0)!=0&(r|0)==0){if(!(a[f+51>>0]|0))fc(b,4);rc(b,1);s=Ma[c[f>>2]&1](c[q>>2]|0,0,6,p)|0;if(!s)fc(b,4);else{t=s;u=n;v=f;w=p}}else{t=r;u=n;v=f;w=p}}else{if(!(a[f+51>>0]|0)){p=f+8|0;c[p>>2]=o+1600+(c[p>>2]|0);c[n>>2]=-1600;x=f}else{vc(b);x=c[g>>2]|0}g=(e<<3)+16|0;f=x+4|0;n=Ma[c[x>>2]&1](c[f>>2]|0,0,6,g)|0;if((g|0)!=0&(n|0)==0){if(!(a[x+51>>0]|0))fc(b,4);rc(b,1);p=Ma[c[x>>2]&1](c[f>>2]|0,0,6,g)|0;if(!p)fc(b,4);else y=p}else y=n;t=y;u=x+12|0;v=x;w=g}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 Dd(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 Ed(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=2059440;break a}else h=i}g=h}while(0);f=b+8|0;i=c[f>>2]|0;c[f>>2]=i+8;j=gd(b,e,ss(e)|0)|0;c[i>>2]=j;c[i+4>>2]=(a[j+4>>0]|64)&255;j=(c[f>>2]|0)+-8|0;oc(b,g,j,j);return}function Fd(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]|0)==22)f=2059440;else{i=c[h>>2]|0;f=(g|0)>(d[i+6>>0]|0|0)?2059440: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:2059440}while(0);b=(c[a+8>>2]|0)+-8|0;oc(a,f,b,b);return}function Gd(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{vc(b);k=c[f>>2]|0;break}else k=g;while(0);g=k+4|0;f=Ma[c[k>>2]&1](c[g>>2]|0,0,5,32)|0;if(!f){if(!(a[k+51>>0]|0))fc(b,4);rc(b,1);h=Ma[c[k>>2]&1](c[g>>2]|0,0,5,32)|0;if(!h)fc(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]=2059468;a[l+7>>0]=0;c[l+20>>2]=2059468;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;Fc(b,l,d,e);return}function Hd(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=2059440;break a}else h=i}g=h}while(0);f=b+8|0;i=c[f>>2]|0;c[f>>2]=i+8;j=gd(b,e,ss(e)|0)|0;c[i>>2]=j;c[i+4>>2]=(a[j+4>>0]|64)&255;j=c[f>>2]|0;pc(b,g,j+-8|0,j+-16|0);c[f>>2]=(c[f>>2]|0)+-16;return}function Id(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=Ga;Ga=Ga+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]|0)==22)j=2059440;else{m=c[l>>2]|0;j=(k|0)>(d[m+6>>0]|0|0)?2059440: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:2059440}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){o=17;break a}else r=q}n=r;o=16}while(0);if((o|0)==16)if((n|0)==2059440)o=17;else s=n;if((o|0)==17){c[h>>2]=f;c[h+4>>2]=3;s=uc(b,e,h)|0}c[s>>2]=c[m>>2];c[s+4>>2]=c[k+-4>>2];k=c[i>>2]|0;if(!(c[k+-4>>2]&64)){t=k;u=t+-8|0;c[i>>2]=u;Ga=g;return}if(!(a[(c[k+-8>>2]|0)+5>>0]&3)){t=k;u=t+-8|0;c[i>>2]=u;Ga=g;return}s=c[j>>2]|0;j=s+5|0;m=a[j>>0]|0;if(!(m&4)){t=k;u=t+-8|0;c[i>>2]=u;Ga=g;return}k=c[b+12>>2]|0;a[j>>0]=m&-5;m=k+76|0;c[s+24>>2]=c[m>>2];c[m>>2]=s;t=c[i>>2]|0;u=t+-8|0;c[i>>2]=u;Ga=g;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;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]|0)==22)g=2059440;else{j=c[i>>2]|0;g=(h|0)>(d[j+6>>0]|0|0)?2059440: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:2059440}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}Kd(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){qc(o,l);break}else{a[f>>0]=a[o+48>>0]&3|i&-72;break}}while(0);Kd(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 Kd(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=2059440;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];Wc(b,t);w=r}else{if(m&v|0){q=0;break a}if((a[t+4>>0]|0)==8)Xc(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 Ld(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=Ga;Ga=Ga+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]|0)==22)p=2059440;else{s=c[r>>2]|0;p=(q|0)>(d[s+6>>0]|0)?2059440: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:2059440}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)hc(e,42877,l);if((s&65535)>224)fc(e,6)}if(!(lc(e,h,g)|0))mc(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=Nd(e,2,m,f-(c[e+28>>2]|0)|0,n)|0}if((g|0)!=-1){Ga=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){Ga=k;return t|0}c[g>>2]=e;Ga=k;return t|0}function Md(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=Ga;Ga=Ga+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)hc(a,42877,f);if((i&65535)>224)fc(a,6)}i=a+36|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16;if(!(lc(a,g,h)|0))mc(a);b[i>>1]=(b[i>>1]|0)+-1<<16>>16;b[d>>1]=(b[d>>1]|0)+-1<<16>>16;Ga=e;return}function Nd(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=ec(d,e,f)|0;if(!h){c[o>>2]=p;return h|0}f=d+28|0;e=(c[f>>2]|0)+g|0;zc(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=Lc(d,43537,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}gc(d,f);c[o>>2]=p;return h|0}function Od(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=Ga;Ga=Ga+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=Pd(b,j,(g|0)==0?43110:g,h)|0;if(f|0){Ga=i;return f|0}h=c[(c[b+8>>2]|0)+-8>>2]|0;if((a[h+6>>0]|0)!=1){Ga=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=2059440;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)){Ga=i;return f|0}e=c[k>>2]|0;if(!(a[e+5>>0]&3)){Ga=i;return f|0}k=(c[b>>2]|0)+5|0;b=a[k>>0]|0;if(!(b&4)){Ga=i;return f|0}h=c[g>>2]|0;if((d[h+49>>0]|0)<2){qc(h,e);Ga=i;return f|0}else{a[k>>0]=a[h+48>>0]&3|b&-72;Ga=i;return f|0}return 0}function Pd(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=Ga;Ga=Ga+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=Nd(a,3,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=Ma[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;Ma[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;Ma[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;Ma[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;Ga=g;return o|0}function Qd(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=Ga;Ga=Ga+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=La[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?(Es(j,98)|0)==0:0){c[h>>2]=43603;c[h+4>>2]=j;fd(b,43561,h)|0;fc(b,3)}o=Rd(b,c[e>>2]|0,e+4|0,c[e+56>>2]|0)|0}else{if(!m?(Es(j,116)|0)==0:0){c[g>>2]=43610;c[g+4>>2]=j;fd(b,43561,g)|0;fc(b,3)}o=Sd(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)){Ga=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=Ma[c[m>>2]&1](c[h>>2]|0,0,10,20)|0;if(!k){if(!(a[m+51>>0]|0)){p=20;break}rc(b,1);l=Ma[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){qc(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)fc(b,4);else if((p|0)==27){Ga=f;return}}function Rd(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=Ga;Ga=Ga+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=44705;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[8614];b[n+4>>1]=b[17230]|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=La[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;ju(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)Ve(m,44719);if(Fr(k,l,18)|0){if((c[k>>2]|0)!=(c[l>>2]|0))Ve(m,44729);if(Fr(k,l,6)|0)Ve(m,44735);if(!(Fr(k,l,12)|0))Ve(m,44768);else Ve(m,44755)}l=d+12|0;k=c[l>>2]|0;u=k+4|0;q=Ma[c[k>>2]&1](c[u>>2]|0,0,6,20)|0;if(!q){if(!(a[k+51>>0]|0))fc(d,4);rc(d,1);p=Ma[c[k>>2]&1](c[u>>2]|0,0,6,20)|0;if(!p)fc(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)fc(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){gc(d,1000200);hc(d,42862,i)}else{gc(d,r);break}}while(0);i=c[l>>2]|0;l=i+4|0;u=Ma[c[i>>2]&1](c[l>>2]|0,0,9,80)|0;if(!u){if(!(a[i+51>>0]|0))fc(d,4);rc(d,1);r=Ma[c[i>>2]&1](c[l>>2]|0,0,9,80)|0;if(!r)fc(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;We(m,y);y=c[q>>2]|0;q=c[y+40>>2]|0;if((q|0)==1){z=x;Ga=h;return z|0}x=Gc(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;Ga=h;return z|0}function Sd(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=Ga;Ga=Ga+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=Ma[c[r>>2]&1](c[s>>2]|0,0,6,20)|0;if(!t){if(!(a[r+51>>0]|0))fc(d,4);rc(d,1);u=Ma[c[r>>2]&1](c[s>>2]|0,0,6,20)|0;if(!u)fc(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)fc(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){gc(d,1000200);hc(d,42862,l)}else{gc(d,w);break}}while(0);l=c[q>>2]|0;q=l+4|0;r=Ma[c[l>>2]&1](c[q>>2]|0,0,9,80)|0;if(!r){if(!(a[l+51>>0]|0))fc(d,4);rc(d,1);w=Ma[c[l>>2]&1](c[q>>2]|0,0,9,80)|0;if(!w)fc(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=gd(d,h,ss(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=Lc(d,43180,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=Ma[c[s>>2]&1](c[z>>2]|0,h,q,32)|0;if(!A){if(!(a[s+51>>0]|0))fc(w,4);rc(w,1);B=Ma[c[s>>2]&1](c[z>>2]|0,h,q,32)|0;if(!B)fc(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=Ma[c[x>>2]&1](c[u>>2]|0,0,5,32)|0;if(!l){if(!(a[x+51>>0]|0))fc(w,4);rc(w,1);e=Ma[c[x>>2]&1](c[u>>2]|0,0,5,32)|0;if(!e)fc(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]=2059468;a[D+7>>0]=0;c[D+20>>2]=2059468;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)fc(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){gc(w,1000200);hc(w,42862,k)}else{gc(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;Td(p,c[d>>2]|0,n)|0;c[r>>2]=c[i>>2];i=o+20|0;if((c[i>>2]|0)==286){r=Ud(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:{}}Vd(o);E=c[F>>2]|0;if((r|0)==274){G=E;break}else r=E}if((G|0)==286){Xd(o);Ga=j;return v|0}else Wd(o,286);return 0}function Td(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)ke(b,255,44696);if((i|0)>(k&255|0))l=i;else{k=g+28|0;c[k>>2]=ae(c[(c[b+12>>2]|0)+32>>2]|0,c[k>>2]|0,h,8,255,44696)|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){qc(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 Ud(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,Ha=0,Ia=0,Ja=0,Ka=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,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0;f=Ga;Ga=Ga+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=287;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=491;break a;break}case 13:case 10:{Pe(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=La[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=La[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=491;break a}o=c[j>>2]|0;p=c[o>>2]|0;c[o>>2]=p+-1;if(!p){p=La[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=Qe(b)|0;c[(c[i>>2]|0)+4>>2]=0;if((o|0)>-1){Re(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=La[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=463;break a}}while(0)}switch(l|0){case 34:{A=Qe(b)|0;if((A|0)>-1){Re(b,e,A);n=289;Ga=f;return n|0}if((A|0)==-1){n=91;Ga=f;return n|0}else ie(b,44471,289);break}case 38:{A=c[j>>2]|0;z=c[A>>2]|0;c[A>>2]=z+-1;if(!z){z=La[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;Ga=f;return n|0}C=c[j>>2]|0;A=c[C>>2]|0;c[C>>2]=A+-1;if(!A){A=La[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;Ga=f;return n|0}case 50:{E=c[j>>2]|0;C=c[E>>2]|0;c[E>>2]=C+-1;if(!C){C=La[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;Ga=f;return n|0}G=c[j>>2]|0;E=c[G>>2]|0;c[G>>2]=E+-1;if(!E){E=La[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;Ga=f;return n|0}case 62:{I=c[j>>2]|0;G=c[I>>2]|0;c[I>>2]=G+-1;if(!G){G=La[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;Ga=f;return n|0}case 68:{K=c[j>>2]|0;I=c[K>>2]|0;c[K>>2]=I+-1;if(!I){I=La[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=La[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;Ga=f;return n|0}case 60:{O=c[j>>2]|0;M=c[O>>2]|0;c[O>>2]=M+-1;if(!M){M=La[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;Ga=f;return n|0}Q=c[j>>2]|0;O=c[Q>>2]|0;c[Q>>2]=O+-1;if(!O){O=La[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;Ga=f;return n|0}default:{n=60;Ga=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=La[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=La[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;Ga=f;return n|0}case 62:{W=c[j>>2]|0;U=c[W>>2]|0;c[W>>2]=U+-1;if(!U){U=La[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=La[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;Ga=f;return n|0}case 60:{_=c[j>>2]|0;Y=c[_>>2]|0;c[_>>2]=Y+-1;if(!Y){Y=La[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;Ga=f;return n|0}default:{n=291;Ga=f;return n|0}}break}default:{n=62;Ga=f;return n|0}}break}case 122:{aa=c[j>>2]|0;_=c[aa>>2]|0;c[aa>>2]=_+-1;if(!_){_=La[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;Ga=f;return n|0}ca=c[j>>2]|0;aa=c[ca>>2]|0;c[ca>>2]=aa+-1;if(!aa){aa=La[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;Ga=f;return n|0}case 134:{ea=c[j>>2]|0;ca=c[ea>>2]|0;c[ea>>2]=ca+-1;if(!ca){ca=La[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;Ga=f;return n|0}ga=c[j>>2]|0;ea=c[ga>>2]|0;c[ga>>2]=ea+-1;if(!ea){ea=La[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;Ga=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)ie(b,43843,0);da=ca<<1;aa=c[b+32>>2]|0;if((da|0)==-2)sc(aa);ba=c[ia>>2]|0;_=c[aa+12>>2]|0;$=(ba|0)==0;Y=_+4|0;Z=Ma[c[_>>2]&1](c[Y>>2]|0,ba,ca,da)|0;if((da|0)!=0&(Z|0)==0){if(!(a[_+51>>0]|0))fc(aa,4);rc(aa,1);W=Ma[c[_>>2]&1](c[Y>>2]|0,ba,ca,da)|0;if(!W)fc(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=La[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=La[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=234;break}case 98:{sa=8;l=234;break}case 102:{sa=12;l=234;break}case 110:{sa=10;l=234;break}case 114:{sa=13;l=234;break}case 116:{sa=9;l=234;break}case 118:{sa=11;l=234;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=La[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=185;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=La[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=185;break d}ga=xa+-48|0;sa=(ga>>>0<10?ga:(xa|32)+-87|0)+(ia<<4)|0;l=234;break}case 13:case 10:{Pe(b);ya=10;break}case 39:case 34:case 92:{sa=qa;l=234;break}case 122:{ia=c[j>>2]|0;ga=c[ia>>2]|0;c[ia>>2]=ga+-1;if(!ga){ga=La[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:{Pe(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=La[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=212;break d}c[h>>2]=qa;ga=c[j>>2]|0;ea=c[ga>>2]|0;c[ga>>2]=ea+-1;if(!ea){ea=La[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=La[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)Ha=-1;else{c[ga>>2]=ja+-1;c[ga+4>>2]=da+1;Ha=d[da>>0]|0}Ia=Ha}else{da=ga+4|0;ga=c[da>>2]|0;c[da>>2]=ga+1;Ia=d[ga>>0]|0}c[b>>2]=Ia;ga=Ia+-48|0;if(ga>>>0<10){c[la>>2]=Ia;da=ga+(ea*10|0)|0;ga=c[j>>2]|0;ja=c[ga>>2]|0;c[ga>>2]=ja+-1;if(!ja){ja=La[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;Na=da;Oa=3}else{Na=ea;Oa=2}if((Na|0)>255){l=220;break d}else Pa=Na}else Pa=ia;ya=Pa}}while(0);if((l|0)==234){l=0;ia=c[j>>2]|0;ea=c[ia>>2]|0;c[ia>>2]=ea+-1;if(!ea){ea=La[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=243;break d}Z=fa<<1;Sa=c[ma>>2]|0;if((Z|0)==-2){l=245;break d}ca=c[ia>>2]|0;$=c[Sa+12>>2]|0;_=(ca|0)==0;W=$+4|0;aa=Ma[c[$>>2]&1](c[W>>2]|0,ca,fa,Z)|0;if((Z|0)!=0&(aa|0)==0){if(!(a[$+51>>0]|0)){l=249;break d}rc(Sa,1);ba=Ma[c[$>>2]&1](c[W>>2]|0,ca,fa,Z)|0;if(!ba){l=249;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=255;break d}aa=ja<<1;Xa=c[ma>>2]|0;if((aa|0)==-2){l=257;break d}fa=c[ea>>2]|0;_=c[Xa+12>>2]|0;$=(fa|0)==0;ba=_+4|0;ca=Ma[c[_>>2]&1](c[ba>>2]|0,fa,ja,aa)|0;if((aa|0)!=0&(ca|0)==0){if(!(a[_+51>>0]|0)){l=261;break d}rc(Xa,1);W=Ma[c[_>>2]&1](c[ba>>2]|0,fa,ja,aa)|0;if(!W){l=261;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=La[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:{ie(b,44501,286);break}case 166:{ie(b,44501,289);break}case 185:{Se(b,h,va,44519);break}case 212:{Se(b,b,1,44546);break}case 220:{Se(b,h,Oa,44570);break}case 243:{ie(b,43843,0);break}case 245:{sc(Sa);break}case 249:{fc(Sa,4);break}case 255:{ie(b,43843,0);break}case 257:{sc(Xa);break}case 261:{fc(Xa,4);break}}}while(0);Xa=c[i>>2]|0;Sa=Xa+4|0;Oa=c[Sa>>2]|0;h=Oa+1|0;va=Xa+8|0;ra=c[va>>2]|0;if(h>>>0>ra>>>0){if(ra>>>0>2147483645)ie(b,43843,0);bb=ra<<1;ab=c[b+32>>2]|0;if((bb|0)==-2)sc(ab);$a=c[Xa>>2]|0;_a=c[ab+12>>2]|0;Za=($a|0)==0;Ya=_a+4|0;ya=Ma[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))fc(ab,4);rc(ab,1);Wa=Ma[c[_a>>2]&1](c[Ya>>2]|0,$a,ra,bb)|0;if(!Wa)fc(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=Oa}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=La[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]=_d(b,(c[hb>>2]|0)+1|0,(c[hb+4>>2]|0)+-2|0)|0;n=289;Ga=f;return n|0}case 287:{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)ie(b,43843,0);Sa=db<<1;Oa=c[b+32>>2]|0;if((Sa|0)==-2)sc(Oa);Xa=c[hb>>2]|0;h=c[Oa+12>>2]|0;bb=(Xa|0)==0;cb=h+4|0;va=Ma[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))fc(Oa,4);rc(Oa,1);ya=Ma[c[h>>2]&1](c[cb>>2]|0,Xa,db,Sa)|0;if(!ya)fc(Oa,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=La[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;Ga=f;return n|0}if(!(Wr(66873,nb,2)|0)){if((nb+-48|0)>>>0<10){m=nb;break}else n=46;Ga=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)ie(b,43843,0);hb=gb<<1;fb=c[b+32>>2]|0;if((hb|0)==-2)sc(fb);Sa=c[lb>>2]|0;ib=c[fb+12>>2]|0;eb=(Sa|0)==0;va=ib+4|0;db=Ma[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))fc(fb,4);rc(fb,1);bb=Ma[c[ib>>2]&1](c[va>>2]|0,Sa,gb,hb)|0;if(!bb)fc(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=La[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;Ga=f;return n|0}if(!(Wr(66873,tb,2)|0)){n=279;Ga=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)ie(b,43843,0);kb=mb<<1;lb=c[b+32>>2]|0;if((kb|0)==-2)sc(lb);jb=c[nb>>2]|0;hb=c[lb+12>>2]|0;ob=(jb|0)==0;ha=hb+4|0;db=Ma[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))fc(lb,4);rc(lb,1);gb=Ma[c[hb>>2]&1](c[ha>>2]|0,jb,mb,kb)|0;if(!gb)fc(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=La[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;Ga=f;return n|0}case 463:{if(!((k&-128|0)==128|((k|0)==95|(Pt(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=La[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;Ga=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=469;break}vb=wb<<1;Cb=c[Bb>>2]|0;if((vb|0)==-2){l=471;break}sb=c[k>>2]|0;rb=c[Cb+12>>2]|0;nb=(sb|0)==0;qb=rb+4|0;kb=Ma[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=475;break}rc(Cb,1);ub=Ma[c[rb>>2]&1](c[qb>>2]|0,sb,wb,vb)|0;if(!ub){l=475;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=La[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|((Ot(Ib)|0)!=0|(Ib|0)==95)|(Ib&-2|0)==30)zb=Ib;else{l=483;break}}if((l|0)==469)ie(b,43843,0);else if((l|0)==471)sc(Cb);else if((l|0)==475)fc(Cb,4);else if((l|0)==483){Cb=c[i>>2]|0;Ib=_d(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;Ga=f;return (Cb<<24>>24==0?288:Cb&255|256)|0}else{n=288;Ga=f;return n|0}}break}case 491:{Ga=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)ie(b,43843,0);Eb=Fb<<1;Db=c[b+32>>2]|0;if((Eb|0)==-2)sc(Db);Bb=c[Cb>>2]|0;Ab=c[Db+12>>2]|0;tb=(Bb|0)==0;k=Ab+4|0;yb=Ma[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))fc(Db,4);rc(Db,1);vb=Ma[c[Ab>>2]&1](c[k>>2]|0,Bb,Fb,Eb)|0;if(!vb)fc(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=La[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)?(Wr(44595,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)ie(b,43843,0);zb=Ib<<1;Cb=c[b+32>>2]|0;if((zb|0)==-2)sc(Cb);Hb=c[m>>2]|0;Eb=c[Cb+12>>2]|0;Jb=(Hb|0)==0;Gb=Eb+4|0;yb=Ma[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))fc(Cb,4);rc(Cb,1);Fb=Ma[c[Eb>>2]&1](c[Gb>>2]|0,Hb,Ib,zb)|0;if(!Fb)fc(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=La[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=44601;Wb=Ub}else{Vb=44598;Wb=Ob}Ob=b+32|0;Ub=Wb;while(1){if(Ub)if(Wr(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=382;break}Nb=Mb<<1;Xb=c[Ob>>2]|0;if((Nb|0)==-2){l=384;break}m=c[Wb>>2]|0;Lb=c[Xb+12>>2]|0;zb=(m|0)==0;Pb=Lb+4|0;Kb=Ma[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=388;break}rc(Xb,1);yb=Ma[c[Lb>>2]&1](c[Pb>>2]|0,m,Mb,Nb)|0;if(!yb){l=388;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=La[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(!(Wr(44604,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=400;break}Kb=Qb<<1;dc=c[Ob>>2]|0;if((Kb|0)==-2){l=402;break}Mb=c[Sb>>2]|0;zb=c[dc+12>>2]|0;Lb=(Mb|0)==0;yb=zb+4|0;m=Ma[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=406;break}rc(dc,1);Pb=Ma[c[zb>>2]&1](c[yb>>2]|0,Mb,Qb,Kb)|0;if(!Pb){l=406;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;gc=Kb+1|0;hc=ec;ic=Kb}else{gc=Rb;hc=c[Sb>>2]|0;ic=Wb}c[Tb>>2]=gc;a[hc+ic>>0]=bc;Tb=c[j>>2]|0;Wb=c[Tb>>2]|0;c[Tb>>2]=Wb+-1;if(!Wb){Wb=La[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)jc=-1;else{c[Tb>>2]=Sb+-1;c[Tb+4>>2]=Wb+1;jc=d[Wb>>0]|0}kc=jc}else{Wb=Tb+4|0;Tb=c[Wb>>2]|0;c[Wb>>2]=Tb+1;kc=d[Tb>>0]|0}c[b>>2]=kc;cc=kc}else cc=0}else cc=Ub;else cc=0;lc=c[i>>2]|0;mc=lc+4|0;nc=c[mc>>2]|0;oc=nc+1|0;pc=lc+8|0;qc=c[pc>>2]|0;tc=oc>>>0>qc>>>0;if(!((cc|0)==46?1:(a[64+(cc+1)>>0]&16)!=0)){l=432;break}if(tc){if(qc>>>0>2147483645){l=418;break}Tb=qc<<1;uc=c[Ob>>2]|0;if((Tb|0)==-2){l=420;break}Wb=c[lc>>2]|0;Sb=c[uc+12>>2]|0;Rb=(Wb|0)==0;Kb=Sb+4|0;Nb=Ma[c[Sb>>2]&1](c[Kb>>2]|0,Wb,qc,Tb)|0;if((Tb|0)!=0&(Nb|0)==0){if(!(a[Sb+51>>0]|0)){l=424;break}rc(uc,1);m=Ma[c[Sb>>2]&1](c[Kb>>2]|0,Wb,qc,Tb)|0;if(!m){l=424;break}else vc=m}else vc=Nb;Nb=Sb+12|0;c[Nb>>2]=(Rb?0:0-qc|0)+Tb+(c[Nb>>2]|0);c[lc>>2]=vc;c[pc>>2]=Tb;Tb=c[mc>>2]|0;wc=Tb+1|0;xc=vc;yc=Tb}else{wc=oc;xc=c[lc>>2]|0;yc=nc}c[mc>>2]=wc;a[xc+yc>>0]=cc;Tb=c[j>>2]|0;Nb=c[Tb>>2]|0;c[Tb>>2]=Nb+-1;if(!Nb){Nb=La[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)zc=-1;else{c[Tb>>2]=Rb+-1;c[Tb+4>>2]=Nb+1;zc=d[Nb>>0]|0}Ac=zc}else{Nb=Tb+4|0;Tb=c[Nb>>2]|0;c[Nb>>2]=Tb+1;Ac=d[Tb>>0]|0}c[b>>2]=Ac;Ub=Ac}switch(l|0){case 382:{ie(b,43843,0);break}case 384:{sc(Xb);break}case 388:{fc(Xb,4);break}case 400:{ie(b,43843,0);break}case 402:{sc(dc);break}case 406:{fc(dc,4);break}case 418:{ie(b,43843,0);break}case 420:{sc(uc);break}case 424:{fc(uc,4);break}case 432:{if(tc){if(qc>>>0>2147483645)ie(b,43843,0);tc=qc<<1;uc=c[Ob>>2]|0;if((tc|0)==-2)sc(uc);Ob=c[lc>>2]|0;dc=c[uc+12>>2]|0;Xb=(Ob|0)==0;l=dc+4|0;Ac=Ma[c[dc>>2]&1](c[l>>2]|0,Ob,qc,tc)|0;if((tc|0)!=0&(Ac|0)==0){if(!(a[dc+51>>0]|0))fc(uc,4);rc(uc,1);Ub=Ma[c[dc>>2]&1](c[l>>2]|0,Ob,qc,tc)|0;if(!Ub)fc(uc,4);else Bc=Ub}else Bc=Ac;Ac=dc+12|0;c[Ac>>2]=(Xb?0:0-qc|0)+tc+(c[Ac>>2]|0);c[lc>>2]=Bc;c[pc>>2]=tc;tc=c[mc>>2]|0;Cc=tc+1|0;Dc=Bc;Fc=tc}else{Cc=oc;Dc=c[lc>>2]|0;Fc=nc}c[mc>>2]=Cc;a[Dc+Fc>>0]=0;Fc=b+56|0;Dc=a[Fc>>0]|0;Cc=c[i>>2]|0;mc=c[Cc>>2]|0;nc=c[Cc+4>>2]|0;if(!nc){Gc=mc;Hc=-1}else{Cc=nc;do{Cc=Cc+-1|0;nc=mc+Cc|0;if((a[nc>>0]|0)==46)a[nc>>0]=Dc}while((Cc|0)!=0);Cc=c[i>>2]|0;Gc=c[Cc>>2]|0;Hc=(c[Cc+4>>2]|0)+-1|0}if(Ec(Gc,Hc,e)|0){n=287;Ga=f;return n|0}Hc=a[Fc>>0]|0;Gc=a[c[(Qt()|0)>>2]>>0]|0;a[Fc>>0]=Gc;Cc=c[i>>2]|0;Dc=c[Cc>>2]|0;mc=c[Cc+4>>2]|0;if(!mc){Ic=Dc;Jc=-1}else{Cc=mc;do{Cc=Cc+-1|0;mc=Dc+Cc|0;if((a[mc>>0]|0)==Hc<<24>>24)a[mc>>0]=Gc}while((Cc|0)!=0);Cc=c[i>>2]|0;Ic=c[Cc>>2]|0;Jc=(c[Cc+4>>2]|0)+-1|0}if(Ec(Ic,Jc,e)|0){n=287;Ga=f;return n|0}n=a[Fc>>0]|0;Fc=c[i>>2]|0;i=c[Fc>>2]|0;f=c[Fc+4>>2]|0;if(!f)ie(b,44607,287);Fc=f;do{Fc=Fc+-1|0;f=i+Fc|0;if((a[f>>0]|0)==n<<24>>24)a[f>>0]=46}while((Fc|0)!=0);ie(b,44607,287);break}}return 0}function Vd(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,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;f=Ga;Ga=Ga+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[8611]=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)ke(o,200,43983);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]=Ud(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;Ga=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;Ga=f;return}break}case 267:{c[i>>2]=-1;le(e,i);a:while(1){switch(c[r>>2]|0){case 260:{D=10;break a;break}case 261:break;default:break a}le(e,i)}if((D|0)==10){c[e+8>>2]=c[l>>2];q=e+20|0;if((c[q>>2]|0)==286){B=Ud(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:{}}Vd(e);if((q|0)==274)break;q=c[r>>2]|0}Zd(C)}me(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)$d(c[o+12>>2]|0,43615);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;Ga=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]=Ud(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;ne(e,h,0)|0;if((c[h>>2]|0)==1)c[h>>2]=3;oe(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)Wd(e,259);c[q>>2]=c[l>>2];if((c[A>>2]|0)==286){q=Ud(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:{}}Vd(e);if((A|0)==274)break;A=c[r>>2]|0}Zd(L);A=o+28|0;N=c[A>>2]|0;c[A>>2]=-1;q=Yd(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)$d(c[K>>2]|0,43615);else{c[Q>>2]=(O<<14)+2147467264|R&16383;U=q;break}}else U=N;else U=q;while(0);he(o,U,J);me(e,262,278,m);Zd(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)$d(c[K>>2]|0,43615);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;Ga=f;return}case 259:{c[e+8>>2]=m;K=e+20|0;if((c[K>>2]|0)==286){B=Ud(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:{}}Vd(e);if((A|0)==274)break;A=c[r>>2]|0}Zd(Y);me(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;Ga=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=Ud(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)Wd(e,288);B=e+16|0;C=c[B>>2]|0;c[A>>2]=c[l>>2];if((c[K>>2]|0)==286){F=Ud(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;pe(e,_d(e,43992,11)|0);pe(e,_d(e,44004,11)|0);pe(e,_d(e,44016,10)|0);pe(e,C);if((c[r>>2]|0)!=61)Wd(e,61);c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Ud(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}qe(e);if((c[r>>2]|0)!=44)Wd(e,44);c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Ud(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}qe(e);if((c[r>>2]|0)==44){c[A>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Ud(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}qe(e)}else{P=d[N>>0]|0;O=J+12|0;c[h>>2]=65536;c[h+4>>2]=3;q=re(J,h,h)|0;G=P<<6;if((q|0)<262144)Yd(J,G|q<<14|1)|0;else{Yd(J,G|2)|0;Yd(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)$d(c[O>>2]|0,44027);else{J=G&255;a[P>>0]=J;$=J;break}else $=G&255;while(0);a[N>>0]=$}se(e,F,m,1,1);break}case 268:case 44:{G=c[n>>2]|0;P=G+48|0;O=d[P>>0]|0;pe(e,_d(e,44062,15)|0);pe(e,_d(e,44078,11)|0);pe(e,_d(e,44090,13)|0);pe(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=Ud(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]=Ud(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}pe(e,ba);ea=c[r>>2]|0;if((ea|0)==44)T=T+1|0;else{D=110;break}}if((D|0)==105)Wd(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)Wd(e,268);q=c[l>>2]|0;c[A>>2]=q;if((c[K>>2]|0)==286){c[r>>2]=Ud(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}ne(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]=Ud(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;te(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;ue(ia,h,(ja&255)+-1|0);ne(e,h,0)|0;J=N+1|0;if((c[r>>2]|0)==44)N=J;else{ka=J;break e}}$d(c[ia+12>>2]|0,44027)}else ka=1;while(0);ve(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)$d(c[G+12>>2]|0,44027);else{a[B>>0]=K;break}while(0);se(e,O,ha,fa,0);break}default:$d(e,44104)}me(e,262,264,m);Zd(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;Ga=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=Ud(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:{}}Vd(e);if((B|0)==274)break;B=c[r>>2]|0}me(e,277,273,m);ne(e,h,0)|0;if((c[h>>2]|0)==1)c[h>>2]=3;oe(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)}Zd(o);he(o,B,K);Zd(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;Ga=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]=Ud(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}we(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))xe(C,j)|0;c[F>>2]=c[l>>2];if((c[G>>2]|0)==286){S=Ud(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]=Ud(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=re(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]=ye(C,i)|0;a[ba>>0]=(c[j>>2]|0)==8?8:7;c[j>>2]=9}if((D|0)==163)Wd(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))xe(P,j)|0;c[F>>2]=c[l>>2];if((c[G>>2]|0)==286){q=Ud(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)Wd(e,288);N=c[oa>>2]|0;c[F>>2]=c[l>>2];if((c[G>>2]|0)==286)c[r>>2]=Ud(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=re(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]=ye(P,i)|0;a[ba>>0]=(c[j>>2]|0)==8?8:7;c[j>>2]=9;pa=1}ze(e,k,pa,m);Ae(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;Ga=f;return}case 269:{P=e+8|0;c[P>>2]=m;N=e+20|0;if((c[N>>2]|0)==286){q=Ud(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=Ud(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)Wd(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]=Ud(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}pe(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];ze(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;Ga=f;return}if((ta|0)!=288)Wd(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]=Ud(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}pe(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=Ud(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)Wd(e,288);else if((D|0)==205){c[P>>2]=c[l>>2];if((c[N>>2]|0)==286)c[r>>2]=Ud(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}ne(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]=Ud(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;te(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;ue(wa,h,(xa&255)+-1|0);ne(e,h,0)|0;G=L+1|0;if((c[r>>2]|0)==44)L=G;else{ya=G;break i}}$d(c[wa+12>>2]|0,44027)}else ya=1}else if((D|0)==223){c[h>>2]=0;ya=0}while(0);ve(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;Ga=f;return}case 285:{T=e+8|0;c[T>>2]=m;K=e+20|0;if((c[K>>2]|0)==286){J=Ud(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)Wd(e,288);L=e+16|0;P=c[L>>2]|0;c[T>>2]=c[l>>2];if((c[K>>2]|0)==286){J=Ud(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;Ha=da+(Ba<<4)+8|0;Ia=c[Ha>>2]|0;Ja=ee(Ia)|0;Ka=c[G>>2]|0;La=Ka+(Ba<<4)+8|0;Ma=c[La>>2]|0;Na=fe(Ma)|0;c[g>>2]=q;Oa=g+4|0;c[Oa>>2]=Ja;Pa=g+8|0;c[Pa>>2]=Na;Qa=fd(Fa,44125,g)|0;Ra=c[Ca>>2]|0;ge(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)?(Fr(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;Ha=da+(Ba<<4)+8|0;Ia=c[Ha>>2]|0;Ja=ee(Ia)|0;Ka=c[G>>2]|0;La=Ka+(Ba<<4)+8|0;Ma=c[La>>2]|0;Na=fe(Ma)|0;c[g>>2]=q;Oa=g+4|0;c[Oa>>2]=Ja;Pa=g+8|0;c[Pa>>2]=Na;Qa=fd(Fa,44125,g)|0;Ra=c[Ca>>2]|0;ge(Ra,Qa)}}while(0);if((Aa|0)!=285)Wd(e,285);c[T>>2]=c[l>>2];if((c[K>>2]|0)==286)c[r>>2]=Ud(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=ae(c[p>>2]|0,c[G>>2]|0,O,16,32767,43642)|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}}Vd(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;Ga=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(Fr(K+16|0,T+16|0,B)|0){D=269;break}}}be(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;Ga=f;return}case 274:{J=e+8|0;c[J>>2]=m;P=e+20|0;if((c[P>>2]|0)==286){C=Ud(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:{ne(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]=Ud(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;te(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;ue(ab,h,(bb&255)+-1|0);ne(e,h,0)|0;F=N+1|0;if((c[r>>2]|0)==44)N=F;else{cb=F;db=h;break m}}$d(c[ab+12>>2]|0,44027)}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)$d(c[Za+12>>2]|0,44027);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=xe(Za,h)|0;break l}te(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)$d(c[Za+12>>2]|0,44027);else{G=C&255;a[N>>0]=G;fb=G;break}else fb=C&255;while(0);a[ba>>0]=fb;ue(Za,h,(fb&255)+-1|0);_a=cb;$a=d[Za+46>>0]|0}}while(0);Yd(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]=Ud(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;Ga=f;return}case 266:case 258:{P=o+28|0;J=c[P>>2]|0;c[P>>2]=-1;P=Yd(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)$d(c[o+12>>2]|0,43615);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=Ud(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)Wd(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]=Ud(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]=Ud(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=gd(c[p>>2]|0,52413,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=ae(c[p>>2]|0,c[L>>2]|0,C,16,32767,43642)|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;ce(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;Ga=f;return}default:{J=h+4|0;Be(e,J);n:do switch(c[r>>2]|0){case 44:case 61:{c[h>>2]=0;Ce(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 $d(e,51844)}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;Ga=f;return}}while(0)}function Wd(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ga;Ga=Ga+16|0;e=d;d=c[a+32>>2]|0;c[e>>2]=je(a,b)|0;$d(a,fd(d,43971,e)|0)}function Xd(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;Yd(h,8388652)|0;Zd(h);j=h+20|0;k=c[j>>2]|0;if((k+1|0)>>>0>1073741823)sc(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=Ma[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))fc(f,4);rc(f,1);u=Ma[c[q>>2]&1](c[s>>2]|0,m,o,p)|0;if(!u)fc(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)sc(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=Ma[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))fc(f,4);rc(f,1);m=Ma[c[v>>2]&1](c[q>>2]|0,l,p,o)|0;if(!m)fc(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)sc(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=Ma[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))fc(f,4);rc(f,1);l=Ma[c[t>>2]&1](c[v>>2]|0,n,o,p)|0;if(!l)fc(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)sc(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=Ma[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))fc(f,4);rc(f,1);n=Ma[c[u>>2]&1](c[t>>2]|0,w,p,o)|0;if(!n)fc(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)sc(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=Ma[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))fc(f,4);rc(f,1);m=Ma[c[y>>2]&1](c[n>>2]|0,l,p,r)|0;if(!m)fc(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=Ma[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))fc(f,4);rc(f,1);o=Ma[c[p>>2]&1](c[y>>2]|0,x,i,r)|0;if(!o)fc(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;_d(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{vc(f);return}}function Yd(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)$d(c[a+12>>2]|0,43615);else if((r|0)==11)$d(c[a+12>>2]|0,43615);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=ae(c[(c[a+12>>2]|0)+32>>2]|0,c[u>>2]|0,e,4,2147483645,43963)|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]=ae(c[(c[v>>2]|0)+32>>2]|0,c[b>>2]|0,w,4,2147483645,43963)|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 Zd(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=Yd(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)$d(c[h>>2]|0,43615);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)$d(c[h>>2]|0,43615);else{c[x>>2]=(k<<14)+2147467264|y&16383;break}}while(0);if(a[g+10>>0]|0){y=i+32|0;x=Lc(c[y>>2]|0,52413,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=ae(c[y>>2]|0,c[r>>2]|0,w,16,32767,43642)|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(Fr(l+16|0,C+16|0,n)|0){u=35;break}}}be(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))de(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+((ce(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 _d(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=gd(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=tc(d,b)|0;if((h|0)==2059440)i=uc(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{vc(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 $d(a,b){a=a|0;b=b|0;ie(a,b,c[a+12>>2]|0)}function ae(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=Ga;Ga=Ga+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;hc(b,43807,j)}else{j=k<<1;l=(j|0)>4?j:4}if((l+1|0)>>>0>(4294967293/(f>>>0)|0)>>>0)sc(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=Ma[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;Ga=i;return n|0}if(!(a[f+51>>0]|0))fc(b,4);rc(b,1);m=Ma[c[f>>2]&1](c[h>>2]|0,d,j,k)|0;if(!m)fc(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;Ga=i;return n|0}return 0} function Qo(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=Ga;Ga=Ga+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;Ga=j;return n|0}if((h|0)==3|i>>>0<8){if(!g){n=0;Ga=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;Ga=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;Ga=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=Vo(0,h)|0;if(o){c[i>>2]=h;c[k>>2]=o;c[k+4>>2]=l;m=k+20|0;p=Vo(0,h)|0;if(p){c[m>>2]=h;c[k+12>>2]=p;c[k+16>>2]=l;A=k+32|0;C=Vo(0,h)|0;if(C){c[A>>2]=h;c[k+24>>2]=C;c[k+28>>2]=l;D=k+44|0;E=Vo(0,h)|0;if(E){c[D>>2]=h;c[k+36>>2]=E;c[k+40>>2]=l;F=k+56|0;G=Vo(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}}Wo(R);c[Q>>2]=0;Wo(S);c[N>>2]=0;Wo(T);c[O>>2]=0;Wo(U);c[P>>2]=0;Wo(V);n=M;Ga=j;return n|0}function Ro(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=Ga;Ga=Ga+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;Lo(j,k,l,d,e,f);f=c[n>>2]|0;Do(j+28|0);j=c[m>>2]|0;if(j|0)Wo(j);j=c[k>>2]|0;k=c[l>>2]|0;l=Ws(b,66796)|0;if(!l){Wo(j);Ga=i;return f|0}xt(j,1,k,l)|0;at(l)|0;Wo(j);Ga=i;return f|0}function So(a){a=a|0;var b=0,d=0;if(a>>>0<=1073741824?(c[516006]=(c[516006]|0)+1,(a|0)!=0):0){b=hr(a+8|0)|0;c[b>>2]=-1060065012;c[b+4>>2]=a;c[516008]=(c[516008]|0)+a;d=b+8|0}else d=0;ku(d|0,0,a|0)|0;return d|0}function To(a,b,c){a=a|0;b=b|0;c=c|0;ku(a|0,b&255|0,c|0)|0;return}function Uo(a){a=a|0;var b=0,d=0,e=0;b=a+16|0;if(b>>>0<=1073741824?(c[516006]=(c[516006]|0)+1,(b|0)!=0):0){d=hr(a+24|0)|0;c[d>>2]=-1060065012;c[d+4>>2]=b;c[516008]=(c[516008]|0)+b;e=d+8|0}else e=0;ku(e|0,0,b|0)|0;return e|0}function Vo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if(a|0){c[516008]=b-(c[a+-4>>2]|0)+(c[516008]|0);d=kr(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[516006]=(c[516006]|0)+1,(d|0)!=0):0){a=hr(b+24|0)|0;c[a>>2]=-1060065012;c[a+4>>2]=d;c[516008]=(c[516008]|0)+d;f=a+8|0}else f=0;ku(f|0,0,d|0)|0;e=f;return e|0}function Wo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=Ga;Ga=Ga+16|0;d=b+8|0;e=b;if(c[515982]|0){Ga=b;return}if(!a){Ga=b;return}c[516007]=(c[516007]|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;Kt(59309,e)|0;ct(c[8629]|0)|0;e=c[h>>2]|0;c[d>>2]=c[f>>2];c[d+4>>2]=e;Ir(1465008,59309,d)|0;bm(1465008);Ga=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[516008]=(c[516008]|0)-i;c[f>>2]=11254272;c[h>>2]=13491200;ir(f);Ga=b;return}function Xo(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[516006]|0;c[516006]=d+1;e=hr(100)|0;c[e>>2]=-1060065012;c[e+4>>2]=92;f=(c[516008]|0)+92|0;c[516008]=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;ku(j|0,0,i|0)|0;c[h>>2]=j;return g|0}c[516006]=d+2;if(!i){j=0;ku(j|0,0,i|0)|0;c[h>>2]=j;return g|0}d=hr(i+8|0)|0;c[d>>2]=-1060065012;c[d+4>>2]=i;c[516008]=f+i;j=d+8|0;ku(j|0,0,i|0)|0;c[h>>2]=j;return g|0}function Yo(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[516006]=(c[516006]|0)+1,(g|0)!=0):0){h=hr(f+24|0)|0;c[h>>2]=-1060065012;c[h+4>>2]=g;c[516008]=(c[516008]|0)+g;i=h+8|0}else i=0;ku(i|0,0,g|0)|0;j=i;k=f}else{c[516008]=f-(c[a+-4>>2]|0)+(c[516008]|0);i=kr(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;ku(j+e|0,0,k-e|0)|0;return 0}function Zo(a){a=a|0;mn(a);return}function _o(a){a=a|0;if(!a)return;c[a+16>>2]=0;c[a+20>>2]=0;return}function $o(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)}ap(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;ap(b);return}function ap(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=Ga;Ga=Ga+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;Ga=b;return}function bp(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=Ga;Ga=Ga+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)ap(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){$o(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;Ir(e,59331,g)|0;Ga=f;return y|0}function cp(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[28096+(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{ju(o|0,z|0,y|0)|0;k=A-e|0;return k|0}k=b+-1-F|0;return k|0}function dp(a,b,d){a=a|0;b=b|0;d=d|0;if(!d)return;if(c[515407]|c[515405]|0){ku(b|0,0,d|0)|0;return}if((c[515420]|0)==(c[515418]|0)?(c[515421]|0)==(c[515419]|0):0){ep(0,b,d);return}if((d|0)<=0)return;ku(b|0,0,d|0)|0;return}function ep(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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;if(ka(24)|0){ku(d|0,0,e|0)|0;return}a=c[515406]|0;c[515406]=a+1;if((a|0)>2){ku(d|0,0,e|0)|0;return}c[694233]=1;a=(e|0)/2|0;f=(c[515419]|0)==2?(e|0)/4|0:a;g=(c[515418]|0)==44100?(f|0)/2|0:f;f=(c[8625]|0)==-1;h=oq()|0;if(!f){f=(h-(c[8625]|0)|0)>500;c[8625]=oq()|0;if(f){if((g|0)<=0)return;ku(d|0,0,g<<1|0)|0;return}}else c[8625]=h;c[516014]=0;fp(2589668,g);fp(2601372,g);fp(2613076,g);fp(2624780,g);fp(2636484,g);fp(2648188,g);fp(2659892,g);fp(2671596,g);fp(2683300,g);fp(2695004,g);fp(2706708,g);fp(2718412,g);fp(2730116,g);fp(2741820,g);fp(2753524,g);fp(2765228,g);if(c[516014]|0)c[515413]=(c[515413]|0)+1;if(c[515451]|0){if(c[649473]|0)ku(2636484,0,e|0)|0;if(c[652399]|0)ku(2648188,0,e|0)|0;if(c[655325]|0)ku(2659892,0,e|0)|0;if(c[658251]|0)ku(2671596,0,e|0)|0}e=(g|0)>0;if(e){h=0;do{f=h;h=h+1|0;i=0;do{j=2589668+(f*11704|0)+(i<<1)|0;k=(b[2589668+(h*11704|0)+(i<<1)>>1]|0)+(b[j>>1]|0)|0;if((k|0)<=24575)if((k|0)<-24575)l=((k+24576|0)/5|0)+-24576|0;else l=k;else l=((k+-24576|0)/5|0)+24576|0;b[j>>1]=l;i=i+1|0}while((i|0)!=(g|0))}while(h>>>0<16);h=0;do{l=2589668+(h<<1)|0;i=(b[2613076+(h<<1)>>1]|0)+(b[l>>1]|0)|0;if((i|0)<=24575)if((i|0)<-24575)m=((i+24576|0)/5|0)+-24576|0;else m=i;else m=((i+-24576|0)/5|0)+24576|0;b[l>>1]=m;h=h+1|0}while((h|0)!=(g|0));h=0;do{m=2613076+(h<<1)|0;l=(b[2636484+(h<<1)>>1]|0)+(b[m>>1]|0)|0;if((l|0)<=24575)if((l|0)<-24575)n=((l+24576|0)/5|0)+-24576|0;else n=l;else n=((l+-24576|0)/5|0)+24576|0;b[m>>1]=n;h=h+1|0}while((h|0)!=(g|0));h=0;do{n=2636484+(h<<1)|0;m=(b[2659892+(h<<1)>>1]|0)+(b[n>>1]|0)|0;if((m|0)<=24575)if((m|0)<-24575)o=((m+24576|0)/5|0)+-24576|0;else o=m;else o=((m+-24576|0)/5|0)+24576|0;b[n>>1]=o;h=h+1|0}while((h|0)!=(g|0));h=0;do{o=2659892+(h<<1)|0;n=(b[2683300+(h<<1)>>1]|0)+(b[o>>1]|0)|0;if((n|0)<=24575)if((n|0)<-24575)p=((n+24576|0)/5|0)+-24576|0;else p=n;else p=((n+-24576|0)/5|0)+24576|0;b[o>>1]=p;h=h+1|0}while((h|0)!=(g|0));h=0;do{p=2683300+(h<<1)|0;o=(b[2706708+(h<<1)>>1]|0)+(b[p>>1]|0)|0;if((o|0)<=24575)if((o|0)<-24575)q=((o+24576|0)/5|0)+-24576|0;else q=o;else q=((o+-24576|0)/5|0)+24576|0;b[p>>1]=q;h=h+1|0}while((h|0)!=(g|0));h=0;do{q=2706708+(h<<1)|0;p=(b[2730116+(h<<1)>>1]|0)+(b[q>>1]|0)|0;if((p|0)<=24575)if((p|0)<-24575)r=((p+24576|0)/5|0)+-24576|0;else r=p;else r=((p+-24576|0)/5|0)+24576|0;b[q>>1]=r;h=h+1|0}while((h|0)!=(g|0));h=0;do{r=2730116+(h<<1)|0;q=(b[2753524+(h<<1)>>1]|0)+(b[r>>1]|0)|0;if((q|0)<=24575)if((q|0)<-24575)s=((q+24576|0)/5|0)+-24576|0;else s=q;else s=((q+-24576|0)/5|0)+24576|0;b[r>>1]=s;h=h+1|0}while((h|0)!=(g|0));h=0;do{s=2753524+(h<<1)|0;r=(b[2776932+(h<<1)>>1]|0)+(b[s>>1]|0)|0;if((r|0)<=24575)if((r|0)<-24575)t=((r+24576|0)/5|0)+-24576|0;else t=r;else t=((r+-24576|0)/5|0)+24576|0;b[s>>1]=t;h=h+1|0}while((h|0)!=(g|0));h=0;do{t=2589668+(h<<1)|0;s=(b[2636484+(h<<1)>>1]|0)+(b[t>>1]|0)|0;if((s|0)<=24575)if((s|0)<-24575)u=((s+24576|0)/5|0)+-24576|0;else u=s;else u=((s+-24576|0)/5|0)+24576|0;b[t>>1]=u;h=h+1|0}while((h|0)!=(g|0));h=0;do{u=2636484+(h<<1)|0;t=(b[2683300+(h<<1)>>1]|0)+(b[u>>1]|0)|0;if((t|0)<=24575)if((t|0)<-24575)v=((t+24576|0)/5|0)+-24576|0;else v=t;else v=((t+-24576|0)/5|0)+24576|0;b[u>>1]=v;h=h+1|0}while((h|0)!=(g|0));h=0;do{v=2683300+(h<<1)|0;u=(b[2730116+(h<<1)>>1]|0)+(b[v>>1]|0)|0;if((u|0)<=24575)if((u|0)<-24575)w=((u+24576|0)/5|0)+-24576|0;else w=u;else w=((u+-24576|0)/5|0)+24576|0;b[v>>1]=w;h=h+1|0}while((h|0)!=(g|0));h=0;do{w=2730116+(h<<1)|0;v=(b[2776932+(h<<1)>>1]|0)+(b[w>>1]|0)|0;if((v|0)<=24575)if((v|0)<-24575)x=((v+24576|0)/5|0)+-24576|0;else x=v;else x=((v+-24576|0)/5|0)+24576|0;b[w>>1]=x;h=h+1|0}while((h|0)!=(g|0));h=0;do{x=2589668+(h<<1)|0;w=(b[2683300+(h<<1)>>1]|0)+(b[x>>1]|0)|0;if((w|0)<=24575)if((w|0)<-24575)y=((w+24576|0)/5|0)+-24576|0;else y=w;else y=((w+-24576|0)/5|0)+24576|0;b[x>>1]=y;h=h+1|0}while((h|0)!=(g|0));h=0;do{y=2683300+(h<<1)|0;x=(b[2776932+(h<<1)>>1]|0)+(b[y>>1]|0)|0;if((x|0)<=24575)if((x|0)<-24575)z=((x+24576|0)/5|0)+-24576|0;else z=x;else z=((x+-24576|0)/5|0)+24576|0;b[y>>1]=z;h=h+1|0}while((h|0)!=(g|0))}h=c[515432]|0;if((h|0)!=256&e){z=0;do{y=2589668+(z<<1)|0;b[y>>1]=(B(h,b[y>>1]|0)|0)>>>8;z=z+1|0}while((z|0)!=(g|0))}if(!((c[647416]|0)==0|(c[516015]|0)==0)?(z=c[516013]|0,z|0):0){h=(B(c[515433]|0,z)|0)>>16;if(0)gr(2064060,1477424,g);if(e){z=0;do{y=1477424+(z<<1)|0;b[y>>1]=(B(h,b[y>>1]|0)|0)>>>8;z=z+1|0}while((z|0)!=(g|0));z=0;do{h=2589668+(z<<1)|0;y=(b[1477424+(z<<1)>>1]|0)+(b[h>>1]|0)|0;if((y|0)<=24575)if((y|0)<-24575)A=((y+24576|0)/5|0)+-24576|0;else A=y;else A=((y+-24576|0)/5|0)+24576|0;b[h>>1]=A;z=z+1|0}while((z|0)!=(g|0))}}z=c[515418]|0;A=c[515419]|0;if((z|0)==22050&(A|0)==1){if(e){h=0;do{b[d+(h<<1)>>1]=b[2589668+(h<<1)>>1]|0;h=h+1|0}while((h|0)!=(g|0));if((c[515412]|0)!=0&e){h=0;do{fn(b[d+(h<<1)>>1]|0,0);h=h+1|0}while((h|0)!=(g|0))}}}else if((z|0)==44100&(A|0)==2?(A=g<<2,e):0){e=0;do{b[d+(e<<1)>>1]=b[2589668+(e>>>2<<1)>>1]|0;e=e+1|0}while((e|0)<(A|0))}A=c[694234]|0;if(A|0)Pa[A&7](d,a);c[694233]=0;return}function fp(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;To(a,0,8192);if(1<>2]&c[732098]){gp(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 gp(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 gp(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;if((d|0)<=0)return;f=a+11540|0;g=a+8240|0;h=a+8604|0;i=a+8236|0;j=a+11536|0;k=a;l=d;d=b[f>>1]|0;while(1){m=d<<16>>16;if(d<<16>>16<183){n=183-m|0;o=(n|0)<(l|0)?n:l;ju(k|0,a+8240+(m<<1)|0,o<<1|0)|0;b[f>>1]=o+(e[f>>1]|0);m=l-o|0;if((m|0)>0){p=k+(o<<1)|0;q=m}else{r=19;break}}else{p=k;q=l}m=b[h>>1]|0;if(!(1<>2]&c[732099]))hp(a,g);else{ju(a+8606+(((c[j>>2]|0)%8|0)*366|0)|0,g|0,366)|0;c[j>>2]=((c[j>>2]|0)+1|0)%8|0;hp(a,g);o=((c[j>>2]|0)+4|0)%8|0;n=0;do{s=a+8240+(n<<1)|0;b[s>>1]=((b[a+8606+(o*366|0)+(n<<1)>>1]<<1)+((b[s>>1]|0)*3|0)|0)/4|0;n=n+1|0}while((n|0)!=183)}n=1<>2];if(n&c[732100]|0){o=0;do{s=a+8240+(o<<1)|0;t=b[s>>1]|0;u=t<<16>>16;if(t<<16>>16>-1)v=u&-4096;else v=0-((0-(u<<16)|0)>>>16&61440)|0;b[s>>1]=v;o=o+1|0}while((o|0)!=183)}if(c[732101]&n|0){o=(((m<<16>>16)*7|0)+(b[g>>1]|0)|0)/8|0;b[g>>1]=o;s=1;u=o;do{o=a+8240+(s<<1)|0;u=(((u<<16>>16)*7|0)+(b[o>>1]|0)|0)/8|0;b[o>>1]=u;s=s+1|0}while((s|0)!=183)}b[f>>1]=0;if((q|0)>0){k=p;l=q;d=0}else{r=19;break}}if((r|0)==19)return}function hp(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;e=Ga;Ga=Ga+64|0;f=e;ku(d|0,0,366)|0;g=a+8224|0;h=c[g>>2]|0;i=(h|0)!=0;if(i){j=c[h+4>>2]|0;k=(j|0)>1?j:1;j=a+8228|0;l=c[j>>2]|0;m=(l|0)/(k|0)|0;n=l-(B(m,k)|0)|0;l=a+11552|0;o=f;p=l;q=o+64|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+11620>>2]=c[a+11604>>2];c[a+11616>>2]=c[a+11600>>2];c[a+11624>>2]=c[a+11596>>2]}jp(a,l);ip(l,d,183);o=1485616;q=o+128|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(q|0));ip(f,1485616,64);f=0;do{o=d+(f<<1)|0;q=B(f,b[o>>1]|0)|0;b[o>>1]=((B(64-f|0,b[1485616+(f<<1)>>1]|0)|0)+q|0)/64|0;f=f+1|0}while((f|0)!=64);f=a+11696|0;r=k;s=f;t=j;u=c[f>>2]|0;v=m}else{m=a+8228|0;f=c[m>>2]|0;ku(d|0,0,366)|0;j=a+11552|0;k=a+11580|0;if(c[a+11560>>2]|0?c[k>>2]|0:0){ip(j,d,64);j=0;do{q=d+(j<<1)|0;b[q>>1]=(B(64-j|0,b[q>>1]|0)|0)/64|0;j=j+1|0}while((j|0)!=64)}c[k>>2]=0;k=a+11696|0;c[k>>2]=0;r=1;s=k;t=m;u=0;v=f}f=(c[t>>2]|0)+1|0;c[t>>2]=f;m=a+11700|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)?(i=c[h+8>>2]|0,u=c[h+12>>2]|0,!((i|0)>=(u|0)|(f|0)<(B(u,r)|0))):0)c[t>>2]=B(i,r)|0;a:do if(c[g>>2]|0?(c[a+11544>>2]|0)==0:0){if(!k){c[g>>2]=0;break}if((c[h+12>>2]|0)<=(c[h+8>>2]|0)){do if((v|0)<32){r=0;i=v;while(1){r=(c[h+16+(i*20|0)+8>>2]|0)>0?1:r;if((i|0)>=31)break;else i=i+1|0}if((v|0)<31)if((r|0)==0?(c[h+16+(v*20|0)+12>>2]|0)!=1:0)break;else break a;else if(!r)break;else break a}while(0);c[g>>2]=0}}while(0);v=a+8220|0;h=c[v>>2]|0;if(!h){Ga=e;return}i=a+11544|0;if(!((k|0)==0&(c[i>>2]|0)!=0)){Ga=e;return}k=a+11548|0;u=c[k>>2]|0;if(u>>>0>=64){Ga=e;return}c[516014]=1;f=c[h+43020+(u<<2)>>2]|0;do if(!(f&4)){b:do if(f&2){if((u|0)<=0){c[515414]=u;w=0;break}if(!(f&1)){s=u;while(1){j=s+-1|0;c[k>>2]=j;if((s|0)<=1){x=j;y=41;break b}if(!(c[h+43020+(j<<2)>>2]&1))s=j;else{x=j;y=41;break}}}else{x=u;y=41}}else{s=u+1|0;c[k>>2]=s;x=s;y=41}while(0);if((y|0)==41){c[515414]=x;if(x>>>0>63)break;else w=x}s=h+41996+(w<<4)|0;if((((c[s>>2]|0)>63?(c[h+41996+(w<<4)+4>>2]|0)>63:0)?(c[h+41996+(w<<4)+8>>2]|0)>63:0)?(c[h+41996+(w<<4)+12>>2]|0)>63:0){c[i>>2]=0;c[a+8208>>2]=0;c[a+8232>>2]=0;r=v;c[r>>2]=0;c[r+4>>2]=0;Ga=e;return}r=c[h+41996+(w<<4)+(c[a+8236>>2]<<2)>>2]|0;if((r|0)>63)z=0;else z=h+12+(((r|0)>0?r:0)*656|0)|0;c[g>>2]=z;c[t>>2]=0;b[a+11540>>1]=183;c[m>>2]=kp(h,s)|0;Ga=e;return}else{c[k>>2]=-1;c[515414]=-1}while(0);c[i>>2]=0;c[a+8208>>2]=0;c[a+8232>>2]=0;a=v;c[a>>2]=0;c[a+4>>2]=0;Ga=e;return}function ip(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,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0;f=c[a+28>>2]|0;g=a+4|0;if(!f){c[g>>2]=0;ku(d|0,0,e<<1|0)|0;return}h=c[g>>2]|0;i=c[a+8>>2]|0;j=(f*3|0)/2|0;f=c[a>>2]|0;k=(e|0)>0;if((f|0)==0&k){l=h;m=0;while(1){b[d+(m<<1)>>1]=(B((((l&32768|0)==0?(l*3|0)+-49152|0:(49152-l|0)*3|0)|0)/4|0,j)|0)/2048|0;n=l+i&65535;m=m+1|0;if((m|0)==(e|0)){o=n;break}else l=n}}else o=h;if((f|0)==1&k){h=0;l=o;while(1){m=(l|0)>57343;b[d+(h<<1)>>1]=(B((((m?65535-l|0:l)*24572|0)/((m?8192:57344)|0)|0)+-12286|0,j)|0)/2048|0;m=l+i&65535;h=h+1|0;if((h|0)==(e|0)){p=m;break}else l=m}}else p=o;if((f|0)==2&k){o=0;l=p;while(1){b[d+(o<<1)>>1]=(B((l+-32768|0)/4|0,j)|0)/2048|0;h=l+i&65535;o=o+1|0;if((o|0)==(e|0)){q=h;break}else l=h}}else q=p;if((f|0)==3&k){p=0;l=q;while(1){b[d+(p<<1)>>1]=(B((l&32768|0)==0?-6143:6143,j)|0)/2048|0;o=l+i&65535;p=p+1|0;if((p|0)==(e|0)){r=o;break}else l=o}}else r=q;if((f|0)==4&k){q=0;l=r;while(1){b[d+(q<<1)>>1]=(B((l|0)>45055?6143:-6143,j)|0)/2048|0;p=l+i&65535;q=q+1|0;if((q|0)==(e|0)){s=p;break}else l=p}}else s=r;if((f|0)==5&k){r=s;l=0;while(1){q=(r&16384|0)!=0;if(!(r&32768))t=q?32768-r|0:r;else t=((q?65536-r|0:r+-32768|0)<<1|0)/3|0;b[d+(l<<1)>>1]=(B(t+-8192|0,j)|0)/2048|0;q=r+i&65535;l=l+1|0;if((l|0)==(e|0)){u=q;break}else r=q}}else u=s;if((f|0)==6){if((i|0)>78)v=(i<<3)+1120|0;else v=(B(79-i|0,-60)|0)+1752|0;s=(v|0)>0?v:0;if(k){v=a+24|0;r=(i+500|0)/3|0;l=s>>>1;t=a+20|0;q=a+40|0;p=a+36|0;o=u;h=0;do{m=c[v>>2]&1^1;c[v>>2]=m;if(m|0){m=(Pn(s)|0)-l|0;c[t>>2]=m+(c[t>>2]|0)}if(((B(o+101|0,o+317|0)|0)&8191|0)<(r|0)){m=(Pn(12286)|0)+-6143|0;n=(B(m,c[q>>2]|0)|0)/1792|0;m=n+(c[t>>2]|0)|0;c[t>>2]=m;w=m}else w=c[t>>2]|0;m=c[p>>2]|0;n=(2048/(((m|0)<48?64:m+16|0)|0)|0)+48|0;m=(w|0)<6143?w:6143;c[t>>2]=(m|0)>-6143?m:-6143;b[d+(h<<1)>>1]=(B(B(w>>6,j)|0,(n|0)>64?n:64)|0)/2048|0;o=o+i&65535;h=h+1|0}while((h|0)!=(e|0));x=o;y=c[a>>2]|0;z=37}else A=u}else{x=u;y=f;z=37}if((z|0)==37)if((y|0)==7){y=a+12|0;a=c[y>>2]|0;if(k){k=B(i,e)|0;z=a;f=x;u=0;while(1){o=(z*127|0)/128|0;h=o>>>2&16383;b[d+(u<<1)>>1]=(B((((f&32768|0)==0?f:65535-f|0)>>1)+-16384+((o&32768|0)==0?h:h^16383)|0,j)|0)/2048|0;f=f+i&65535;u=u+1|0;if((u|0)==(e|0))break;else z=z+i|0}C=a+k|0;D=f}else{C=a;D=x}c[y>>2]=C;A=D}else A=x;c[g>>2]=A;return}function jp(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;d=c[a+8224>>2]|0;if(d|0?(e=c[d+4>>2]|0,f=(e|0)>1?e:1,g=a+8228|0,h=c[g>>2]|0,i=(h|0)/(f|0)|0,j=h-(B(i,f)|0)|0,i>>>0<=31):0){k=(e|0)<9;e=d+16+(i*20|0)|0;l=c[d+16+(i*20|0)+4>>2]|0;c[b>>2]=l;m=c[d+16+(i*20|0)+8>>2]|0;n=m<<8;o=b+28|0;c[o>>2]=n;p=c[e>>2]|0;q=p<<16;r=b+32|0;c[r>>2]=q;c[b+48>>2]=p;c[b+52>>2]=l;c[b+44>>2]=m;m=d+16+(i*20|0)+12|0;s=c[m>>2]|0;switch(s|0){case 1:{if((i|0)>0){t=c[a+11616>>2]|0;u=c[a+11624>>2]<<8}else{t=24;u=n}v=f-j|0;w=((B(v<<16,t)|0)+(B(q,j)|0)|0)/(f|0)|0;c[r>>2]=w;t=((B(u,v)|0)+(B(n,j)|0)|0)/(f|0)|0;c[o>>2]=t;x=w;y=t;z=0;break}case 4:{t=(B(n,j)|0)/(f|0)|0;c[o>>2]=t;x=q;y=t;z=1;break}case 5:{t=(B(n,f-j|0)|0)/(f|0)|0;c[o>>2]=t;x=q;y=t;z=0;break}case 6:{t=c[d+16+(((((h|0)/((k?2:4)|0)|0|0)%4|0)+(i&28)|0)*20|0)>>2]<<16;c[r>>2]=t;x=t;y=n;z=0;break}case 7:{t=c[d+16+(((((h|0)/((k?4:8)|0)|0|0)%4|0)+(i&28)|0)*20|0)>>2]<<16;c[r>>2]=t;x=t;y=n;z=0;break}default:{x=q;y=n;z=0}}c[b+36>>2]=p;c[b+40>>2]=y;y=b+56|0;c[y>>2]=0;n=d+16+(i*20|0)+16|0;if(!(c[n>>2]|0)){c[a+11696>>2]=0;A=x}else{do if(!j){x=(s|0)!=1&((i|0)==0?1:(p|0)!=(c[a+11616>>2]|0));d=(s|0)==3;if(!(x&(d^1)|(z|d&(x^1)))?(l|0)==(c[a+11620>>2]|0):0)break;c[a+11696>>2]=0}while(0);lp(a,e,b);A=c[r>>2]|0}r=A&65535;e=A>>16;l=((e+48|0)/12|0)+-4|0;if((A|0)>-1)C=e;else C=12-((0-e|0)%12|0)|0;e=(C|0)%12|0;C=B(c[28128+(e<<2)>>2]|0,65536-r|0)|0;z=((B(c[28128+(e+1<<2)>>2]|0,r)|0)+C|0)/22050|0;if((A|0)<2359296){A=z;C=l;while(1){r=C+1|0;e=(A|0)/2|0;if((C|0)<2){A=e;C=r}else{D=r;E=e;break}}}else{D=l;E=z}if((D|0)>3){z=E;l=D;while(1){D=z<<1;if((l|0)>4){z=D;l=l+-1|0}else{F=D;break}}}else F=E;E=(F|0)<32768?F:32768;F=(E|0)>8?E:8;E=b+8|0;c[E>>2]=F;l=c[m>>2]|0;m=c[y>>2]|0;y=(m|0)==2;a:do if((l|0)==2)if(y)switch((c[g>>2]|0)>>>1&7){case 1:{c[E>>2]=(F*130|0)>>>7;break a;break}case 2:{c[E>>2]=(F*132|0)>>>7;break a;break}case 3:{c[E>>2]=(F*130|0)>>>7;break a;break}case 5:{c[E>>2]=(F*126|0)>>>7;break a;break}case 6:{c[E>>2]=(F*124|0)>>>7;break a;break}case 7:{c[E>>2]=(F*126|0)>>>7;break a;break}default:break a}else G=37;else if(y)G=37;else{H=F;G=44}while(0);b:do if((G|0)==37)switch((c[g>>2]|0)>>>1&7){case 1:{y=(F*129|0)>>>7;c[E>>2]=y;H=y;G=44;break b;break}case 2:{y=(F*130|0)>>>7;c[E>>2]=y;H=y;G=44;break b;break}case 3:{y=(F*129|0)>>>7;c[E>>2]=y;H=y;G=44;break b;break}case 5:{y=(F*127|0)>>>7;c[E>>2]=y;H=y;G=44;break b;break}case 6:{y=(F*126|0)>>>7;c[E>>2]=y;H=y;G=44;break b;break}case 7:{y=(F*127|0)>>>7;c[E>>2]=y;H=y;G=44;break b;break}default:{H=F;G=44;break b}}while(0);if((G|0)==44){if((l|0)==3&(c[n>>2]|0)==0){n=(B(H,f-j|0)|0)/(f|0)|0;c[E>>2]=n;I=n}else I=H;if((m|0)==3)c[E>>2]=(B(c[b+60>>2]|0,I)|0)/256|0}if(!(c[a+11544>>2]|0))return;a=(B(c[516013]>>8,c[o>>2]|0)|0)/256|0;c[o>>2]=(B(a,c[515433]|0)|0)/256|0;return}c[b+28>>2]=0;c[b>>2]=0;c[b+8>>2]=0;return}function kp(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;d=c[b>>2]|0;e=d>>>0<64;if(e?(c[a+12+(d*656|0)+12>>2]|0)<=(c[a+12+(d*656|0)+8>>2]|0):0)f=d;else g=4;do if((g|0)==4){h=c[b+4>>2]|0;i=h>>>0<64;if(i?(c[a+12+(h*656|0)+12>>2]|0)<=(c[a+12+(h*656|0)+8>>2]|0):0){f=h;break}j=c[b+8>>2]|0;k=j>>>0<64;if(k?(c[a+12+(j*656|0)+12>>2]|0)<=(c[a+12+(j*656|0)+8>>2]|0):0){f=j;break}l=c[b+12>>2]|0;m=l>>>0<64;if(m?(c[a+12+(l*656|0)+12>>2]|0)<=(c[a+12+(l*656|0)+8>>2]|0):0){f=l;break}if(e){n=c[a+12+(d*656|0)+4>>2]|0;o=((n|0)>1?n:1)<<5}else o=0;if(i){i=c[a+12+(h*656|0)+4>>2]|0;h=((i|0)>1?i:1)<<5;p=(o|0)>(h|0)?o:h}else p=o;if(k){k=c[a+12+(j*656|0)+4>>2]|0;j=((k|0)>1?k:1)<<5;q=(p|0)>(j|0)?p:j}else q=p;if(!m){r=q;return r|0}m=c[a+12+(l*656|0)+4>>2]|0;l=((m|0)>1?m:1)<<5;r=(q|0)>(l|0)?q:l;return r|0}while(0);q=c[a+12+(f*656|0)+4>>2]|0;r=(q|0)<1?32:q<<5;return r|0}function lp(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+12+(f*656|0)+4>>2]|0;g=(b|0)>1?b:1;h=(b|0)<9;b=c[e+12+(f*656|0)+12>>2]|0;i=c[e+12+(f*656|0)+8>>2]|0;j=a+11696|0;k=c[j>>2]|0;if((b|0)<=(i|0)|(k|0)<(B(g,b)|0))l=k;else{k=B(i,g)|0;c[j>>2]=k;l=k}k=(l|0)/(g|0)|0;j=l-(B(k,g)|0)|0;if((k|0)>31){c[d+28>>2]=0;c[d>>2]=0;return}i=(k|0)>0;b=i?k:0;m=e+12+(f*656|0)+16+(b*20|0)|0;n=c[m>>2]|0;o=n<<16;p=e+12+(f*656|0)+16+(b*20|0)+8|0;q=c[p>>2]|0;r=q<<8;if((j|0)==(g+-1|0)){c[a+11636>>2]=n;c[a+11644>>2]=q;c[a+11640>>2]=c[e+12+(f*656|0)+16+(b*20|0)+4>>2]}q=c[e+12+(f*656|0)+16+(b*20|0)+12>>2]|0;switch(q|0){case 1:{if(i){s=c[a+11636>>2]<<16;t=c[a+11644>>2]<<8}else{s=1572864;t=r}a=g-j|0;u=((B(s,a)|0)+(B(j<<16,c[m>>2]|0)|0)|0)/(g|0)|0;v=((B(t,a)|0)+(B(r,j)|0)|0)/(g|0)|0;break}case 3:{c[d+60>>2]=(g-j<<8|0)/(g|0)|0;u=o;v=r;break}case 4:{u=o;v=(B(r,j)|0)/(g|0)|0;break}case 5:{u=o;v=(B(r,g-j|0)|0)/(g|0)|0;break}case 6:{u=c[e+12+(f*656|0)+16+(((((l|0)/((h?2:4)|0)|0|0)%4|0)+(k&28)|0)*20|0)>>2]<<16;v=r;break}case 7:{u=c[e+12+(f*656|0)+16+(((((l|0)/((h?4:8)|0)|0|0)%4|0)+(k&28)|0)*20|0)>>2]<<16;v=r;break}default:{u=o;v=r}}c[d>>2]=c[e+12+(f*656|0)+16+(b*20|0)+4>>2];b=d+32|0;c[b>>2]=u+-1572864+(c[b>>2]|0);b=d+36|0;c[b>>2]=(c[m>>2]|0)+-24+(c[b>>2]|0);b=c[p>>2]|0;c[d+40>>2]=(v*7|0)/(((b|0)>1?b:1)|0)|0;b=d+28|0;c[b>>2]=(B(c[b>>2]|0,v)|0)/1792|0;c[d+56>>2]=q;return}function mp(){iq();return}function np(){jq();return}function op(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Ga;Ga=Ga+16|0;e=d;To(1477424,0,8192);c[516015]=0;To(2589668,0,187264);c[e>>2]=c[515444];Ir(1465008,59388,e)|0;bm(1465008);if(c[515468]|0){f=0;Ga=d;return f|0}e=gq(a,b)|0;if(e|0){f=e;Ga=d;return f|0}c[515418]=a;c[515419]=b;f=0;Ga=d;return f|0}function pp(){return hq()|0}function qp(a){a=a|0;c[694234]=a;return}function rp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Uo(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=Uo(B((b|0)/8|0,a)|0)|0;c[d+16>>2]=f;c[d+20>>2]=f;c[d+36>>2]=-1;c[515259]=(c[515259]|0)+1;e=d;return e|0}function sp(a){a=a|0;var b=0,d=0,e=0;if(!a)return;iq();if(0){iq();b=a+36|0;d=c[b>>2]|0;if(d>>>0<16?(e=2589668+(d*11704|0)+8208|0,(c[e>>2]|0)==(a|0)):0){c[2589668+(d*11704|0)+11544>>2]=0;c[e>>2]=0;c[2589668+(d*11704|0)+8232>>2]=0;e=2589668+(d*11704|0)+8220|0;c[e>>2]=0;c[e+4>>2]=0;c[b>>2]=-1}jq()}Wo(c[a+16>>2]|0);Wo(a);c[515259]=(c[515259]|0)+-1;jq();return}function tp(a){a=a|0;var b=0,d=0,e=0;if(!((a|0)!=0&0!=0))return;iq();b=a+36|0;d=c[b>>2]|0;if(d>>>0<16?(e=2589668+(d*11704|0)+8208|0,(c[e>>2]|0)==(a|0)):0){c[2589668+(d*11704|0)+11544>>2]=0;c[e>>2]=0;c[2589668+(d*11704|0)+8232>>2]=0;e=2589668+(d*11704|0)+8220|0;c[e>>2]=0;c[e+4>>2]=0;c[b>>2]=-1}jq();return}function up(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;iq();g=(d|0)==0?-1:d;do if(!a){if((f|0)!=-1){c[2589668+(f*11704|0)+11544>>2]=0;c[2589668+(f*11704|0)+8208>>2]=0;c[2589668+(f*11704|0)+8232>>2]=0;d=2589668+(f*11704|0)+8220|0;c[d>>2]=0;c[d+4>>2]=0;break}d=(c[515451]|0)==0?16:4;h=0;do{c[2589668+(h*11704|0)+11544>>2]=0;c[2589668+(h*11704|0)+8208>>2]=0;c[2589668+(h*11704|0)+8232>>2]=0;i=2589668+(h*11704|0)+8220|0;c[i>>2]=0;c[i+4>>2]=0;h=h+1|0}while(h>>>0>>0)}else{d=(f|0)==-1;do if(!(c[515451]|0))if(d)if(!((c[672877]|0)==0&(c[672881]|0)==0&(c[673711]|0)==0))if(!((c[675803]|0)==0&(c[675807]|0)==0&(c[676637]|0)==0))if(!((c[678729]|0)==0&(c[678733]|0)==0&(c[679563]|0)==0))if(!((c[681655]|0)==0&(c[681659]|0)==0&(c[682489]|0)==0))if(!((c[684581]|0)==0&(c[684585]|0)==0&(c[685415]|0)==0))if(!((c[687507]|0)==0&(c[687511]|0)==0&(c[688341]|0)==0))if(!((c[690433]|0)==0&(c[690437]|0)==0&(c[691267]|0)==0))if((c[693359]|0)==0&(c[693363]|0)==0&(c[694193]|0)==0)j=15;else{h=c[672881]|0;if((h|0)!=0&(c[673711]|0)==0){k=c[h+4>>2]|0;l=8}else{k=256;l=-1}h=c[675807]|0;if((h|0)!=0&(c[676637]|0)==0){i=c[h+4>>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[678733]|0;if((h|0)!=0&(c[679563]|0)==0){i=c[h+4>>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[681659]|0;if((h|0)!=0&(c[682489]|0)==0){i=c[h+4>>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[684585]|0;if((h|0)!=0&(c[685415]|0)==0){i=c[h+4>>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[687511]|0;if((h|0)!=0&(c[688341]|0)==0){i=c[h+4>>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[690437]|0;if((h|0)!=0&(c[691267]|0)==0){i=c[h+4>>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[693363]|0;if(!((h|0)!=0&(c[694193]|0)==0)){y=x;z=25;break}if((x|0)!=-1?(c[h+4>>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{y=f;z=25}else if(d){h=(c[649469]|0)==0;if(!(h&(c[649473]|0)==0&(c[650303]|0)==0&(c[661173]|0)==0&(c[661177]|0)==0&(c[662007]|0)==0)){i=(c[652395]|0)==0;if(!(i&(c[652399]|0)==0&(c[653229]|0)==0&(c[664099]|0)==0&(c[664103]|0)==0&(c[664933]|0)==0)){A=(c[655321]|0)==0;if(!(A&(c[655325]|0)==0&(c[656155]|0)==0&(c[667025]|0)==0&(c[667029]|0)==0&(c[667859]|0)==0)){C=(c[658247]|0)==0;if(!(C&(c[658251]|0)==0&(c[659081]|0)==0&(c[669951]|0)==0&(c[669955]|0)==0&(c[670785]|0)==0)){D=c[732097]|0;if(!(h&(c[649473]|0)==0&(c[650303]|0)==0&(c[661173]|0)==0&(c[661177]|0)==0&(D&1|0)==0))if(!(i&(c[652399]|0)==0&(c[653229]|0)==0&(c[664099]|0)==0&(c[664103]|0)==0&(D&2|0)==0))if(!(A&(c[655325]|0)==0&(c[656155]|0)==0&(c[667025]|0)==0&(c[667029]|0)==0&(D&4|0)==0))if(!(C&(c[658251]|0)==0&(c[659081]|0)==0&(c[669951]|0)==0&(c[669955]|0)==0&(D&8|0)==0))if(!((c[650303]|D&1|0)==0&(h&(c[649473]|0)==0)))if(!((c[653229]|D&2|0)==0&(i&(c[652399]|0)==0)))if(!((c[656155]|D&4|0)==0&(A&(c[655325]|0)==0)))if((c[659081]|D&8|0)==0&(C&(c[658251]|0)==0))j=3;else{if((D&1|0)!=0?!((c[661173]|0)==0&(c[661177]|0)==0&(c[662007]|0)==0):0){E=256;F=-1}else{C=c[649473]|0;if(!C){E=256;F=-1}else{E=c[C+4>>2]|0;F=0}}if((D&2|0)!=0?!((c[664099]|0)==0&(c[664103]|0)==0&(c[664933]|0)==0):0){G=E;H=F}else z=51;do if((z|0)==51){C=c[652399]|0;if(!C){G=E;H=F;break}A=(F|0)!=-1;i=c[C+4>>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[667025]|0)==0&(c[667029]|0)==0&(c[667859]|0)==0):0){I=G;J=H}else z=55;do if((z|0)==55){C=c[655325]|0;if(!C){I=G;J=H;break}A=c[C+4>>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[669951]|0)==0&(c[669955]|0)==0&(c[670785]|0)==0):0){y=J;z=25;break}C=c[658251]|0;if(!C){y=J;z=25;break}if((J|0)!=-1?(c[C+4>>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{y=f;z=25}while(0);if((z|0)==25)if(y>>>0>15)break;else j=y;d=c[a+4>>2]|0;C=(d|0)>1?d:1;c[2589668+(j*11704|0)+8224>>2]=a;c[2589668+(j*11704|0)+8236>>2]=j&3;c[2589668+(j*11704|0)+8228>>2]=B(C,b)|0;c[2589668+(j*11704|0)+11700>>2]=B(C,g)|0;c[2589668+(j*11704|0)+8220>>2]=e;c[2589668+(j*11704|0)+11544>>2]=0;c[2589668+(j*11704|0)+8232>>2]=1;jq();K=j;return K|0}while(0);jq();K=-1;return K|0}function vp(a){a=a|0;var b=0;iq();if(!a){if(!(c[650303]|0)){c[650303]=0;c[649469]=0;c[649475]=0;b=2597888;c[b>>2]=0;c[b+4>>2]=0}if(!(c[653229]|0)){c[653229]=0;c[652395]=0;c[652401]=0;b=2609592;c[b>>2]=0;c[b+4>>2]=0}if(!(c[656155]|0)){c[656155]=0;c[655321]=0;c[655327]=0;b=2621296;c[b>>2]=0;c[b+4>>2]=0}if(!(c[659081]|0)){c[659081]=0;c[658247]=0;c[658253]=0;b=2633e3;c[b>>2]=0;c[b+4>>2]=0}if(!(c[662007]|0)){c[662007]=0;c[661173]=0;c[661179]=0;b=2644704;c[b>>2]=0;c[b+4>>2]=0}if(!(c[664933]|0)){c[664933]=0;c[664099]=0;c[664105]=0;b=2656408;c[b>>2]=0;c[b+4>>2]=0}if(!(c[667859]|0)){c[667859]=0;c[667025]=0;c[667031]=0;b=2668112;c[b>>2]=0;c[b+4>>2]=0}if(!(c[670785]|0)){c[670785]=0;c[669951]=0;c[669957]=0;b=2679816;c[b>>2]=0;c[b+4>>2]=0}if(!(c[673711]|0)){c[673711]=0;c[672877]=0;c[672883]=0;b=2691520;c[b>>2]=0;c[b+4>>2]=0}if(!(c[676637]|0)){c[676637]=0;c[675803]=0;c[675809]=0;b=2703224;c[b>>2]=0;c[b+4>>2]=0}if(!(c[679563]|0)){c[679563]=0;c[678729]=0;c[678735]=0;b=2714928;c[b>>2]=0;c[b+4>>2]=0}if(!(c[682489]|0)){c[682489]=0;c[681655]=0;c[681661]=0;b=2726632;c[b>>2]=0;c[b+4>>2]=0}if(!(c[685415]|0)){c[685415]=0;c[684581]=0;c[684587]=0;b=2738336;c[b>>2]=0;c[b+4>>2]=0}if(!(c[688341]|0)){c[688341]=0;c[687507]=0;c[687513]=0;b=2750040;c[b>>2]=0;c[b+4>>2]=0}if(!(c[691267]|0)){c[691267]=0;c[690433]=0;c[690439]=0;b=2761744;c[b>>2]=0;c[b+4>>2]=0}if(c[694193]|0){jq();return}c[694193]=0;c[693359]=0;c[693365]=0;b=2773448;c[b>>2]=0;c[b+4>>2]=0;jq();return}else{if((c[649473]|0)==(a|0)){c[650303]=0;c[649469]=0;c[649475]=0;b=2597888;c[b>>2]=0;c[b+4>>2]=0}if((c[652399]|0)==(a|0)){c[653229]=0;c[652395]=0;c[652401]=0;b=2609592;c[b>>2]=0;c[b+4>>2]=0}if((c[655325]|0)==(a|0)){c[656155]=0;c[655321]=0;c[655327]=0;b=2621296;c[b>>2]=0;c[b+4>>2]=0}if((c[658251]|0)==(a|0)){c[659081]=0;c[658247]=0;c[658253]=0;b=2633e3;c[b>>2]=0;c[b+4>>2]=0}if((c[661177]|0)==(a|0)){c[662007]=0;c[661173]=0;c[661179]=0;b=2644704;c[b>>2]=0;c[b+4>>2]=0}if((c[664103]|0)==(a|0)){c[664933]=0;c[664099]=0;c[664105]=0;b=2656408;c[b>>2]=0;c[b+4>>2]=0}if((c[667029]|0)==(a|0)){c[667859]=0;c[667025]=0;c[667031]=0;b=2668112;c[b>>2]=0;c[b+4>>2]=0}if((c[669955]|0)==(a|0)){c[670785]=0;c[669951]=0;c[669957]=0;b=2679816;c[b>>2]=0;c[b+4>>2]=0}if((c[672881]|0)==(a|0)){c[673711]=0;c[672877]=0;c[672883]=0;b=2691520;c[b>>2]=0;c[b+4>>2]=0}if((c[675807]|0)==(a|0)){c[676637]=0;c[675803]=0;c[675809]=0;b=2703224;c[b>>2]=0;c[b+4>>2]=0}if((c[678733]|0)==(a|0)){c[679563]=0;c[678729]=0;c[678735]=0;b=2714928;c[b>>2]=0;c[b+4>>2]=0}if((c[681659]|0)==(a|0)){c[682489]=0;c[681655]=0;c[681661]=0;b=2726632;c[b>>2]=0;c[b+4>>2]=0}if((c[684585]|0)==(a|0)){c[685415]=0;c[684581]=0;c[684587]=0;b=2738336;c[b>>2]=0;c[b+4>>2]=0}if((c[687511]|0)==(a|0)){c[688341]=0;c[687507]=0;c[687513]=0;b=2750040;c[b>>2]=0;c[b+4>>2]=0}if((c[690437]|0)==(a|0)){c[691267]=0;c[690433]=0;c[690439]=0;b=2761744;c[b>>2]=0;c[b+4>>2]=0}if((c[693363]|0)!=(a|0)){jq();return}c[694193]=0;c[693359]=0;c[693365]=0;a=2773448;c[a>>2]=0;c[a+4>>2]=0;jq();return}}function wp(a){a=a|0;vp(a);up(a,0,(c[a+12>>2]|0)>(c[a+8>>2]|0)?-1:32,0,-1)|0;return}function xp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;iq();b=(c[650303]|0)==0;do if(!a)if(b|(c[649472]|0)==0)if((c[653229]|0)==0|(c[652398]|0)==0)if((c[656155]|0)==0|(c[655324]|0)==0)if((c[659081]|0)==0|(c[658250]|0)==0)if((c[662007]|0)==0|(c[661176]|0)==0)if((c[664933]|0)==0|(c[664102]|0)==0)if((c[667859]|0)==0|(c[667028]|0)==0)if((c[670785]|0)==0|(c[669954]|0)==0)if((c[673711]|0)==0|(c[672880]|0)==0)if((c[676637]|0)==0|(c[675806]|0)==0)if((c[679563]|0)==0|(c[678732]|0)==0)if((c[682489]|0)==0|(c[681658]|0)==0)if((c[685415]|0)==0|(c[684584]|0)==0)if((c[688341]|0)==0|(c[687510]|0)==0)if((c[691267]|0)==0|(c[690436]|0)==0)if((c[694193]|0)==0|(c[693362]|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[649472]|0,(f|0)!=0&(f|0)==(a|0)):0){e=0;d=6;break}if(c[653229]|0?(f=c[652398]|0,(f|0)!=0&(f|0)==(a|0)):0){e=1;d=6;break}if(c[656155]|0?(f=c[655324]|0,(f|0)!=0&(f|0)==(a|0)):0){e=2;d=6;break}if(c[659081]|0?(f=c[658250]|0,(f|0)!=0&(f|0)==(a|0)):0){e=3;d=6;break}if(c[662007]|0?(f=c[661176]|0,(f|0)!=0&(f|0)==(a|0)):0){e=4;d=6;break}if(c[664933]|0?(f=c[664102]|0,(f|0)!=0&(f|0)==(a|0)):0){e=5;d=6;break}if(c[667859]|0?(f=c[667028]|0,(f|0)!=0&(f|0)==(a|0)):0){e=6;d=6;break}if(c[670785]|0?(f=c[669954]|0,(f|0)!=0&(f|0)==(a|0)):0){e=7;d=6;break}if(c[673711]|0?(f=c[672880]|0,(f|0)!=0&(f|0)==(a|0)):0){e=8;d=6;break}if(c[676637]|0?(f=c[675806]|0,(f|0)!=0&(f|0)==(a|0)):0){e=9;d=6;break}if(c[679563]|0?(f=c[678732]|0,(f|0)!=0&(f|0)==(a|0)):0){e=10;d=6;break}if(c[682489]|0?(f=c[681658]|0,(f|0)!=0&(f|0)==(a|0)):0){e=11;d=6;break}if(c[685415]|0?(f=c[684584]|0,(f|0)!=0&(f|0)==(a|0)):0){e=12;d=6;break}if(c[688341]|0?(f=c[687510]|0,(f|0)!=0&(f|0)==(a|0)):0){e=13;d=6;break}if(c[691267]|0?(f=c[690436]|0,(f|0)!=0&(f|0)==(a|0)):0){e=14;d=6;break}if((c[694193]|0)!=0?(f=c[693362]|0,(f|0)!=0&(f|0)==(a|0)):0){e=15;d=6}else d=8}while(0);if((d|0)==6){jq();g=c[2589668+(e*11704|0)+11548>>2]|0;return g|0}else if((d|0)==8){jq();g=-1;return g|0}return 0}function yp(a){a=a|0;var b=0,d=0,e=0;iq();if((c[649473]|0)!=(a|0))if((c[652399]|0)!=(a|0))if((c[655325]|0)!=(a|0))if((c[658251]|0)!=(a|0))if((c[661177]|0)!=(a|0))if((c[664103]|0)!=(a|0))if((c[667029]|0)!=(a|0))if((c[669955]|0)!=(a|0))if((c[672881]|0)!=(a|0))if((c[675807]|0)!=(a|0))if((c[678733]|0)!=(a|0))if((c[681659]|0)!=(a|0))if((c[684585]|0)!=(a|0))if((c[687511]|0)!=(a|0))if((c[690437]|0)!=(a|0))if((c[693363]|0)==(a|0))b=15;else{jq();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;jq();e=c[a+4>>2]|0;d=(c[2589668+(b*11704|0)+8228>>2]|0)/(((e|0)>1?e:1)|0)|0;return d|0}function zp(a){a=a|0;var b=0;iq();b=c[2589668+(a*11704|0)+8224>>2]|0;jq();return b|0}function Ap(a){a=a|0;if(a>>>0>15)return;iq();c[2589668+(a*11704|0)+8232>>2]=0;jq();return}function Bp(a){a=a|0;var b=0,d=0;iq();b=(c[650303]|0)==0;if(!a){if(!b){c[650303]=0;c[649469]=0;c[649475]=0;d=2597888;c[d>>2]=0;c[d+4>>2]=0}if(c[653229]|0){c[653229]=0;c[652395]=0;c[652401]=0;d=2609592;c[d>>2]=0;c[d+4>>2]=0}if(c[656155]|0){c[656155]=0;c[655321]=0;c[655327]=0;d=2621296;c[d>>2]=0;c[d+4>>2]=0}if(c[659081]|0){c[659081]=0;c[658247]=0;c[658253]=0;d=2633e3;c[d>>2]=0;c[d+4>>2]=0}if(c[662007]|0){c[662007]=0;c[661173]=0;c[661179]=0;d=2644704;c[d>>2]=0;c[d+4>>2]=0}if(c[664933]|0){c[664933]=0;c[664099]=0;c[664105]=0;d=2656408;c[d>>2]=0;c[d+4>>2]=0}if(c[667859]|0){c[667859]=0;c[667025]=0;c[667031]=0;d=2668112;c[d>>2]=0;c[d+4>>2]=0}if(c[670785]|0){c[670785]=0;c[669951]=0;c[669957]=0;d=2679816;c[d>>2]=0;c[d+4>>2]=0}if(c[673711]|0){c[673711]=0;c[672877]=0;c[672883]=0;d=2691520;c[d>>2]=0;c[d+4>>2]=0}if(c[676637]|0){c[676637]=0;c[675803]=0;c[675809]=0;d=2703224;c[d>>2]=0;c[d+4>>2]=0}if(c[679563]|0){c[679563]=0;c[678729]=0;c[678735]=0;d=2714928;c[d>>2]=0;c[d+4>>2]=0}if(c[682489]|0){c[682489]=0;c[681655]=0;c[681661]=0;d=2726632;c[d>>2]=0;c[d+4>>2]=0}if(c[685415]|0){c[685415]=0;c[684581]=0;c[684587]=0;d=2738336;c[d>>2]=0;c[d+4>>2]=0}if(c[688341]|0){c[688341]=0;c[687507]=0;c[687513]=0;d=2750040;c[d>>2]=0;c[d+4>>2]=0}if(c[691267]|0){c[691267]=0;c[690433]=0;c[690439]=0;d=2761744;c[d>>2]=0;c[d+4>>2]=0}if(!(c[694193]|0)){jq();return}c[694193]=0;c[693359]=0;c[693365]=0;d=2773448;c[d>>2]=0;c[d+4>>2]=0;jq();return}if(!b?(b=c[649472]|0,(b|0)!=0&(b|0)==(a|0)):0){c[650303]=0;c[649469]=0;c[649475]=0;b=2597888;c[b>>2]=0;c[b+4>>2]=0}if(c[653229]|0?(b=c[652398]|0,(b|0)!=0&(b|0)==(a|0)):0){c[653229]=0;c[652395]=0;c[652401]=0;b=2609592;c[b>>2]=0;c[b+4>>2]=0}if(c[656155]|0?(b=c[655324]|0,(b|0)!=0&(b|0)==(a|0)):0){c[656155]=0;c[655321]=0;c[655327]=0;b=2621296;c[b>>2]=0;c[b+4>>2]=0}if(c[659081]|0?(b=c[658250]|0,(b|0)!=0&(b|0)==(a|0)):0){c[659081]=0;c[658247]=0;c[658253]=0;b=2633e3;c[b>>2]=0;c[b+4>>2]=0}if(c[662007]|0?(b=c[661176]|0,(b|0)!=0&(b|0)==(a|0)):0){c[662007]=0;c[661173]=0;c[661179]=0;b=2644704;c[b>>2]=0;c[b+4>>2]=0}if(c[664933]|0?(b=c[664102]|0,(b|0)!=0&(b|0)==(a|0)):0){c[664933]=0;c[664099]=0;c[664105]=0;b=2656408;c[b>>2]=0;c[b+4>>2]=0}if(c[667859]|0?(b=c[667028]|0,(b|0)!=0&(b|0)==(a|0)):0){c[667859]=0;c[667025]=0;c[667031]=0;b=2668112;c[b>>2]=0;c[b+4>>2]=0}if(c[670785]|0?(b=c[669954]|0,(b|0)!=0&(b|0)==(a|0)):0){c[670785]=0;c[669951]=0;c[669957]=0;b=2679816;c[b>>2]=0;c[b+4>>2]=0}if(c[673711]|0?(b=c[672880]|0,(b|0)!=0&(b|0)==(a|0)):0){c[673711]=0;c[672877]=0;c[672883]=0;b=2691520;c[b>>2]=0;c[b+4>>2]=0}if(c[676637]|0?(b=c[675806]|0,(b|0)!=0&(b|0)==(a|0)):0){c[676637]=0;c[675803]=0;c[675809]=0;b=2703224;c[b>>2]=0;c[b+4>>2]=0}if(c[679563]|0?(b=c[678732]|0,(b|0)!=0&(b|0)==(a|0)):0){c[679563]=0;c[678729]=0;c[678735]=0;b=2714928;c[b>>2]=0;c[b+4>>2]=0}if(c[682489]|0?(b=c[681658]|0,(b|0)!=0&(b|0)==(a|0)):0){c[682489]=0;c[681655]=0;c[681661]=0;b=2726632;c[b>>2]=0;c[b+4>>2]=0}if(c[685415]|0?(b=c[684584]|0,(b|0)!=0&(b|0)==(a|0)):0){c[685415]=0;c[684581]=0;c[684587]=0;b=2738336;c[b>>2]=0;c[b+4>>2]=0}if(c[688341]|0?(b=c[687510]|0,(b|0)!=0&(b|0)==(a|0)):0){c[688341]=0;c[687507]=0;c[687513]=0;b=2750040;c[b>>2]=0;c[b+4>>2]=0}if(c[691267]|0?(b=c[690436]|0,(b|0)!=0&(b|0)==(a|0)):0){c[691267]=0;c[690433]=0;c[690439]=0;b=2761744;c[b>>2]=0;c[b+4>>2]=0}if(!(c[694193]|0)){jq();return}b=c[693362]|0;if(!((b|0)!=0&(b|0)==(a|0))){jq();return}c[694193]=0;c[693359]=0;c[693365]=0;a=2773448;c[a>>2]=0;c[a+4>>2]=0;jq();return}function Cp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;iq();Bp(a);if(!((a|0)!=0&b>>>0<64)){jq();return}e=a+41996+(b<<4)|0;if(!(kp(a,e)|0)){jq();return}c[515413]=0;c[515414]=b;f=c[e>>2]|0;g=(f|0)<63?f:63;f=up(a+12+(((g|0)>0?g:0)*656|0)|0,0,32,a,4)|0;if((f|0)!=-1){if((c[e>>2]|0)>63)c[2589668+(f*11704|0)+8224>>2]=0;c[2589668+(f*11704|0)+11544>>2]=1;c[2589668+(f*11704|0)+8220>>2]=a;c[2589668+(f*11704|0)+11548>>2]=b;c[2589668+(f*11704|0)+8236>>2]=0;c[2589668+(f*11704|0)+11700>>2]=kp(a,e)|0}f=a+41996+(b<<4)+4|0;g=c[f>>2]|0;h=(g|0)<63?g:63;g=up(a+12+(((h|0)>0?h:0)*656|0)|0,0,32,a,5)|0;if((g|0)!=-1){if((c[f>>2]|0)>63)c[2589668+(g*11704|0)+8224>>2]=0;c[2589668+(g*11704|0)+11544>>2]=1;c[2589668+(g*11704|0)+8220>>2]=a;c[2589668+(g*11704|0)+11548>>2]=b;c[2589668+(g*11704|0)+8236>>2]=1;c[2589668+(g*11704|0)+11700>>2]=kp(a,e)|0}g=a+41996+(b<<4)+8|0;f=c[g>>2]|0;h=(f|0)<63?f:63;f=up(a+12+(((h|0)>0?h:0)*656|0)|0,0,32,a,6)|0;if((f|0)!=-1){if((c[g>>2]|0)>63)c[2589668+(f*11704|0)+8224>>2]=0;c[2589668+(f*11704|0)+11544>>2]=1;c[2589668+(f*11704|0)+8220>>2]=a;c[2589668+(f*11704|0)+11548>>2]=b;c[2589668+(f*11704|0)+8236>>2]=2;c[2589668+(f*11704|0)+11700>>2]=kp(a,e)|0}f=a+41996+(b<<4)+12|0;g=c[f>>2]|0;h=(g|0)<63?g:63;g=up(a+12+(((h|0)>0?h:0)*656|0)|0,0,32,a,7)|0;if((g|0)!=-1){if((c[f>>2]|0)>63)c[2589668+(g*11704|0)+8224>>2]=0;c[2589668+(g*11704|0)+11544>>2]=1;c[2589668+(g*11704|0)+8220>>2]=a;c[2589668+(g*11704|0)+11548>>2]=b;c[2589668+(g*11704|0)+8236>>2]=3;c[2589668+(g*11704|0)+11700>>2]=kp(a,e)|0}c[516010]=d;c[516009]=oq()|0;c[516011]=0;c[516012]=65536;Dp();jq();return}function Dp(){var a=0,b=0,d=0,e=0;a=c[516013]|0;b=c[516012]|0;if((a|0)==(b|0)){if(a|0)return;c[647416]=0;Bp(0);return}if(!(c[516010]|0)){c[516013]=b;if(b|0)return;c[647416]=0;Bp(0);return}b=oq()|0;a=b-(c[516009]|0)|0;b=c[516010]|0;if((b|0)>(a|0)){d=B(c[516011]|0,b-a|0)|0;e=((B(c[516012]|0,a)|0)+d|0)/(b|0)|0;b=(e|0)<65536?e:65536;c[516013]=(b|0)>0?b:0;return}b=c[516012]|0;c[516013]=b;if(b|0)return;c[647416]=0;Bp(0);return}function Ep(a){a=a|0;return c[a+16>>2]|0}function Fp(a){a=a|0;return}function Gp(a,b){a=a|0;b=b|0;if(!a)return;c[a+8>>2]=b;return}function Hp(a){a=a|0;if(!0)return;c[515432]=a;return}function Ip(a,b){a=a|0;b=b|0;c[516011]=c[516013];c[516012]=0;c[516009]=oq()|0;c[516010]=b;Dp();return}function Jp(a){a=a|0;c[515433]=a;return}function Kp(){var a=0;if((xp(0)|0)!=-1){a=1;return a|0}if(0==0|(c[516015]|0)==0){a=0;return a|0}if(!(c[516013]|c[516012])){a=0;return a|0}a=(c[647416]|0)!=0&1;return a|0}function Lp(){var a=0;c[650303]=0;c[649469]=0;c[649475]=0;a=2597888;c[a>>2]=0;c[a+4>>2]=0;c[653229]=0;c[652395]=0;c[652401]=0;a=2609592;c[a>>2]=0;c[a+4>>2]=0;c[656155]=0;c[655321]=0;c[655327]=0;a=2621296;c[a>>2]=0;c[a+4>>2]=0;c[659081]=0;c[658247]=0;c[658253]=0;a=2633e3;c[a>>2]=0;c[a+4>>2]=0;c[662007]=0;c[661173]=0;c[661179]=0;a=2644704;c[a>>2]=0;c[a+4>>2]=0;c[664933]=0;c[664099]=0;c[664105]=0;a=2656408;c[a>>2]=0;c[a+4>>2]=0;c[667859]=0;c[667025]=0;c[667031]=0;a=2668112;c[a>>2]=0;c[a+4>>2]=0;c[670785]=0;c[669951]=0;c[669957]=0;a=2679816;c[a>>2]=0;c[a+4>>2]=0;c[673711]=0;c[672877]=0;c[672883]=0;a=2691520;c[a>>2]=0;c[a+4>>2]=0;c[676637]=0;c[675803]=0;c[675809]=0;a=2703224;c[a>>2]=0;c[a+4>>2]=0;c[679563]=0;c[678729]=0;c[678735]=0;a=2714928;c[a>>2]=0;c[a+4>>2]=0;c[682489]=0;c[681655]=0;c[681661]=0;a=2726632;c[a>>2]=0;c[a+4>>2]=0;c[685415]=0;c[684581]=0;c[684587]=0;a=2738336;c[a>>2]=0;c[a+4>>2]=0;c[688341]=0;c[687507]=0;c[687513]=0;a=2750040;c[a>>2]=0;c[a+4>>2]=0;c[691267]=0;c[690433]=0;c[690439]=0;a=2761744;c[a>>2]=0;c[a+4>>2]=0;c[694193]=0;c[693359]=0;c[693365]=0;a=2773448;c[a>>2]=0;c[a+4>>2]=0;return}function Mp(){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;if((c[649473]|0)==0|(c[650303]|0)==0)a=0;else{b=c[649474]|0;a=(b|0)>0?b:0}if((c[652399]|0)==0|(c[653229]|0)==0)d=a;else{b=c[652400]|0;d=(a|0)>(b|0)?a:b}if((c[655325]|0)==0|(c[656155]|0)==0)e=d;else{b=c[655326]|0;e=(d|0)>(b|0)?d:b}if((c[658251]|0)==0|(c[659081]|0)==0)f=e;else{b=c[658252]|0;f=(e|0)>(b|0)?e:b}if((c[661177]|0)==0|(c[662007]|0)==0)g=f;else{b=c[661178]|0;g=(f|0)>(b|0)?f:b}if((c[664103]|0)==0|(c[664933]|0)==0)h=g;else{b=c[664104]|0;h=(g|0)>(b|0)?g:b}if((c[667029]|0)==0|(c[667859]|0)==0)i=h;else{b=c[667030]|0;i=(h|0)>(b|0)?h:b}if((c[669955]|0)==0|(c[670785]|0)==0)j=i;else{b=c[669956]|0;j=(i|0)>(b|0)?i:b}if((c[672881]|0)==0|(c[673711]|0)==0)k=j;else{b=c[672882]|0;k=(j|0)>(b|0)?j:b}if((c[675807]|0)==0|(c[676637]|0)==0)l=k;else{b=c[675808]|0;l=(k|0)>(b|0)?k:b}if((c[678733]|0)==0|(c[679563]|0)==0)m=l;else{b=c[678734]|0;m=(l|0)>(b|0)?l:b}if((c[681659]|0)==0|(c[682489]|0)==0)n=m;else{b=c[681660]|0;n=(m|0)>(b|0)?m:b}if((c[684585]|0)==0|(c[685415]|0)==0)o=n;else{b=c[684586]|0;o=(n|0)>(b|0)?n:b}if((c[687511]|0)==0|(c[688341]|0)==0)p=o;else{b=c[687512]|0;p=(o|0)>(b|0)?o:b}if((c[690437]|0)==0|(c[691267]|0)==0)q=p;else{b=c[690438]|0;q=(p|0)>(b|0)?p:b}if((c[693363]|0)==0|(c[694193]|0)==0){r=q;return r|0}b=c[693364]|0;r=(q|0)>(b|0)?q:b;return r|0}function Np(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=Ga;Ga=Ga+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;Ir(1465008,59425,j)|0;bm(1465008);if((a|0)==0|(b|0)==0){c[i>>2]=0;c[i+4>>2]=0;Ir(1465008,59454,i)|0;bm(1465008);k=0;l=0}else{k=a;l=b}if((c[515411]|0)==1){b=c[515429]|0;a=c[515430]|0;if((b|0)<32|(a|0)<32){c[515429]=640;c[515430]=540;m=640;n=540}else{m=b;n=a}c[h>>2]=m;c[h+4>>2]=n;Ir(1465008,59492,h)|0;bm(1465008);o=m;p=n}else{c[515429]=k;c[515430]=l;o=k;p=l}if(!(e&256)){if(e&4|0)c[8626]=0;if(e&8|0)c[8626]=1}else if(c[515431]|0)c[8626]=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[694252]|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;rm(l)|0;c[694252]=0;q=20}while(0);if((q|0)==20)c[694252]=qm(o,k,d)|0;if((c[515468]|c[515469]|0)==0?(q=mq(p,m,o,k,d,e)|0,q|0):0){r=q;Ga=f;return r|0}c[694235]=p;c[694236]=m;c[694237]=d;c[694242]=0;c[694244]=0;c[694243]=p;c[694245]=m;c[g>>2]=0;c[g+4>>2]=0;Ir(1465008,59513,g)|0;bm(1465008);bm(59535);r=0;Ga=f;return r|0}function Op(a){a=a|0;var b=0;b=c[694248]|0;if((b|0)==(a|0))return;ju(b|0,a|0,768)|0;return}function Pp(){var b=0,d=0,e=0;if(c[694250]|0){b=0;return b|0}c[694250]=1;c[694248]=im()|0;c[694249]=im()|0;d=0;do{e=d&255;a[(c[694248]|0)+(d*3|0)>>0]=e;a[(c[694248]|0)+(d*3|0)+1>>0]=e;a[(c[694248]|0)+(d*3|0)+2>>0]=e;d=d+1|0}while((d|0)!=256);if(c[515468]|0){b=0;return b|0}b=kq()|0;return b|0}function Qp(){var a=0,b=0;if(!(c[694250]|0)){a=0;return a|0}c[694250]=0;b=c[694252]|0;if(b|0)rm(b)|0;b=c[515990]|0;if(b|0)rm(b)|0;c[515990]=0;c[694252]=0;jm(c[694248]|0);jm(c[694249]|0);if(c[515468]|0){a=0;return a|0}a=lq()|0;return a|0}function Rp(){return (c[8626]|0)==0|0}function Sp(){var a=0;if(c[515469]|c[515468]|0)return;c[8626]=(c[8626]|0)==0&1;a=c[694252]|0;mq(c[515429]|0,c[515430]|0,c[a>>2]|0,c[a+4>>2]|0,c[694237]|0,0)|0;return}function Tp(){c[694251]=oq()|0;return}function Up(){var a=0,b=0;a=oq()|0;b=a-(c[694251]|0)|0;c[694251]=oq()|0;a=(b|0)<1e3?b:1e3;c[8627]=(1e3/(((a|0)>1?a:1)>>>0)|0)<<16;return}function Vp(){var a=0;a=c[694252]|0;if(!a)return;ao(a,2776940,0,0,0,0,c[694235]|0,c[694236]|0);return}function Wp(){return c[8627]>>16|0}function Xp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;Zl(e,b)|0;g=e+548|0;if((a[d>>0]|0)==42){Zl(g,d+1|0)|0;h=ss(g)|0}else{a[g>>0]=0;h=0}c[e+804>>2]=h;c[e+812>>2]=Fs(b)|0;c[e+808>>2]=f;return Yp(e)|0}function Yp(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=Ga;Ga=Ga+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;Ga=b;return i|0}j=Is(h)|0;h=a+808|0;if(!j){i=1;Ga=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;Zl(k,j)|0;c[d>>2]=a;c[d+4>>2]=j;Ir(f,59557,d)|0;To(e,0,1);Gs(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=ss(j)|0;if((u|0)>=(c[r>>2]|0)?c[h>>2]&t|0:0){i=0;v=7;break}s=Is(c[g>>2]|0)|0;if(!s){i=1;v=7;break}}if((v|0)==7){Ga=b;return i|0}return 0}function Zp(a){a=a|0;var b=0;if(!a)return 0;b=c[a+812>>2]|0;if(!b)return 0;Hs(b)|0;return 0}function _p(a){a=a|0;var b=0,c=0;b=ln(a,66616)|0;if(!b){c=0;return c|0}mn(b);c=1;return c|0}function $p(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Ga;Ga=Ga+96|0;e=d+64|0;f=d+88|0;g=d;Da(f|0)|0;if(!b)h=xa(f|0)|0;else h=za(f|0)|0;Ca(g|0,64,59539,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;gt(g,59563,e)|0;Ga=d;return}function aq(a,c){a=a|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;dp(0,1485744,a<<1);if((c|0)<=0)return 1518512;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[1485744+(h<<1)>>1]|0)|0;b[1518512+(a<<1)>>1]=((B(g,b[1485744+(((f|0)<(e|0)?f:e)<<1)>>1]|0)|0)+i|0)/16|0;a=a+1|0}while((a|0)!=(c|0));return 1518512}function bq(){if((O(65535)|0)<0)cq(61215);else{ka(25)|0;ka(26)|0;ka(27)|0;return 0}return 0}function cq(a){a=a|0;var b=0,d=0,e=0;b=Ga;Ga=Ga+16|0;d=b+8|0;e=b;dq();c[e>>2]=a;Kt(62111,e)|0;ct(c[8629]|0)|0;c[d>>2]=a;Ir(1465008,62111,d)|0;bm(1465008);cm()|0;wa(0)}function dq(){var b=0,d=0,e=0;b=Ga;Ga=Ga+16|0;d=b;e=J()|0;if(!(a[e>>0]|0)){Ga=b;return}c[d>>2]=e;Kt(62134,d)|0;ct(c[8629]|0)|0;I();Ga=b;return}function eq(){return 0}function fq(b){b=b|0;var d=0,e=0;a[1551280]=63;a[1551281]=0;if(b>>>0>511)return 1551280;Bs(1551280,c[28192+(b<<2)>>2]|0)|0;if(!(ss(1551280)|0))return 1551280;b=0;do{d=1551280+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<(ss(1551280)|0)>>>0);return 1551280}function gq(a,b){a=a|0;b=b|0;la(28,c[515444]|0)|0;c[515420]=a;c[515421]=b;c[515418]=a;c[515419]=b;Hp(c[515432]|0);Jp(c[515433]|0);return 0}function hq(){return 0}function iq(){P();c[694253]=(c[694253]|0)+1;return}function jq(){c[694253]=(c[694253]|0)+-1;T();return}function kq(){return 0}function lq(){return 0}function mq(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=$n()|0;c[694255]=S(B(g,d)|0,B(g,e)|0,32,0)|0;return 0}function nq(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[694256]|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}rm(h)|0;l=a;m=8}while(0);if((m|0)==8){m=a+4|0;h=qm(c[l>>2]|0,c[m>>2]|0,32)|0;c[694256]=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[694248]|0;h=0;do{c[1551536+(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=1551536+(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[1551536+((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[694255]|0)|0;a=c[694255]|0;if((j|0)>0?(h=r+16|0,r=i<<2,g=a+20|0,ju(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;ju(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 oq(){return M()|0}function pq(){return}function qq(){return}function rq(){return 0}function sq(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 tq(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=Ga;Ga=Ga+64|0;d=b+48|0;e=b;f=0;do{g=1473840+f|0;h=a[g>>0]|0;a[1474864+f>>0]=h;if(h<<24>>24==3)a[g>>0]=1;f=f+1|0}while((f|0)!=512);f=0;do{if(!(a[1473840+f>>0]|0))a[1474352+f>>0]=0;f=f+1|0}while((f|0)!=512);f=K()|0;a[1474064]=f&64;a[1474068]=f&128;a[1474066]=0;a[1474070]=0;a[1474065]=f&1;a[1474069]=f&2;if(R(e|0)|0){f=e+12|0;do{g=c[e>>2]|0;do if((g&-2|0)==768){h=c[f>>2]|0;i=(h|0)==1104?80:h;h=(i|0)==1103?79:i;i=(h|0)==1106?82:h;h=(i|0)==1105?81:i;i=(h|0)==1099?75:h;h=(i|0)==1102?78:i;i=(h|0)==1248?224:h;if((g|0)!=768){if((i|0)>=512)break;a[1473840+i>>0]=0;a[1474864]=0;break}if((((Nm(80)|0)==0?(Nm(79)|0)==0:0)?(Nm(82)|0)==0:0)?(Nm(81)|0)==0:0)j=0;else j=-1;if((i|0)<512){a[1473840+i>>0]=3;a[1474864+i>>0]=0;a[1474352+i>>0]=0}i=c[515992]|0;if((j|0)!=0&(i|0)<32){c[1473712+(i<<2)>>2]=j;c[515992]=i+1}}while(0)}while((R(e|0)|0)!=0)}e=(ka(29)|0)!=0;if(e&(c[515992]|0)<32)do{e=ka(30)|0;j=(e|0)<-1;if(j){c[d>>2]=e;Kt(63959,d)|0}f=c[515992]|0;c[1473712+(f<<2)>>2]=j?-1:e;c[515992]=f+1;f=(ka(29)|0)!=0}while(f&(c[515992]|0)<32);d=ka(31)|0;c[515399]=(c[515399]|0)+d;c[515401]=(c[515401]|0)+d;d=ka(32)|0;c[515400]=(c[515400]|0)+d;c[515402]=(c[515402]|0)+d;uq();if((c[515405]|0)==0?(ka(33)|0)!=0:0){if(c[515992]|0){Ga=b;return 0}}else{c[515992]=0;ku(1473840,0,512)|0;ku(1474864,0,512)|0;ku(1474352,0,512)|0;c[515399]=0;c[515400]=0;c[515401]=0;c[515402]=0}d=0;while(1){if((Nm(d)|0)==3)break;if(d>>>0<511)d=d+1|0;else{k=38;break}}if((k|0)==38){Ga=b;return 0}c[368428]=-1;c[515992]=(c[515992]|0)+1;Ga=b;return 0}function uq(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;a=Ga;Ga=Ga+16|0;b=a+8|0;d=a+4|0;e=a;vq(b,d,e);if(!(c[8628]|0)){f=(c[e>>2]|0)>0;g=c[b>>2]|0;h=c[d>>2]|0}else{c[e>>2]=1;c[d>>2]=1;c[b>>2]=1;c[8628]=0;f=1;g=1;h=1}if((f&(h|g|0)>-1?(g|0)<(c[694235]|0):0)?(h|0)<(c[694236]|0):0)ka(34)|0;if(c[515405]|0){Ga=a;return}if(!(ka(33)|0)){Ga=a;return}ka(35)|0;Ga=a;return}function vq(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=Ga;Ga=Ga+16|0;f=e+12|0;g=e+8|0;h=e+4|0;i=e;if(ka(36)|0){if(a|0)c[a>>2]=ka(37)|0;if(b|0)c[b>>2]=ka(38)|0;if(!d){Ga=e;return}c[d>>2]=ka(39)|0;Ga=e;return}j=(L(f|0,g|0)|0)&255;N(0,h|0,i|0);k=c[h>>2]|0;h=c[i>>2]|0;if((k|0)==0|(h|0)==0){Ga=e;return}i=c[694235]|0;l=c[694236]|0;if(!(+(k|0)/+(h|0)>=+(i|0)/+(l|0))){m=(h-((B(l,k)|0)/(i|0)|0)|0)/2|0;n=(c[g>>2]|0)-m|0;c[g>>2]=n;m=(B(c[694235]|0,c[f>>2]|0)|0)/(k|0)|0;c[f>>2]=m;o=B(c[694235]|0,n)|0;p=k;q=m}else{m=(k-((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){Ga=e;return}c[d>>2]=j<<1&4|j&1|j>>>1&2;Ga=e;return}function wq(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ga;Ga=Ga+16|0;e=d;c[e>>2]=a;Ir(b,65020,e)|0;Ga=d;return}function xq(a,b){a=a|0;b=b|0;Bs(b,a)|0;return}function yq(a,b){a=a|0;b=b|0;Bs(b,a)|0;return}function zq(b){b=b|0;var c=0,d=0;if(!(ka(22)|0)){Ft(65120)|0;return 0}ka(40)|0;c=ss(b)|0;if((c|0)>0){d=0;do{la(41,a[b+d>>0]|0)|0;d=d+1|0}while((d|0)!=(c|0))}ka(42)|0;return 0}function Aq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ga;Ga=Ga+16|0;f=e;if(a|0){c[f>>2]=d;c[f+4>>2]=a;Kt(65325,f)|0}ct(c[8629]|0)|0;f=Jq(a,66796)|0;if(f|0){cn(b,1,d,f)|0;mn(f)}f=c[a+1024>>2]|0;if(!f){Wo(a);Ga=e;return}Oa[f&7](a);Wo(a);Ga=e;return}function Bq(a){a=a|0;var b=0,d=0;b=Ga;Ga=Ga+16|0;d=b;if(a|0){c[d>>2]=a;Kt(65369,d)|0}ct(c[8629]|0)|0;d=c[a+1028>>2]|0;if(!d){Wo(a);Ga=b;return}Oa[d&7](a);Wo(a);Ga=b;return}function Cq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=Ga;Ga=Ga+16|0;g=f;h=So(1032)|0;Bs(h,b)|0;c[h+1024>>2]=d;c[h+1028>>2]=e;c[g>>2]=a;c[g+4>>2]=h;Kt(65395,g)|0;ct(c[8629]|0)|0;pa(a|0,h|0,2,4);Ga=f;return 0}function Dq(){var a=0;if(c[515405]|0){a=0;return a|0}a=ka(33)|0;return a|0}function Eq(a){a=a|0;var b=0;b=c[694257]|0;if(b|0)Wo(b);b=So((ss(a)|0)+1|0)|0;c[694257]=b;Bs(b,a)|0;ka(43)|0;return 0}function Fq(b){b=b|0;var c=0,d=0,e=0;ka(44)|0;c=ss(b)|0;if((c|0)<=0){d=ka(46)|0;return d|0}e=0;do{la(45,a[b+e>>0]|0)|0;e=e+1|0}while((e|0)!=(c|0));d=ka(46)|0;return d|0}function Gq(){if(c[694254]|0)return;c[694254]=1;ka(47)|0;return}function Hq(){var b=0,d=0,e=0;if(!(ka(48)|0)){b=c[694257]|0;if(!b){d=Uo(2)|0;a[d>>0]=0;e=d;return e|0}else{d=So((ss(b)|0)+1|0)|0;Bs(d,c[694257]|0)|0;e=d;return e|0}}a[1552560]=0;if(!(ka(49)|0)){ka(50)|0;a[1552560]=0;d=0;do{b=ka(51)|0;a[1552560+d>>0]=b;d=d+1|0;a[1552560+d>>0]=0}while((b|0)!=0&d>>>0<65536)}else a[1552560]=0;d=Uo((ss(1552560)|0)+1|0)|0;Bs(d,1552560)|0;e=d;return e|0}function Iq(a){a=a|0;return 0}function Jq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=Ga;Ga=Ga+1296|0;f=e+1280|0;g=e+1024|0;h=e+512|0;i=e;sn(b,0,h,i);c[f>>2]=h;c[f+4>>2]=i;Ir(g,66470,f)|0;f=c[694258]|0;a:do if((f|0)>0){i=0;while(1){h=c[1618112+(i<<2)>>2]|0;i=i+1|0;if(!(is(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;Ga=e;return k|0}c[j+20>>2]=0;k=j;Ga=e;return k|0}case 119:{if(!j){d=Xo(0)|0;c[d+4>>2]=1;Zl(d+24|0,g)|0;g=c[694258]|0;c[1618112+(g<<2)>>2]=d;c[694258]=g+1;k=d;Ga=e;return k|0}else{c[j+16>>2]=0;c[j+20>>2]=0;k=j;Ga=e;return k|0}break}default:{k=0;Ga=e;return k|0}}return 0}function Kq(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[694258]|0;if((b|0)<=0){d=0;return d|0}e=0;while(1){if((c[1618112+(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 Lq(){var a=0,b=0,d=0;a=Uo(46488)|0;ku(a|0,0,46488)|0;c[a>>2]=So(65538)|0;c[a+4>>2]=qm(128,128,8)|0;c[a+8>>2]=qm(128,64,8)|0;b=a+12|0;d=0;do{c[b+(d*656|0)+4>>2]=(d|0)==0?1:16;d=d+1|0}while((d|0)!=64);d=a+41996|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+44328>>2]=_q()|0;c[a+44332>>2]=_q()|0;c[a+44336>>2]=_q()|0;c[a+44340>>2]=_q()|0;ku(a+44344|0,-1,2144)|0;return a|0}function Mq(a){a=a|0;if(!a)return;rm(c[a+4>>2]|0)|0;rm(c[a+8>>2]|0)|0;Bp(a);vp(a+12|0);vp(a+668|0);vp(a+1324|0);vp(a+1980|0);vp(a+2636|0);vp(a+3292|0);vp(a+3948|0);vp(a+4604|0);vp(a+5260|0);vp(a+5916|0);vp(a+6572|0);vp(a+7228|0);vp(a+7884|0);vp(a+8540|0);vp(a+9196|0);vp(a+9852|0);vp(a+10508|0);vp(a+11164|0);vp(a+11820|0);vp(a+12476|0);vp(a+13132|0);vp(a+13788|0);vp(a+14444|0);vp(a+15100|0);vp(a+15756|0);vp(a+16412|0);vp(a+17068|0);vp(a+17724|0);vp(a+18380|0);vp(a+19036|0);vp(a+19692|0);vp(a+20348|0);vp(a+21004|0);vp(a+21660|0);vp(a+22316|0);vp(a+22972|0);vp(a+23628|0);vp(a+24284|0);vp(a+24940|0);vp(a+25596|0);vp(a+26252|0);vp(a+26908|0);vp(a+27564|0);vp(a+28220|0);vp(a+28876|0);vp(a+29532|0);vp(a+30188|0);vp(a+30844|0);vp(a+31500|0);vp(a+32156|0);vp(a+32812|0);vp(a+33468|0);vp(a+34124|0);vp(a+34780|0);vp(a+35436|0);vp(a+36092|0);vp(a+36748|0);vp(a+37404|0);vp(a+38060|0);vp(a+38716|0);vp(a+39372|0);vp(a+40028|0);vp(a+40684|0);vp(a+41340|0);Wo(c[a>>2]|0);$q(c[a+44328>>2]|0);$q(c[a+44332>>2]|0);$q(c[a+44336>>2]|0);$q(c[a+44340>>2]|0);Wo(a);if((c[732713]|0)!=(a|0))return;c[732713]=0;return}function Nq(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;d=Ga;Ga=Ga+80|0;e=d+48|0;f=d+40|0;g=d+24|0;h=d+8|0;i=d;j=d+64|0;c[730289]=0;k=Uo(196609)|0;a[k>>0]=0;l=nn(k,196608,b)|0;a:while(1){switch(a[l>>0]|0){case 0:{break a;break}case 112:case 10:{m=4;break a;break}default:{}}l=l+1|0}if((m|0)==4?(Gr(l,66475,16)|0)==0:0){nn(k,196608,b)|0;c[j>>2]=0;c[i>>2]=j;gt(k,66492,i)|0;if((c[j>>2]|0)>27){Wo(k);c[730289]=1;n=0;Ga=d;return n|0}i=Lq()|0;c[i+44320>>2]=c[j>>2];l=0;do{ku(i+12+(l*656|0)|0,0,656)|0;c[i+12+(l*656|0)+4>>2]=(l|0)==0?1:16;l=l+1|0}while((l|0)!=64);l=i+4|0;lm(c[l>>2]|0);o=i+8|0;lm(c[o>>2]|0);ku(i+43292|0,0,1024)|0;a[c[i>>2]>>0]=0;if(!(jn(b)|0)){p=k+3|0;q=i+44316|0;r=0;s=0;t=0;u=0;v=0;w=0;x=0;while(1){ku(k|0,0,196609)|0;nn(k,196608,b)|0;if((jn(b)|0)!=0?(a[k>>0]|0)==0:0){y=-1;z=s;A=t;B=u;C=v;D=w;E=x}else m=14;do if((m|0)==14){m=0;if(Gr(k,66503,7)|0)if(Gr(k,66511,7)|0)if(Gr(k,66519,7)|0)if(Gr(k,66527,7)|0)if(Gr(k,66535,7)|0)if(Gr(k,66543,9)|0)if(Gr(k,66553,9)|0)if(!(Gr(k,66563,15)|0)){y=7;z=s;A=t;B=u;C=v;D=w;E=x}else{if((r|0)==1){F=c[i>>2]|0;G=ss(F)|0;if(((ss(k)|0)+G|0)>>>0>=65536){y=1;z=s;A=t;B=u;C=v;D=w;E=x;break}Uq(k,F+G|0)|0;if(!(jn(b)|0)){G=c[i>>2]|0;F=G+(ss(G)|0)|0;a[F>>0]=10;a[F+1>>0]=0}a[(c[i>>2]|0)+65536>>0]=0;y=1;z=s;A=t;B=u;C=v;D=w;E=x;break}if((x|0)<128&(r|0)==2){F=0;do{G=a[k+F>>0]|0;H=G+-48|0;a[(c[(c[(c[l>>2]|0)+16>>2]|0)+(x<<2)>>2]|0)+F>>0]=H>>>0<10?H:(G+-97|0)>>>0<6?G+169|0:0;F=F+1|0}while((F|0)!=128);I=x+1|0}else I=x;if((s|0)<2&(r|0)==10){F=s<<7;G=(c[j>>2]|0)>2;H=0;do{if(G){J=H<<1;K=a[k+J>>0]|0;L=K+-48|0;M=a[k+(J|1)>>0]|0;J=M+-48|0;N=((L>>>0<10?L:(K+-97|0)>>>0<6?K+268435369|0:0)<<4)+(J>>>0<10?J:(M+-97|0)>>>0<6?M+-87|0:0)|0}else{M=a[k+H>>0]|0;J=M+-48|0;N=J>>>0<10?J:(M+-97|0)>>>0<6?M+-87|0:0}c[i+43292+(H+F<<2)>>2]=N;H=H+1|0}while((H|0)!=128);O=s+1|0}else O=s;if((v|0)<64&(r|0)==3){H=0;do{F=H<<1;G=a[k+F>>0]|0;M=G+-48|0;J=a[k+(F|1)>>0]|0;F=J+-48|0;a[(c[(c[(c[o>>2]|0)+16>>2]|0)+(v<<2)>>2]|0)+H>>0]=((M>>>0<10?M:(G+-97|0)>>>0<6?G+9|0:0)<<4)+(F>>>0<10?F:(J+-97|0)>>>0<6?J+169|0:0);H=H+1|0}while((H|0)!=128);P=v+1|0}else P=v;if((u|0)<64&(r|0)==4){c[h>>2]=i+12+(u*656|0);c[h+4>>2]=i+12+(u*656|0)+4;c[h+8>>2]=i+12+(u*656|0)+8;c[h+12>>2]=i+12+(u*656|0)+12;gt(k,66579,h)|0;H=0;do{J=i+12+(u*656|0)+16+(H*20|0)|0;F=i+12+(u*656|0)+16+(H*20|0)+4|0;G=i+12+(u*656|0)+16+(H*20|0)+8|0;M=i+12+(u*656|0)+16+(H*20|0)+12|0;c[g>>2]=J;c[g+4>>2]=F;c[g+8>>2]=G;c[g+12>>2]=M;gt(k+((H*5|0)+8)|0,66596,g)|0;K=c[M>>2]|0;if(K&8|0)c[i+12+(u*656|0)+16+(H*20|0)+16>>2]=128;L=c[F>>2]|0;if(L&8|0)c[i+12+(u*656|0)+16+(H*20|0)+16>>2]=128;c[M>>2]=K&7;c[F>>2]=L&7;c[G>>2]=c[G>>2]&7;c[J>>2]=c[J>>2]&63;H=H+1|0}while((H|0)!=32);Q=u+1|0}else Q=u;if((t|0)<64&(r|0)==5){if((c[j>>2]|0)>2){c[f>>2]=i+43020+(t<<2);gt(k,66610,f)|0;R=p}else R=k;H=i+41996+(t<<4)|0;J=i+41996+(t<<4)+4|0;G=i+41996+(t<<4)+8|0;L=i+41996+(t<<4)+12|0;c[e>>2]=H;c[e+4>>2]=J;c[e+8>>2]=G;c[e+12>>2]=L;gt(R,66579,e)|0;do if((c[j>>2]|0)<4){if(!(c[H>>2]|0))c[H>>2]=65;if(!(c[J>>2]|0))c[J>>2]=65;if(!(c[G>>2]|0))c[G>>2]=65;if(c[L>>2]|0)break;c[L>>2]=65}while(0);y=5;z=O;A=t+1|0;B=Q;C=P;D=w;E=I;break}if((w|0)<128&(r|0)==6){if(!(c[q>>2]|0))c[q>>2]=qm(128,128,8)|0;L=0;do{G=a[k+L>>0]|0;J=G+-48|0;do if(J>>>0>=10)if((G+-97|0)>>>0<22){S=G+-87|0;break}else{S=(G+-65|0)>>>0<22?G+-55|0:0;break}else S=J;while(0);a[(c[(c[(c[q>>2]|0)+16>>2]|0)+(w<<2)>>2]|0)+L>>0]=(S|0)>15?S+112|0:S;L=L+1|0}while((L|0)!=128);T=w+1|0}else T=w;if((r|0)!=7){y=r;z=O;A=t;B=Q;C=P;D=T;E=I;break}L=0;do{J=L<<1;G=a[k+J>>0]|0;H=G+-48|0;F=a[k+(J|1)>>0]|0;J=F+-48|0;a[i+44344+L>>0]=((H>>>0<10?H:(G+-97|0)>>>0<6?G+9|0:0)<<4)+(J>>>0<10?J:(F+-97|0)>>>0<6?F+169|0:0);L=L+1|0}while((L|0)!=2144);y=0;z=O;A=t;B=Q;C=P;D=T;E=I}else{y=6;z=s;A=t;B=u;C=v;D=w;E=x}else{y=5;z=s;A=t;B=u;C=v;D=w;E=x}else{y=4;z=s;A=t;B=u;C=v;D=w;E=x}else{y=3;z=s;A=t;B=u;C=v;D=w;E=x}else{y=10;z=s;A=t;B=u;C=v;D=w;E=x}else{y=2;z=s;A=t;B=u;C=v;D=w;E=x}else{y=1;z=s;A=t;B=u;C=v;D=w;E=x}}while(0);if((y|0)!=-1&(jn(b)|0)==0){r=y;s=z;t=A;u=B;v=C;w=D;x=E}else break}}E=c[i>>2]|0;if(a[E>>0]|0)a[E+((ss(E)|0)+-1)>>0]=0;Wo(k);n=i;Ga=d;return n|0}Wo(k);n=0;Ga=d;return n|0}function Oq(a){a=a|0;var b=0,c=0;b=ln(a,66616)|0;if(!b){c=0;return c|0}a=Nq(b)|0;mn(b);c=a;return c|0}function Pq(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;f=Ga;Ga=Ga+256|0;g=f;ku(g|0,0,256)|0;xn(e,66618,0)|0;xn(e,66661,27)|0;xn(e,66673,0)|0;h=Uo(196614)|0;Zq(c[b>>2]|0,h)|0;cn(h,1,ss(h)|0,e)|0;Wo(h);xn(e,66682,0)|0;h=b+4|0;i=c[(c[h>>2]|0)+16>>2]|0;j=-1;k=0;while(1){l=c[i+(k<<2)>>2]|0;m=0;n=j;do{n=(a[l+m>>0]|0)==0?n:k;m=m+1|0}while((m|0)!=128);k=k+1|0;if((k|0)==128)break;else j=n}if((n|0)>-1){xn(e,66684,0)|0;j=0;while(1){k=0;do{i=a[(c[(c[(c[h>>2]|0)+16>>2]|0)+(j<<2)>>2]|0)+k>>0]|0;yn(e,66693,((i&255)<15?i:15)&255,0,0,0)|0;k=k+1|0}while((k|0)!=128);xn(e,66682,0)|0;if((j|0)==(n|0))break;else j=j+1|0}}j=b+44316|0;n=c[j>>2]|0;if((n|0?(c[n>>2]|0)==128:0)?(c[n+4>>2]|0)==128:0){h=c[n+12>>2]|0;n=0;k=0;do{n=(a[h+k>>0]|0)==0?n:1;k=k+1|0}while((k|0)!=16384);if(n|0){xn(e,66696,0)|0;n=0;do{k=(c[j>>2]|0)+16|0;h=0;do{i=a[(c[(c[k>>2]|0)+(n<<2)>>2]|0)+h>>0]|0;m=i&15;l=i<<24>>24<0?m|16:m;a[g+h>>0]=(l>>>0<10?48:87)+l;h=h+1|0}while((h|0)!=128);cn(g,1,128,e)|0;xn(e,66682,0)|0;n=n+1|0}while((n|0)!=128);xn(e,66682,0)|0}}n=0;g=0;do{n=(c[b+43292+(g<<2)>>2]|0)==0?n:1;g=g+1|0}while((g|0)!=256);if(n|0){xn(e,66707,0)|0;n=0;do{yn(e,66716,c[b+43292+(n<<2)>>2]&255,0,0,0)|0;n=n+1|0}while((n|0)!=128);xn(e,66682,0)|0;n=0;do{yn(e,66716,c[b+43292+(n+128<<2)>>2]&255,0,0,0)|0;n=n+1|0}while((n|0)!=128);xn(e,66682,0)|0}n=b+8|0;g=c[(c[n>>2]|0)+16>>2]|0;j=-1;h=0;while(1){k=c[g+(h<<2)>>2]|0;o=j;l=0;do{o=(a[k+l>>0]|0)==0?o:h;l=l+1|0}while((l|0)!=128);h=h+1|0;if((h|0)==32)break;else j=o}if((o|0)>-1){xn(e,66721,0)|0;j=0;while(1){h=0;do{yn(e,66716,d[(c[(c[(c[n>>2]|0)+16>>2]|0)+(j<<2)>>2]|0)+h>>0]|0,0,0,0)|0;h=h+1|0}while((h|0)!=128);xn(e,66682,0)|0;if((j|0)==(o|0))break;else j=j+1|0}}j=0;o=-1;while(1){n=(c[b+12+(j*656|0)>>2]|0)==0?o:j;h=c[b+12+(j*656|0)+4>>2]|0;p=(c[b+12+(j*656|0)+12>>2]|c[b+12+(j*656|0)+8>>2]|0)==0?((j|0)==0?((h|0)==1?n:j):(h|0)==16?n:j):j;n=0;do{p=(c[b+12+(j*656|0)+16+(n*20|0)+4>>2]|c[b+12+(j*656|0)+16+(n*20|0)>>2]|c[b+12+(j*656|0)+16+(n*20|0)+16>>2]|c[b+12+(j*656|0)+16+(n*20|0)+8>>2]|c[b+12+(j*656|0)+16+(n*20|0)+12>>2]|0)==0?p:j;n=n+1|0}while((n|0)!=32);j=j+1|0;if((j|0)==64)break;else o=p}if((p|0)>-1){xn(e,66730,0)|0;o=0;while(1){j=c[b+12+(o*656|0)>>2]|0;n=(j|0)<255?j:255;j=c[b+12+(o*656|0)+4>>2]|0;h=(j|0)<255?j:255;j=c[b+12+(o*656|0)+8>>2]|0;g=(j|0)<255?j:255;j=c[b+12+(o*656|0)+12>>2]|0;l=(j|0)<255?j:255;yn(e,66579,(n|0)>0?n:0,(h|0)>0?h:0,(g|0)>0?g:0,(l|0)>0?l:0)|0;l=0;do{g=c[b+12+(o*656|0)+16+(l*20|0)+4>>2]|0;h=(g|0)<7?g:7;g=c[b+12+(o*656|0)+16+(l*20|0)+8>>2]|0;n=(g|0)<7?g:7;g=c[b+12+(o*656|0)+16+(l*20|0)+12>>2]|0;j=(g|0)<7?g:7;yn(e,66739,c[b+12+(o*656|0)+16+(l*20|0)>>2]|0,((h|0)>0?h:0)+((c[b+12+(o*656|0)+16+(l*20|0)+16>>2]|0)==0?0:8)|0,(n|0)>0?n:0,(j|0)>0?j:0)|0;l=l+1|0}while((l|0)!=32);xn(e,66682,0)|0;if((o|0)==(p|0))break;else o=o+1|0}}o=-1;p=0;do{o=(c[b+41996+(p<<4)+8>>2]|0)==67&((c[b+41996+(p<<4)+4>>2]|0)==66&((c[b+43020+(p<<2)>>2]|0)==0?(c[b+41996+(p<<4)>>2]|0)==65:0))?o:p;p=p+1|0}while((p|0)!=64);if((o|0)>-1){xn(e,66750,0)|0;p=0;while(1){yn(e,66610,c[b+43020+(p<<2)>>2]|0,0,0,0)|0;yn(e,66761,c[b+41996+(p<<4)>>2]|0,c[b+41996+(p<<4)+4>>2]|0,c[b+41996+(p<<4)+8>>2]|0,c[b+41996+(p<<4)+12>>2]|0)|0;if((p|0)==(o|0))break;else p=p+1|0}xn(e,66682,0)|0}p=0;o=0;do{o=(a[b+44344+p>>0]|0)==-1?o:1;p=p+1|0}while((p|0)!=2144);if(!o){Ga=f;return 0}xn(e,66779,0)|0;o=0;do{yn(e,66716,d[b+44344+o>>0]|0,0,0,0)|0;o=o+1|0}while((o|0)!=2144);xn(e,66682,0)|0;Ga=f;return 0}function Qq(a,b){a=a|0;b=b|0;var c=0,d=0;c=ln(b,66796)|0;if(!c){d=1;return d|0}Pq(a,c)|0;mn(c);d=0;return d|0}function Rq(a,b){a=a|0;b=b|0;var d=0,e=0;d=So(370)|0;if(!a){e=Xo(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=_q()|0;c[d+364>>2]=b;c[b+16>>2]=24;Sq(d);return d|0}function Sq(a){a=a|0;var b=0,d=0;b=Xo(2048)|0;d=c[a>>2]|0;cn(d,1,(ss(d)|0)+1|0,b)|0;bn(c[a+336>>2]|0,b);bn(c[a+344>>2]|0,b);bn(c[a+348>>2]|0,b);bn(c[a+320>>2]|0,b);bn(c[a+324>>2]|0,b);bn(c[a+352>>2]|0,b);d=c[a+364>>2]|0;br(b,d,(ss(c[a>>2]|0)|0)+1|0)|0;return}function Tq(a){a=a|0;var b=0;if(!a)return;b=c[a+4>>2]|0;if(b|0)Zo(b);$q(c[a+364>>2]|0);Wo(a);return}function Uq(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;e=ss(b)|0;if(!d)f=Uo(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;i=(h<<24>>24)+256|0;j=(i|0)%256|0;do if((j|0)>127){k=b+(g+1)|0;l=b+(g+2)|0;m=b+(g+3)|0;n=b+(g+4)|0;o=b+(g+5)|0;p=b+(g+6)|0;q=0;while(1){r=a[30240+(q*7|0)>>0]|0;if(r<<24>>24!=0&(j|0)==(r&255|0)){s=a[30240+(q*7|0)+1>>0]|0;if(s<<24>>24?(((a[k>>0]|0)+256|0)%256|0|0)==(s&255|0):0){t=a[30240+(q*7|0)+2>>0]|0;if(t<<24>>24?(((a[l>>0]|0)+256|0)%256|0|0)==(t&255|0):0){u=a[30240+(q*7|0)+3>>0]|0;if(u<<24>>24?(((a[m>>0]|0)+256|0)%256|0|0)==(u&255|0):0){v=a[30240+(q*7|0)+4>>0]|0;if(v<<24>>24?(((a[n>>0]|0)+256|0)%256|0|0)==(v&255|0):0){w=a[30240+(q*7|0)+5>>0]|0;if(w<<24>>24?(((a[o>>0]|0)+256|0)%256|0|0)==(w&255|0):0){x=a[30240+(q*7|0)+6>>0]|0;if(x<<24>>24?(((a[p>>0]|0)+256|0)%256|0|0)==(x&255|0):0){y=7;z=11;break}else{A=6;B=x}}else{A=5;B=w}}else{A=4;B=v}}else{A=3;B=u}}else{A=2;B=t}}else{A=1;B=s}}else{A=0;B=r}if(!(B<<24>>24)){y=A;z=11;break}r=q+1|0;if(r>>>0<70)q=r;else break}if((z|0)==11){z=0;if(q>>>0>=26)if(q>>>0<42)C=246;else C=q>>>0<44?212:21;else C=128;a[d>>0]=q+C;p=d+1|0;a[p>>0]=0;D=p;E=g+-1+y|0;break}if((j|0)==227){p=d;o=g;n=0;m=-1;while(1){l=b+(o+1)|0;k=c[30736+(n<<2)>>2]|0;if((((a[l>>0]|0)+256|0)%256|0|0)==(k>>>8&255|0)?(r=o+2|0,s=p+1|0,(((a[b+r>>0]|0)+256|0)%256|0|0)==(k&255|0)):0){a[p>>0]=n+154;a[s>>0]=0;F=s;G=r;H=n;I=b+(o+3)|0}else{F=p;G=o;H=m;I=l}l=c[30944+(n<<2)>>2]|0;if((((a[I>>0]|0)+256|0)%256|0|0)==(l>>>8&255|0)?(r=G+2|0,s=F+1|0,(((a[b+r>>0]|0)+256|0)%256|0|0)==(l&255|0)):0){a[F>>0]=n+204;a[s>>0]=0;J=s;K=r;L=n}else{J=F;K=G;L=H}n=n+1|0;if((n|0)==50)break;else{p=J;o=K;m=L}}if((L|0)<0){m=a[b+K>>0]|0;M=J;N=K;O=(m<<24>>24)+256|0;P=m;z=26}else{D=J;E=K}}else{M=d;N=g;O=i;P=h;z=26}}else{M=d;N=g;O=i;P=h;z=26}while(0);do if((z|0)==26){z=0;if((((O|0)%256|0|0)==226?(((a[b+(N+1)>>0]|0)+256|0)%256|0|0)==151:0)?(h=N+2|0,(((a[b+h>>0]|0)+256|0)%256|0|0)==139):0){a[M>>0]=127;D=M+1|0;E=h;break}if(P<<24>>24==13){D=M;E=N}else{a[M>>0]=P;h=M+1|0;a[h>>0]=0;D=h;E=N}}while(0);g=E+1|0;if((g|0)>=(e|0))break;else d=D}return f|0}function Vq(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=c[b+292>>2]|0;if(!e)return;f=c[b+336>>2]|0;a:do if(!f){g=0;h=0;i=b+308|0;j=b+312|0}else{k=c[b>>2]|0;l=b+308|0;m=b+312|0;n=b+316|0;o=k;p=0;q=0;r=k;while(1){k=a[r>>0]|0;if(!(k<<24>>24)){g=0;h=0;i=l;j=m;break a}do if(!(k<<24>>24<0?1:(((k<<24>>24)+256|0)%256|0|0)>127))if(k<<24>>24==9){s=c[n>>2]|0;t=(s|0)>4?s:4;u=p;v=q-((q|0)%(t|0)|0)+t|0;break}else{w=c[l>>2]|0;x=11;break}else{w=c[l>>2]<<1;x=11}while(0);if((x|0)==11){x=0;if(k<<24>>24==10){u=(c[m>>2]|0)+p|0;v=0}else{u=p;v=w+q|0}}r=r+1|0;if((r-o|0)==(f|0)){g=u;h=v;i=l;j=m;break}else{p=u;q=v}}}while(0);v=(c[j>>2]|0)-(c[e+16>>2]|0)+g|0;j=b+324|0;u=c[j>>2]|0;f=(u|0)<(g|0)?u:g;u=(d|0)==0?((v|0)>(f|0)?v:f):g-d|0;c[j>>2]=(u|0)>0?u:0;u=(c[i>>2]|0)-(c[e+12>>2]|0)+h|0;e=b+320|0;b=c[e>>2]|0;i=(b|0)<(h|0)?b:h;h=(u|0)>(i|0)?u:i;c[e>>2]=(h|0)>0?h:0;return}function Wq(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;f=ss(b)|0;if(!d)g=Uo((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;do if((j|0)!=127){k=j+-128|0;if(k>>>0<26){l=a[30240+(k*7|0)>>0]|0;if(!(l<<24>>24))m=e;else{a[e>>0]=l;m=e+1|0}l=a[30240+(k*7|0)+1>>0]|0;if(!(l<<24>>24))n=m;else{a[m>>0]=l;n=m+1|0}l=a[30240+(k*7|0)+2>>0]|0;if(!(l<<24>>24))o=n;else{a[n>>0]=l;o=n+1|0}l=a[30240+(k*7|0)+3>>0]|0;if(!(l<<24>>24))p=o;else{a[o>>0]=l;p=o+1|0}l=a[30240+(k*7|0)+4>>0]|0;if(!(l<<24>>24))q=p;else{a[p>>0]=l;q=p+1|0}l=a[30240+(k*7|0)+5>>0]|0;if(!(l<<24>>24))r=q;else{a[q>>0]=l;r=q+1|0}l=a[30240+(k*7|0)+6>>0]|0;if(!(l<<24>>24)){s=r;break}a[r>>0]=l;s=r+1|0;break}l=j+-154|0;if(l>>>0<50){a[e>>0]=-29;k=c[30736+(l<<2)>>2]|0;a[e+1>>0]=k>>>8;a[e+2>>0]=k;s=e+3|0;break}k=j+-204|0;if(k>>>0<50){a[e>>0]=-29;l=c[30944+(k<<2)>>2]|0;a[e+1>>0]=l>>>8;a[e+2>>0]=l;s=e+3|0;break}if((j&-16|0)==16){l=j+10|0;k=a[30240+(l*7|0)>>0]|0;if(!(k<<24>>24))t=e;else{a[e>>0]=k;t=e+1|0}k=a[30240+(l*7|0)+1>>0]|0;if(!(k<<24>>24))u=t;else{a[t>>0]=k;u=t+1|0}k=a[30240+(l*7|0)+2>>0]|0;if(!(k<<24>>24))v=u;else{a[u>>0]=k;v=u+1|0}k=a[30240+(l*7|0)+3>>0]|0;if(!(k<<24>>24))w=v;else{a[v>>0]=k;w=v+1|0}k=a[30240+(l*7|0)+4>>0]|0;if(!(k<<24>>24))x=w;else{a[w>>0]=k;x=w+1|0}k=a[30240+(l*7|0)+5>>0]|0;if(!(k<<24>>24))y=x;else{a[x>>0]=k;y=x+1|0}k=a[30240+(l*7|0)+6>>0]|0;if(!(k<<24>>24)){s=y;break}a[y>>0]=k;s=y+1|0;break}if((j|0)>253){k=j+-212|0;l=a[30240+(k*7|0)>>0]|0;if(!(l<<24>>24))z=e;else{a[e>>0]=l;z=e+1|0}l=a[30240+(k*7|0)+1>>0]|0;if(!(l<<24>>24))A=z;else{a[z>>0]=l;A=z+1|0}l=a[30240+(k*7|0)+2>>0]|0;if(!(l<<24>>24))B=A;else{a[A>>0]=l;B=A+1|0}l=a[30240+(k*7|0)+3>>0]|0;if(!(l<<24>>24))C=B;else{a[B>>0]=l;C=B+1|0}l=a[30240+(k*7|0)+4>>0]|0;if(!(l<<24>>24))D=C;else{a[C>>0]=l;D=C+1|0}l=a[30240+(k*7|0)+5>>0]|0;if(!(l<<24>>24))E=D;else{a[D>>0]=l;E=D+1|0}l=a[30240+(k*7|0)+6>>0]|0;if(!(l<<24>>24)){s=E;break}a[E>>0]=l;s=E+1|0;break}if(!(d&(j+-65|0)>>>0<26)){a[e>>0]=i;s=e+1|0;break}l=j+-21|0;k=a[30240+(l*7|0)>>0]|0;if(!(k<<24>>24))F=e;else{a[e>>0]=k;F=e+1|0}k=a[30240+(l*7|0)+1>>0]|0;if(!(k<<24>>24))G=F;else{a[F>>0]=k;G=F+1|0}k=a[30240+(l*7|0)+2>>0]|0;if(!(k<<24>>24))H=G;else{a[G>>0]=k;H=G+1|0}k=a[30240+(l*7|0)+3>>0]|0;if(!(k<<24>>24))I=H;else{a[H>>0]=k;I=H+1|0}k=a[30240+(l*7|0)+4>>0]|0;if(!(k<<24>>24))J=I;else{a[I>>0]=k;J=I+1|0}k=a[30240+(l*7|0)+5>>0]|0;if(!(k<<24>>24))K=J;else{a[J>>0]=k;K=J+1|0}k=a[30240+(l*7|0)+6>>0]|0;if(!(k<<24>>24))s=K;else{a[K>>0]=k;s=K+1|0}}else{a[e>>0]=-30;a[e+1>>0]=-105;a[e+2>>0]=-117;s=e+3|0}while(0);a[s>>0]=0;h=h+1|0;if((h|0)==(f|0))break;else e=s}return g|0}function Xq(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 Yq(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 Zq(a,b){a=a|0;b=b|0;return Wq(a,b,0)|0}function _q(){var a=0;a=So(20)|0;c[a>>2]=Xo(0)|0;c[a+4>>2]=Xo(0)|0;c[a+8>>2]=Xo(0)|0;c[a+12>>2]=Xo(0)|0;return a|0}function $q(a){a=a|0;if(!a)return;Zo(c[a>>2]|0);Zo(c[a+4>>2]|0);Zo(c[a+8>>2]|0);Zo(c[a+12>>2]|0);return}function ar(a){a=a|0;if(!a)return;_o(c[a>>2]|0);_o(c[a+4>>2]|0);_o(c[a+8>>2]|0);_o(c[a+12>>2]|0);return}function br(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){Zo(f);c[e>>2]=a;h=0;return h|0}if((c[a+16>>2]|0)==(g|0)?(Fr(c[a+12>>2]|0,c[f+12>>2]|0,(d|0)==0?g:d)|0)==0:0){Zo(a);h=0;return h|0}d=cr(a,f,c[b+16>>2]|0)|0;f=c[b+4>>2]|0;g=d+16|0;cn(c[d+12>>2]|0,1,c[g>>2]|0,f)|0;bn(c[g>>2]|0,f);Zo(d);_o(c[b>>2]|0);Zo(c[e>>2]|0);c[e>>2]=a;h=1;return h|0}function cr(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=Xo(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);dn(j,g);dn(u,g);dn(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);en(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))en(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];cn((c[F>>2]|0)+((c[i>>2]|0)-f)|0,1,f,g)|0;bn(f,g);c[e>>2]=0;return g|0}function dr(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[31152+((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 er(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 fr(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){Ra[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=Pn(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}To(i,0,f<<1);return}function gr(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;oq()|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;ku(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{er(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{er(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;dr(a,y);fr(a,y,0,c[i>>2]|0);fr(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 hr(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,Ha=0,Ia=0,Ja=0;b=Ga;Ga=Ga+16|0;d=b;do if(a>>>0<245){e=a>>>0<11?16:a+11&-8;f=e>>>3;g=c[749574]|0;h=g>>>f;if(h&3|0){i=(h&1^1)+f|0;j=2998336+(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[749574]=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;Ga=b;return o|0}m=c[749576]|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=2998336+(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[749579]|0;h=m>>>3;l=2998336+(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[749576]=j;c[749579]=k;o=f;Ga=b;return o|0}f=c[749575]|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[2998600+((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=2998600+(l<<2)|0;if((h|0)==(c[u>>2]|0)){c[u>>2]=w;if(!w){c[749575]=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[749579]|0;s=m>>>3;l=2998336+(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[749576]=n;c[749579]=i}o=h+8|0;Ga=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[749575]|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[2998600+(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[2998600+((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[749576]|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=2998600+(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=2998336+(n<<1<<2)|0;s=c[749574]|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=2998600+(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;Ga=b;return o|0}else F=f}else F=f}else F=-1;while(0);W=c[749576]|0;if(W>>>0>=F>>>0){ga=W-F|0;ha=c[749579]|0;if(ga>>>0>15){X=ha+F|0;c[749579]=X;c[749576]=ga;c[X+4>>2]=ga|1;c[ha+W>>2]=ga;c[ha+4>>2]=F|3}else{c[749576]=0;c[749579]=0;c[ha+4>>2]=W|3;ga=ha+W+4|0;c[ga>>2]=c[ga>>2]|1}o=ha+8|0;Ga=b;return o|0}ha=c[749577]|0;if(ha>>>0>F>>>0){ga=ha-F|0;c[749577]=ga;W=c[749580]|0;X=W+F|0;c[749580]=X;c[X+4>>2]=ga|1;c[W+4>>2]=F|3;o=W+8|0;Ga=b;return o|0}if(!(c[749692]|0)){c[749694]=4096;c[749693]=4096;c[749695]=-1;c[749696]=-1;c[749697]=0;c[749685]=0;c[749692]=d&-16^1431655768;ia=4096}else ia=c[749694]|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;Ga=b;return o|0}fa=c[749684]|0;if(fa|0?(ca=c[749682]|0,da=ca+ia|0,da>>>0<=ca>>>0|da>>>0>fa>>>0):0){o=0;Ga=b;return o|0}d:do if(!(c[749685]&4)){fa=c[749580]|0;e:do if(fa){da=2998744;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=lu(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=lu(0)|0;if((fa|0)!=(-1|0)?(f=fa,ca=c[749693]|0,ea=ca+-1|0,Z=((ea&f|0)==0?0:(ea+f&0-ca)-f|0)+ia|0,f=c[749682]|0,ca=Z+f|0,Z>>>0>F>>>0&Z>>>0<2147483647):0){ea=c[749684]|0;if(ea|0?ca>>>0<=f>>>0|ca>>>0>ea>>>0:0){ja=0;break}ea=lu(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[749694]|0;fa=W-na+ea&0-ea;if(fa>>>0>=2147483647){ka=na;la=ma;L=145;break d}if((lu(fa|0)|0)==(-1|0)){lu(Z|0)|0;ja=0;break}else{ka=fa+na|0;la=ma;L=145;break d}}while(0);c[749685]=c[749685]|4;oa=ja;L=143}else{oa=0;L=143}while(0);if(((L|0)==143?ia>>>0<2147483647:0)?(ja=lu(ia|0)|0,ia=lu(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[749682]|0)+ka|0;c[749682]=ja;if(ja>>>0>(c[749683]|0)>>>0)c[749683]=ja;ja=c[749580]|0;f:do if(ja){oa=2998744;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[749577]|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[749580]=na;c[749577]=W;c[na+4>>2]=W|1;c[ja+ma+4>>2]=40;c[749581]=c[749696];break}if(la>>>0<(c[749578]|0)>>>0)c[749578]=la;ma=la+ka|0;W=2998744;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[749577]|0)+d|0;c[749577]=X;c[749580]=oa;c[oa+4>>2]=X|1}else{if((c[749579]|0)==(ia|0)){X=(c[749576]|0)+d|0;c[749576]=X;c[749579]=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[749574]=c[749574]&~(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=2998600+(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[749575]=c[749575]&~(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=2998336+(ga<<1<<2)|0;da=c[749574]|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=2998600+(Aa<<2)|0;c[oa+28>>2]=Aa;ha=oa+16|0;c[ha+4>>2]=0;c[ha>>2]=0;ha=c[749575]|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;Ga=b;return o|0}oa=2998744;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[749580]=ma;c[749577]=X;c[ma+4>>2]=X|1;c[la+ia+4>>2]=40;c[749581]=c[749696];ia=oa+4|0;c[ia>>2]=27;c[d>>2]=c[749686];c[d+4>>2]=c[749687];c[d+8>>2]=c[749688];c[d+12>>2]=c[749689];c[749686]=la;c[749687]=ka;c[749689]=0;c[749688]=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=2998336+(X<<1<<2)|0;W=c[749574]|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)Ha=31;else{ea=(ma+1048320|0)>>>16&8;W=ma<>>16&4;X=W<>>16&2;fa=14-(ma|ea|W)+(X<>>15)|0;Ha=d>>>(fa+7|0)&1|fa<<1}else Ha=0;fa=2998600+(Ha<<2)|0;c[ja+28>>2]=Ha;c[ja+20>>2]=0;c[na>>2]=0;W=c[749575]|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))Ia=X;else{fa=d<<((Ha|0)==31?0:25-(Ha>>>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)){Ia=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=Ia+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]=Ia;c[ja+24>>2]=0}}else{X=c[749578]|0;if((X|0)==0|la>>>0>>0)c[749578]=la;c[749686]=la;c[749687]=ka;c[749689]=0;c[749583]=c[749692];c[749582]=-1;c[749587]=2998336;c[749586]=2998336;c[749589]=2998344;c[749588]=2998344;c[749591]=2998352;c[749590]=2998352;c[749593]=2998360;c[749592]=2998360;c[749595]=2998368;c[749594]=2998368;c[749597]=2998376;c[749596]=2998376;c[749599]=2998384;c[749598]=2998384;c[749601]=2998392;c[749600]=2998392;c[749603]=2998400;c[749602]=2998400;c[749605]=2998408;c[749604]=2998408;c[749607]=2998416;c[749606]=2998416;c[749609]=2998424;c[749608]=2998424;c[749611]=2998432;c[749610]=2998432;c[749613]=2998440;c[749612]=2998440;c[749615]=2998448;c[749614]=2998448;c[749617]=2998456;c[749616]=2998456;c[749619]=2998464;c[749618]=2998464;c[749621]=2998472;c[749620]=2998472;c[749623]=2998480;c[749622]=2998480;c[749625]=2998488;c[749624]=2998488;c[749627]=2998496;c[749626]=2998496;c[749629]=2998504;c[749628]=2998504;c[749631]=2998512;c[749630]=2998512;c[749633]=2998520;c[749632]=2998520;c[749635]=2998528;c[749634]=2998528;c[749637]=2998536;c[749636]=2998536;c[749639]=2998544;c[749638]=2998544;c[749641]=2998552;c[749640]=2998552;c[749643]=2998560;c[749642]=2998560;c[749645]=2998568;c[749644]=2998568;c[749647]=2998576;c[749646]=2998576;c[749649]=2998584;c[749648]=2998584;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[749580]=d;c[749577]=oa;c[d+4>>2]=oa|1;c[la+X+4>>2]=40;c[749581]=c[749696]}while(0);la=c[749577]|0;if(la>>>0>F>>>0){ka=la-F|0;c[749577]=ka;la=c[749580]|0;ja=la+F|0;c[749580]=ja;c[ja+4>>2]=ka|1;c[la+4>>2]=F|3;o=la+8|0;Ga=b;return o|0}}c[(rr()|0)>>2]=12;o=0;Ga=b;return o|0}function ir(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[749578]|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[749579]|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[749576]=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[749574]=c[749574]&~(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=2998600+(j<<2)|0;if((c[k>>2]|0)==(h|0)){c[k>>2]=r;if(!r){c[749575]=c[749575]&~(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[749580]|0)==(f|0)){r=(c[749577]|0)+m|0;c[749577]=r;c[749580]=l;c[l+4>>2]=r|1;if((l|0)!=(c[749579]|0))return;c[749579]=0;c[749576]=0;return}if((c[749579]|0)==(f|0)){r=(c[749576]|0)+m|0;c[749576]=r;c[749579]=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[749574]=c[749574]&~(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=2998600+(t<<2)|0;if((c[h>>2]|0)==(f|0)){c[h>>2]=y;if(!y){c[749575]=c[749575]&~(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[749579]|0)){c[749576]=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=2998336+(m<<1<<2)|0;a=c[749574]|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=2998600+(G<<2)|0;c[l+28>>2]=G;c[l+20>>2]=0;c[l+16>>2]=0;F=c[749575]|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[749582]|0)+-1|0;c[749582]=l;if(l|0)return;l=2998752;while(1){H=c[l>>2]|0;if(!H)break;else l=H+8|0}c[749582]=-1;return}function jr(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=hr(e)|0;if(!d)return d|0;if(!(c[d+-4>>2]&3))return d|0;ku(d|0,0,e|0)|0;return d|0}function kr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if(!a){d=hr(b)|0;return d|0}if(b>>>0>4294967231){c[(rr()|0)>>2]=12;d=0;return d|0}e=lr(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(e|0){d=e+8|0;return d|0}e=hr(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;ju(e|0,a|0,(g>>>0>>0?g:b)|0)|0;ir(a);d=e;return d|0}function lr(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[749694]<<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;mr(j,i);h=a;return h|0}if((c[749580]|0)==(g|0)){i=(c[749577]|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[749580]=k;c[749577]=j;h=a;return h|0}if((c[749579]|0)==(g|0)){j=(c[749576]|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[749576]=o;c[749579]=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[749574]=c[749574]&~(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=2998600+(i<<2)|0;if((c[m>>2]|0)==(g|0)){c[m>>2]=r;if(!r){c[749575]=c[749575]&~(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;mr(r,f);h=a;return h|0}return 0}function mr(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[749579]|0)==(g|0)){i=d+4|0;j=c[i>>2]|0;if((j&3|0)!=3){k=g;l=h;break}c[749576]=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[749574]=c[749574]&~(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=2998600+(i<<2)|0;if((c[j>>2]|0)==(g|0)){c[j>>2]=p;if(!p){c[749575]=c[749575]&~(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[749580]|0)==(d|0)){p=(c[749577]|0)+l|0;c[749577]=p;c[749580]=k;c[k+4>>2]=p|1;if((k|0)!=(c[749579]|0))return;c[749579]=0;c[749576]=0;return}if((c[749579]|0)==(d|0)){p=(c[749576]|0)+l|0;c[749576]=p;c[749579]=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[749574]=c[749574]&~(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=2998600+(r<<2)|0;if((c[h>>2]|0)==(d|0)){c[h>>2]=w;if(!w){c[749575]=c[749575]&~(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[749579]|0)){c[749576]=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=2998336+(l<<1<<2)|0;b=c[749574]|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=2998600+(E<<2)|0;c[k+28>>2]=E;c[k+20>>2]=0;c[k+16>>2]=0;D=c[749575]|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 nr(a){a=a|0;var b=0,d=0;b=Ga;Ga=Ga+16|0;d=b;c[d>>2]=sr(c[a+60>>2]|0)|0;a=qr(ea(6,d|0)|0)|0;Ga=b;return a|0}function or(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=Ga;Ga=Ga+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=qr(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}Ga=f;return m|0}function pr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Ga;Ga=Ga+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((qr(Y(140,f|0)|0)|0)<0){c[g>>2]=-1;h=-1}else h=c[g>>2]|0;Ga=e;return h|0}function qr(a){a=a|0;var b=0;if(a>>>0>4294963200){c[(rr()|0)>>2]=0-a;b=-1}else b=a;return b|0}function rr(){return 2998792}function sr(a){a=a|0;return a|0}function tr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Ga;Ga=Ga+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=ur(b,d,e)|0;Ga=f;return g|0}function ur(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=Ga;Ga=Ga+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=qr(_(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=qr(_(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}Ga=e;return v|0}function vr(a,b){a=+a;b=b|0;return +(+wr(a,b))}function wr(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=eu(j+1023|0,0,52)|0;j=G()|0;c[h>>2]=b;c[h+4>>2]=j;return +(i*+g[h>>3])}function xr(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=du(d|0,e|0,52)|0;G()|0;switch(f&2047){case 0:{if(a!=0.0){i=+xr(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 yr(a,b){a=+a;b=+b;return +(+zr(a,b))}function zr(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 Ar(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=du(d|0,e|0,52)|0;G()|0;k=j&2047;j=du(f|0,i|0,52)|0;G()|0;l=j&2047;j=e&-2147483648;m=eu(f|0,i|0,1)|0;n=G()|0;a:do if(!((m|0)==0&(n|0)==0)?(o=Br(b)|0,p=(G()|0)&2147483647,!((k|0)==2047|(p>>>0>2146435072|(p|0)==2146435072&o>>>0>0))):0){o=eu(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=eu(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=eu(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=eu(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=eu(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=eu(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=eu(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=Xt(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=eu(F|0,H|0,1)|0;J=G()|0;K=r+-1|0;L=Xt(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=eu(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=Wt(Y|0,Z|0,0,-1048576)|0;p=G()|0;o=eu(X|0,0,52)|0;_=p|(G()|0);$=q|o}else{o=du(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 Br(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 Cr(a,b){a=+a;b=+b;return +(+Ar(a,b))}function Dr(a,b){a=+a;b=b|0;return +(+wr(a,b))}function Er(a,b){a=+a;b=b|0;return +(+xr(a,b))}function Fr(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 qo(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,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,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=Ga;Ga=Ga+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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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}}Ga=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));mo(i);no(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=Vo(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=Vo(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=ro(l,e,f,c[g+8>>2]|0)|0;if(!O){so(k,b,l,i,j);c[p>>2]=0;c[q>>2]=0;Wo(c[l>>2]|0);z=60;break}else{c[p>>2]=0;c[q>>2]=0;Wo(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=Vo(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;Wo(c[i>>2]|0);Wo(S);Wo(T);c[j+8>>2]=0;c[j+4>>2]=0;Wo(c[j>>2]|0);c[j>>2]=0;T=j+12|0;c[j+20>>2]=0;c[j+16>>2]=0;Wo(c[T>>2]|0);c[T>>2]=0;c[j+32>>2]=0;c[j+28>>2]=0;Wo(c[j+24>>2]|0);J=R;Ga=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=Vo(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=ro(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=Vo(0,2288)|0;if(g){ku(g|0,0,1144)|0;f=Vo(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=to(j,g,286,15)|0;if(!e){N=to(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(S,U)|0;if(!Q){Ba=r;Ca=O;Da=p;Ea=s;Fa=S}else{Ha=Q;Ia=U;Ja=Q;Ka=Q;z=117}}else{Ha=r;Ia=p;Ja=s;Ka=S;z=117}if((z|0)==117){z=0;c[Ha+(O<<2)>>2]=P;Ba=Ha;Ca=H;Da=Ia;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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(_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=Vo(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=Vo(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=Vo(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=Vo(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=to(l,v,19,7)|0;if(!o){q=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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);so(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=Vo(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;Wo(c[i>>2]|0);c[j+8>>2]=0;c[j+4>>2]=0;Wo(c[j>>2]|0);c[j>>2]=0;i=j+12|0;c[j+20>>2]=0;c[j+16>>2]=0;Wo(c[i>>2]|0);c[i>>2]=0;c[j+32>>2]=0;c[j+28>>2]=0;Wo(c[j+24>>2]|0);c[k+8>>2]=0;c[k+4>>2]=0;Wo(c[k>>2]|0);c[k>>2]=0;j=k+12|0;c[k+20>>2]=0;c[k+16>>2]=0;Wo(c[j>>2]|0);c[j>>2]=0;c[k+32>>2]=0;c[k+28>>2]=0;Wo(c[k+24>>2]|0);c[l+8>>2]=0;c[l+4>>2]=0;Wo(c[l>>2]|0);c[l>>2]=0;k=l+12|0;c[l+20>>2]=0;c[l+16>>2]=0;Wo(c[k>>2]|0);c[k>>2]=0;c[l+32>>2]=0;c[l+28>>2]=0;Wo(c[l+24>>2]|0);Wo(X);Wo(Y);Wo(Z);Wo(_);Wo($);Wo(aa);J=W;Ga=h;return J|0}default:{J=61;Ga=h;return J|0}}return 0}function ro(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=Vo(0,1572864)|0;if(!h){i=9917;return i|0}ku(h|0,0,786432)|0;j=Vo(0,524288)|0;if(!j){k=0;l=9918;m=0}else{ku(j|0,0,262144)|0;k=j;l=0;m=j}j=Vo(0,524288)|0;a:do if(j){ku(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=Vo(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=Vo(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[27584+(ga<<2)>>2]|0)>>>0>oa>>>0){ea=ga+-1|0;ka=c[27584+(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[27840+(ka<<2)>>2]|0)>>>0>pa>>>0){ea=ka+-1|0;fa=c[27840+(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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;Wo(c[l>>2]|0);c[l>>2]=0;j=j+1|0}while((j|0)!=65536);Wo(h);Wo(m);Wo(o);Wo(p);i=n;return i|0}function so(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=Vo(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[27456+(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[27712+(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=Vo(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=Vo(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=Vo(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 to(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=Ga;Ga=Ga+16|0;h=g;c[a+36>>2]=e;i=(d|0)==0;if(i){j=80;Ga=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;Ga=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=Vo(c[m>>2]|0,q)|0;if(!r){j=9905;Ga=g;return j|0}else{c[n>>2]=q;c[m>>2]=r;break}}while(0);c[o>>2]=d;ku(c[m>>2]|0,0,p|0)|0;switch(k|0){case 0:{c[c[m>>2]>>2]=1;j=oo(a)|0;Ga=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=oo(a)|0;Ga=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=uo(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;Wo(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=Vo(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=Vo(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=Vo(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)$=uo(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;Wo(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=Vo(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=oo(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;Wo(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;Wo(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;Wo(c[V>>2]|0);c[V>>2]=0;ja=ja+1|0}while((ja|0)!=(ka|0))}Wo(h);j=ia;Ga=g;return j|0}}return 0}function uo(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=Vo(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=Vo(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;Wo(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 vo(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=Vo(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=Vo(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=Vo(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=Vo(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 wo(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=Ga;Ga=Ga+16|0;j=i;if(g>>>0<2){k=53;Ga=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;Ga=i;return k|0}if(l<<24>>24<0|(m&15|0)!=8){k=25;Ga=i;return k|0}if(n&32|0){k=26;Ga=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=lo(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;Ga=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;Ga=i;return k|0}}k=0;Ga=i;return k|0}function xo(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=Ga;Ga=Ga+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=Vo(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=Vo(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=qo(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;Ga=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=Vo(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;Wo(c[j>>2]|0);c[j>>2]=0;vo(k,u);A=c[k>>2]|0;c[b>>2]=A;B=c[n>>2]|0;c[e>>2]=B;Ga=i;return s|0}function yo(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;if(!(c[516005]|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[1476400+(e<<2)>>2]=(g&1|0)==0?f:f^-306674912;e=e+1|0}while((e|0)!=256);c[516005]=1}if(!b){i=0;return i|0}e=-1;f=0;do{e=c[1476400+((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 zo(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=Vo(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=yo(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 Ao(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=Vo(c[f>>2]|0,(c[b>>2]<<2)+4|0)|0;h=b+8|0;i=Vo(c[h>>2]|0,(c[b>>2]<<2)+4|0)|0;if(!((g|0)!=0&(i|0)!=0)){Wo(g);Wo(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=Vo(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=ss(d)|0;i=Vo(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=Vo(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=ss(e)|0;h=Vo(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 Bo(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;Wo(h);i=c[e>>2]|0;Wo(i);j=c[f>>2]|0;Wo(j);k=c[g>>2]|0;Wo(k);return}l=0;m=d;while(1){d=m+(l<<2)|0;Wo(c[d>>2]|0);c[d>>2]=0;d=(c[e>>2]|0)+(l<<2)|0;Wo(c[d>>2]|0);c[d>>2]=0;d=(c[f>>2]|0)+(l<<2)|0;Wo(c[d>>2]|0);c[d>>2]=0;d=(c[g>>2]|0)+(l<<2)|0;Wo(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}Wo(h);i=c[e>>2]|0;Wo(i);j=c[f>>2]|0;Wo(j);k=c[g>>2]|0;Wo(k);return}function Co(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=Vo(c[h>>2]|0,(c[b>>2]<<2)+4|0)|0;j=b+8|0;k=Vo(c[j>>2]|0,(c[b>>2]<<2)+4|0)|0;l=b+12|0;m=Vo(c[l>>2]|0,(c[b>>2]<<2)+4|0)|0;n=b+16|0;o=Vo(c[n>>2]|0,(c[b>>2]<<2)+4|0)|0;if(!((i|0)!=0&(k|0)!=0&(m|0)!=0&(o|0)!=0)){Wo(i);Wo(k);Wo(m);Wo(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=Vo(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=ss(d)|0;o=Vo(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=Vo(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=ss(e)|0;h=Vo(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=Vo(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=ss(f)|0;j=Vo(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=Vo(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=ss(g)|0;n=Vo(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 Do(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)Wo(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;Wo(c[e>>2]|0);c[e>>2]=0;e=(c[f>>2]|0)+(h<<2)|0;Wo(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}}Wo(g);Wo(c[f>>2]|0);Bo(a+80|0);Wo(c[a+132>>2]|0);Wo(c[a+136>>2]|0);Wo(c[a+140>>2]|0);return}function Eo(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 Fo(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;Do(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)==(yo(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 Go(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,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,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0;i=Ga;Ga=Ga+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;Fo(b,g,h);u=b+208|0;if(c[u>>2]|0){Ga=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=Vo(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)Wo(wa);wa=(ma>>>0)/3|0;c[y>>2]=wa;xa=Uo(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=Uo(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;Ha=Ba;Ia=75}else{ya=ma-Ea|0;wa=Uo(ya+1|0)|0;if(!wa){Fa=0;Ha=Ba;Ia=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;Ha=Ba;Ia=Ao(_,Ba,wa)|0}}else{Fa=0;Ha=0;Ia=9938}}else{Fa=0;Ha=0;Ia=75}while(0);c[u>>2]=Ia;Ja=Fa;Ka=Ha}else{Ja=0;Ka=0}Wo(Ka);Wo(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=Uo(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=wo(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=Vo(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]=Ao(_,ya,Sa)|0;Ma=ya;Na=Sa}else{Ma=0;Na=0}while(0);Wo(Ma);Wo(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=Uo(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=Uo(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=Uo(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=Vo(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=wo(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=Vo(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]=Co($,xa,Ra,Pa,bb)|0;Va=Pa;Wa=Ra;Xa=xa;Ya=bb}else{Va=0;Wa=0;Xa=0;Ya=0}while(0);Wo(Xa);Wo(Wa);Wo(Va);Wo(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=Vo(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)!=(yo(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=Vo(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=wo(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=Vo(0,Oa<<1)|0;if(Ba){ku(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=Ho(ca,da,Ba,ma,fa)|0;break}ya=B(Ba,fa)|0;wa=ya+7&-8;if((ya|0)==(wa|0)){sb=Ho(ca,da,Ba,ma,fa)|0;break}na=Ho(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{Io(o,p,q,r,s,Ba,ma,fa);j:do if(fa>>>0>=8){wa=Ho(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=Ho(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=Ho(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=Ho(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=Ho(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=Ho(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=Ho(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=Ho(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){Io(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[28064+(ya<<2)>>2]|0;xa=c[28032+(ya<<2)>>2]|0;eb=c[28e3+(ya<<2)>>2]|0;ab=c[27968+(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[28064+(ya<<2)>>2]|0;tb=c[28032+(ya<<2)>>2]|0;ab=c[28e3+(ya<<2)>>2]|0;db=c[27968+(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;Wo(c[t>>2]|0);Ua=ta;break a;break}}}while(0);if((ba|0)==4){c[u>>2]=30;Ua=aa}Wo(Ua);if(c[u>>2]|0){Ga=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)Wo(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=Uo(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;Ga=i;return}if(!(t&1073741823)){Hb=0;c[u>>2]=Hb;Ga=i;return}a[ta>>0]=a[c[x>>2]>>0]|0;if(!(c[y>>2]&1073741823)){Hb=0;c[u>>2]=Hb;Ga=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;Ga=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){Ga=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;Ga=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=Uo(Hb)|0;c[e>>2]=Ib;if(!Ib){c[u>>2]=9947;c[f>>2]=0}else c[u>>2]=Eo(Ib,y,Ua,aa,c[ta>>2]|0,c[ba>>2]|0)|0;Wo(y);Ga=i;return}function Ho(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 Io(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 Jo(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=Ga;Ga=Ga+224|0;j=i+212|0;k=i;if(!f){l=100;Ga=i;return l|0}m=c[f>>2]|0;if(!m){n=c[f+8>>2]|0;nt(n,0,2)|0;o=Ht(n)|0;if(o>>>0>268435456){l=333;Ga=i;return l|0}Jt(n);p=Uo(o)|0;It(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;Go(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)Wo(t);c[s>>2]=0;Do(k+52|0);Wo(p);z=o;A=c[f>>2]|0}else{z=0;A=m}if((A|0)!=1){l=z;Ga=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;Go(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)Wo(s);c[p>>2]=0;Do(k+52|0);l=A;Ga=i;return l|0}function Ko(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Jo(a,b,c,d,6,8)|0}function Lo(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,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,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=Ga;Ga=Ga+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;ju(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;Ga=j;return}if((c[b>>2]|0)>>>0>2){c[p>>2]=61;Ga=j;return}if((c[b+44>>2]|0)>>>0>1){c[p>>2]=71;Ga=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;Ga=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;Ga=j;return}c[p>>2]=0;do if((w|0)==(s|0)&(x|0)==(r|0))Mo(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=Uo(C)|0;if(!((C|0)!=0&(y|0)==0)){if((c[p>>2]|0)==0?(D=Eo(y,g,q,u,h,i)|0,c[p>>2]=D,(D|0)==0):0)Mo(n,o,y,l)}else c[p>>2]=9955;Wo(y);break}c[p>>2]=59;Ga=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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(Aa,za<<1)|0;if(!r){Fa=Aa;Ha=Ba}else{Ia=r;v=119}}else{Ia=Aa;v=119}if((v|0)==119){a[Ia+Ba>>0]=C;Fa=Ia;Ha=za}if(!(zo(m,g,Ha,59242,Fa)|0))c[u>>2]=c[g>>2];Wo(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=Vo(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=Vo(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(!(zo(m,g,Oa,59247,Na)|0))c[u>>2]=c[g>>2];Wo(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=Vo(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(!(zo(m,g,Za,59247,Ya)|0))c[u>>2]=c[g>>2];Wo(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}No(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;No(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=Vo(0,2)|0;if(!Ka){y=Vo(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=Vo(0,2)|0;if(!r){y=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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(!(zo(m,g,gb,59252,fb)|0))c[u>>2]=c[g>>2];Wo(fb)}if(c[l+116>>2]|0){C=c[l+120>>2]|0;r=Vo(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=Vo(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=Vo(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(!(zo(m,g,Rb,59257,Qb)|0))c[u>>2]=c[g>>2];Wo(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=Vo(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=xo(k,La,C,Ka,b)|0;Ka=c[k>>2]|0;do if(!x){C=zo(m,g,c[La>>2]|0,59262,Ka)|0;if(C|0){Vb=C;break}c[u>>2]=c[g>>2];Vb=0}else Vb=x;while(0);Wo(Ka);c[p>>2]=Vb;if(Vb|0)break;do if(a[l+100>>0]|0){x=Uo(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(!(zo(m,g,7,59267,x)|0))c[u>>2]=c[g>>2];Wo(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((ss(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))Oo(m,Ta,Wb);else{Xb=ss(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=Vo(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=Vo(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=Vo(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(!(xo(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=Vo(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(zo(m,g,vc,59272,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;Wo(c[k>>2]|0);Wo(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(!(is(c[Ka+(x<<2)>>2]|0,59277)|0))break k;x=x+1|0}while(x>>>0>>0)}Oo(m,59277,59285)}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((ss(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=ss(Yb)|0;Zb=0;_b=0;w=0;$b=0;y=1;da=Wb;Wb=1;while(1){if(Wb){cc=y<<1;dc=Vo(_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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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(xo(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=Vo(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=Vo(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=Vo(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(zo(m,g,Qd,59294,Pd)|0){Fd=Pd;break}c[u>>2]=c[g>>2];Fd=Pd}while(0);Wo(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=Vo(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=Vo(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=yo(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);Wo(c[n>>2]|0);c[e>>2]=c[m>>2];c[f>>2]=c[g>>2];Ga=j;return}function Mo(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=Ga;Ga=Ga+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=Uo(z)|0;c[b>>2]=A;if((A|0)==0?c[e>>2]|0:0){Ga=h;return}if(w>>>0<8?(z=x&-8,(g|0)!=(z|0)):0){if(y){x=Vo(0,y<<1)|0;if(!x)C=0;else{D=x;E=13}}else{D=0;E=13}if((E|0)==13){Po(D,f,z,g,v);Qo(c[b>>2]|0,D,u,v,c[s>>2]|0,c[t>>2]|0)|0;C=D}Wo(C);Ga=h;return}Qo(A,f,u,v,c[s>>2]|0,c[t>>2]|0)|0;Ga=h;return}A=B(w,u)|0;C=((B(A,v)|0)+7|0)>>>3;D=Uo(C)|0;g=(C|0)==0|(D|0)!=0;C=g?0:9952;if(g){Io(n,o,p,q,r,u,v,w);z=c[p+28>>2]|0;c[e>>2]=z;x=Uo(z)|0;c[b>>2]=x;if(!((x|0)==0?(c[e>>2]|0)!=0:0))E=19;do if((E|0)==19){Io(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[28064+(x<<2)>>2]|0;G=c[28032+(x<<2)>>2]|0;H=c[28e3+(x<<2)>>2]|0;I=c[27968+(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=28064+(e<<2)|0,J=28032+(e<<2)|0,I=28e3+(e<<2)|0,z|0):0){H=c[27968+(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){Qo((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;Qo((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;Qo((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;Qo((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;Qo((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;Qo((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;Qo((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=Vo(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;Po(e,D+(c[r>>2]|0)|0,z+7&-8,z,H);V=Qo((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}Wo(W);if(!x){H=Vo(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;Po(H,D+(c[r+4>>2]|0)|0,e+7&-8,e,z);Y=Qo((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=_}Wo(Z);if(!x){z=Vo(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;Po(z,D+(c[r+8>>2]|0)|0,H+7&-8,H,e);$=Qo((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}Wo(aa);if(!x){e=Vo(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;Po(e,D+(c[r+12>>2]|0)|0,z+7&-8,z,H);ca=Qo((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}Wo(da);if(!x){H=Vo(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;Po(H,D+(c[r+16>>2]|0)|0,e+7&-8,e,z);fa=Qo((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}Wo(ga);if(!x){z=Vo(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;Po(z,D+(c[r+20>>2]|0)|0,H+7&-8,H,e);ia=Qo((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}Wo(ja);if(!x){x=Vo(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;Po(x,D+(c[r+24>>2]|0)|0,e+7&-8,e,G);Qo((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;Wo(la)}while(0)}Wo(D);Ga=h;return}function No(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=Vo(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=Vo(0,2)|0;if(!j){e=c[l>>2]|0;i=Vo(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=Vo(0,2)|0;if(!k){i=c[j>>2]|0;e=Vo(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=Vo(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=Vo(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=Vo(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=Vo(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(zo(b,T,g,59304,f)|0){Wo(f);return}c[b+8>>2]=c[T>>2];Wo(f);return}function Oo(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=Vo(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=Vo(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=Vo(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(zo(b,J,G,59299,F)|0){Wo(F);return}c[b+8>>2]=c[J>>2];Wo(F);return}function Po(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 zm(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|2776940==(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|2776940==(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 Am(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,M=0;if((b|0)==0|(d|0)==0|2776940==(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)if((m|0)>(e|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;v=c[d+28>>2]|0;x=(q|0)<(v|0);y=x?q-v|0:0;z=x?v:q;q=y+((t+r|0)>(m|0)?m-r|0:t)|0;t=c[d+36>>2]|0;v=(s|0)<(t|0);x=v?s-t|0:0;A=v?t:s;s=x+((w+u|0)>(n|0)?n-u|0:w)|0;B=A;C=z;D=u-x|0;E=r-y|0;F=(s+A|0)>(p|0)?p-A|0:s;G=(q+z|0)>(o|0)?o-z|0:q}else{B=h;C=g;D=f;E=e;F=j;G=i}else{B=h;C=g;D=f;E=e;F=0;G=i}i=(l&1|0)!=0;if(i){l=m-E|0;e=l-G|0;if((((e|0)<=(m|0)?(f=c[b+4>>2]|0,(D|0)<(f|0)):0)?(g=c[d+32>>2]|0,(C|0)<(g|0)):0)?(h=c[d+40>>2]|0,(B|0)<(h|0)):0)if((e|0)<(m|0)){j=(e|0)<0;q=j?0:e;z=C-(j?e:0)|0;o=(D|0)<0;s=o?0:D;A=o?D:0;o=B-A|0;p=F+A|0;A=c[d+28>>2]|0;y=(z|0)<(A|0);r=y?z-A|0:0;x=y?A:z;z=r+((E|0)<0?m-q|0:j?l:G)|0;l=c[d+36>>2]|0;j=(o|0)<(l|0);m=j?o-l|0:0;A=j?l:o;o=m+((p+s|0)>(f|0)?f-s|0:p)|0;H=(z+x|0)>(g|0)?g-x|0:z;I=A;J=x;K=s-m|0;L=q-r|0;M=(o+A|0)>(h|0)?h-A|0:o}else{H=G;I=B;J=C;K=D;L=e;M=F}else{H=G;I=B;J=C;K=D;L=e;M=0}}else{H=G;I=B;J=C;K=D;L=E;M=F}if((H|0)<0)return;F=(M|0)>0;if((c[d+8>>2]|0)==8){if(!F)return;E=b+16|0;D=d+16|0;C=H+-1|0;B=(H|0)==0;G=k&255;if(i){e=0;do{if(!B){o=(c[(c[D>>2]|0)+(e+I<<2)>>2]|0)+J+C|0;A=(c[(c[E>>2]|0)+(e+K<<2)>>2]|0)+L|0;h=H;while(1){if(a[A>>0]|0)a[o>>0]=G;h=h+-1|0;if(!h)break;else{o=o+-1|0;A=A+1|0}}}e=e+1|0}while((e|0)!=(M|0));return}if(B)return;B=0;do{e=(c[(c[D>>2]|0)+(B+I<<2)>>2]|0)+J|0;C=(c[(c[E>>2]|0)+(B+K<<2)>>2]|0)+L|0;A=H;while(1){if(a[C>>0]|0)a[e>>0]=G;A=A+-1|0;if(!A)break;else{e=e+1|0;C=C+1|0}}B=B+1|0}while((B|0)!=(M|0));return}else{if(!F)return;F=b+16|0;b=d+16|0;d=(H<<2)+-4|0;B=(H|0)==0;if(i){i=0;do{if(!B){G=(c[(c[b>>2]|0)+(i+I<<2)>>2]|0)+(J<<2)+(d<<2)|0;E=(c[(c[F>>2]|0)+(i+K<<2)>>2]|0)+L|0;D=H;while(1){if(a[E>>0]|0)c[G>>2]=k;D=D+-1|0;if(!D)break;else{G=G+-4|0;E=E+1|0}}}i=i+1|0}while((i|0)!=(M|0));return}if(B)return;B=c[F>>2]|0;F=c[b>>2]|0;b=0;do{i=(c[F+(b+I<<2)>>2]|0)+(J<<2)|0;d=(c[B+(b+K<<2)>>2]|0)+L|0;E=H;while(1){if(a[d>>0]|0)c[i>>2]=k;E=E+-1|0;if(!E)break;else{i=i+4|0;d=d+1|0}}b=b+1|0}while((b|0)!=(M|0));return}}function Bm(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)){ao(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 Cm(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]=Vo(c[a>>2]|0,e)|0;f=a+4|0;c[f>>2]=Vo(c[f>>2]|0,e)|0;g=a+8|0;c[g>>2]=Vo(c[g>>2]|0,e)|0;h=a+12|0;i=Vo(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 Dm(b){b=b|0;var d=0;d=So(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;Cm(d,b);a[d+32>>0]=0;c[515259]=(c[515259]|0)+1;return d|0}function Em(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=So(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;Cm(e,b);a[e+32>>0]=0;c[515259]=(c[515259]|0)+1;f=Uo(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 Fm(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:{Wo(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 3:{Gm(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 4:{rm(c[(c[a>>2]|0)+(b<<2)>>2]|0)|0;break a;break}case 5:{jm(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 6:{Fn(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 7:{In(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 8:{Un(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 9:{sp(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 10:{mm(c[(c[a>>2]|0)+(b<<2)>>2]|0)|0;break a;break}case 12:{mn(c[(c[a>>2]|0)+(b<<2)>>2]|0);break a;break}case 11:{jo(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 Gm(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{Fm(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)To(c[c[a>>2]>>2]|0,0,B(c[d>>2]|0,c[a+28>>2]|0)|0);if(c[d>>2]|0)bm(58662)}else Wo(c[c[a>>2]>>2]|0);Wo(c[a>>2]|0);Wo(c[a+4>>2]|0);Wo(c[a+8>>2]|0);Wo(c[a+12>>2]|0);Wo(a);c[515259]=(c[515259]|0)+-1;return}function Hm(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=Ga;Ga=Ga+16|0;f=e+8|0;g=e;if(!b){c[g>>2]=58698;Ir(1465008,59128,g)|0;bm(1465008)}if(!d){c[f>>2]=58721;Ir(1465008,59128,f)|0;bm(1465008)}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){Cm(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;Ga=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;Ga=e;return m|0}function Im(){var a=0;if(!2776940)return;a=c[515990]|0;if(a|0)rm(a)|0;a=qm(33,33,32)|0;c[515990]=a;lm(a);nm(c[515990]|0,15,8,17,24,-1);nm(c[515990]|0,8,15,24,17,-1);nm(c[515990]|0,16,9,16,23,-6250336);nm(c[515990]|0,9,16,23,16,-6250336);nm(c[515990]|0,11,11,21,21,0);nm(c[515990]|0,16,11,16,21,-1);nm(c[515990]|0,11,16,21,16,-1);nm(c[515990]|0,14,14,18,18,0);return}function Jm(){Im();c[515991]=c[515990];return}function Km(){return (c[515992]|0)!=0|0}function Lm(){var a=0,b=0,d=0,e=0;a=c[515992]|0;if(!a){do{em()|0;b=c[515992]|0}while(!(b|0));d=b}else d=a;a=c[368428]|0;b=d+-1|0;if((d|0)<=1){c[515992]=b;return a|0}d=0;do{e=d;d=d+1|0;c[1473712+(e<<2)>>2]=c[1473712+(d<<2)>>2]}while((d|0)!=(b|0));c[515992]=b;return a|0}function Mm(){var b=0,c=0,d=0;b=0;while(1){if((b|0)!=57&(a[1473840+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 Nm(b){b=b|0;var c=0,d=0;switch(b|0){case -6:{c=a[1474065]|0;if(c<<24>>24!=0&(a[1474577]|0)==0){d=c<<24>>24==3|(a[1475089]|0)==0?3:1;return d|0}c=a[1474069]|0;if(!(c<<24>>24!=0&(a[1474581]|0)==0)){d=0;return d|0}d=c<<24>>24==3|(a[1475093]|0)==0?3:1;return d|0}case -2:{c=a[1474342]|0;if(c<<24>>24!=0&(a[1474854]|0)==0){d=c<<24>>24==3|(a[1475366]|0)==0?3:1;return d|0}c=a[1474343]|0;if(!(c<<24>>24!=0&(a[1474855]|0)==0)){d=0;return d|0}d=c<<24>>24==3|(a[1475367]|0)==0?3:1;return d|0}case -3:{c=a[1474340]|0;if(c<<24>>24!=0&(a[1474852]|0)==0){d=c<<24>>24==3|(a[1475364]|0)==0?3:1;return d|0}c=a[1474341]|0;if(!(c<<24>>24!=0&(a[1474853]|0)==0)){d=0;return d|0}d=c<<24>>24==3|(a[1475365]|0)==0?3:1;return d|0}case -4:{c=a[1474066]|0;if(c<<24>>24!=0&(a[1474578]|0)==0){d=c<<24>>24==3|(a[1475090]|0)==0?3:1;return d|0}c=a[1474070]|0;if(!(c<<24>>24!=0&(a[1474582]|0)==0)){d=0;return d|0}d=c<<24>>24==3|(a[1475094]|0)==0?3:1;return d|0}case -5:{c=a[1474064]|0;if(c<<24>>24!=0&(a[1474576]|0)==0){d=c<<24>>24==3|(a[1475088]|0)==0?3:1;return d|0}c=a[1474068]|0;if(c<<24>>24!=0&(a[1474580]|0)==0){d=c<<24>>24==3|(a[1475092]|0)==0?3:1;return d|0}c=a[1474340]|0;if(c<<24>>24!=0&(a[1474852]|0)==0){d=c<<24>>24==3|(a[1475364]|0)==0?3:1;return d|0}c=a[1474341]|0;if(!(c<<24>>24!=0&(a[1474853]|0)==0)){d=0;return d|0}d=c<<24>>24==3|(a[1475365]|0)==0?3:1;return d|0}default:{c=a[1473840+b>>0]|0;if(!(c<<24>>24)){d=0;return d|0}if(!(a[1474352+b>>0]|0))return (c<<24>>24==3|(a[1474864+b>>0]|0)==0?3:1)|0;else{d=0;return d|0}}}return 0}function Om(){ku(1473840,0,512)|0;ku(1474864,0,512)|0;ku(1474352,0,512)|0;return}function Pm(){return}function Qm(){c[515993]=Em(1024,72)|0;return}function Rm(){Gm(c[515993]|0);return}function Sm(){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=Ga;Ga=Ga+16|0;b=a+8|0;d=a+4|0;e=a;f=c[515993]|0;if(!f){Ga=a;return}if(!(c[f+16>>2]|0)){Ga=a;return}vq(b,d,e);f=(c[b>>2]|0)-(c[515994]|0)|0;g=B(f,f)|0;f=(c[d>>2]|0)-(c[515995]|0)|0;h=(B(f,f)|0)+g|0;mp();g=c[515993]|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)Ra[c[n>>2]&0](u,c[b>>2]|0,c[d>>2]|0,0,3)}else if(!(c[515996]|A)){c[o>>2]=z|2;Ra[c[j>>2]&0](u,c[b>>2]|0,c[d>>2]|0,y,4);y=oq()|0;if((y-(c[515997]|0)|0)<400?(y=(c[c[l>>2]>>2]|0)/64|0,(r|0)<(B(y,y)|0)):0)Ra[c[j>>2]&0](u,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,18);y=oq()|0;if((y-(c[515998]|0)|0)<400?(y=(c[c[q>>2]>>2]|0)/64|0,(r|0)<(B(y,y)|0)):0){Ra[c[j>>2]&0](u,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,11);c[515997]=oq()|0}c[515998]=oq()|0;c[515994]=c[b>>2];c[515995]=c[d>>2]}y=c[o>>2]|0;if(!(y&1)){c[o>>2]=y|1;Ra[c[k>>2]&0](u,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,1)}y=c[515399]|0;z=c[515400]|0;if(z|y|0){Ra[c[m>>2]&0](u,y,z,c[e>>2]|0,16);c[515399]=0;c[515400]=0}}else{z=x+20|0;y=c[z>>2]|0;if(!(y&1))C=y;else{c[z>>2]=y&-2;Ra[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[515403]|0)!=0?(A=oq()|0,(A|0)<((c[515404]|0)+500|0)):0){A=c[515403]|0;c[515996]=A;D=x+28|0;Ra[c[D>>2]&0](x,c[b>>2]|0,c[d>>2]|0,A,12);A=(c[b>>2]|0)-(c[515999]|0)|0;E=B(A,A)|0;A=(c[d>>2]|0)-(c[516e3]|0)|0;F=(B(A,A)|0)+E|0;E=oq()|0;if((E-(c[516001]|0)|0)<400&F>>>0<400)Ra[c[D>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[515996]|0,15);c[516001]=oq()|0;c[515999]=c[b>>2];c[516e3]=c[d>>2];G=F}else G=r;else{c[z>>2]=y&-3;y=x+28|0;Ra[c[y>>2]&0](x,c[b>>2]|0,c[d>>2]|0,0,6);F=oq()|0;if((r|0)<400&(F-(c[515998]|0)|0)<400)Ra[c[y>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[515996]|0,12);F=(c[b>>2]|0)-(c[515999]|0)|0;D=B(F,F)|0;F=(c[d>>2]|0)-(c[516e3]|0)|0;E=(B(F,F)|0)+D|0;D=oq()|0;if((D-(c[516001]|0)|0)<400&E>>>0<400)Ra[c[y>>2]&0](x,c[b>>2]|0,c[d>>2]|0,c[515996]|0,15);c[516001]=oq()|0;c[515999]=c[b>>2];c[516e3]=c[d>>2];G=E}E=c[z>>2]|0;y=c[e>>2]|0;if((E&2|0)!=0&(y|0)!=0){Ra[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[515996]|0)==0|(c[e>>2]|0)!=0):0)Ra[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[515993]|0}}while(0);c[515403]=0;c[515996]=c[e>>2];np();Ga=a;return}function Tm(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=Ga;Ga=Ga+16|0;e=d+8|0;f=d+4|0;g=d;if(!(c[515993]|0)){Ga=d;return}vq(e,f,g);h=c[515993]|0;if((c[h+16>>2]|0)<=0){Ga=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;Ra[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[515993]|0}while((i|0)<(c[j+16>>2]|0));Ga=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)){Ra[c[h+28>>2]&0](h,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,a);l=c[515993]|0}else l=i;j=j+1|0;if((j|0)>=(c[l+16>>2]|0))break;else i=l}Ga=d;return}function Um(a){a=a|0;var b=0,d=0;b=c[515993]|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 Vm(){var a=0,b=0,d=0,e=0,f=0;a=c[515993]|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 Wm(){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[516002]=Dm(512)|0;c[516003]=Dm(512)|0;b=0;do{e=(b|0)==0;f=e?8:32;g=0;do{h=qm(5,5,f)|0;i=qm(6,5,f)|0;Hm(c[516002]|0,4,h)|0;Hm(c[516003]|0,4,i)|0;g=g+1|0}while((g|0)!=32);g=0;do{i=qm(5,5,f)|0;h=qm(6,5,f)|0;lm(i);j=g*5|0;k=i+16|0;l=h+16|0;if(e){m=0;do{n=d[2288+(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[2288+(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)}Hm(c[516002]|0,4,i)|0;Hm(c[516003]|0,4,h)|0;g=g+1|0}while((g|0)!=96);g=0;do{e=qm(5,5,f)|0;m=qm(6,5,f)|0;Hm(c[516002]|0,4,e)|0;Hm(c[516003]|0,4,m)|0;g=g+1|0}while((g|0)!=128);b=b+1|0}while((b|0)!=2);return}function Xm(){Gm(c[516002]|0);Gm(c[516003]|0);return}function Ym(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;Am(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;pm(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;Ym(b,59123,c[516002]|0,v,Q,0,0)|0;return Q|0}return 0}function Zm(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=(c[d+16>>2]&255|0)==0?0:32;f=a[b>>0]|0;if(!(f<<24>>24)){g=0;h=1;i=g-h|0;return i|0}j=0;k=b;b=f;while(1){f=b<<24>>24;if((e|0)>(f|0))l=j;else l=(c[c[(c[d>>2]|0)+(f-e<<2)>>2]>>2]|0)+j+1|0;k=k+1|0;b=a[k>>0]|0;if(!(b<<24>>24)){g=l;h=1;break}else j=l}i=g-h|0;return i|0}function _m(a){a=a|0;var b=0,d=0;b=Ga;Ga=Ga+16|0;d=b;c[d>>2]=0;c[d>>2]=a;Ga=b;return}function $m(a){a=a|0;var b=0,d=0;b=Ga;Ga=Ga+16|0;d=b;c[d>>2]=0;c[d>>2]=a;Ga=b;return}function an(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=It(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;ju(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 bn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Ga;Ga=Ga+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;xt(f,4,1,c[d+8>>2]|0)|0;Ga=e;return}case 1:{f=d+20|0;if(c[d+88>>2]|0)Yo(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;Ga=e;return}default:{Ga=e;return}}}function cn(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=xt(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;Yo(e,(c[b>>2]|0)+f|0)|0;d=(c[e+12>>2]|0)+(c[b>>2]|0)|0;if(!a){To(d,0,f);h=b;break}else{ju(d|0,a|0,f|0)|0;h=b;break}}else{b=e+20|0;ju((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 dn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=Ga;Ga=Ga+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;xt(f,4,1,c[d+8>>2]|0)|0;Ga=e;return}case 1:{f=d+20|0;if(c[d+88>>2]|0)Yo(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;Ga=e;return}default:{Ga=e;return}}}function en(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;Ct(b<<24>>24,c[d+8>>2]|0)|0;return}case 1:{e=d+20|0;if(c[d+88>>2]|0)Yo(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 fn(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;f=Ga;Ga=Ga+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;xt(g,2,1,c[e+8>>2]|0)|0;Ga=f;return}case 1:{g=e+20|0;if(c[e+88>>2]|0)Yo(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;Ga=f;return}default:{Ga=f;return}}}function gn(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,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,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=Ga;Ga=Ga+16|0;g=d;if(!e){h=0;Ga=d;return h|0}i=Dm(0)|0;a:do if(i|0){switch(c[e>>2]|0){case 0:{j=ft(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:{It(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;ju(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:{It(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;ju(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:{It(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;ju(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}It(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;ju(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:{It(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;ju(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}}nt(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:{It(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;ju(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:{It(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;ju(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}}It(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;ju(g|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+u;H=G}u=c[g>>2]|0;x=qm(D,H,u)|0;c[g>>2]=0;y=c[e>>2]|0;switch(y|0){case 0:{It(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;ju(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}It(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;ju(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)hn(y,C,e)|0;else switch(c[e>>2]|0){case 0:{It(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;ju(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);Hm(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:{It(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;ju(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:{It(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;ju(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}}It(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;ju(g|0,(c[o>>2]|0)+x|0,C|0)|0;c[n>>2]=C+x;R=Q}x=c[g>>2]|0;C=km(O,R,x)|0;c[g>>2]=0;w=c[e>>2]|0;switch(w|0){case 0:{It(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;ju(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}It(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;ju(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)hn(w,u,e)|0;else switch(c[e>>2]|0){case 0:{It(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;ju(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);Hm(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:{It(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;ju(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:{It(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;ju(g|0,(c[o>>2]|0)+w|0,u|0)|0;c[n>>2]=u+w;break}default:{}}w=rp(V,c[g>>2]|0)|0;if(!w){u=s+-8|0;y=c[e>>2]|0;switch(y|0){case 0:{nt(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:{It(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;ju(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:{It(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:{It(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}}It(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;ju(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;ju(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;ju(g|0,(c[o>>2]|0)+C|0,y|0)|0;c[n>>2]=y+C;ba=aa}C=Ep(w)|0;y=(B(c[w+4>>2]|0,c[w>>2]|0)|0)/8|0;switch(c[e>>2]|0){case 0:{It(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;ju(C|0,(c[o>>2]|0)+u|0,x|0)|0;c[n>>2]=x+(c[n>>2]|0);break}default:{}}Gp(w,c[ba>>2]|0);Hm(i,9,w)|0;k=396;break g}if((r|0)<1229865283){switch(r|0){case 1146047811:break;default:break o}x=En()|0;c[g>>2]=0;u=c[e>>2]|0;switch(u|0){case 0:{It(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;ju(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:{It(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}}It(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;ju(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;ju(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];Bn(x,c[ha>>2]|0);Cn(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:{It(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;ju(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:{It(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}}It(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;ju(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;ju(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:{It(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;ju(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;Dn(y,K<<16>>16);b[g>>1]=0;K=c[e>>2]|0;switch(K|0){case 0:{It(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;ju(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}It(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;ju(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:{It(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;ju(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:{It(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;ju(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}}It(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;ju(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:{It(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;ju(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}}It(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;ju(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:{It(g,4,1,c[l>>2]|0)|0;Ha=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;ju(g|0,(c[o>>2]|0)+J|0,pa|0)|0;c[n>>2]=pa+J;Ha=Da;break}default:Ha=Da}c[Ha+(C<<5)+4>>2]=c[g>>2];C=C+1|0;if((C|0)>=(c[ha>>2]|0))break x}}while(0);Kn(x);Hm(i,6,x)|0;k=396;break g}switch(r|0){case 1229865283:break;default:break o}w=Tn()|0;c[g>>2]=0;C=c[e>>2]|0;switch(C|0){case 0:{It(g,4,1,c[l>>2]|0)|0;Ia=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;ju(g|0,(c[o>>2]|0)+u|0,J|0)|0;c[n>>2]=J+u;Ia=1;k=145;break}default:{Ja=C;Ka=0}}if((k|0)==145){k=0;Ja=Ia;Ka=c[g>>2]|0}c[g>>2]=0;switch(Ja|0){case 0:{It(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;ju(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:{It(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:{It(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:{It(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:{It(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:{It(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:{It(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;ju(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;ju(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;ju(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;ju(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;ju(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;ju(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){Wn(w)|0;C=c[pa>>2]|0;y=C+(x*112|0)|0;u=c[e>>2]|0;switch(u|0){case 0:{It(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;ju(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:{It(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;ju(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:{It(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;ju(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:{It(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:{It(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:{It(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:{It(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:{It(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:{It(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:{It(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:{It(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:{It(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;ju(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;ju(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;ju(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;ju(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;ju(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;ju(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;ju(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;ju(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;ju(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;Yn($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:{It(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;ju(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:{It(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;ju(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:{It(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;ju(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:{It(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;ju(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;Yn(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:{It(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;ju(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:{It(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;ju(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:{It(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;ju(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:{It(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;ju(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;Yn(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:{It(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;ju(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:{It(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;ju(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:{It(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;ju(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]=Uo(J<<2)|0;if((c[ac>>2]|0)<=0)break;ta=0;while(1){sa=Xn(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:{It(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;ju(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;Yn(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:{It(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;ju(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:{It(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;ju(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:{It(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;ju(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:{It(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;ju(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;Yn(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:{It(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;ju(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:{It(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;ju(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:{It(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;ju(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);Hm(i,8,w)|0;k=396;break g}else{if((r|0)<1314476867){switch(r|0){case 1279348803:break;default:break o}x=im()|0;switch(c[e>>2]|0){case 0:{It(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;ju(x|0,(c[o>>2]|0)+pa|0,J|0)|0;c[n>>2]=J+(c[n>>2]|0);break}default:{}}Hm(i,5,x)|0;k=396;break g}if((r|0)>=1413565763){switch(r|0){case 1413565763:break;default:break o}x=Hn()|0;switch(c[e>>2]|0){case 0:{It(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;ju(x|0,(c[o>>2]|0)+J|0,pa|0)|0;c[n>>2]=pa+(c[n>>2]|0);break}default:{}}Hm(i,7,x)|0;k=396;break g}switch(r|0){case 1314476867:break;default:break o}x=io(0)|0;Hm(i,11,x)|0;To(x,0,11032);c[g>>2]=0;pa=c[e>>2]|0;switch(pa|0){case 0:{It(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;ju(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:{It(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}}It(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;ju(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;ju(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:{It(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;ju(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:{It(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;ju(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:{It(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;ju(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:{It(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:{It(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:{It(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:{It(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}}It(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;ju(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;ju(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;ju(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;ju(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;ju(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:{It(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;ju(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:{It(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;ju(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:{It(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}It(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;ju(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;ju(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){bm(58739);w=c[e>>2]|0;switch(w|0){case 0:{nt(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:{It(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;ju(g|0,(c[o>>2]|0)+pa|0,x|0)|0;c[n>>2]=x+pa;break}default:{}}pa=c[g>>2]|0;x=Xo(pa)|0;Hm(i,12,x)|0;ta=x+24|0;switch(c[e>>2]|0){case 0:{It(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;ju(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)hn(C,pa,e)|0;else switch(c[e>>2]|0){case 0:{It(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;ju(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=ft(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:{nt(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;Ga=d;return h|0}Gm(i);h=0;Ga=d;return h|0}while(0);Gm(i);h=0;Ga=d;return h|0}function hn(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=Ga;Ga=Ga+16|0;f=e;c[f>>2]=0;switch(c[d>>2]|0){case 0:{It(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;ju(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=Uo(h)|0;switch(c[d>>2]|0){case 0:{It(f,1,h,c[d+8>>2]|0)|0;k=cp(f,a,h,b)|0;Ga=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;ju(f|0,(c[d+12>>2]|0)+g|0,j|0)|0;c[i>>2]=j+(c[i>>2]|0);k=cp(f,a,h,b)|0;Ga=e;return k|0}default:{k=cp(f,a,h,b)|0;Ga=e;return k|0}}return 0}function jn(a){a=a|0;var b=0;switch(c[a>>2]|0){case 0:{b=ft(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 kn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=Ga;Ga=Ga+16|0;d=b;e=ln(a,58775)|0;if(e){f=gn(0,e)|0;if(!(Kq(e)|0)){if(!(c[e>>2]|0))at(c[e+8>>2]|0)|0;if(c[e+88>>2]|0)Wo(c[e+12>>2]|0);Wo(e);if(!(c[515422]|0)){c[515422]=(oq()|0)+1e3;g=f}else g=f}else g=f}else g=0;c[d>>2]=a;c[d+4>>2]=(g|0)==0?58778:58785;Ir(1465008,58788,d)|0;bm(1465008);Ga=b;return g|0}function ln(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=Ga;Ga=Ga+48|0;f=e+40|0;g=e+24|0;h=e+8|0;i=e;if((ka(22)|0)!=1){j=Jq(b,d)|0;k=(j|0)!=0;if(k){c[i>>2]=b;c[i+4>>2]=d;Kt(58811,i)|0}i=a[d>>0]|0;if(i<<24>>24==119|k&i<<24>>24==114){l=j;Ga=e;return l|0}}j=Uo(92)|0;To(j,0,92);c[j>>2]=0;i=Ws(b,d)|0;c[j+8>>2]=i;if(i){i=(j|0)!=0;c[g>>2]=b;c[g+4>>2]=d;c[g+8>>2]=i?58897:58778;Kt(58874,g)|0;if(i){l=j;Ga=e;return l|0}}else{Wo(j);c[h>>2]=b;c[h+4>>2]=d;c[h+8>>2]=58778;Kt(58874,h)|0}h=Jq(b,d)|0;if(!h){l=0;Ga=e;return l|0}c[f>>2]=b;c[f+4>>2]=d;Kt(58904,f)|0;l=h;Ga=e;return l|0}function mn(a){a=a|0;if(!a)return;if(Kq(a)|0)return;if(!(c[a>>2]|0))at(c[a+8>>2]|0)|0;if(c[a+88>>2]|0)Wo(c[a+12>>2]|0);Wo(a);if(c[515422]|0)return;c[515422]=(oq()|0)+1e3;return}function nn(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=ft(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=Gt(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=ft(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=Gt(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=ft(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=Gt(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 on(){To(2061700,0,2244);c[515426]=0;c[515427]=0;c[515428]=32;c[515432]=256;c[515433]=256;if(c[515984]|0)c[515432]=64;c[515444]=1024;if(ka(23)|0){Ft(59026)|0;c[515444]=2048}c[515445]=-1;c[515438]=0;c[515446]=0;c[515447]=0;c[515448]=0;c[515449]=0;c[515439]=-1;c[515440]=-1;c[515441]=-1;c[515458]=-1;c[515459]=1;c[515465]=0;c[515434]=2;c[515435]=10;c[515437]=0;if(!(c[515984]|0)){c[515454]=1;c[515466]=30;return}c[515434]=5;c[515454]=1;c[515466]=30;return}function pn(){return}function qn(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?1475376: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 rn(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=Ga;Ga=Ga+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((ss(b)|0)>>>0>1023){bm(59079);Ga=g;return}Zl(h,b)|0;l=ss(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)Zl(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)Zl(d,v)|0;if((v|0)==(h|0)){Ga=g;return}a[v>>0]=0;if(!i){Ga=g;return}Zl(c,h)|0;Ga=g;return}function sn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;rn(a,b,c,d,0);return}function tn(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;a[c>>0]=0;d=1;e=b;a:while(1){f=e;b:while(1){g=a[f>>0]|0;switch(g<<24>>24){case 0:case 92:case 47:{break b;break}default:{}}f=f+1|0}h=g<<24>>24==0;if((e|0)==(f|0)&h){i=6;break}a[f>>0]=0;c:do if(is(e,66873)|0){if(!((e|0)==(b|0)|(is(e,59123)|0)!=0)){j=(ss(c)|0)+-1|0;if((j|0)<=0){k=d;i=20;break}a[c+j>>0]=0;l=j;while(1){j=c+l|0;switch(a[j>>0]|0){case 58:case 92:case 47:{k=d;i=20;break c;break}default:{}}a[j>>0]=0;if((l|0)>1)l=l+-1|0;else{k=d;i=20;break c}}}if(is(e,59126)|0){if((d|0)==0?(a[e>>0]|0)==0:0){k=0;i=20;break}Cs(c,e)|0;if(h){i=18;break a}l=c+(ss(c)|0)|0;a[l>>0]=47;a[l+1>>0]=0;a[f>>0]=g;m=0}else{k=d;i=20}}else{k=d;i=20}while(0);if((i|0)==20){i=0;a[f>>0]=g;if(h){i=22;break}else m=k}d=m;e=f+1|0}if((i|0)==6){if((e|0)!=(b|0))return;a[c>>0]=0;return}else if((i|0)==18){a[f>>0]=0;return}else if((i|0)==22)return}function un(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=Ga;Ga=Ga+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=0;c[g>>2]=0;if(!b){h=0;Ga=d;return h|0}if(Ko(e,f,g,b)|0){h=0;Ga=d;return h|0}b=c[f>>2]|0;i=c[g>>2]|0;if((i+-1|b+-1)>>>0>16383){h=0;Ga=d;return h|0}j=qm(b,i,32)|0;i=j+12|0;ju(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}}Wo(c[e>>2]|0);h=j;Ga=d;return h|0}function vn(a){a=a|0;var b=0,d=0;b=ln(a,58775)|0;if(!b){d=0;return d|0}a=un(b)|0;if(Kq(b)|0){d=a;return d|0}if(!(c[b>>2]|0))at(c[b+8>>2]|0)|0;if(c[b+88>>2]|0)Wo(c[b+12>>2]|0);Wo(b);if(c[515422]|0){d=a;return d|0}c[515422]=(oq()|0)+1e3;d=a;return d|0}function wn(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=d+4|0;f=qm(c[d>>2]|0,c[e>>2]|0,32)|0;g=d+8|0;h=c[g>>2]|0;if((h|0)==32){ao(d,f,0,0,0,0,c[d>>2]|0,c[e>>2]|0);i=c[g>>2]|0}else i=h;if((i|0)==8)Bm(d,f,c[694248]|0);i=f+12|0;h=c[d>>2]|0;g=c[e>>2]|0;j=B(g,h)|0;if(!j){k=h;l=g;m=c[i>>2]|0;Ro(b,m,k,l,6,8)|0;rm(f)|0;return 0}g=c[i>>2]|0;h=j;while(1){j=a[g>>0]|0;n=g+2|0;a[g>>0]=a[n>>0]|0;a[n>>0]=j;h=h+-1|0;if(!h)break;else g=g+4|0}k=c[d>>2]|0;l=c[e>>2]|0;m=c[i>>2]|0;Ro(b,m,k,l,6,8)|0;rm(f)|0;return 0}function xn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Ga;Ga=Ga+1040|0;f=e+1024|0;g=e;To(g,0,1024);c[f>>2]=d;Ir(g,b,f)|0;f=ss(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;xt(g,1,f,c[a+8>>2]|0)|0;Ga=e;return 0}case 1:{if(!(c[a+88>>2]|0)){b=a+20|0;ju((c[a+12>>2]|0)+(c[b>>2]|0)|0,g|0,f|0)|0;h=b}else{b=a+20|0;Yo(a,(c[b>>2]|0)+f|0)|0;ju((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;Ga=e;return 0}default:{Ga=e;return 0}}return 0}function yn(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=Ga;Ga=Ga+1040|0;i=h+1024|0;j=h;To(j,0,1024);c[i>>2]=d;c[i+4>>2]=e;c[i+8>>2]=f;c[i+12>>2]=g;Ir(j,b,i)|0;i=ss(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;xt(j,1,i,c[a+8>>2]|0)|0;Ga=h;return 0}case 1:{if(!(c[a+88>>2]|0)){b=a+20|0;ju((c[a+12>>2]|0)+(c[b>>2]|0)|0,j|0,i|0)|0;k=b}else{b=a+20|0;Yo(a,(c[b>>2]|0)+i|0)|0;ju((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;Ga=h;return 0}default:{Ga=h;return 0}}return 0}function zn(a){a=a|0;var b=0,c=0,d=0,e=0;b=Ws(a,58775)|0;if(!b){c=0;return c|0}a=Xo(1024)|0;d=Uo(65536)|0;if(!(ft(b)|0))do{e=It(d,1,65536,b)|0;cn(d,1,e,a)|0}while((e|0)!=0&(ft(b)|0)==0);Wo(d);at(b)|0;c=a;return c|0}function An(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=Ws(a,58775)|0;if(!c){d=1;return d|0}a=Ws(b,66796)|0;if(!a){at(c)|0;d=2;return d|0}b=Uo(65536)|0;if(!(ft(c)|0))do{e=It(b,1,65536,c)|0;xt(b,1,e,a)|0}while((e|0)!=0&(ft(c)|0)==0);Wo(b);at(c)|0;at(a)|0;d=0;return d|0}function Bn(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=Ga;Ga=Ga+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=Uo(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)){Ga=e;return}l=(k+1|0)==(d|0)?(d*5|0)/4|0:d;d=Vo(c[a>>2]|0,l*12|0)|0;c[a>>2]=d;if(!d){c[h>>2]=59151;Ir(1465008,59128,h)|0;bm(1465008)}if((c[i>>2]|0)>0){i=a+28|0;a=Vo(c[i>>2]|0,l<<5)|0;c[i>>2]=a;if(!a){c[g>>2]=59177;Ir(1465008,59128,g)|0;bm(1465008)}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;Ga=e;return}function Cn(a,d){a=a|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0;e=Ga;Ga=Ga+16|0;g=e;h=a+20|0;i=c[h>>2]|0;if((i|0)>=(d|0)){Ga=e;return}j=(i+1|0)==(d|0)?(d*5|0)/4|0:d;d=a+12|0;i=Vo(c[d>>2]|0,j*80|0)|0;c[d>>2]=i;if(!i){c[g>>2]=59208;Ir(1465008,59128,g)|0;bm(1465008)}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;Ga=e;return}function Dn(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]=Vo(l,e<<2)|0;c[k>>2]=Vo(c[k>>2]|0,e<<3)|0;if((b[g>>1]|0)<5){l=a+56|0;ju(c[j>>2]|0,a|0,b[l>>1]<<2|0)|0;ju(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 En(){var a=0,b=0,d=0;a=Uo(52)|0;b=a;d=b+52|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[515259]=(c[515259]|0)+1;return a|0}function Fn(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){Wo(c[e+(g*80|0)+48>>2]|0);Wo(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)Wo(i);i=c[a+32>>2]|0;if(i|0)Wo(i);i=c[a+12>>2]|0;if(i|0)Wo(i);i=c[a+28>>2]|0;if(i|0)Wo(i);i=c[a+48>>2]|0;if(i|0)Wo(i);i=c[a+36>>2]|0;if(i|0)Wo(i);i=c[a+40>>2]|0;if(i|0)Wo(i);Wo(a);c[515259]=(c[515259]|0)+-1;return}function Gn(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=Ga;Ga=Ga+32|0;e=d+12|0;g=d;h=a+16|0;i=c[h>>2]|0;if((i|0)<=0){Ga=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;Mn(e,g,u);Ln(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}Ga=d;return}function Hn(){var a=0,b=0,d=0,e=0,f=0;a=Uo(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[515259]=(c[515259]|0)+1;b=a;return b|0}function In(a){a=a|0;if(!a)return;Wo(a);c[515259]=(c[515259]|0)+-1;return}function Jn(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){Wo(g);c[f>>2]=0;h=a+40|0;Wo(c[h>>2]|0);c[h>>2]=0;return}c[f>>2]=Vo(g,e<<2)|0;e=a+40|0;g=Vo(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 Kn(a){a=a|0;Gn(a);Jn(a);_n(a,0);return}function Ln(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 Mn(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 Nn(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 On(a){a=a|0;var b=0;b=(a|0)==0?-559038737:a;c[8623]=b;c[8622]=b^-1095947846;return}function Pn(a){a=a|0;var b=0,d=0,e=0,f=0;if(!a){b=0;return b|0}d=c[8622]|0;e=c[8623]|0;f=(d<<16|d>>>16)+e|0;c[8622]=f;c[8623]=f+e;b=(f>>>0)%(a>>>0)|0;return b|0}function Qn(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[2768+(8192-a<<2)>>2]|0)|0;return d|0}else{d=c[2768+(a<<2)>>2]|0;return d|0}return 0}function Rn(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[2768+(8192-a<<2)>>2]|0)|0;return d|0}else{d=c[2768+(a<<2)>>2]|0;return d|0}return 0}function Sn(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=eu(d|0,((d|0)<0)<<31>>31|0,16)|0;d=_t(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=_t(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[19168+(((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 Tn(){var a=0;a=Uo(16)|0;c[a>>2]=0;c[a+4>>2]=0;c[515259]=(c[515259]|0)+1;return a|0}function Un(a){a=a|0;var b=0;if(!a)return;if((c[a>>2]|0)>0){b=0;do{Vn(a,b);b=b+1|0}while((b|0)<(c[a>>2]|0))}Wo(c[a+4>>2]|0);c[515259]=(c[515259]|0)+-1;return}function Vn(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{Wo(c[e+12>>2]|0);Wo(c[e+16>>2]|0);Wo(c[e+20>>2]|0);Wo(e);f=c[d>>2]|0}e=c[f+(b*112|0)+84>>2]|0;if(!e)g=f;else{Wo(c[e+12>>2]|0);Wo(c[e+16>>2]|0);Wo(c[e+20>>2]|0);Wo(e);g=c[d>>2]|0}e=c[g+(b*112|0)+88>>2]|0;if(!e)h=g;else{Wo(c[e+12>>2]|0);Wo(c[e+16>>2]|0);Wo(c[e+20>>2]|0);Wo(e);h=c[d>>2]|0}e=c[h+(b*112|0)+96>>2]|0;if(!e)i=h;else{Wo(c[e+12>>2]|0);Wo(c[e+16>>2]|0);Wo(c[e+20>>2]|0);Wo(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{Wo(c[i+12>>2]|0);Wo(c[i+16>>2]|0);Wo(c[i+20>>2]|0);Wo(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;Wo(k);return}function Wn(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=Ga;Ga=Ga+16|0;e=d;f=(c[b>>2]|0)+1|0;c[b>>2]=f;g=b+4|0;h=Vo(c[g>>2]|0,f*112|0)|0;c[g>>2]=h;g=(c[b>>2]|0)+-1|0;c[e>>2]=g;Ir(h+(g*112|0)|0,59232,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=Uo(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=Uo(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=Uo(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=Uo(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;Ga=d;return (c[b>>2]|0)+-1|0}function Xn(a){a=a|0;var b=0;b=Uo(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 Yn(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]=Vo(c[d>>2]|0,B(c[a+8>>2]|0,b)|0)|0;d=a+16|0;e=b<<2;c[d>>2]=Vo(c[d>>2]|0,e)|0;d=a+20|0;c[d>>2]=Vo(c[d>>2]|0,e)|0;c[a>>2]=b;return}function Zn(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=Vo(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;Mn(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 _n(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=Ga;Ga=Ga+16|0;g=d;if(!a){Ga=d;return}h=a+24|0;i=a+28|0;j=c[i>>2]|0;if(!(c[h>>2]|0)){Wo(j);c[i>>2]=0;Ga=d;return}k=a+4|0;c[i>>2]=Vo(j,c[k>>2]<<5)|0;j=a+44|0;l=Uo(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));Ln(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){ju(b|0,l|0,c[j>>2]|0)|0;Wo(l);Ga=d;return}Zn(a,l);if((c[k>>2]|0)>0){j=a+48|0;b=0;do{q=c[i>>2]|0;Nn((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;Nn((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))}Wo(l);Ga=d;return}function $n(){var a=0,b=0,d=0,e=0;a=c[515456]|0;b=c[515458]|0;if((b|0)==-1)d=(c[694235]|0)<720&1;else d=b;b=c[515455]|0;e=(a|0)<8?a:8;return ((c[515469]|b|((b|0)==0?d:1)|0)==0?((e|0)<1?1:(e|0)>0?e:0):1)|0}function ao(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=Ga;Ga=Ga+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)){Ga=k;return}j=b+8|0;i=a+8|0;if(2776940==(a|0)?1:(c[j>>2]|0)<(c[i>>2]|0)){Ga=k;return}tm(a,b,l,m,n,o,p,q);h=c[p>>2]|0;if((h|0)<1){Ga=k;return}g=c[j>>2]|0;j=g>>3;if(2776940==(b|0)){f=c[515456]|0;e=c[515458]|0;if((e|0)==-1)r=(c[b>>2]|0)<720&1;else r=e;e=c[515455]|0;s=(f|0)<8?f:8;f=(c[515469]|e|((e|0)==0?r:1)|0)==0?((s|0)<1?1:(s|0)>0?s:0):1;if((f|0)<=1){nq(a,b,c[l>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,h,c[q>>2]|0,0);Ga=k;return}s=c[516004]|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){rm(s)|0;s=B(c[w>>2]|0,f)|0;w=B(c[a+4>>2]|0,f)|0;f=qm(s,w,c[i>>2]|0)|0;c[516004]=f;t=f;u=c[f>>2]|0;v=c[f+4>>2]|0}wm(a,t,0,0,u,v,0);v=c[516004]|0;nq(v,b,0,0,0,0,c[v>>2]|0,c[v+4>>2]|0,0);Ga=k;return}v=c[i>>2]|0;if((g|0)==(v|0)){if((c[q>>2]|0)<=0){Ga=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;ju(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}Ga=k;return}if(!((g|0)==32&(v|0)==8)){Ga=k;return}v=c[694248]|0;g=c[q>>2]|0;if((g|0)<=0){Ga=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}}Ga=k;return}function bo(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 co(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=xm(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 eo(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(!(is(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]=Vo(h,(d<<2)+4|0)|0;d=Uo((ss(b)|0)+1|0)|0;h=c[a>>2]|0;c[(c[e>>2]|0)+(h<<2)>>2]=d;Zl(c[(c[e>>2]|0)+(h<<2)>>2]|0,b)|0;b=a+16|0;h=Vo(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 fo(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){Wo(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;Wo(h);Wo(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;Wo(i);j=c[515259]|0;k=j+-1|0;c[515259]=k;return}f=0;e=a;while(1){Wo(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}Wo(i);j=c[515259]|0;k=j+-1|0;c[515259]=k;return}function go(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(!(is(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=34496;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=34496;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=34496;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 ho(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=Ga;Ga=Ga+2048|0;e=d+1024|0;f=d;g=ln(b,66616)|0;if(!g){h=0;Ga=d;return h|0}b=Uo(24)|0;To(b,0,24);a:do if(!(jn(g)|0)){i=b+12|0;j=b+4|0;while(1){a[e>>0]=0;nn(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){eo(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]=Vo(c[i>>2]|0,(c[j>>2]<<2)+4|0)|0;p=Uo((ss(n)|0)+1|0)|0;l=c[j>>2]|0;c[(c[i>>2]|0)+(l<<2)>>2]=p;Zl(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]=Vo(c[i>>2]|0,(c[j>>2]<<2)+4|0)|0;p=Uo((ss(f)|0)+1|0)|0;l=c[j>>2]|0;c[(c[i>>2]|0)+(l<<2)>>2]=p;Zl(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(jn(g)|0)break a}}while(0);mn(g);c[515259]=(c[515259]|0)+1;h=b;Ga=d;return h|0}function io(a){a=a|0;var b=0;b=So(11032)|0;c[b>>2]=a<<2;c[515259]=(c[515259]|0)+1;return b|0}function jo(a){a=a|0;if(!a)return;ko(a);Wo(a);c[515259]=(c[515259]|0)+-1;return}function ko(a){a=a|0;var b=0;b=a+11016|0;tp(c[b>>2]|0);sp(c[b>>2]|0);c[b>>2]=0;b=a+344|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+688|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+1032|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+1376|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+1720|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+2064|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+2408|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+2752|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+3096|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+3440|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+3784|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+4128|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+4472|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+4816|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+5160|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+5504|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+5848|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+6192|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+6536|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+6880|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+7224|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+7568|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+7912|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+8256|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+8600|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+8944|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+9288|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+9632|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+9976|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+10320|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+10664|0;Wo(c[b>>2]|0);c[b>>2]=0;b=a+11008|0;Wo(c[b>>2]|0);c[b>>2]=0;return}function lo(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,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;h=Ga;Ga=Ga+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=Vo(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:{mo(i);no(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=Vo(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[27376+(_<<2)>>2]<<2)>>2]=wa;_=_+1|0;if((_|0)==19)break;else oa=va}if((c[N>>2]|0)>>>0<76){oa=Vo(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=oo(k)|0;Wo(da);if(oa|0){ya=oa;za=va;break b}oa=Vo(0,2304)|0;if(!oa){Aa=0;Ba=0;Ca=0}else{ku(oa|0,0,1152)|0;Aa=oa;Ba=288;Ca=oa}oa=Vo(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;Ha=va;d:while(1){if(Ha>>>0>l>>>0){Ia=Ha;X=59;break}Ja=0;Ka=Ha;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){Ia=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;Ha=Oa}else{X=61;break}}if((X|0)==59){X=0;Qa=Ia;Ra=Ia>>>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;Ha=Vo(c[s>>2]|0,_)|0;if(!Ha){Qa=$a;Ra=9903;Sa=oa;break}c[t>>2]=_;c[s>>2]=Ha}c[u>>2]=Ba;if(Ba|0){Ha=c[s>>2]|0;_=0;do{c[Ha+(_<<2)>>2]=c[Aa+(_<<2)>>2];_=_+1|0}while((_|0)!=(Ba|0))}c[D>>2]=Ba;c[R>>2]=15;_=oo(i)|0;if(!_){if((c[B>>2]|0)>>>0<128){Ha=Vo(c[A>>2]|0,256)|0;if(!Ha){Qa=$a;Ra=9903;Sa=oa;break}c[B>>2]=256;c[A>>2]=Ha;c[C>>2]=32;ab=Ha}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=oo(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);Wo(Ca);Wo(Sa);ya=Ra;za=Qa;break b}while(0);Wo(ta);ya=ra;za=sa}else{ya=49;za=$}while(0);c[H>>2]=0;c[I>>2]=0;Wo(c[k>>2]|0);c[k>>2]=0;c[K>>2]=0;c[L>>2]=0;Wo(c[J>>2]|0);c[J>>2]=0;c[N>>2]=0;c[O>>2]=0;Wo(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[27456+(qa<<2)>>2]|0;ea=c[27584+(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;Ha=ib;while(1){kb=c[aa+(((d[m+(Ha>>>3)>>0]|0)>>>(Ha&7)&1|oa<<1)<<2)>>2]|0;lb=Ha+1|0;if(kb>>>0>>0)break;oa=kb-V|0;if(Ha>>>0>=l>>>0|oa>>>0>=V>>>0){jb=lb;X=100;break g}else Ha=lb}if(kb>>>0>29){jb=lb;X=100;break}if(lb>>>3>>>0>=f>>>0){fb=lb;gb=51;X=118;break}Ha=c[27712+(kb<<2)>>2]|0;oa=c[27840+(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=Vo(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=Vo(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;Wo(tb);c[i>>2]=0;c[q>>2]=0;c[r>>2]=0;Wo(c[p>>2]|0);c[p>>2]=0;c[t>>2]=0;c[u>>2]=0;Wo(c[s>>2]|0);c[v>>2]=0;c[w>>2]=0;Wo(c[j>>2]|0);c[j>>2]=0;c[y>>2]=0;c[z>>2]=0;Wo(c[x>>2]|0);c[x>>2]=0;c[B>>2]=0;c[C>>2]=0;Wo(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;Ga=h;return W|0}ia=ja<<1;U=Vo(c[b>>2]|0,ia)|0;if(!U){W=9916;Ga=h;return W|0}c[F>>2]=ia;c[b>>2]=U;c[E>>2]=ja;W=0;Ga=h;return W|0}else if((X|0)==125){Ga=h;return W|0}return 0}function mo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=Vo(0,2304)|0;if(!b){d=0;Wo(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=Vo(c[e>>2]|0,2304)|0;if(!g){d=b;Wo(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;oo(a)|0;d=b;Wo(d);return}function no(a){a=a|0;var b=0,d=0;b=Vo(0,256)|0;if(!b){d=0;Wo(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;po(a,b,32,15)|0;d=b;Wo(d);return}function oo(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=Vo(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=Vo(0,g<<3)|0;if(!m){i=0;break}k=m;l=m}if(g|0)ku(l|0,0,f|0)|0;f=(c[h>>2]|0)+1|0;g=f<<2;if(!g){n=0;o=0}else{m=Vo(0,f<<3)|0;if(!m){i=l;break}n=m;o=m}if(f|0)ku(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}}Wo(l);Wo(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=Vo(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);Wo(i);Wo(0);t=9902;return t|0}function po(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=Vo(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=oo(a)|0;return j|0} function Gr(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 Hr(a){a=a|0;return (a+-48|0)>>>0<10|0}function Ir(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ga;Ga=Ga+16|0;f=e;c[f>>2]=d;d=Jr(a,b,f)|0;Ga=e;return d|0}function Jr(a,b,c){a=a|0;b=b|0;c=c|0;return Kr(a,2147483647,b,c)|0}function Kr(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=Ga;Ga=Ga+128|0;h=g+124|0;i=g;j=i;k=34648;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[(rr()|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=Lr(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}}Ga=g;return p|0}function Lr(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=Ga;Ga=Ga+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((Mr(0,d,g,i,h)|0)<0)m=-1;else{if((c[b+76>>2]|0)>-1)n=Nr(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=Mr(b,d,g,i,h)|0;if(!o)s=j;else{La[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=Mr(b,d,g,i,h)|0;h=c[b>>2]|0;c[b>>2]=h|k;if(n|0)Or(b);m=(h&32|0)==0?s:-1}Ga=f;return m|0}function Mr(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=Ga;Ga=Ga+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[(rr()|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)Pr(d,y,v);if(!v)break;else w=x}w=(Hr(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((Hr(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=Qr(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=Qr(k)|0;V=v;W=c[k>>2]|0;break}if(Hr(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+(31744+(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}Rr(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=Tr(da,ea,p)|0;fa=q-D|0;ga=D;ha=0;ia=66799;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=Xt(0,0,da|0,fa|0)|0;D=G()|0;na=l;c[na>>2]=ea;c[na+4>>2]=D;oa=1;pa=66799;qa=ea;ra=D;A=72;break e}else{oa=(E&2049|0)!=0&1;pa=(E&2048|0)==0?((E&1|0)==0?66799:66801):66800;qa=da;ra=fa;A=72;break e}break}case 117:{fa=l;oa=0;pa=66799;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=66799;va=1;wa=v;xa=q;break}case 109:{ya=Vr(c[(rr()|0)>>2]|0)|0;A=77;break}case 115:{fa=c[l>>2]|0;ya=(fa|0)==0?66809: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){Xr(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:{$=Zr(d,+g[l>>3],R,V,E,w)|0;break d;break}default:{sa=y;ta=0;ua=66799;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=Sr(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?66799:66799+(aa>>>4)|0;ja=ba;ka=ca;la=fa;ma=da;A=73}else if((A|0)==72){A=0;ga=Ur(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=Wr(ya,0,V)|0;fa=(da|0)==0;sa=ya;ta=0;ua=66799;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=Yr(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}Xr(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=Yr(o,w)|0;D=ea+D|0;if((D|0)>(Ba|0)){Aa=Ba;A=91;break f}Pr(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;Xr(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;Xr(d,32,fa,v,wa);Pr(d,ua,ta);Xr(d,48,fa,v,wa^65536);Xr(d,48,da,D,0);Pr(d,sa,D);Xr(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;Rr(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);Ga=j;return P|0}function Nr(a){a=a|0;return 1}function Or(a){a=a|0;return}function Pr(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))js(b,d,a)|0;return}function Qr(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;if(!(Hr(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(!(Hr(a[h>>0]|0)|0)){d=g;break}else e=g}}return d|0}function Rr(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 Sr(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[32208+(c&15)>>0]|0|f;c=du(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 Tr(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=du(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 Ur(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=bu(f|0,g|0,10,0)|0;h=g;g=G()|0;i=au(f|0,g|0,10,0)|0;j=Xt(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 Vr(a){a=a|0;return ds(a,c[(cs()|0)+188>>2]|0)|0}function Wr(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 Xr(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=Ga;Ga=Ga+256|0;g=f;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;ku(g|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;d=e;do{Pr(a,g,256);d=d+-256|0}while(d>>>0>255);h=b&255}else h=e;Pr(a,g,h)}Ga=f;return}function Yr(a,b){a=a|0;b=b|0;var c=0;if(!a)c=0;else c=$r(a,b,0)|0;return c|0}function Zr(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,Ha=0,Ia=0;j=Ga;Ga=Ga+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=_r(e)|0;r=G()|0;if((r|0)<0){s=-e;t=_r(s)|0;u=s;v=1;w=66816;x=G()|0;y=t}else{u=e;v=(h&2049|0)!=0&1;w=(h&2048|0)==0?((h&1|0)==0?66817:66822):66819;x=r;y=q}do if(0==0&(x&2146435072|0)==2146435072){q=(i&32|0)!=0;y=v+3|0;Xr(b,32,f,y,h&-65537);Pr(b,w,v);Pr(b,u!=u|0.0!=0.0?(q?66865:66843):q?66835:66839,3);Xr(b,32,f,y,h^8192);z=y}else{e=+Er(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=Ur(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[32208+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;Xr(b,32,f,F,h);Pr(b,t,A);Xr(b,48,f,F,h^65536);D=I-n|0;Pr(b,m,D);I=O-P|0;Xr(b,48,N-(D+I)|0,0,0);Pr(b,C,I);Xr(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=eu(c[K>>2]|0,0,r|0)|0;T=Wt(S|0,G()|0,L|0,0)|0;S=G()|0;L=bu(T|0,S|0,1e9,0)|0;U=au(L|0,G()|0,1e9,0)|0;V=Xt(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=Ur(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;Xr(b,32,f,A,h);Pr(b,w,v);Xr(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=Ur(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){ku(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;Pr(b,Ca,T-Ca|0);t=t+4|0}while(t>>>0<=I>>>0);if(!((h&8|0)==0&(F^1)))Pr(b,66873,1);if(t>>>0>>0&(ya|0)>0){I=ya;T=t;while(1){q=Ur(c[T>>2]|0,0,U)|0;if(q>>>0>m>>>0){ku(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;Pr(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;Xr(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=Ur(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;Pr(b,Fa,1);if(U&(S|0)<1){Ha=y;break}Pr(b,66873,1);Ha=y}else{if(Fa>>>0<=m>>>0){Ha=Fa;break}ku(m|0,48,Fa+F|0)|0;y=Fa;while(1){K=y+-1|0;if(K>>>0>m>>>0)y=K;else{Ha=K;break}}}while(0);q=t-Ha|0;Pr(b,Ha,(S|0)>(q|0)?q:S);y=S-q|0;L=L+4|0;if(!(L>>>0>>0&(y|0)>-1)){Ia=y;break}else S=y}}else Ia=ya;Xr(b,48,Ia+18|0,18,0);Pr(b,za,p-za|0)}Xr(b,32,f,A,h^8192);z=A}while(0);Ga=j;return ((z|0)<(f|0)?f:z)|0}function _r(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 $r(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[(as()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;f=1;break}else{c[(rr()|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[(rr()|0)>>2]=84;f=-1;break}}else f=1;while(0);return f|0}function as(){return bs()|0}function bs(){return 34772}function cs(){return bs()|0}function ds(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[32224+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=32320;else{i=f;g=5}if((g|0)==5){g=32320;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 es(j,c[e+20>>2]|0)|0}function es(a,b){a=a|0;b=b|0;return fs(a,b)|0}function fs(a,b){a=a|0;b=b|0;var d=0;if(!b)d=0;else d=gs(c[b>>2]|0,c[b+4>>2]|0,a)|0;return ((d|0)==0?a:d)|0}function gs(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=hs(c[b+8>>2]|0,f)|0;h=hs(c[b+12>>2]|0,f)|0;i=hs(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=hs(c[b+(q<<2)>>2]|0,f)|0;s=hs(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=is(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=hs(c[b+(m<<2)>>2]|0,f)|0;j=hs(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 hs(a,b){a=a|0;b=b|0;var c=0;c=fu(a|0)|0;return ((b|0)==0?a:c)|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;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 js(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(!(ks(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=La[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=La[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);ju(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 ks(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 ls(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;ju(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function ms(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 ns(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[(rr()|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=os(b)|0}while((ps(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=os(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=os(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=os(b)|0;if((d[34129+x>>0]|0)>15){o=(c[l>>2]|0)==0;if(!o)c[k>>2]=(c[k>>2]|0)+-1;if(!f){ms(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[34129+q>>0]|0)>>>0){v=q;w=o;u=32}else{if(c[l>>2]|0)c[k>>2]=(c[k>>2]|0)+-1;ms(b,0);c[(rr()|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=os(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=au(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=Wt(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=os(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[66847+((t*23|0)>>>5&7)>>0]|0;y=a[34129+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=os(b)|0;T=a[34129+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=du(-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=eu(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=os(b)|0;J=a[34129+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[34129+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=os(b)|0;ca=a[34129+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=bu(-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}_=au(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=Wt(_|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=os(b)|0;E=a[34129+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[34129+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=os(b)|0}while(K>>>0>(d[34129+ka>>0]|0)>>>0);c[(rr()|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[(rr()|0)>>2]=34;H=Wt(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[(rr()|0)>>2]=34;i=h;j=g;break}}H=((P|0)<0)<<31>>31;I=Xt(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 os(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=qs(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 ps(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function qs(a){a=a|0;var b=0,e=0,f=0;b=Ga;Ga=Ga+16|0;e=b;if((rs(a)|0)==0?(La[c[a+32>>2]&7](a,e,1)|0)==1:0)f=d[e>>0]|0;else f=-1;Ga=b;return f|0}function rs(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)La[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 ss(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 ts(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=Ga;Ga=Ga+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)us(n,d,e,j,g);else ws(n,d,e,h,j,0,g);if((j|0)==1){xs(h,1);p=0;break}else{xs(h,o);p=1;break}}else{us(n,d,e,j,g);vs(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}ws(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{xs(h,2);l=j+-2|0;c[h>>2]=c[h>>2]^7;vs(h,1);ws(n+(0-(c[g+(l<<2)>>2]|0))+b|0,d,e,h,j+-1|0,1,g);xs(h,1);o=c[h>>2]|1;c[h>>2]=o;q=n+b|0;ws(q,d,e,h,l,1,g);v=q;w=l;x=o}if((u|0)==19){u=0;o=ys(h)|0;vs(h,o);v=n+b|0;w=o+j|0;x=c[h>>2]|0}n=v;j=w;k=x}}while(0);Ga=f;return}function us(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=Ga;Ga=Ga+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((Ka[d&3](m,p)|0)>-1?(Ka[d&3](m,n)|0)>-1:0){q=l;break a}r=h+(l<<2)|0;if((Ka[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);As(b,h,q);Ga=g;return}function vs(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 ws(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=Ga;Ga=Ga+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,(Ka[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((Ka[d&3](o,t)|0)>-1){v=p;w=q;x=s;y=10;break a}if((Ka[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=ys(j)|0;vs(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((Ka[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){As(b,k,v);us(x,b,d,w,h)}Ga=i;return}function xs(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=zs(c[a+4>>2]|0)|0;return ((d|0)==0?0:d+32|0)|0}else return b|0;return 0}function zs(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 As(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=Ga;Ga=Ga+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;ju(i|0,c[b>>2]|0,j|0)|0;k=0;do{l=b+(k<<2)|0;k=k+1|0;ju(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);Ga=e;return}function Bs(a,b){a=a|0;b=b|0;Ds(a,b)|0;return a|0}function Cs(a,b){a=a|0;b=b|0;Bs(a+(ss(a)|0)|0,b)|0;return a|0}function Ds(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 Es(b,c){b=b|0;c=c|0;var d=0;d=Ls(b,c)|0;return ((a[d>>0]|0)==(c&255)<<24>>24?d:0)|0}function Fs(a){a=a|0;var b=0,d=0,e=0,f=0;b=Ga;Ga=Ga+16|0;d=b+8|0;e=Ks(a,589824,b)|0;do if((e|0)>=0){a=jr(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);Ga=b;return f|0}function Gs(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ga;Ga=Ga+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=qr($(195,e|0)|0)|0;Ga=d;return b|0}function Hs(a){a=a|0;var b=0;b=Js(c[a>>2]|0)|0;ir(a);return b|0}function Is(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=Ga;Ga=Ga+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[(rr()|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}Ga=b;return n|0}function Js(a){a=a|0;var b=0,d=0;b=Ga;Ga=Ga+16|0;d=b;c[d>>2]=sr(a)|0;a=ea(6,d|0)|0;d=qr((a|0)==-4?0:a)|0;Ga=b;return d|0}function Ks(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=Ga;Ga=Ga+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=qr(i)|0;Ga=e;return f|0}function Ls(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+(ss(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 Ms(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=Ga;Ga=Ga+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;ms(f,0);i=+Ns(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;Ga=e;return +i}function Ns(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=os(b)|0}while((ps(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=os(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[66856+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=os(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[66865+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=os(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=os(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=os(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[(rr()|0)>>2]=22;ms(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=os(b)|0;if((C|32|0)==120){j=+Os(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=+Ps(b,D,h,g,p,f);break a;break}default:{if(c[k>>2]|0)c[e>>2]=(c[e>>2]|0)+-1;c[(rr()|0)>>2]=22;ms(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 Os(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=os(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=os(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=os(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=os(a)|0;r=Wt(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=Wt(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=os(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 ms(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=Wt(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=Qs(a,g)|0;E=G()|0;if((H|0)==0&(E|0)==-2147483648){if(!g){ms(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=eu(F|0,I|0,2)|0;H=Wt(E|0,G()|0,-32,-1)|0;E=Wt(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[(rr()|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[(rr()|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=Wt(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=Xt(32,0,e|0,((e|0)<0)<<31>>31|0)|0;J=Wt(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);$=+yr(+wr(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[(rr()|0)>>2]=34;Q=+Dr(C,W)}while(0);return +Q}function Ps(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,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.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=Ga;Ga=Ga+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=os(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=os(a)|0;if((y|0)==48){x=0;o=0;while(1){w=Wt(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=os(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=Wt(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 _=os(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=Qs(a,h)|0;r=G()|0;if((v|0)==0&(r|0)==-2147483648){if(!h){ms(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=Wt(Aa|0,Ba|0,t|0,s|0)|0;Ca=$;Da=aa;Ea=ba;Fa=r;Ha=ga;Ia=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;Ha=ma;Ia=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;Ha=ua;Ia=ya;Ja=va;p=43}else p=42;do if((p|0)==42){c[(rr()|0)>>2]=22;ms(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&Ha>>>0<10)&((Fa|0)==(Ha|0)&(Ia|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((Ia|0)>(ya|0)|(Ia|0)==(ya|0)&Fa>>>0>va>>>0){c[(rr()|0)>>2]=34;za=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}va=f+-106|0;ya=((va|0)<0)<<31>>31;if((Ia|0)<(ya|0)|(Ia|0)==(ya|0)&Fa>>>0>>0){c[(rr()|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[34400+(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[34400+(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[34400+(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=eu(c[ra>>2]|0,0,29)|0;pa=Wt(wa|0,G()|0,x|0,0)|0;wa=G()|0;if(wa>>>0>0|(wa|0)==0&pa>>>0>1e9){oa=bu(pa|0,wa|0,1e9,0)|0;qa=au(oa|0,G()|0,1e9,0)|0;na=Xt(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[35016+(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=+yr(+wr(1.0,105-ua|0),hb);jb=+Cr(hb,+wr(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?!(+Cr(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[(rr()|0)>>2]=34;pb=eb;qb=A}else{pb=gb;qb=_a}while(0);za=+Dr(pb,qb)}while(0);Ga=i;return +za}function Qs(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=os(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=os(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=os(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=au(q|0,o|0,10,0)|0;j=G()|0;f=Wt(r|0,((r|0)<0)<<31>>31|0,-48,-1)|0;q=Wt(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=os(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=os(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=Xt(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 Rs(a,b){a=a|0;b=b|0;return +(+Ms(a,b,1))}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;e=Ga;Ga=Ga+32|0;f=e;g=a[d>>0]|0;a:do if(g<<24>>24!=0?(a[d+1>>0]|0)!=0:0){ku(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=Ls(b,g<<24>>24)|0;Ga=e;return l-b|0}function Ts(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=Ga;Ga=Ga+16|0;i=h;j=(g|0)==0?2998860: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[(Us()|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[31536+(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[(rr()|0)>>2]=84;k=-1}Ga=h;return k|0}function Us(){return bs()|0}function Vs(a){a=a|0;var b=0;if(!a)b=1;else b=(c[a>>2]|0)==0&1;return b|0}function Ws(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=Ga;Ga=Ga+48|0;f=e+32|0;g=e+16|0;h=e;if(Es(66869,a[d>>0]|0)|0){i=Xs(d)|0;c[h>>2]=b;c[h+4>>2]=i|32768;c[h+8>>2]=438;b=qr(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=Ys(b,d)|0;if(!g){c[f>>2]=b;ea(6,f|0)|0;j=0}else j=g}else j=0}else{c[(rr()|0)>>2]=22;j=0}Ga=e;return j|0}function Xs(b){b=b|0;var c=0,d=0,e=0,f=0;c=(Es(b,43)|0)==0;d=a[b>>0]|0;e=c?d<<24>>24!=114&1:2;c=(Es(b,120)|0)==0;f=c?e:e|128;e=(Es(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 Ys(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=Ga;Ga=Ga+64|0;f=e+40|0;g=e+24|0;h=e+16|0;i=e;j=e+56|0;if(Es(66869,a[d>>0]|0)|0){k=hr(1156)|0;if(!k)l=0;else{ku(k|0,0,124)|0;if(!(Es(d,43)|0))c[k>>2]=(a[d>>0]|0)==114?8:4;if(Es(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[749700]|0))c[k+76>>2]=-1;Zs(k)|0;l=k}}else{c[(rr()|0)>>2]=22;l=0}Ga=e;return l|0}function Zs(a){a=a|0;var b=0,d=0;b=_s()|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;$s();return a|0}function _s(){W(2998864);return 2998872}function $s(){fa(2998864);return}function at(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=Nr(a)|0;else b=0;bt(a);d=(c[a>>2]&1|0)!=0;if(!d){e=_s()|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;$s()}h=ct(a)|0;e=Ja[c[a+12>>2]&255](a)|0|h;h=c[a+92>>2]|0;if(h|0)ir(h);if(d){if(b|0)Or(a)}else ir(a);return e|0}function bt(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=(et()|0)+232|0;else e=a+116|0;c[e>>2]=b}return}function ct(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=dt(a)|0;break}d=(Nr(a)|0)==0;e=dt(a)|0;if(d)b=e;else{Or(a);b=e}}else{if(!(c[8661]|0))f=0;else f=ct(c[8661]|0)|0;e=c[(_s()|0)>>2]|0;if(!e)g=f;else{d=e;e=f;while(1){if((c[d+76>>2]|0)>-1)h=Nr(d)|0;else h=0;if((c[d+20>>2]|0)>>>0>(c[d+28>>2]|0)>>>0)i=dt(d)|0|e;else i=e;if(h|0)Or(d);d=c[d+56>>2]|0;if(!d){g=i;break}else e=i}}$s();b=g}while(0);return b|0}function dt(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?(La[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)La[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 et(){return bs()|0}function ft(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){b=(Nr(a)|0)==0;d=(c[a>>2]|0)>>>4&1;if(b)e=d;else{Or(a);e=d}}else e=(c[a>>2]|0)>>>4&1;return e|0}function gt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ga;Ga=Ga+16|0;f=e;c[f>>2]=d;d=ht(a,b,f)|0;Ga=e;return d|0}function ht(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=Ga;Ga=Ga+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=jt(f,b,d)|0;Ga=e;return a|0}function it(a,b,c){a=a|0;b=b|0;c=c|0;return mt(a,b,c)|0}function jt(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,Ha=0,Ia=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=Ga;Ga=Ga+288|0;k=j+264|0;l=j;m=j+260|0;n=j+272|0;if((c[e+76>>2]|0)>-1)o=Nr(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(!(ps(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(Hr(I&255)|0?(a[z+2>>0]|0)==36:0){J=kt(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(!(Hr(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(!(Hr(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:{lt(J,I,A,((A|0)<0)<<31>>31);aa=W;ba=B;ca=A;da=Q;ea=U;break c;break}default:{ms(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=os(e)|0}while((ps(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}}ms(e,_);M=c[q>>2]|0;ha=c[r>>2]|0;if(M>>>0>>0){c[q>>2]=M+1;ia=ha}else{if((os(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){ku(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;ku(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=hr(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=os(e)|0;if(!(a[l+(za+1)>>0]|0))break j;a[n>>0]=za;switch(Ts(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=kr(va,ra<<2)|0;if(!wa){X=0;Y=va;Z=143;break b}else{ua=Aa;va=wa}}if(!(Vs(k)|0)){X=0;Y=va;Z=143;break b}else{Ba=xa;Ca=0;Da=va;Ea=va}}else{if(sa){ua=hr(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=os(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=kr(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;Ha=d[ka>>0]|0}else Ha=os(e)|0;if(!(a[l+(Ha+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;Ia=d[wa>>0]|0}else Ia=os(e)|0;if(!(a[l+(Ia+1)>>0]|0)){Ba=ka;Ca=J;Da=0;Ea=0;break i}a[J+ka>>0]=Ia;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=+Ns(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=ns(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{lt(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;ms(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=os(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(!(ps(d[L>>0]|0)|0))break;else I=L}ms(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=os(e)|0}while((ps(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{ir(Ka);ir(Na);Wa=Ma}}else Wa=0;while(0);if(o|0)Or(e);Ga=j;return Wa|0}function kt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=Ga;Ga=Ga+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}Ga=d;return f|0}function lt(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 mt(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=Wr(f,0,g)|0;i=(h|0)==0?g:h-f|0;h=i>>>0>>0?i:d;ju(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 nt(a,b,c){a=a|0;b=b|0;c=c|0;return pt(a,b,c)|0}function ot(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=Ga;Ga=Ga+16|0;f=e;c[f>>2]=d;d=Lr(a,b,f)|0;Ga=e;return d|0}function pt(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=(Nr(a)|0)==0;f=qt(a,b,d)|0;if(e)g=f;else{Or(a);g=f}}else g=qt(a,b,d)|0;return g|0}function qt(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?(La[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((La[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 rt(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=Es(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=st(e,c)|0;break}if(a[e+2>>0]|0){if(!(a[c+3>>0]|0)){f=tt(e,c)|0;break}if(a[e+3>>0]|0)if(!(a[c+4>>0]|0)){f=ut(e,c)|0;break}else{f=vt(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 st(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 tt(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 ut(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 vt(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=Ga;Ga=Ga+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(!(Fr(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=Wr(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);Ga=f;return l|0}function wt(a,b){a=a|0;b=b|0;var c=0;c=ss(a)|0;return ((xt(a,1,c,b)|0)!=(c|0))<<31>>31|0}function xt(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=(Nr(e)|0)==0;h=js(a,f,e)|0;if(d)i=h;else{Or(e);i=h}}else i=js(a,f,e)|0;if((i|0)==(f|0))j=g;else j=(i>>>0)/(b>>>0)|0;return j|0}function yt(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=Ga;Ga=Ga+16|0;g=f;h=e&255;a[g>>0]=h;i=b+16|0;j=c[i>>2]|0;if(!j)if(!(ks(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((La[c[b+36>>2]&7](b,g,1)|0)==1)m=d[g>>0]|0;else m=-1}while(0);Ga=f;return m|0}function zt(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);ku(l|0,0,m|0)|0;return l|0}function At(a,b,c){a=a|0;b=b|0;c=c|0;zt(a,b,c)|0;return a|0}function Bt(b,c){b=b|0;c=c|0;var d=0;d=b+(Ss(b,c)|0)|0;return ((a[d>>0]|0)==0?0:d)|0}function Ct(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?(Nr(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=yt(d,b)|0;Or(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=yt(d,b)|0}while(0);return j|0}function Dt(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){b=(Nr(a)|0)==0;d=Et(a)|0;if(b)e=d;else{Or(a);e=d}}else e=Et(a)|0;return e|0}function Et(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=La[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 Ft(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[8629]|0;if((c[d+76>>2]|0)>-1)e=Nr(d)|0;else e=0;do if((wt(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=(yt(d,10)|0)>>31}while(0);if(e|0)Or(d);return f|0}function Gt(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;if((c[a+76>>2]|0)>=0?(Nr(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=qs(a)|0;Or(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=qs(a)|0;break}}while(0);return g|0}function Ht(a){a=a|0;return Dt(a)|0}function It(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=Nr(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;ju(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(rs(f)|0)break;e=La[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)Or(f);p=((g-j|0)>>>0)/(d>>>0)|0}while(0);if((o|0)==13)if(!i)p=h;else{Or(f);p=h}return p|0}function Jt(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Nr(a)|0)==0;qt(a,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)Or(a)}else{qt(a,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function Kt(a,b){a=a|0;b=b|0;var d=0,e=0;d=Ga;Ga=Ga+16|0;e=d;c[e>>2]=b;b=Lr(c[8629]|0,a,e)|0;Ga=d;return b|0}function Lt(a,b,c){a=a|0;b=b|0;c=c|0;return is(a,b)|0}function Mt(a,b){a=a|0;b=b|0;Nt()|0;return Lt(a,b,0)|0}function Nt(){return bs()|0}function Ot(a){a=a|0;var b=0;if(!(Pt(a)|0))b=(Hr(a)|0)!=0&1;else b=1;return b|0}function Pt(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function Qt(){return 35024}function Rt(){V(2998892);return}function St(){return 2998876}function Tt(){return 2998884}function Ut(){return 2998888}function Vt(){return 2998892}function Wt(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 Xt(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 Yt(a){a=a|0;return (a?31-(D(a^a-1)|0)|0:32)|0}function Zt(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=Yt(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>>>((Yt(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=Wt(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;Xt(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=Xt(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 _t(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=Xt(e^a|0,f^b|0,e|0,f|0)|0;b=G()|0;a=g^e;e=h^f;return Xt((Zt(i,b,Xt(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 $t(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 au(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=$t(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 bu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Zt(a,b,c,d,0)|0}function cu(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 du(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 eu(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 gu(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=kr(d|0,8*(e+1|0)|0)|0;d=gu(a|0,b|0,d|0,e|0)|0;F(e|0);return d|0}function hu(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 iu(a,b){a=a|0;b=b|0;if(!j){j=a;k=b}}function ju(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){sa(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 ku(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 lu(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){Fa(d|0)|0;X(12);return -1}if((d|0)>(qa()|0)){if(!(ta(d|0)|0)){X(12);return -1}}else c[i>>2]=d;return b|0}function mu(a,b){a=a|0;b=b|0;return Ja[a&255](b|0)|0}function nu(a,b,c){a=a|0;b=b|0;c=c|0;return Ka[a&3](b|0,c|0)|0}function ou(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return La[a&7](b|0,c|0,d|0)|0}function pu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ma[a&1](b|0,c|0,d|0,e|0)|0}function qu(a){a=a|0;Na[a&1]()}function ru(a,b){a=a|0;b=b|0;Oa[a&7](b|0)}function su(a,b,c){a=a|0;b=b|0;c=c|0;Pa[a&7](b|0,c|0)}function tu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Qa[a&3](b|0,c|0,d|0)}function uu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Ra[a&0](b|0,c|0,d|0,e|0,f|0)}function vu(a){a=a|0;E(0);return 0}function wu(a,b){a=a|0;b=b|0;E(1);return 0}function xu(a,b,c){a=a|0;b=b|0;c=c|0;E(2);return 0}function yu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;E(3);return 0}function zu(){E(4)}function Au(a){a=a|0;E(5)}function Bu(a,b){a=a|0;b=b|0;E(6)}function Cu(a,b,c){a=a|0;b=b|0;c=c|0;E(7)}function Du(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;E(8)} // EMSCRIPTEN_END_FUNCS var Ja=[vu,nr,Ya,Za,Df,Hf,vh,Ef,Gf,wh,xh,yh,zh,Ah,Bh,Jf,Cf,Ch,Dh,Eh,Fh,Gh,Hh,Ih,Jh,Kh,Lh,Mh,Nh,Oh,Ph,Rh,Sh,Th,Uh,Vh,Wh,Xh,Yh,Zh,_h,$h,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,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,Wf,qj,rj,xf,wf,yf,zf,Af,Bf,If,Rf,sj,Tf,Yf,Xf,Uf,tj,uj,vj,wj,xj,yj,zj,Aj,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu,vu];var Ka=[wu,sf,sl,wu];var La=[xu,tr,pr,ls,nf,ur,or,it];var Ma=[yu,Rj];var Na=[zu,fm];var Oa=[Au,ab,ml,nl,Bq,Au,Au,Au];var Pa=[Bu,Sl,Md,Qd,tf,dc,Nf,Of];var Qa=[Cu,_a,Aq,Cu];var Ra=[Du];return{___divdi3:_t,___emscripten_environ_constructor:Rt,___errno_location:rr,___muldi3:au,___udivdi3:bu,__get_daylight:Tt,__get_environ:Vt,__get_timezone:Ut,__get_tzname:St,_bitshift64Ashr:cu,_bitshift64Lshr:du,_bitshift64Shl:eu,_codo_mixer_callback:dp,_free:ir,_i64Add:Wt,_i64Subtract:Xt,_llvm_bswap_i32:fu,_main:Db,_malloc:hr,_memcpy:ju,_memset:ku,_mix_0:aq,_realloc:kr,_saveSetjmp:gu,_sbrk:lu,_setThrew:iu,_testSetjmp:hu,dynCall_ii:mu,dynCall_iii:nu,dynCall_iiii:ou,dynCall_iiiii:pu,dynCall_v:qu,dynCall_vi:ru,dynCall_vii:su,dynCall_viii:tu,dynCall_viiiii:uu,establishStackSpace:Va,stackAlloc:Sa,stackRestore:Ua,stackSave:Ta}}) // 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_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["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();