Files larger than 1 MB are truncated. Click
here to display the full file (may cause the browser to become unresponsive) or use the
Open button to view outside of Swarm.
var _cdpos=0; var _cartdat=[
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,15,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,112,0,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,7,0,255,255,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,112,7,0,240,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,112,0,0,255,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,65,66,67,68,
52,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,37,14,31,14,18,6,13,14,8,14,1,14,2,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,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,
58,99,58,0,4,242,0,0,31,15,27,30,17,51,3,1,24,21,34,17,31,51,6,1,1,0,45,0,45,2,28,13,16,16,24,17,1,60,23,36,51,8,5,60,40,37,51,4,5,60,57,35,51,5,7,61,41,20,51,7,62,43,14,13,24,24,1,60,37,36,51,9,7,60,57,37,60,105,31,21,38,17,65,16,61,61,16,21,30,51,8,61,79,60,43,0,45,66,23,18,33,26,15,32,21,27,26,2,25,27,34,17,67,65,42,43,1,2,21,18,2,14,32,26,2,42,3,43,2,32,20,17,26,1,2,2,68,46,36,0,45,69,26,2,17,24,31,17,62,96,4,62,192,50,62,48,26,16,1,60,36,65,204,70,35,65,42,70,54,50,51,69,96,61,65,37,61,65,69,38,63,219,24,27,31,17,16,17,13,16,63,111,69,41,73,47,49,4,5,11,69,107,70,29,79,55,49,3,70,125,31,18,36,42,6,72,24,2,65,79,78,46,72,19,81,61,0,45,51,4,72,31,72,37,73,22,0,45,0,45,19,13,25,17,2,75,28,68,26,62,93,78,38,3,63,107,
79,52,60,126,81,38,2,63,46,74,19,74,248,26,2,14,27,80,30,74,122,88,18,24,17,18,32,71,116,36,48,85,96,81,100,85,117,88,49,76,79,71,59,3,84,19,66,52,64,54,30,21,19,20,64,151,75,43,91,50,64,251,64,251,64,235,32,27,28,80,131,68,255,93,137,84,125,68,207,89,54,98,30,74,55,93,41,88,62,2,27,18,18,60,61,103,80,76,223,97,197,72,49,105,34,2,13,80,36,77,89,51,95,61,105,40,61,151,37,62,40,37,100,96,77,103,2,110,58,50,51,4,3,87,29,21,26,15,30,17,13,31,17,61,69,2,104,23,20,21,83,17,72,250,98,40,101,87,104,26,104,29,107,153,59,33,28,16,13,32,107,54,108,196,88,206,72,237,105,164,102,213,107,205,59,16,30,13,35,93,64,15,24,17,13,30,79,56,31,71,24,113,39,30,17,15,32,18,21,109,26,3,57,3,57,105,19,60,36,57,103,25,95,46,63,40,82,53,125,52,1,2,18,27,30,2,21,51,4,57,126,51,2,16,27,94,44,28,30,42,3,3,4,57,12,3,
50,21,53,11,57,7,95,87,63,190,129,58,1,2,28,30,21,26,32,42,130,55,66,25,57,9,57,4,8,122,24,66,184,131,80,69,133,131,42,57,131,39,60,37,86,64,60,63,86,42,20,64,49,70,201,132,55,2,15,21,30,15,73,52,133,49,57,132,62,60,54,132,43,67,55,111,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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;if(typeof Module==="undefined")Module=eval("(function() { try { return Module || {} } catch(e) { return {} } })()");if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0;Module.finishedDataFileDownloads=0}Module.expectedDataFileDownloads++;((function(){function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}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,106,176,0,0,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,0,0,0,0,103,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,18,46,99,111,109,10,118,101,114,115,105,111,110,32,51,10,95,95,108,117,97,95,95,10,10,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,0,136,64,31,102,136,64,112,15,138,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,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,108,50,95,95,115,218,130,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,79,10,48,48,49,90,1,144,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,255,7,113,95,95,109,117,115,105,99,146,106,23,32,191,0,15,12,0,255,255,221,80,48,48,48,10,10,99,70,73,76,0,0,0,0,152,225,10,0,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,0,0,0,0,127,54,0,0,242,6,67,80,79,68,68,0,0,0,1,0,0,0,103,102,120,49,46,112,111,100,0,6,0,33,111,100,23,0,20,255,3,0,63,0,224,0,1,0,11,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,242,30,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,62,0,63,2,4,8,3,0,0,46,3,7,21,0,62,1,2,5,45,0,15,3,0,154,20,9,3,0,2,12,0,15,48,0,20,8,57,0,9,3,0,56,3,5,10,3,0,242,78,36,28,40,39,28,64,103,48,69,14,104,70,142,64,44,73,51,59,169,136,121,243,225,186,177,16,51,200,122,66,238,191,91,0,167,61,53,124,196,117,95,101,220,74,96,222,177,141,3,5,10,29,34,57,87,38,63,0,88,45,130,57,48,92,75,64,177,148,120,3,5,10,199,16,40,210,132,69,3,5,10,46,179,67,64,128,207,3,5,10,220,119,91,99,0,245,0,50,41,53,101,46,63,14,84,69,136,66,49,80,67,59,123,0,50,190,113,63,9,0,48,67,136,219,48,0,34,95,108,15,0,128,39,37,55,94,42,63,14,95,78,0,59,83,63,69,177,0,96,3,5,10,40,117,196,48,0,37,74,108,18,0,206,94,57,63,14,104,65,3,5,10,78,55,62,48,0,14,3,0,0,240,0,32,93,67,48,0,30,62,96,0,15,3,0,90,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,94,231,39,0,231,86,180,4,15,1,0,26,240,3,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,18,64,72,48,31,128,72,48,6,32,15,15,3,0,19,4,1,0,64,3,3,11,3,4,0,15,210,0,87,12,128,0,2,1,0,15,120,0,79,4,204,52,16,15,1,0,50,0,4,2,128,0,19,2,1,0,15,249,0,80,3,35,53,123,15,1,15,15,1,0,4,1,0,15,128,0,88,2,0,1,14,128,0,47,7,0,128,1,82,17,0,110,0,2,125,1,8,128,0,79,7,10,7,0,1,0,82,79,9,9,9,0,0,1,96,5,1,0,63,15,0,15,128,0,2,47,11,0,1,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,132,0,28,64,19,84,20,64,4,4,0,5,248,116,4,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,15,184,0,33,68,2,2,8,2,183,0,7,40,2,13,200,0,15,184,0,33,68,15,15,8,15,183,0,7,40,2,13,200,0,15,40,2,29,5,90,1,7,8,0,3,22,0,7,248,2,15,40,2,35,5,90,1,7,8,0,3,22,0,7,248,2,12,40,2,15,252,115,255,11,47,5,6,52,0,31,15,207,67,60,15,129,0,143,31,2,129,0,1,15,132,0,55,31,4,119,0,5,15,0,1,76,4,252,1,46,3,3,11,2,15,127,1,89,15,80,0,2,47,2,0,1,0,207,4,118,72,1,7,0,7,13,0,11,35,0,47,0,0,197,70,66,31,3,1,0,3,14,25,0,14,29,0,15,84,72,50,31,2,1,0,3,14,25,0,15,29,0,4,15,128,0,109,14,8,1,15,128,0,91,14,8,1,15,128,0,255,236,31,4,86,6,3,0,14,74,15,128,0,74,31,3,1,0,36,31,2,1,0,9,15,157,0,7,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,76,47,0,0,180,51,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,254,15,208,115,7,1,199,113,5,8,0,15,208,115,89,0,184,48,33,0,0,199,114,20,0,8,0,15,208,115,86,125,12,12,0,8,9,9,8,0,1,15,208,115,9,47,7,7,128,0,62,33,15,9,1,0,20,15,8,0,15,208,115,8,30,7,31,169,15,128,1,49,17,9,200,114,4,8,0,15,208,114,7,31,7,128,0,58,2,124,0,0,1,0,67,10,10,10,10,7,0,47,10,10,208,115,7,18,15,127,0,31,15,131,0,52,1,252,1,34,12,12,222,171,21,10,20,3,31,8,0,1,5,1,54,52,30,7,4,1,15,128,0,47,25,8,145,3,15,208,115,5,2,183,52,4,131,0,15,128,1,52,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,255,255,255,255,255,255,255,255,42,10,0,59,19,6,1,0,6,0,60,4,134,58,2,8,0,19,5,1,0,64,6,6,7,6,4,0,15,128,0,47,10,0,60,6,128,0,4,0,60,50,1,4,4,32,0,1,8,0,6,128,0,2,1,0,15,0,1,62,3,90,0,4,104,0,13,0,1,18,1,24,0,19,1,1,0,15,126,0,46,11,100,111,27,6,1,0,18,4,24,60,20,4,8,0,27,5,1,0,31,0,10,58,54,2,8,0,12,128,0,11,32,60,31,5,128,0,63,67,14,14,14,14,7,0,34,14,14,128,0,24,5,128,0,10,32,60,2,125,1,15,128,0,58,1,3,0,4,158,106,14,0,1,10,32,60,15,0,1,63,10,183,102,14,128,1,10,32,60,15,128,0,61,4,24,180,31,2,148,112,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,15,68,180,5,15,88,0,10,255,0,10,4,9,2,8,3,11,1,12,13,14,5,15,6,7,24,113,9,19,6,115,61,18,13,15,1,0,8,0,1,125,4,17,13,162,3,50,6,7,13,7,1,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,3,67,5,1,144,0,32,20,32,68,2,61,0,0,32,160,66,96,5,1,2,1,13,6,34,237,95,13,5,13,6,0,1,0,221,11,88,3,15,255,0,221,16,5,0,2,30,13,0,2,15,184,214,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,16,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,0,135,35,2,138,35,34,0,6,131,0,19,45,39,0,12,43,0,13,204,143,0,2,0,15,40,151,13,25,0,238,35,2,113,0,2,118,0,11,8,0,4,32,0,14,20,1,15,92,0,33,47,8,8,92,0,20,16,164,159,98,3,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,3,147,37,31,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,7,60,41,14,32,0,15,168,0,13,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,14,80,1,15,242,4,17,3,240,40,15,16,5,4,15,84,0,237,15,200,104,5,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,20,69,19,1,235,105,2,117,106,3,7,0,10,16,0,5,32,0,15,112,69,32,6,36,106,2,8,0,42,8,8,16,0,14,56,0,15,92,0,24,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,26,0,58,169,18,7,13,66,18,7,12,0,4,89,168,15,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,4,201,167,10,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,4,111,169,5,17,0,10,120,1,15,132,2,36,6,99,1,5,14,1,15,112,1,3,18,100,30,170,15,172,221,10,41,8,8,1,222,4,10,0,23,2,10,0,4,6,0,12,10,0,9,24,222,15,108,0,26,25,15,10,0,23,15,10,0,4,6,0,12,10,0,15,108,0,39,0,146,223,27,2,170,225,15,20,0,9,15,216,0,42,0,13,225,11,186,225,15,20,0,6,15,184,223,183,15,92,0,13,3,139,174,23,8,2,0,22,2,69,2,7,16,0,2,39,0,15,224,225,26,3,87,172,23,8,2,0,22,15,53,2,7,16,0,4,55,225,15,20,1,25,3,17,2,3,203,225,15,8,0,6,12,57,2,15,8,228,21,2,239,227,6,12,0,15,8,0,1,12,41,2,15,192,228,22,9,176,228,30,8,152,226,15,80,227,37,4,181,0,23,15,0,228,14,152,226,15,80,227,35,21,2,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,3,1,2,2,9,228,5,109,229,3,8,0,4,24,0,7,226,228,15,92,0,26,38,15,15,9,228,5,109,229,3,8,0,4,24,0,8,134,117,15,48,230,31,11,88,4,15,80,4,53,14,88,4,15,80,4,17,14,192,79,15,14,7,2,19,6,148,113,7,82,7,19,7,32,80,4,36,80,15,1,0,28,8,60,0,8,84,0,8,108,0,12,108,80,82,1,0,0,20,0,4,0,15,232,9,15,10,112,120,10,188,0,14,196,0,14,153,0,15,1,0,216,14,4,1,15,44,1,3,14,84,1,15,136,83,7,48,5,0,0,96,83,31,36,96,230,33,0,104,0,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,180,88,22,98,56,19,0,0,70,0,4,0,15,140,235,64,1,200,121,1,168,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,47,15,28,204,56,15,236,28,21,3,156,29,3,136,29,11,253,30,5,33,31,5,9,0,15,236,28,26,3,156,29,3,136,29,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,46,2,2,8,0,15,184,0,39,10,8,0,46,15,15,8,0,10,184,0,19,141,33,205,31,11,104,21,45,6,202,147,54,1,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,16,245,80,149,3,4,0,15,116,23,60,10,232,149,7,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,161,144,89,31,0,253,0,111,14,106,108,12,206,146,1,221,111,3,247,109,30,13,8,0,4,32,0,7,198,146,15,84,0,15,3,40,152,98,6,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,59,116,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,1,91,3,4,211,154,20,1,16,0,47,0,0,114,3,1,15,84,0,97,6,91,0,39,1,0,115,49,3,131,155,46,1,1,168,5,15,84,0,105,4,26,156,15,8,0,5,47,0,0,84,0,81,15,232,46,27,31,0,234,216,2,15,252,47,46,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,15,24,122,23,15,44,0,255,63,16,101,246,159,3,4,0,15,188,1,13,4,141,161,16,6,157,156,2,18,16,45,13,6,9,0,4,27,0,3,46,0,3,165,121,15,109,0,21,5,50,51,0,38,157,2,32,2,45,13,7,9,0,4,27,0,3,174,220,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,130,9,3,182,0,3,9,0,20,14,200,0,7,27,0,10,218,0,19,14,22,162,15,218,0,49,14,227,0,15,218,0,63,14,227,0,15,218,0,17,98,20,1,0,0,16,0,4,0,14,187,13,15,184,226,236,15,28,1,4,28,7,1,0,14,6,7,15,16,0,202,15,56,2,13,15,43,1,233,15,46,4,29,5,201,167,69,1,13,7,13,141,18,11,18,0,14,237,167,15,41,7,5,15,18,3,76,15,109,0,19,46,7,0,254,9,25,7,118,58,4,115,10,4,65,24,7,161,11,15,109,0,27,7,207,11,15,9,0,4,6,255,4,8,110,24,9,77,228,15,109,0,19,14,114,10,14,139,59,14,18,0,13,54,0,15,218,0,22,8,237,58,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,79,165,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,191,0,155,255,255,232,241,255,255,188,204,255,128,2,255,255,96,34,39,231,124,2,4,4,0,63,168,119,255,0,5,255,255,96,49,50,226,0,124,2,62,169,112,132,124,2,15,128,2,255,217,42,232,241,140,4,15,20,0,5,12,24,0,14,20,0,10,44,0,14,100,0,14,36,0,63,255,173,41,124,1,166,63,167,171,178,8,0,26,8,56,0,4,4,0,15,16,0,1,8,20,0,15,16,0,4,15,80,0,10,14,28,0,14,72,0,14,56,0,15,128,2,99,14,116,2,14,88,2,14,16,0,15,64,0,19,12,40,0,8,72,0,14,36,0,15,128,2,219,12,24,0,14,12,0,15,48,0,2,15,136,0,18,15,72,0,12,15,128,2,130,14,216,4,15,128,2,43,15,76,5,8,15,128,2,242,15,152,4,0,15,56,2,38,14,72,2,14,128,2,15,160,0,8,15,0,5,118,14,28,0,15,0,5,51,14,72,0,15,0,5,183,14,8,2,15,24,2,26,15,0,5,57,15,128,2,186,15,20,10,16,15,252,9,37,15,128,2,230,15,16,5,29,12,72,0,15,136,0,25,15,72,0,12,15,128,2,65,15,4,0,255,255,43,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,247,15,80,57,255,246,15,128,2,105,63,139,138,136,4,0,255,235,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,44,15,4,0,255,242,15,128,2,48,15,4,0,255,255,43,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,63,54,54,54,4,0,255,243,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,51,31,103,124,82,255,255,46,78,105,102,102,0,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,101,14,128,2,15,124,2,255,255,77,15,128,2,4,15,124,2,255,255,104,14,132,2,15,124,2,255,255,97,14,132,2,15,124,2,255,255,97,8,132,2,15,4,0,255,255,55,15,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]);fileData0.push.apply(fileData0,[200,10,5,4,140,2,15,12,12,9,0,160,2,4,4,0,4,140,77,15,188,12,4,15,72,0,36,15,0,65,255,168,15,128,2,0,15,4,0,30,14,0,5,15,4,0,255,132,15,148,81,1,15,128,2,125,14,228,4,15,148,2,6,14,128,7,15,4,0,255,145,4,156,18,4,204,16,15,128,2,145,8,4,0,4,244,6,15,8,20,123,15,204,7,255,24,12,24,94,15,128,2,157,4,192,1,14,128,2,15,244,4,255,136,8,160,6,4,12,0,4,24,94,15,128,2,181,14,40,21,15,4,0,255,120,0,116,2,46,177,217,24,94,15,128,2,112,15,84,56,41,15,4,5,255,151,14,24,94,15,128,12,119,15,84,28,27,15,128,2,255,164,15,24,94,9,15,128,2,117,15,84,28,43,15,128,7,255,152,15,128,2,181,14,92,23,15,4,0,255,156,4,52,24,15,128,2,112,15,4,0,255,143,15,208,103,5,15,80,0,37,4,252,4,0,76,34,15,128,2,255,162,15,68,20,11,15,88,0,39,0,56,43,38,0,155,16,0,4,76,43,4,116,0,0,48,2,4,184,19,15,192,0,49,47,177,217,0,5,255,252,4,148,208,8,84,11,4,144,2,12,56,22,15,116,0,51,15,128,92,255,160,31,168,40,45,88,15,56,22,9,15,108,0,48,15,0,10,255,255,8,8,128,2,47,177,217,80,116,11,15,88,7,0,15,0,5,21,15,128,7,255,255,24,15,80,116,20,15,128,2,255,255,48,15,128,12,3,15,208,113,6,15,128,2,255,151,14,152,1,15,48,2,75,31,177,52,17,7,15,56,22,54,15,212,0,8,15,128,2,255,123,12,148,62,15,176,14,85,31,177,52,17,60,4,4,0,14,248,19,15,128,2,255,144,8,200,6,31,177,48,12,72,14,192,4,14,52,17,15,200,5,80,15,128,7,255,215,15,128,2,1,4,52,7,12,12,0,0,180,14,15,200,0,85,14,236,7,15,128,12,255,196,15,128,7,4,15,52,17,78,15,124,2,8,14,112,10,15,128,2,255,201,4,128,12,4,8,0,42,0,155,20,0,15,52,17,69,15,120,2,8,15,248,12,5,15,128,17,255,203,42,0,155,128,7,4,8,5,15,52,17,24,15,120,2,70,14,136,2,15,0,20,255,200,8,8,10,15,52,17,41,14,184,4,15,120,2,47,14,136,2,15,128,2,255,28,14,116,36,15,128,2,139,12,188,0,15,108,37,44,15,116,2,1,15,132,2,45,15,128,2,255,15,15,248,38,4,15,136,12,158,15,244,4,20,15,4,0,97,15,128,2,254,15,200,8,20,15,56,27,146,14,128,2,15,124,2,6,15,128,2,230,15,100,57,12,15,4,0,255,207,15,0,5,125,15,176,26,44,15,104,6,65,15,20,5,45,15,228,5,145,15,128,7,246,14,176,26,15,104,1,78,15,148,2,218,15,188,0,25,4,180,59,4,192,27,15,128,7,255,255,35,15,76,1,41,12,64,30,15,128,7,196,15,4,0,255,71,15,204,8,27,15,64,30,79,15,4,0,0,15,0,70,109,15,220,11,255,75,12,204,8,15,244,4,21,47,232,241,64,30,11,15,172,6,55,15,128,2,255,204,15,32,2,31,15,196,163,30,15,128,2,255,243,15,48,11,57,15,196,163,36,15,0,10,255,231,15,176,18,16,15,116,47,61,15,0,10,255,251,14,228,9,15,100,0,63,0,120,7,15,192,0,12,15,128,7,209,15,172,17,9,15,128,7,255,55,15,96,1,4,15,128,2,255,3,12,124,6,14,176,27,15,92,10,255,124,15,128,2,193,14,124,6,15,0,30,255,255,29,15,160,3,56,15,128,2,255,255,100,14,4,0,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,169,63,255,155,63,4,0,255,235,15,128,2,255,94,4,176,20,15,128,2,255,255,99,12,48,28,15,128,2,255,255,99,8,48,28,15,128,2,255,255,31,14,60,7,15,128,7,255,204,8,40,13,15,248,0,61,14,92,0,15,60,7,255,0,14,128,1,15,0,5,255,12,12,44,1,14,56,1,15,56,0,22,15,60,7,13,15,8,2,101,15,0,5,255,91,15,160,1,25,14,72,2,15,56,0,30,15,60,7,21,15,32,3,61,15,0,10,255,199,14,52,4,15,56,0,30,15,32,3,77,15,128,2,255,187,12,220,1,14,72,2,15,56,0,30,15,32,3,81,15,0,5,255,191,15,8,10,56,15,32,3,61,15,128,2,255,227,15,144,4,89,14,44,12,15,232,2,79,8,32,62,15,32,0,8,15,80,0,34,15,4,0,20,15,128,2,186,14,212,0,15,80,19,14,15,0,20,154,14,8,10,15,0,30,255,255,89,14,4,0,15,128,2,255,255,255,250,15,32,38,0,15,0,5,255,255,255,133,15,168,3,0,15,128,2,255,135,15,84,5,20,15,8,3,255,54,15,128,12,255,255,111,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,15,4,0,255,242,15,128,2,56,15,4,0,255,255,35,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,252,63,54,54,54,4,0,255,243,15,128,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,230,49,93,85,88,4,0,0,132,2,15,128,82,255,255,95,4,124,2,0,4,0,0,120,2,78,0,0,0,0,128,2,15,124,2,255,255,89,14,128,2,15,124,2,255,255,93,14,128,2,15,124,2,255,255,93,14,128,2,15,124,2,255,255,93,14,128,2,15,124,2,255,255,93,12,128,2,63,75,65,68,124,2,255,255,92,9,132,2,111,65,68,255,75,56,63,4,0,255,255,52,15,124,2,25,9,132,2,47,56,63,4,0,255,255,56,14,124,2,15,132,2,19,15,4,0,255,255,55,15,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,31,0,110,2,54,15,77,0,151,147,148,0,2,0,160,0,0,0,205,131,6,7,31,0,31,255,4,0,255,255,119,14,107,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,31,179,63,188,204,255,128,2,255,255,96,42,39,231,163,181,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,47,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,0,21,0,23,5,48,0,7,25,1,2,13,0,31,7,108,1,8,10,73,1,9,87,1,4,183,0,15,96,0,20,5,183,0,15,192,0,2,6,171,0,4,192,0,5,108,0,9,60,1,10,73,1,8,87,1,5,231,0,4,60,1,2,34,0,9,73,1,8,27,0,6,204,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,255,35,4,126,4,15,96,0,20,5,175,4,15,28,6,20,5,63,5,15,28,6,20,0,62,5,2,48,0,15,56,12,19,6,159,5,15,56,12,19,14,111,5,14,56,12,14,43,14,15,56,12,255,255,255,255,49,9,116,4,15,28,6,15,9,165,4,15,28,6,16,5,53,5,15,28,6,20,9,164,10,15,56,12,13,15,96,0,23,5,51,1,14,192,0,15,56,12,12,8,101,5,15,84,18,255,255,255,140,14,59,9,14,28,6,14,48,0,15,84,18,255,255,37,3,135,0,15,112,24,70,4,231,0,15,28,6,255,255,60,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,240,13,1,9,0,32,0,15,46,4,1,48,4,3,7,0,15,231,0,17,5,82,2,22,7,7,0,17,6,21,0,2,194,1,2,6,0,15,79,3,7,15,1,0,27,15,77,0,255,90,2,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,235,80,16,16,0,0,0,99,70,73,76,0,0,0,0,84,45,0,0,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,0,0,0,0,250,3,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,255,255,255,137,20,255,3,0,1,12,0,15,43,0,9,111,255,0,255,255,0,255,86,0,18,0,43,0,37,255,255,6,0,15,43,0,10,1,35,0,4,42,0,15,129,0,13,2,5,0,2,7,0,15,86,0,11,4,3,0,1,90,0,15,2,1,12,31,255,45,1,23,6,47,1,31,255,88,1,14,5,45,0,15,215,0,15,1,167,0,47,0,255,215,0,13,5,92,1,47,0,255,4,2,23,1,45,0,15,43,0,15,1,135,1,15,90,2,26,15,2,1,12,7,46,1,14,129,0,13,4,2,5,179,1,31,255,217,1,13,6,86,0,15,43,0,13,5,88,2,15,43,0,19,2,93,0,14,129,0,15,6,3,0,3,49,0,15,219,2,15,7,135,0,15,86,0,11,1,3,0,30,255,2,1,15,172,0,5,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,15,129,0,14,2,173,2,2,6,0,15,88,1,12,3,4,0,14,133,2,15,4,2,7,15,221,3,16,4,176,2,0,56,0,15,172,0,12,15,10,5,21,47,0,0,180,4,23,5,93,2,47,0,0,43,0,17,5,182,2,31,0,86,0,16,30,255,86,0,15,43,0,11,47,0,0,172,0,20,15,215,0,17,31,0,45,1,24,4,10,6,31,255,43,0,24,31,0,129,0,16,4,48,1,15,43,0,14,6,184,3,15,45,1,17,3,222,1,15,174,1,22,15,135,3,16,31,255,217,1,25,4,13,5,15,98,6,16,4,182,4,15,219,2,20,31,0,172,0,20,3,7,0,15,174,1,21,14,98,6,15,47,2,4,1,8,0,15,90,2,21,15,86,0,22,31,255,176,2,19,31,0,47,2,22,6,235,8,15,223,4,17,15,184,6,18,8,133,2,15,10,5,17,31,255,96,5,17,10,101,7,15,10,5,12,15,20,10,21,11,224,0,15,61,9,13,14,86,0,15,227,6,7,15,92,3,19,8,173,2,15,20,10,14,6,3,1,31,0,131,1,14,15,188,8,23,3,215,1,14,96,5,15,43,0,10,47,0,0,172,0,20,15,188,8,15,15,45,1,25,15,104,9,25,47,255,0,96,5,18,5,174,4,15,96,5,15,31,255,96,5,23,8,93,5,47,255,0,174,1,23,31,0,4,2,15,14,96,5,15,133,2,12,14,174,1,15,59,8,1,15,96,5,18,47,255,255,45,1,22,25,0,106,10,31,0,174,1,21,15,241,13,15,15,96,5,21,8,3,3,15,86,0,22,31,255,176,2,16,14,96,5,15,151,11,6,15,96,5,21,4,141,8,15,231,8,17,4,126,1,1,15,5,15,22,11,53,5,80,0,15,145,8,18,5,196,12,31,0,186,7,21,5,2,1,95,55,0,0,0,7,49,3,1,15,1,0,15,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,8,91,16,3,25,1,8,72,0,15,63,0,13,5,91,6,2,57,0,15,14,0,1,15,126,0,10,40,0,255,162,5,6,137,12,4,23,0,15,63,0,14,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,192,1,7,208,17,15,248,1,22,9,255,0,15,248,1,22,28,255,47,0,5,181,1,15,244,2,17,8,232,0,6,7,2,9,16,1,15,189,0,18,5,216,5,39,0,255,140,1,15,252,0,14,7,54,3,31,0,248,1,33,31,0,191,3,0,9,1,0,15,122,1,25,6,175,19,15,189,0,32,7,135,1,25,255,74,19,15,248,1,12,10,238,0,10,10,1,15,55,2,27,10,123,4,47,255,255,59,1,17,22,255,220,5,7,11,0,15,59,1,11,15,135,16,7,9,224,10,15,55,2,19,11,82,21,31,0,244,2,25,15,14,0,2,15,232,5,23,15,7,0,1,15,173,20,21,11,98,2,15,43,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,235,80,0,0,0,0,0]);Module["FS_createDataFile"]("/","pico8.dat",fileData0,true,true)}if(Module["calledRun"]){runWithFS()}else{if(!Module["preRun"])Module["preRun"]=[];Module["preRun"].push(runWithFS)}}))();var Module;if(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function";var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){if(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};if(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){return Module["read"](filename,true)};Module["load"]=function load(f){globalEval(read(f))};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}}))}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var 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}this["Module"]=Module}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WEB){window["Module"]=Module}else{Module["load"]=importScripts}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}if(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}if(!Module["print"]){Module["print"]=(function(){})}if(!Module["printErr"]){Module["printErr"]=Module["print"]}if(!Module["arguments"]){Module["arguments"]=[]}if(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(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 Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[],addFunction:(function(func){for(var i=0;i<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),getAsmConst:(function(code,numArgs){if(!Runtime.asmConstCache)Runtime.asmConstCache={};var func=Runtime.asmConstCache[code];if(func)return func;var args=[];for(var i=0;i<numArgs;i++){args.push(String.fromCharCode(36)+i)}var source=Pointer_stringify(code);if(source[0]==='"'){if(source.indexOf('"',1)===source.length-1){source=source.substr(1,source.length-2)}else{abort("invalid EM_ASM input |"+source+"|. Please use EM_ASM(..code..) (no quotes) or EM_ASM({ ..code($0).. }, input) (to input values)")}}try{var evalled=eval("(function(Module, FS) { return function("+args.join(",")+"){ "+source+" } })")(Module,typeof FS!=="undefined"?FS:null)}catch(e){Module.printErr("error in executing inline EM_ASM code: "+e+" on: \n\n"+source+"\n\nwith args |"+args+"| (make sure to use the right one out of EM_ASM, EM_ASM_ARGS, etc.)");throw e}return Runtime.asmConstCache[code]=evalled}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),UTF8Processor:(function(){var buffer=[];var needed=0;this.processCChar=(function(code){code=code&255;if(buffer.length==0){if((code&128)==0){return String.fromCharCode(code)}buffer.push(code);if((code&224)==192){needed=1}else if((code&240)==224){needed=2}else{needed=3}return""}if(needed){buffer.push(code);needed--;if(needed>0)return""}var c1=buffer[0];var c2=buffer[1];var c3=buffer[2];var c4=buffer[3];var ret;if(buffer.length==2){ret=String.fromCharCode((c1&31)<<6|c2&63)}else if(buffer.length==3){ret=String.fromCharCode((c1&15)<<12|(c2&63)<<6|c3&63)}else{var codePoint=(c1&7)<<18|(c2&63)<<12|(c3&63)<<6|c4&63;ret=String.fromCharCode(((codePoint-65536)/1024|0)+55296,(codePoint-65536)%1024+56320)}buffer.length=0;return ret});this.processJSString=function processJSString(string){string=unescape(encodeURIComponent(string));var ret=[];for(var i=0;i<string.length;i++){ret.push(string.charCodeAt(i))}return ret}}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;if(DYNAMICTOP>=TOTAL_MEMORY)enlargeMemory();return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var stack=0;var JSfuncs={"stackSave":(function(){stack=Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore(stack)}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args){var func=getCFunc(ident);var cArgs=[];if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0)JSfuncs["stackRestore"]();return ret};var sourceRegex=/^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource={};for(var fun in JSfuncs){if(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){funcstr+=JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"="+convertCode.returnValue+";"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){funcstr+=JSsource["stackRestore"].body+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["cwrap"]=cwrap;Module["ccall"]=ccall;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)}}Module["setValue"]=setValue;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 setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;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,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;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];if(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];if(type===0){i++;continue}if(type=="i64")type="i32";setValue(ret+i,curr,type);if(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function Pointer_stringify(ptr,length){var hasUtf=false;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];if(t>=128)hasUtf=true;else if(t==0&&!length)break;i++;if(length&&i==length)break}if(!length)length=i;var ret="";if(!hasUtf){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}var utf8=new Runtime.UTF8Processor;for(i=0;i<length;i++){t=HEAPU8[ptr+i>>0];ret+=utf8.processCChar(t)}return ret}Module["Pointer_stringify"]=Pointer_stringify;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr){for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr+i*2>>1]=codeUnit}HEAP16[outPtr+str.length*2>>1]=0}Module["stringToUTF16"]=stringToUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr){var iChar=0;for(var iCodeUnit=0;iCodeUnit<str.length;++iCodeUnit){var codeUnit=str.charCodeAt(iCodeUnit);if(codeUnit>=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++iCodeUnit);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr+iChar*4>>2]=codeUnit;++iChar}HEAP32[outPtr+iChar*4>>2]=0}Module["stringToUTF32"]=stringToUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={"v":"void","b":"bool","c":"char","s":"short","i":"int","l":"long","f":"float","d":"double","w":"wchar_t","a":"signed char","h":"unsigned char","t":"unsigned short","j":"unsigned int","m":"unsigned long","x":"long long","y":"unsigned long long","z":"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a<i;a++)pre+=" ";Module.print(pre+"^")}function parseNested(){i++;if(func[i]==="K")i++;var parts=[];while(func[i]!=="E"){if(func[i]==="S"){i++;var next=func.indexOf("_",i);var num=func.substring(i,next)||0;parts.push(subs[num]||"?");i=next+1;continue}if(func[i]==="C"){parts.push(parts[parts.length-1]);i+=2;continue}var size=parseInt(func.substr(i));var pre=size.toString().length;if(!size||!pre){i--;break}var curr=func.substr(i+pre,size);parts.push(curr);subs.push(curr);i+=pre+size}i++;return parts}function parse(rawList,limit,allowVoid){limit=limit||Infinity;var ret="",list=[];function flushList(){return"("+list.join(", ")+")"}var name;if(func[i]==="N"){name=parseNested().join("::");limit--;if(limit===0)return rawList?[name]:name}else{if(func[i]==="K"||first&&func[i]==="L")i++;var size=parseInt(func.substr(i));if(size){var pre=size.toString().length;name=func.substr(i+pre,size);i+=pre+size}}first=false;if(func[i]==="I"){i++;var iList=parse(true);var iRet=parse(true,1,true);ret+=iRet[0]+" "+name+"<"+iList.join(", ")+">"}else{ret=name}paramLoop:while(i<func.length&&limit-->0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var final=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}final=parse()}catch(e){final+="?"}if(final.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return final}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}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(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){return x+4095&-4096}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function enlargeMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||128e6;var FAST_MEMORY=Module["FAST_MEMORY"]||2097152;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}if(totalMemory!==TOTAL_MEMORY){Module.printErr("increasing TOTAL_MEMORY to "+totalMemory+" to be more reasonable");TOTAL_MEMORY=totalMemory}assert(typeof Int32Array!=="undefined"&&typeof Float64Array!=="undefined"&&!!(new Int32Array(1))["subarray"]&&!!(new Int32Array(1))["set"],"JS engine does not provide full typed array support");var buffer=new ArrayBuffer(TOTAL_MEMORY);HEAP8=new Int8Array(buffer);HEAP16=new Int16Array(buffer);HEAP32=new Int32Array(buffer);HEAPU8=new Uint8Array(buffer);HEAPU16=new Uint16Array(buffer);HEAPU32=new Uint32Array(buffer);HEAPF32=new Float32Array(buffer);HEAPF64=new Float64Array(buffer);HEAP32[0]=255;assert(HEAPU8[0]===255&&HEAPU8[3]===0,"Typed arrays 2 must be run on a little-endian system");Module["HEAP"]=HEAP;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;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){Runtime.dynCall("v",func)}else{Runtime.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)}Module["addOnPreRun"]=Module.addOnPreRun=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=Module.addOnInit=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=Module.addOnPreMain=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=Module.addOnExit=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=Module.addOnPostRun=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var ret=(new Runtime.UTF8Processor).processJSString(stringy);if(length){ret.length=length}if(!dontAddNull){ret.push(0)}return ret}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer+i>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;i++){HEAP8[buffer+i>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer+str.length>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}if(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;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["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;STATIC_BASE=8;STATICTOP=STATIC_BASE+Runtime.alignMemory(1156491);__ATINIT__.push();allocate([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,111,111,116,95,112,97,116,104,0,0,0,0,0,0,0,99,100,97,116,97,95,112,97,116,104,0,0,0,0,0,0,106,111,121,115,116,105,99,107,95,105,110,100,101,120,0,0,32,37,100],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([98,117,116,116,111,110,95,107,101,121,115,0,0,0,0,0,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,32,37,100,0,108,105,118,101,95,110,111,116,101,115,0,0,0,0,0,0,97,115,112,101,99,116,0,0,99,117,114,115,111,114,95,115,110,97,112,0,0,0,0,0,118,101,114,115,105,111,110,32,37,115,10,10,0,0,0,0,48,46,49,46,54,0,0,0,10,47,47,32,76,111,99,97,116,105,111,110,32,111,102,32,112,105,99,111,45,56,39,115,32,114,111,111,116,32,102,111,108,100,101,114,10,0,0,0,114,111,111,116,95,112,97,116,104,32,37,115,10,10,0,0,10,47,47,32,76,111,99,97,116,105,111,110,32,111,102,32,99,97,114,116,114,105,100,103,101,32,115,97,118,101,32,100,97,116,97,10,0,0,0,0,99,100,97,116,97,95,112,97,116,104,32,37,115,10,10,0,10,47,47,32,83,112,101,99,105,102,121,32,119,104,105,99,104,32,112,108,97,121,101,114,32,105,110,100,101,120,32,106,111,121,115,116,105,99,107,32,99,111,110,116,114,111,108,32,98,101,103,105,110,115,32,97,116,32,40,48,46,46,55,41,10,0,0,0,0,0,0,0,106,111,121,115,116,105,99,107,95,105,110,100,101,120,32,37,100,10,10,0,0,0,0,0,98,117,116,116,111,110,95,107,101,121,115,32,0,0,0,0,37,100,32,0,0,0,0,0,10,10,0,0,0,0,0,0,47,47,32,80,108,97,121,32,110,111,116,101,115,32,97,115,32,116,104,101,121,32,97,114,101,32,112,108,111,116,116,101,100,32,105,110,32,102,114,101,113,117,101,110,99,121,32,109,111,100,101,10,0,0,0,0,108,105,118,101,95,110,111,116,101,115,32,37,100,10,10,0,47,47,32,52,50,48,32,102,111,114,32,49,58,49,44,32,53,54,48,32,102,111,114,32,52,58,51,44,32,53,50,53,32,102,111,114,32,53,58,52,32,101,116,99,46,10,0,0,97,115,112,101,99,116,32,37,100,10,10,0,0,0,0,0,47,47,32,105,102,102,32,49,58,32,119,104,101,110,32,117,115,105,110,103,32,107,101,121,98,111,97,114,100,32,99,117,114,115,111,114,44,32,115,110,97,112,32,116,111,32,99,108,111,115,101,115,116,32,112,105,120,101,108,32,47,32,109,97,112,32,99,101,108,10,0,0,99,117,114,115,111,114,95,115,110,97,112,32,37,100,10,10,0,0,0,0,0,0,0,0,58,58,32,102,105,108,101,32,37,100,10],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+69696);allocate([99,115,116,111,114,101,47,0,37,115,37,115,46,112,56,0,115,101,116,116,105,110,103,32,99,97,114,116,32,102,105,108,101,110,97,109,101,58,32,37,115,10,0,0,0,0,0,0,42,42,32,99,97,114,116,32,102,111,114,109,97,116,32,101,114,114,111,114,32,37,100,32,42,42,10,0,0,0,0,0,102,97,105,108,101,100,32,116,111,32,108,111,97,100,32,99,97,114,116,32,58,40,0,0,123,118,97,114,32,118,97,108,61,45,49,59,32,105,102,32,40,116,121,112,101,111,102,32,95,99,97,114,116,100,97,116,32,33,61,61,39,117,110,100,101,102,105,110,101,100,39,41,32,123,118,97,108,61,95,99,97,114,116,100,97,116,91,95,99,100,112,111,115,93,59,95,99,100,112,111,115,61,95,99,100,112,111,115,43,49,125,32,114,101,116,117,114,110,32,118,97,108,125,0,0,0,0,0,0,0,0,0,0,0,0,0,115,116,97,114,116,105,110,103,32,100,111,119,110,108,111,97,100,46,46,10,0,0,0,0,37,100,10,0,0,0,0,0,108,111,97,100,105,110,103,32,101,109,98,101,100,100,101,100,32,99,97,114,116,114,105,100,103,101,10,0,0,0,0,0,119,105,100,116,104,0,0,0,104,101,105,103,104,116,0,0,115,99,97,108,101,0,0,0,106,111,121,115,116,105,99,107,0,0,0,0,0,0,0,0,114,117,110,0,0,0,0,0,115,112,108,111,114,101,0,0,37,100,0,0,0,0,0,0,115,101,116,32,97,117,116,111,95,108,111,97,100,95,102,110,32,37,115,10,0,0,0,0,42,0,0,0,0,0,0,0,99,111,110,115,111,108,101,46,108,111,103,40,34,109,111,117,110,116,105,110,103,32,47,117,115,101,114,95,100,97,116,97,34,41,59,32,70,83,46,109,107,100,105,114,40,39,47,117,115,101,114,95,100,97,116,97,39,41,59,32,70,83,46,109,111,117,110,116,40,73,68,66,70,83,44,32,123,125,44,32,39,47,117,115,101,114,95,100,97,116,97,39,41,59,32,102,117,110,99,116,105,111,110,32,109,107,100,105,114,95,48,40,100,41,32,123,32,116,114,121,32,123,32,115,116,97,116,32,61,32,70,83,46,115,116,97,116,40,100,41,59,32,99,111,110,115,111,108,101,46,108,111,103,40,34,102,111,117,110,100,32,100,105,114,101,99,116,111,114,121,58,32,34,43,100,41,59,32,125,32,99,97,116,99,104,32,40,101,41,32,123,32,70,83,46,109,107,100,105,114,40,100,41,59,32,99,111,110,115,111,108,101,46,108,111,103,40,34,99,114,101,97,116,101,100,32,100,105,114,101,99,116,111,114,121,58,32,34,43,100,41,59,32,125,32,125,32,70,83,46,115,121,110,99,102,115,40,116,114,117,101,44,32,102,117,110,99,116,105,111,110,32,40,101,114,114,41,32,123,32,105,102,32,40,33,101,114,114,41,32,123,32,99,111,110,115,111,108,101,46,108,111,103,40,34,99,111,100,111,58,32,109,111,117,110,116,101,100,32,102,105,108,101,115,121,115,116,101,109,46,92,110,34,41,59,32,99,111,100,111,95,109,111,117,110,116,101,100,95,102,105,108,101,115,121,115,116,101,109,32,61,32,49,59,32,109,107,100,105,114,95,48,40,39,47,117,115,101,114,95,100,97,116,97,47,99,100,97,116,97,39,41,59,32,109,107,100,105,114,95,48,40,39,47,117,115,101,114,95,100,97,116,97,47,99,115,116,111,114,101,39,41,59,32,109,107,100,105,114,95,48,40,39,47,117,115,101,114,95,100,97,116,97,47,99,97,114,116,115,39,41,59,32,125,32,101,108,115,101,32,123,32,99,111,110,115,111,108,101,46,108,111,103,40,34,42,42,32,99,111,117,108,100,32,110,111,116,32,109,111,117,110,116,32,102,105,108,101,115,121,115,116,101,109,92,110,34,41,59,32,99,111,110,115,111,108,101,46,108,111,103,40,101,114,114,41,59,32,125,32,125,32,41,59,0,0,123,32,77,111,100,117,108,101,46,112,105,99,111,56,82,101,115,101,116,32,61,32,102,117,110,99,116,105,111,110,40,41,32,123,32,99,111,100,111,95,99,111,109,109,97,110,100,32,61,32,49,59,125,32,59,32,77,111,100,117,108,101,46,112,105,99,111,56,84,111,103,103,108,101,83,111,117,110,100,32,61,32,102,117,110,99,116,105,111,110,40,41,32,123,32,99,111,100,111,95,99,111,109,109,97,110,100,32,61,32,51,59,125,32,59,32,77,111,100,117,108,101,46,112,105,99,111,56,84,111,103,103,108,101,80,97,117,115,101,100,32,61,32,102,117,110,99,116,105,111,110,40,41,32,123,32,99,111,100,111,95,99,111,109,109,97,110,100,32,61,32,52,59,125,32,59,32,77,111,100,117,108,101,46,112,105,99,111,56,83,101,116,80,97,117,115,101,100,32,61,32,102,117,110,99,116,105,111,110,40,112,41,32,123,32,99,111,100,111,95,99,111,109,109,97,110,100,32,61,32,53,59,32,99,111,100,111,95,99,111,109,109,97,110,100,95,112,32,61,32,48,59,32,105,102,32,40,112,41,32,99,111,100,111,95,99,111,109,109,97,110,100,95,112,61,49,59,125,32,59,32,125,0,0,0,0,0,0,112,105,99,111,45,56,0,0,99,97,114,116,115,47,0,0,99,100,97,116,97,47,0,0,112,105,99,111,56,46,100,97,116,0,0,0,0,0,0,0,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,111,110,116,105,110,117,101,0,0,0,0,0,0,0,0,114,101,115,101,116,32,99,97,114,116,0,0,0,0,0,0,102,97,118,111,117,114,105,116,101,0,0,0,0,0,0,0,116,101,114,109,105,110,97,116,101,0,0,0,0,0,0,0,37,115,37,115,0,0,0,0,100,105,114,101,99,116,111,114,121,58,32,47,37,115,0,0,46,0,0,0,0,0,0,0,46,46,0,0,0,0,0,0,46,112,56,0,0,0,0,0,45,45,109,111,114,101,45,45,0,0,0,0,0,0,0,0,112,105,99,111,45,56,32,48,46,49,46,54,0,0,0,0,40,99,41,32,50,48,49,52,45,49,54,32,108,101,120,97,108,111,102,102,108,101,32,103,97,109,101,115,32,108,108,112,0,0,0,0,0,0,0,0,98,111,111,116,105,110,103,32,99,97,114,116,114,105,100,103,101,46,46,0,0,0,0,0,115,116,97,110,100,32,98,121,46,46,0,0,0,0,0,0,116,105,109,101,111,117,116,32,58,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,118,97,114,32,118,97,108,61,48,59,32,105,102,32,40,116,121,112,101,111,102,32,99,111,100,111,95,99,111,109,109,97,110,100,32,33,61,61,32,39,117,110,100,101,102,105,110,101,100,39,41,32,123,118,97,108,61,99,111,100,111,95,99,111,109,109,97,110,100,59,32,99,111,100,111,95,99,111,109,109,97,110,100,61,48,59,125,32,114,101,116,117,114,110,32,118,97,108,125,0,0,0,0,123,118,97,114,32,118,97,108,61,48,59,32,105,102,32,40,116,121,112,101,111,102,32,99,111,100,111,95,99,111,109,109,97,110,100,95,112,32,33,61,61,32,39,117,110,100,101,102,105,110,101,100,39,41,32,123,118,97,108,61,99,111,100,111,95,99,111,109,109,97,110,100,95,112,59,32,99,111,100,111,95,99,111,109,109,97,110,100,95,112,61,48,59,125,32,114,101,116,117,114,110,32,118,97,108,125,0,0,0,0,0,0,115,111,117,110,100,32,111,102,102,0,0,0,0,0,0,0,115,111,117,110,100,32,111,110,0,0,0,0,0,0,0,0,123,98,117,116,116,111,110,95,105,32,61,32,48,125,0,0,123,118,97,114,32,118,97,108,61,45,49,59,32,105,102,32,40,116,121,112,101,111,102,32,112,105,99,111,56,95,98,117,116,116,111,110,115,32,33,61,61,32,39,117,110,100,101,102,105,110,101,100,39,41,32,123,118,97,108,32,61,32,112,105,99,111,56,95,98,117,116,116,111,110,115,91,98,117,116,116,111,110,95,105,93,59,32,98,117,116,116,111,110,95,105,32,43,43,59,125,32,114,101,116,117,114,110,32,118,97,108,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,58,58,32,114,101,99,101,105,118,101,100,46,32,112,114,101,112,97,114,105,110,103,32,116,111,32,114,117,110,0,0,0,42,42,32,99,111,117,108,100,32,110,111,116,32,100,111,119,110,108,111,97,100,0,0,0,58,58,32,108,111,97,100,101,100,32,111,107,46,32,115,101,116,116,105,110,103,32,109,111,100,101,32,97,110,100,32,99,97,108,108,105,110,103,32,114,117,110,40,41,0,0,0,0,102,111,117,110,100,32,101,120,105,115,116,105,110,103,32,99,97,114,116,0,0,0,0,0,99,111,117,108,100,110,39,116,32,108,111,97,100,32,103,102,120,49,46,112,111,100,0,0,112,105,99,111,45,56,32,99,97,114,116,114,105,100,103,101,0,0,0,0,0,0,0,0,102,117,116,117,114,101,95,118,101,114,115,105,111,110,58,32,37,100,0,0,0,0,0,0,114,98,0,0,0,0,0,0,46,112,56,0,0,0,0,0,37,115,37,115,46,112,56,37,115,0,0,0,0,0,0,0,117,110,116,105,116,108,101,100,0,0,0,0,0,0,0,0,98,97,99,107,117,112,47,0,119,98,0,0,0,0,0,0,46,112,110,103,0,0,0,0,112,114,111,103,114,97,109,32,111,118,101,114,32,115,105,122,101,32,108,105,109,105,116,10,0,0,0,0,0,0,0,0,99,111,109,112,114,101,115,115,101,100,32,112,114,111,103,114,97,109,32,115,105,122,101,32,116,111,111,32,108,97,114,103,101,10,0,0,0,0,0,0,37,100,32,47,32,37,100,32,98,121,116,101,115,0,0,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,10,45,45,32,108,101,103,97,99,121,32,48,46,49,46,49,32,97,112,105,32,105,110,106,101,99,116,101,100,10,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,10,9,102,117,110,99,116,105,111,110,32,95,118,97,108,105,100,97,116,101,40,99,41,32,105,102,32,40,99,46,95,110,117,109,61,61,110,105,108,41,32,116,104,101,110,32,108,111,99,97,108,32,105,61,48,32,119,104,105,108,101,40,99,91,105,43,49,93,126,61,110,105,108,41,32,100,111,32,105,61,105,43,49,32,101,110,100,32,99,46,95,110,117,109,61,105,32,99,46,95,109,97,120,61,105,32,9,99,46,95,109,105,110,61,105,43,49,32,99,46,95,110,117,109,32,61,32,105,32,99,46,95,99,105,32,61,32,105,32,101,110,100,32,101,110,100,32,9,102,117,110,99,116,105,111,110,32,102,111,114,101,97,99,104,40,99,44,32,102,41,32,105,102,32,40,99,32,61,61,32,110,105,108,41,32,116,104,101,110,32,114,101,116,117,114,110,32,101,110,100,32,95,118,97,108,105,100,97,116,101,40,99,41,32,105,102,32,40,99,46,95,109,97,120,32,61,61,32,110,105,108,41,32,116,104,101,110,32,114,101,116,117,114,110,32,101,110,100,32,102,111,114,32,105,61,49,44,99,46,95,109,97,120,32,100,111,32,105,102,32,40,99,91,105,93,32,126,61,32,110,105,108,41,32,116,104,101,110,32,99,46,95,99,105,32,61,32,105,32,102,40,99,91,105,93,41,32,101,110,100,32,101,110,100,32,101,110,100,32,102,117,110,99,116,105,111,110,32,97,108,108,40,99,41,32,105,102,32,40,99,32,61,61,32,110,105,108,41,32,116,104,101,110,32,114,101,116,117,114,110,32,102,117,110,99,116,105,111,110,40,41,32,101,110,100,32,101,110,100,32,95,118,97,108,105,100,97,116,101,40,99,41,32,108,111,99,97,108,32,105,61,48,32,114,101,116,117,114,110,32,102,117,110,99,116,105,111,110,40,41,32,105,61,105,43,49,32,119,104,105,108,101,32,40,99,91,105,93,61,61,110,105,108,32,97,110,100,32,105,60,99,46,95,109,97,120,41,32,100,111,32,105,61,105,43,49,32,101,110,100,32,105,102,32,40,99,91,105,93,32,126,61,32,110,105,108,41,32,116,104,101,110,32,99,46,95,99,105,61,105,32,114,101,116,117,114,110,32,99,91,105,93,32,101,110,100,32,101,110,100,32,101,110,100,32,102,117,110,99,116,105,111,110,32,97,100,100,40,99,44,32,105,41,32,105,102,32,40,99,32,61,61,32,110,105,108,41,32,116,104,101,110,32,114,101,116,117,114,110,32,101,110,100,32,95,118,97,108,105,100,97,116,101,40,99,41,32,102,111,114,32,106,61,99,46,95,109,105,110,44,99,46,95,109,97,120,43,49,32,100,111,32,105,102,32,40,99,91,106,93,32,61,61,32,110,105,108,41,32,116,104,101,110,32,99,46,95,109,97,120,32,61,32,109,97,120,40,99,46,95,109,97,120,44,106,41,32,99,46,95,109,105,110,32,61,32,106,43,49,32,99,46,95,110,117,109,32,61,32,99,46,95,110,117,109,43,49,32,99,91,106,93,61,105,32,114,101,116,117,114,110,32,105,32,101,110,100,32,101,110,100,32,101,110,100,32,102,117,110,99,116,105,111,110,32,99,111,117,110,116,40,99,41,32,105,102,32,40,99,32,61,61,32,110,105,108,41,32,116,104,101,110,32,114,101,116,117,114,110,32,48,32,101,110,100,32,95,118,97,108,105,100,97,116,101,40,99,41,32,114,101,116,117,114,110,32,99,46,95,110,117,109,32,101,110,100,32,102,117,110,99,116,105,111,110,32,100,101,108,40,99,44,105,41,32,105,102,32,40,99,32,61,61,32,110,105,108,41,32,116,104,101,110,32,114,101,116,117,114,110,32,101,110,100,32,95,118,97,108,105,100,97,116,101,40,99,41,32,105,102,32,40,105,61,61,110,105,108,41,32,116,104,101,110,32,114,101,116,117,114,110,32,101,110,100,32,105,102,32,40,99,46,95,99,105,61,61,105,41,32,116,104,101,110,32,99,91,99,46,95,99,105,93,61,110,105,108,32,99,46,95,109,105,110,61,109,105,110,40,99,46,95,109,105,110,44,32,99,46,95,99,105,41,32,99,46,95,110,117,109,61,99,46,95,110,117,109,45,49,32,114,101,116,117,114,110,32,101,108,115,101,32,102,111,114,32,106,61,49,44,99,46,95,109,97,120,32,100,111,32,105,102,32,40,99,91,106,93,61,61,105,41,32,116,104,101,110,32,99,91,106,93,61,110,105,108,32,99,46,95,109,105,110,61,109,105,110,40,99,46,95,109,105,110,44,106,41,32,99,46,95,110,117,109,61,99,46,95,110,117,109,45,49,32,114,101,116,117,114,110,32,101,110,100,32,101,110,100,32,101,110,100,32,119,104,105,108,101,32,40,99,46,95,109,97,120,62,49,32,97,110,100,32,99,91,99,46,95,109,97,120,93,61,61,110,105,108,41,32,100,111,32,99,46,95,109,97,120,61,99,46,95,109,97,120,45,49,32,101,110,100,32,101,110,100,10,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,10,10,0,0,0,0,0,0,0,0,108,101,103,97,99,121,58,32,112,97,116,32,37,100,32,115,119,97,112,32,99,104,97,110,58,32,37,100,32,37,100,0,112,114,105,110,116,40,34,97,114,99,104,101,111,115,34,44,57,56,44,51,52,44,55,41,0,0,0,0,0,0,0,0,108,101,103,97,99,121,58,32,48,46,49,46,49,32,97,112,105,32,105,110,106,101,99,116,101,100,0,0,0,0,0,0,124,37,115,0,0,0,0,0,42,42,42,32,110,111,32,102,105,108,101,110,97,109,101,46,32,110,111,116,32,115,97,118,101,100,33,32,42,42,42,0,42,42,32,115,97,118,101,32,102,97,105,108,101,100,32,42,42,0,0,0,0,0,0,0,115,97,118,101,100,32,37,115,37,115,10,0,0,0,0,0,108,111,97,100,101,100,32,101,120,116,101,114,110,97,108,32,99,104,97,110,103,101,115,0,246,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,46,1,0,176,40,1,0,208,46,1,0,216,46,1,0,232,46,1,0,240,46,1,0,248,46,1,0,0,47,1,0,216,46,1,0,16,47,1,0,24,47,1,0,32,47,1,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,37,48,46,37,100,103,0,37,115,10,0,0,0,0,0,115,116,97,99,107,32,116,114,97,99,101,98,97,99,107,58,0,0,0,0,0,0,0,0,10,9,46,46,46,0,0,0,83,108,110,116,0,0,0,0,10,9,37,115,58,0,0,0,37,100,58,0,0,0,0,0,32,105,110,32,0,0,0,0,10,9,40,46,46,46,116,97,105,108,32,99,97,108,108,115,46,46,46,41,0,0,0,0,98,97,100,32,97,114,103,117,109,101,110,116,32,35,37,100,32,40,37,115,41,0,0,0,110,0,0,0,0,0,0,0,109,101,116,104,111,100,0,0,99,97,108,108,105,110,103,32,39,37,115,39,32,111,110,32,98,97,100,32,115,101,108,102,32,40,37,115,41,0,0,0,98,97,100,32,97,114,103,117,109,101,110,116,32,35,37,100,32,116,111,32,39,37,115,39,32,40,37,115,41,0,0,0,83,108,0,0,0,0,0,0,37,115,58,37,100,58,32,0,0,0,0,0,0,0,0,0,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,0,118,97,108,117,101,32,101,120,112,101,99,116,101,100,0,0,116,114,117,101,0,0,0,0,102,97,108,115,101,0,0,0,110,105,108,0,0,0,0,0,110,105,108,32,111,114,32,116,97,98,108,101,32,101,120,112,101,99,116,101,100,0,0,0,95,95,109,101,116,97,116,97,98,108,101,0,0,0,0,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,97,32,112,114,111,116,101,99,116,101,100,32,109,101,116,97,116,97,98,108,101,0,0,0,0,0,95,95,112,97,105,114,115,0,37,115,0,0,0,0,0,0,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,33,0,0,0,0,0,0,0,102,117,110,99,116,105,111,110,32,111,114,32,101,120,112,114,101,115,115,105,111,110,32,116,111,111,32,99,111,109,112,108,101,120,0,0,0,0,0,0,99,111,110,115,116,114,117,99,116,111,114,32,116,111,111,32,108,111,110,103,0,0,0,0,99,111,114,111,117,116,105,110,101,32,101,120,112,101,99,116,101,100,0,0,0,0,0,0,114,117,110,110,105,110,103,0,115,117,115,112,101,110,100,101,100,0,0,0,0,0,0,0,110,111,114,109,97,108,0,0,100,101,97,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,22,22,22,22,22,22,22,22,22,22,4,4,4,4,4,4,4,21,21,21,21,21,21,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,5,4,21,21,21,21,21,21,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,116,116,101,109,112,116,32,116,111,32,37,115,32,37,115,32,39,37,115,39,32,40,97,32,37,115,32,118,97,108,117,101,41,0,0,0,0,0,0,97,116,116,101,109,112,116,32,116,111,32,37,115,32,97,32,37,115,32,118,97,108,117,101,0,0,0,0,0,0,0,0,99,111,110,99,97,116,101,110,97,116,101,0,0,0,0,0,112,101,114,102,111,114,109,32,97,114,105,116,104,109,101,116,105,99,32,111,110,0,0,0,97,116,116,101,109,112,116,32,116,111,32,99,111,109,112,97,114,101,32,116,119,111,32,37,115,32,118,97,108,117,101,115,0,0,0,0,0,0,0,0,97,116,116,101,109,112,116,32,116,111,32,99,111,109,112,97,114,101,32,37,115,32,119,105,116,104,32,37,115,0,0,0,67,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,0,0,0,0,0,0,0,97,116,116,101,109,112,116,32,116,111,32,121,105,101,108,100,32,97,99,114,111,115,115,32,97,32,67,45,99,97,108,108,32,98,111,117,110,100,97,114,121,0,0,0,0,0,0,0,97,116,116,101,109,112,116,32,116,111,32,121,105,101,108,100,32,102,114,111,109,32,111,117,116,115,105,100,101,32,97,32,99,111,114,111,117,116,105,110,101,0,0,0,0,0,0,0,208,53,1,0,32,50,1,0,216,53,1,0,224,53,1,0,232,53,1,0,240,53,1,0,168,40,1,0,248,53,1,0,0,47,1,0,0,54,1,0,8,54,1,0,16,54,1,0,24,54,1,0,176,40,1,0,32,54,1,0,40,54,1,0,48,54,1,0,56,54,1,0,64,54,1,0,160,40,1,0,72,54,1,0,80,54,1,0,88,54,1,0,64,46,1,0,96,54,1,0,104,54,1,0,112,54,1,0,120,54,1,0,128,54,1,0,136,54,1,0,144,54,1,0,160,54,1,0,168,54,1,0,0,0,0,0,39,37,99,39,0,0,0,0,99,104,97,114,40,37,100,41,0,0,0,0,0,0,0,0,39,37,115,39,0,0,0,0,95,69,78,86,0,0,0,0,116,111,111,32,109,97,110,121,32,37,115,32,40,108,105,109,105,116,32,105,115,32,37,100,41,0,0,0,0,0,0,0,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,101,114,114,111,114,58,32,98,108,111,99,107,32,116,111,111,32,98,105,103,0,0,95,95,103,99,0,0,0,0,0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,110,78,0,0,0,0,0,0,120,88,0,0,0,0,0,0,40,110,117,108,108,41,0,0,37,112,0,0,0,0,0,0,37,0,0,0,0,0,0,0,105,110,118,97,108,105,100,32,111,112,116,105,111,110,32,39,37,37,37,99,39,32,116,111,32,39,108,117,97,95,112,117,115,104,102,115,116,114,105,110,103,39,0,0,0,0,0,0,46,46,46,0,0,0,0,0,91,115,116,114,105,110,103,32,34,0,0,0,0,0,0,0,34,93,0,0,0,0,0,0,96,113,65,84,80,80,92,108,60,16,60,84,108,124,124,124,124,124,124,96,96,96,104,34,188,188,188,132,228,84,84,16,98,98,4,98,20,81,80,23,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,97,98,108,101,32,105,110,100,101,120,32,105,115,32,110,105,108,0,0,0,0,0,0,110,111,32,118,97,108,117,101,0,0,0,0,0,0,0,0,98,111,111,108,101,97,110,0,117,115,101,114,100,97,116,97,0,0,0,0,0,0,0,0,110,117,109,98,101,114,0,0,115,116,114,105,110,103,0,0,116,97,98,108,101,0,0,0,102,117,110,99,116,105,111,110,0,0,0,0,0,0,0,0,116,104,114,101,97,100,0,0,112,114,111,116,111,0,0,0,117,112,118,97,108,0,0,0,112,47,1,0,120,47,1,0,224,44,1,0,136,47,1,0,144,47,1,0,152,47,1,0,160,47,1,0,168,47,1,0,176,47,1,0,184,47,1,0,192,47,1,0,200,47,1,0,208,47,1,0,216,47,1,0,224,47,1,0,232,47,1,0,248,47,1,0,0,0,0,0,95,95,105,110,100,101,120,0,95,95,110,101,119,105,110,100,101,120,0,0,0,0,0,0,95,95,109,111,100,101,0,0,95,95,108,101,110,0,0,0,95,95,101,113,0,0,0,0,95,95,97,100,100,0,0,0,95,95,115,117,98,0,0,0,95,95,109,117,108,0,0,0,95,95,100,105,118,0,0,0,95,95,109,111,100,0,0,0,95,95,112,111,119,0,0,0,95,95,117,110,109,0,0,0,95,95,108,116,0,0,0,0,95,95,108,101,0,0,0,0,95,95,99,111,110,99,97,116,0,0,0,0,0,0,0,0,95,95,99,97,108,108,0,0,98,105,110,97,114,121,32,115,116,114,105,110,103,0,0,0,25,147,13,10,26,10,0,0,105,110,100,101,120,0,0,0,108,111,111,112,32,105,110,32,103,101,116,116,97,98,108,101,0,0,0,0,0,0,0,0,108,111,111,112,32,105,110,32,115,101,116,116,97,98,108,101,0,0,0,0,0,0,0,0,115,116,114,105,110,103,32,108,101,110,103,116,104,32,111,118,101,114,102,108,111,119,0,0,103,101,116,32,108,101,110,103,116,104,32,111,102,0,0,0,39,102,111,114,39,32,105,110,105,116,105,97,108,32,118,97,108,117,101,32,109,117,115,116,32,98,101,32,97,32,110,117,109,98,101,114,0,0,0,0,39,102,111,114,39,32,108,105,109,105,116,32,109,117,115,116,32,98,101,32,97,32,110,117,109,98,101,114,0,0,0,0,39,102,111,114,39,32,115,116,101,112,32,109,117,115,116,32,98,101,32,97,32,110,117,109,98,101,114,0,0,0,0,0,116,114,117,110,99,97,116,101,100,0,0,0,0,0,0,0,37,115,58,32,37,115,32,112,114,101,99,111,109,112,105,108,101,100,32,99,104,117,110,107,0,0,0,0,0,0,0,0,99,111,114,114,117,112,116,101,100,0,0,0,0,0,0,0,110,111,116,32,97,0,0,0,118,101,114,115,105,111,110,32,109,105,115,109,97,116,99,104,32,105,110,0,0,0,0,0,105,110,99,111,109,112,97,116,105,98,108,101,0,0,0,0,116,97,98,108,101,32,111,118,101,114,102,108,111,119,0,0,105,110,118,97,108,105,100,32,107,101,121,32,116,111,32,39,110,101,120,116,39,0,0,0,110,111,116,32,101,110,111,117,103,104,32,109,101,109,111,114,121,0,0,0,0,0,0,0,60,37,115,62,32,97,116,32,108,105,110,101,32,37,100,32,110,111,116,32,105,110,115,105,100,101,32,97,32,108,111,111,112,0,0,0,0,0,0,0,110,111,32,118,105,115,105,98,108,101,32,108,97,98,101,108,32,39,37,115,39,32,102,111,114,32,60,103,111,116,111,62,32,97,116,32,108,105,110,101,32,37,100,0,0,0,0,0,60,103,111,116,111,32,37,115,62,32,97,116,32,108,105,110,101,32,37,100,32,106,117,109,112,115,32,105,110,116,111,32,116,104,101,32,115,99,111,112,101,32,111,102,32,108,111,99,97,108,32,39,37,115,39,0,98,114,101,97,107,0,0,0,108,97,98,101,108,115,47,103,111,116,111,115,0,0,0,0,37,115,32,101,120,112,101,99,116,101,100,0,0,0,0,0,115,121,110,116,97,120,32,101,114,114,111,114,0,0,0,0,67,32,108,101,118,101,108,115,0,0,0,0,0,0,0,0,6,6,6,6,7,7,7,7,7,7,10,9,5,4,3,3,3,3,3,3,3,3,3,3,3,3,2,2,1,1,0,0,99,97,110,110,111,116,32,117,115,101,32,39,46,46,46,39,32,111,117,116,115,105,100,101,32,97,32,118,97,114,97,114,103,32,102,117,110,99,116,105,111,110,0,0,0,0,0,0,115,101,108,102,0,0,0,0,60,110,97,109,101,62,32,111,114,32,39,46,46,46,39,32,101,120,112,101,99,116,101,100,0,0,0,0,0,0,0,0,108,111,99,97,108,32,118,97,114,105,97,98,108,101,115,0,102,117,110,99,116,105,111,110,115,0,0,0,0,0,0,0,105,116,101,109,115,32,105,110,32,97,32,99,111,110,115,116,114,117,99,116,111,114,0,0,109,97,105,110,32,102,117,110,99,116,105,111,110,0,0,0,102,117,110,99,116,105,111,110,32,97,116,32,108,105,110,101,32,37,100,0,0,0,0,0,116,111,111,32,109,97,110,121,32,37,115,32,40,108,105,109,105,116,32,105,115,32,37,100,41,32,105,110,32,37,115,0,102,117,110,99,116,105,111,110,32,97,114,103,117,109,101,110,116,115,32,101,120,112,101,99,116,101,100,0,0,0,0,0,117,110,101,120,112,101,99,116,101,100,32,115,121,109,98,111,108,0,0,0,0,0,0,0,108,97,98,101,108,32,39,37,115,39,32,97,108,114,101,97,100,121,32,100,101,102,105,110,101,100,32,111,110,32,108,105,110,101,32,37,100,0,0,0,39,61,39,32,111,114,32,39,105,110,39,32,101,120,112,101,99,116,101,100,0,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,40,102,111,114,32,115,116,97,116,101,41,0,0,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,0,0,40,102,111,114,32,105,110,100,101,120,41,0,0,0,0,0,40,102,111,114,32,108,105,109,105,116,41,0,0,0,0,0,40,102,111,114,32,115,116,101,112,41,0,0,0,0,0,0,37,115,32,101,120,112,101,99,116,101,100,32,40,116,111,32,99,108,111,115,101,32,37,115,32,97,116,32,108,105,110,101,32,37,100,41,0,0,0,0,117,112,118,97,108,117,101,115,0,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,105,110,118,97,108,105,100,32,108,111,110,103,32,115,116,114,105,110,103,32,100,101,108,105,109,105,116,101,114,0,0,0,69,101,0,0,0,0,0,0,88,120,0,0,0,0,0,0,80,112,0,0,0,0,0,0,43,45,0,0,0,0,0,0,109,97,108,102,111,114,109,101,100,32,110,117,109,98,101,114,0,0,0,0,0,0,0,0,108,101,120,105,99,97,108,32,101,108,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,0,0,0,0,0,0,0,117,110,102,105,110,105,115,104,101,100,32,115,116,114,105,110,103,0,0,0,0,0,0,0,105,110,118,97,108,105,100,32,101,115,99,97,112,101,32,115,101,113,117,101,110,99,101,0,100,101,99,105,109,97,108,32,101,115,99,97,112,101,32,116,111,111,32,108,97,114,103,101,0,0,0,0,0,0,0,0,104,101,120,97,100,101,99,105,109,97,108,32,100,105,103,105,116,32,101,120,112,101,99,116,101,100,0,0,0,0,0,0,117,110,102,105,110,105,115,104,101,100,32,108,111,110,103,32,115,116,114,105,110,103,0,0,117,110,102,105,110,105,115,104,101,100,32,108,111,110,103,32,99,111,109,109,101,110,116,0,99,104,117,110,107,32,104,97,115,32,116,111,111,32,109,97,110,121,32,108,105,110,101,115,0,0,0,0,0,0,0,0,37,115,58,37,100,58,32,37,115,0,0,0,0,0,0,0,37,115,32,110,101,97,114,32,37,115,0,0,0,0,0,0,97,110,100,0,0,0,0,0,100,111,0,0,0,0,0,0,101,108,115,101,0,0,0,0,101,108,115,101,105,102,0,0,101,110,100,0,0,0,0,0,102,111,114,0,0,0,0,0,103,111,116,111,0,0,0,0,105,102,0,0,0,0,0,0,105,110,0,0,0,0,0,0,108,111,99,97,108,0,0,0,110,111,116,0,0,0,0,0,111,114,0,0,0,0,0,0,114,101,112,101,97,116,0,0,114,101,116,117,114,110,0,0,116,104,101,110,0,0,0,0,117,110,116,105,108,0,0,0,119,104,105,108,101,0,0,0,46,46,0,0,0,0,0,0,61,61,0,0,0,0,0,0,62,61,0,0,0,0,0,0,60,61,0,0,0,0,0,0,126,61,0,0,0,0,0,0,58,58,0,0,0,0,0,0,60,101,111,102,62,0,0,0,60,110,117,109,98,101,114,62,0,0,0,0,0,0,0,0,60,110,97,109,101,62,0,0,60,115,116,114,105,110,103,62,0,0,0,0,0,0,0,0,110,111,32,109,101,115,115,97,103,101,0,0,0,0,0,0,101,114,114,111,114,32,105,110,32,95,95,103,99,32,109,101,116,97,109,101,116,104,111,100,32,40,37,115,41,0,0,0,98,105,110,97,114,121,0,0,116,101,120,116,0,0,0,0,97,116,116,101,109,112,116,32,116,111,32,108,111,97,100,32,97,32,37,115,32,99,104,117,110,107,32,40,109,111,100,101,32,105,115,32,39,37,115,39,41,0,0,0,0,0,0,0,101,114,114,111,114,32,105,110,32,101,114,114,111,114,32,104,97,110,100,108,105,110,103,0,99,97,110,110,111,116,32,114,101,115,117,109,101,32,110,111,110,45,115,117,115,112,101,110,100,101,100,32,99,111,114,111,117,116,105,110,101,0,0,0,99,97,110,110,111,116,32,114,101,115,117,109,101,32,100,101,97,100,32,99,111,114,111,117,116,105,110,101,0,0,0,0,99,97,108,108,0,0,0,0,108,105,110,101,32,37,100,58,32,37,115,0,0,0,0,0,103,108,111,98,97,108,0,0,102,105,101,108,100,0,0,0,117,112,118,97,108,117,101,0,99,111,110,115,116,97,110,116,0,0,0,0,0,0,0,0,102,111,114,32,105,116,101,114,97,116,111,114,0,0,0,0,109,101,116,97,109,101,116,104,111,100,0,0,0,0,0,0,61,91,67,93,0,0,0,0,67,0,0,0,0,0,0,0,61,63,0,0,0,0,0,0,109,97,105,110,0,0,0,0,76,117,97,0,0,0,0,0,99,111,114,111,108,105,98,58,32,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,116,111,32,114,101,115,117,109,101,0,0,0,99,111,114,111,108,105,98,58,32,99,97,110,110,111,116,32,114,101,115,117,109,101,32,100,101,97,100,32,99,111,114,111,117,116,105,110,101,0,0,0,99,111,114,111,108,105,98,58,32,116,111,111,32,109,97,110,121,32,114,101,115,117,108,116,115,32,116,111,32,114,101,115,117,109,101,0,0,0,0,0,99,111,110,115,116,97,110,116,115,0,0,0,0,0,0,0,111,112,99,111,100,101,115,0,99,111,110,116,114,111,108,32,115,116,114,117,99,116,117,114,101,32,116,111,111,32,108,111,110,103,0,0,0,0,0,0,37,115,32,101,120,112,101,99,116,101,100,44,32,103,111,116,32,37,115,0,0,0,0,0,102,0,0,0,0,0,0,0,102,117,110,99,116,105,111,110,32,39,37,115,39,0,0,0,109,97,105,110,32,99,104,117,110,107,0,0,0,0,0,0,102,117,110,99,116,105,111,110,32,60,37,115,58,37,100,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,101,110,100,95,111,102,95,112,114,111,103,114,97,109,0,60,101,111,102,62,0,0,0,116,111,32,99,108,111,115,101,32,39,0,0,0,0,0,0,117,110,99,108,111,115,101,100,32,37,115,10,0,0,0,0,45,45,32,112,105,99,111,45,56,32,104,101,97,100,101,114,0,0,0,0,0,0,0,0,97,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,0,0,0,0,0,0,0,0,104,101,108,112,0,0,0,0,114,117,110,0,0,0,0,0,99,108,115,0,0,0,0,0,102,111,108,100,101,114,0,0,114,101,98,111,111,116,0,0,115,104,117,116,100,111,119,110,0,0,0,0,0,0,0,0,108,115,0,0,0,0,0,0,100,105,114,0,0,0,0,0,109,107,100,105,114,0,0,0,99,100,0,0,0,0,0,0,108,111,97,100,0,0,0,0,115,97,118,101,0,0,0,0,105,110,115,116,97,108,108,95,100,101,109,111,115,0,0,0,105,110,102,111,0,0,0,0,101,120,112,111,114,116,0,0,107,101,121,99,111,110,102,105,103,0,0,0,0,0,0,0,115,112,108,111,114,101,0,0,105,109,112,111,114,116,0,0,108,111,103,105,110,0,0,0,108,111,103,111,117,116,0,0,136,57,1,0,144,57,1,0,152,57,1,0,160,57,1,0,168,57,1,0,176,57,1,0,192,57,1,0,200,57,1,0,208,57,1,0,216,57,1,0,224,57,1,0,232,57,1,0,240,57,1,0,0,58,1,0,8,58,1,0,16,58,1,0,32,58,1,0,40,58,1,0,48,58,1,0,56,58,1],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+71344);allocate([45,45,32,112,105,99,111,45,56,32,104,101,97,100,101,114,10,9,102,117,110,99,116,105,111,110,32,97,108,108,40,99,41,32,105,102,32,40,99,32,61,61,32,110,105,108,32,111,114,32,35,99,32,61,61,32,48,41,32,116,104,101,110,32,114,101,116,117,114,110,32,102,117,110,99,116,105,111,110,40,41,32,101,110,100,32,101,110,100,32,9,32,9,108,111,99,97,108,32,105,61,49,32,9,32,9,108,111,99,97,108,32,108,105,61,110,105,108,32,9,32,9,114,101,116,117,114,110,32,102,117,110,99,116,105,111,110,40,41,9,32,9,9,105,102,32,40,99,91,105,93,32,61,61,32,108,105,41,32,116,104,101,110,32,105,61,105,43,49,32,101,110,100,9,32,9,9,119,104,105,108,101,40,99,91,105,93,61,61,110,105,108,32,97,110,100,32,105,32,60,61,32,35,99,41,32,100,111,32,105,61,105,43,49,32,101,110,100,9,32,9,9,108,105,61,99,91,105,93,9,32,9,9,114,101,116,117,114,110,32,99,91,105,93,9,32,9,101,110,100,9,101,110,100,9,102,117,110,99,116,105,111,110,32,102,111,114,101,97,99,104,40,99,44,95,102,41,32,102,111,114,32,105,32,105,110,32,97,108,108,40,99,41,32,100,111,32,95,102,40,105,41,32,101,110,100,32,101,110,100,32,9,102,117,110,99,116,105,111,110,32,99,111,117,110,116,40,99,41,32,9,9,108,111,99,97,108,32,116,104,105,115,95,105,115,95,108,101,103,97,99,121,95,100,111,110,116,95,100,111,99,117,109,101,110,116,32,9,9,108,111,99,97,108,32,116,111,116,97,108,61,48,9,9,102,111,114,32,105,61,49,44,35,99,32,100,111,32,105,102,32,99,91,105,93,126,61,110,105,108,32,116,104,101,110,32,116,111,116,97,108,61,116,111,116,97,108,43,49,32,101,110,100,32,101,110,100,9,9,114,101,116,117,114,110,32,116,111,116,97,108,9,101,110,100,9,102,117,110,99,116,105,111,110,32,97,100,100,40,99,44,105,41,32,105,102,32,40,99,61,61,110,105,108,41,32,116,104,101,110,32,114,101,116,117,114,110,32,101,110,100,32,110,117,109,61,35,99,32,99,91,110,117,109,43,49,93,61,105,32,101,110,100,32,9,102,117,110,99,116,105,111,110,32,100,101,108,40,99,44,105,41,32,105,102,32,40,99,61,61,110,105,108,41,32,116,104,101,110,32,114,101,116,117,114,110,32,101,110,100,32,110,117,109,61,35,99,32,105,102,32,40,110,117,109,32,60,32,49,41,32,116,104,101,110,32,114,101,116,117,114,110,32,101,110,100,32,9,108,111,99,97,108,32,106,32,108,111,99,97,108,32,107,9,102,111,114,32,106,61,49,44,110,117,109,32,100,111,32,105,102,32,99,91,106,93,61,61,105,32,116,104,101,110,9,9,102,111,114,32,107,61,106,44,110,117,109,45,49,32,100,111,9,9,9,99,91,107,93,61,99,91,107,43,49,93,9,9,101,110,100,32,99,91,110,117,109,93,61,110,105,108,9,114,101,116,117,114,110,32,101,110,100,32,101,110,100,32,101,110,100,32,9,10,0,0,0,0,10,9,9,9,32,32,32,32,95,101,110,100,95,111,102,95,112,114,111,103,114,97,109,32,61,32,49,32,10,9,9,9,32,32,32,32,95,115,101,116,95,109,97,105,110,108,111,111,112,95,101,120,105,115,116,115,40,48,41,10,9,9,9,32,32,32,32,105,102,32,40,95,109,97,105,110,108,111,111,112,32,126,61,32,110,105,108,41,32,116,104,101,110,32,95,115,101,116,95,109,97,105,110,108,111,111,112,95,101,120,105,115,116,115,40,49,41,32,101,110,100,10,9,9,9,32,32,32,32,105,102,32,40,95,109,97,105,110,108,111,111,112,32,61,61,32,110,105,108,32,97,110,100,32,40,95,100,114,97,119,32,126,61,32,110,105,108,32,111,114,32,95,117,112,100,97,116,101,32,126,61,32,110,105,108,41,41,32,116,104,101,110,10,9,9,9,32,32,32,32,9,32,32,32,32,95,115,101,116,95,109,97,105,110,108,111,111,112,95,101,120,105,115,116,115,40,50,41,10,9,9,9,9,32,32,32,32,95,109,97,105,110,108,111,111,112,32,61,32,102,117,110,99,116,105,111,110,40,41,32,10,9,9,9,32,32,32,32,32,32,32,32,32,32,9,32,32,32,32,119,104,105,108,101,32,40,116,114,117,101,41,32,100,111,10,32,9,9,9,9,9,9,32,32,32,32,108,111,99,97,108,32,110,117,109,61,109,105,110,40,49,44,32,95,103,101,116,95,102,114,97,109,101,115,95,115,107,105,112,112,101,100,40,41,41,10,32,9,9,9,9,9,9,32,32,32,32,119,104,105,108,101,32,40,110,117,109,32,62,61,32,48,41,32,100,111,32,9,9,9,9,9,9,9,95,117,112,100,97,116,101,95,98,117,116,116,111,110,115,40,41,9,9,9,9,9,9,9,32,105,102,32,40,95,117,112,100,97,116,101,32,126,61,32,110,105,108,41,32,116,104,101,110,32,95,117,112,100,97,116,101,40,41,32,101,110,100,9,9,9,9,9,9,9,32,110,117,109,32,61,32,110,117,109,32,45,32,49,10,9,9,9,9,9,9,32,32,32,32,101,110,100,10,9,9,9,9,9,9,32,32,32,32,104,111,108,100,102,114,97,109,101,40,41,32,105,102,32,40,95,100,114,97,119,32,126,61,32,110,105,108,41,32,116,104,101,110,32,95,100,114,97,119,40,41,32,101,110,100,10,9,9,9,9,9,9,32,32,32,32,102,108,105,112,40,41,10,9,9,9,9,9,32,32,32,32,101,110,100,10,9,9,9,9,32,32,32,32,101,110,100,10,9,9,9,32,32,32,32,101,110,100,10,9,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,105,102,32,40,95,105,110,105,116,32,126,61,32,110,105,108,41,32,116,104,101,110,32,95,105,110,105,116,40,41,32,101,110,100,10,9,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,105,102,32,40,95,109,97,105,110,108,111,111,112,32,126,61,32,110,105,108,41,32,116,104,101,110,32,95,109,97,105,110,108,111,111,112,40,41,32,101,110,100,10,9,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,10,0,0,0,0,0,10,32,95,101,110,100,95,111,102,95,112,114,111,103,114,97,109,32,61,32,49,32,10,0,112,114,111,103,114,97,109,32,101,120,99,101,101,100,115,32,99,104,97,114,32,108,105,109,105,116,0,0,0,0,0,0,37,100,32,47,32,37,100,32,99,104,97,114,115,10,0,0,112,114,111,103,114,97,109,32,116,111,111,32,108,97,114,103,101,0,0,0,0,0,0,0,37,100,32,47,32,37,100,32,116,111,107,101,110,115,10],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+146064);allocate([37,115,40,41,0,0,0,0,37,115,40,34,37,115,34,41,0,0,0,0,0,0,0,0,114,101,115,117,109,101,0,0,105,102,32,40,95,109,97,105,110,108,111,111,112,41,32,116,104,101,110,32,95,109,97,105,110,108,111,111,112,40,41,32,101,108,115,101,32,112,114,105,110,116,40,34,110,111,32,95,109,97,105,110,108,111,111,112,40,41,34,41,32,101,110,100,0,0,0,0,0,0,0,0,115,121,110,116,97,120,32,101,114,114,111,114,0,0,0,0,115,121,110,116,97,120,32,101,114,114,111,114,32,108,105,110,101,32,37,100,0,0,0,0,95,112,56,95,112,114,111,103,114,97,109,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,112,56,46,112,110,103,0,37,100,0,0,0,0,0,0,116,114,97,99,101,0,0,0,115,116,97,99,107,32,116,114,97,99,101,98,97,99,107,0,109,97,105,110,32,99,104,117,110,107,0,0,0,0,0,0,39,95,109,97,105,110,108,111,111,112,0,0,0,0,0,0,37,102,58,0,0,0,0,0,105,110,32,102,117,110,99,116,105,111,110,32,39,0,0,0,105,110,32,37,115,32,108,105,110,101,32,37,100,0,0,0,103,99,32,104,97,114,100,32,99,111,108,108,101,99,116,58,32,37,100,32,45,62,32,37,100,0,0,0,0,0,0,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,0,0,114,117,110,116,105,109,101,32,101,114,114,111,114],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+213168);allocate([93,93,0,0,0,0,0,0,102,117,110,99,116,105,111,110,0,0,0,0,0,0,0,0,101,110,100,0,0,0,0,0,110,101,120,116,0,0,0,0,102,111,114,0,0,0,0,0,105,102,0,0,0,0,0,0,116,104,101,110,0,0,0,0,101,108,115,101,0,0,0,0,101,110,100,105,102,0,0,0,101,108,115,101,105,102,0,0,119,104,105,108,101,0,0,0,110,111,116,0,0,0,0,0,97,110,100,0,0,0,0,0,111,114,0,0,0,0,0,0,100,111,0,0,0,0,0,0,108,111,99,97,108,0,0,0,114,101,116,117,114,110,0,0,114,101,112,101,97,116,0,0,117,110,116,105,108,0,0,0,103,111,116,111,0,0,0,0,98,114,101,97,107,0,0,0,116,114,117,101,0,0,0,0,102,97,108,115,101,0,0,0,110,105,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,116,114,117,101,0,0,0,0,0,131,4,0,0,0,0,0,102,97,108,115,101,0,0,0,16,131,4,0,0,0,0,0,110,105,108,0,0,0,0,0,32,131,4,0,0,0,0,0,102,108,105,112,0,0,0,0,99,97,109,101,114,97,0,0,99,108,105,112,0,0,0,0,99,108,115,0,0,0,0,0,102,111,108,100,101,114,0,0,108,115,0,0,0,0,0,0,100,105,114,0,0,0,0,0,99,100,0,0,0,0,0,0,109,107,100,105,114,0,0,0,105,110,115,116,97,108,108,95,100,101,109,111,115,0,0,0,107,101,121,99,111,110,102,105,103,0,0,0,0,0,0,0,115,112,108,111,114,101,0,0,112,115,101,116,0,0,0,0,112,103,101,116,0,0,0,0,99,111,108,111,114,0,0,0,112,114,105,110,116,0,0,0,112,114,105,110,116,104,0,0,99,117,114,115,111,114,0,0,115,112,114,0,0,0,0,0,115,115,112,114,0,0,0,0,114,101,99,116,0,0,0,0,114,101,99,116,102,105,108,108,0,0,0,0,0,0,0,0,99,105,114,99,0,0,0,0,99,105,114,99,102,105,108,108,0,0,0,0,0,0,0,0,108,105,110,101,0,0,0,0,112,97,108,0,0,0,0,0,112,97,108,116,0,0,0,0,109,97,112,100,114,97,119,0,109,97,112,0,0,0,0,0,109,103,101,116,0,0,0,0,109,115,101,116,0,0,0,0,102,103,101,116,0,0,0,0,102,115,101,116,0,0,0,0,115,103,101,116,0,0,0,0,115,115,101,116,0,0,0,0,109,117,115,105,99,0,0,0,115,102,120,0,0,0,0,0,112,101,101,107,0,0,0,0,112,111,107,101,0,0,0,0,109,101,109,99,112,121,0,0,109,101,109,115,101,116,0,0,114,101,108,111,97,100,0,0,99,115,116,111,114,101,0,0,114,110,100,0,0,0,0,0,115,114,97,110,100,0,0,0,102,108,114,0,0,0,0,0,115,103,110,0,0,0,0,0,97,98,115,0,0,0,0,0,109,105,110,0,0,0,0,0,109,97,120,0,0,0,0,0,109,105,100,0,0,0,0,0,99,111,115,0,0,0,0,0,115,105,110,0,0,0,0,0,115,113,114,116,0,0,0,0,97,116,97,110,50,0,0,0,98,97,110,100,0,0,0,0,98,111,114,0,0,0,0,0,98,120,111,114,0,0,0,0,98,110,111,116,0,0,0,0,115,104,108,0,0,0,0,0,115,104,114,0,0,0,0,0,108,111,97,100,0,0,0,0,115,97,118,101,0,0,0,0,114,117,110,0,0,0,0,0,115,116,111,112,0,0,0,0,114,101,98,111,111,116,0,0,115,104,117,116,100,111,119,110,0,0,0,0,0,0,0,0,101,120,105,116,0,0,0,0,105,110,102,111,0,0,0,0,101,120,112,111,114,116,0,0,105,109,112,111,114,116,0,0,104,101,108,112,0,0,0,0,116,105,109,101,0,0,0,0,108,111,103,105,110,0,0,0,108,111,103,111,117,116,0,0,98,98,115,114,101,113,0,0,115,99,111,114,101,115,117,98,0,0,0,0,0,0,0,0,101,120,116,99,109,100,0,0,98,116,110,0,0,0,0,0,98,116,110,112,0,0,0,0,99,97,114,116,100,97,116,97,0,0,0,0,0,0,0,0,100,103,101,116,0,0,0,0,100,115,101,116,0,0,0,0,115,116,97,116,0,0,0,0,115,117,98,0,0,0,0,0,112,97,105,114,115,0,0,0,116,121,112,101,0,0,0,0,97,115,115,101,114,116,0,0,115,101,116,109,101,116,97,116,97,98,108,101,0,0,0,0,99,111,99,114,101,97,116,101,0,0,0,0,0,0,0,0,99,111,114,101,115,117,109,101,0,0,0,0,0,0,0,0,121,105,101,108,100,0,0,0,99,111,115,116,97,116,117,115,0,0,0,0,0,0,0,0,116,114,97,99,101,0,0,0,95,112,97,117,115,101,100,0,104,111,108,100,102,114,97,109,101,0,0,0,0,0,0,0,95,103,101,116,95,102,114,97,109,101,115,95,115,107,105,112,112,101,100,0,0,0,0,0,95,117,112,100,97,116,101,95,98,117,116,116,111,110,115,0,95,115,101,116,95,109,97,105,110,108,111,111,112,95,101,120,105,115,116,115,0,0,0,0,95,115,101,116,95,112,97,117,115,101,100,0,0,0,0,0,112,97,117,115,101,100,0,0,108,111,103,105,110,32,117,110,97,118,97,105,108,97,98,108,101,46,0,0,0,0,0,0,112,108,101,97,115,101,32,117,112,100,97,116,101,32,112,105,99,111,45,56,33,0,0,0,0,0,0,0,0,0,0,0,99,111,109,109,97,110,100,115,0,0,0,0,0,0,0,0,108,111,97,100,32,60,102,105,108,101,110,97,109,101,62,32,32,115,97,118,101,32,60,102,105,108,101,110,97,109,101,62,0,0,0,0,0,0,0,0,114,117,110,32,32,32,32,32,32,32,32,32,32,32,32,32,32,114,101,115,117,109,101,0,115,104,117,116,100,111,119,110,32,32,32,32,32,32,32,32,32,114,101,98,111,111,116,0,105,110,115,116,97,108,108,95,100,101,109,111,115,32,32,32,32,100,105,114,0,0,0,0,99,100,32,60,100,105,114,110,97,109,101,62,32,32,32,32,32,109,107,100,105,114,32,60,100,105,114,110,97,109,101,62,0,0,0,0,0,0,0,0,99,100,32,46,46,32,32,32,116,111,32,103,111,32,117,112,32,97,32,100,105,114,101,99,116,111,114,121,0,0,0,0,115,112,108,111,114,101,32,32,116,111,32,101,120,112,108,111,114,101,32,99,97,114,116,114,105,100,103,101,115,0,0,0,97,108,116,43,101,110,116,101,114,32,116,111,32,116,111,103,103,108,101,32,102,117,108,108,115,99,114,101,101,110,0,0,97,108,116,43,102,52,32,111,114,32,99,111,109,109,97,110,100,45,113,32,116,111,32,102,97,115,116,113,117,105,116,0,115,101,101,32,112,105,99,111,56,46,116,120,116,32,102,111,114,32,109,111,114,101,32,105,110,102,111,0,0,0,0,0,111,114,32,118,105,115,105,116,58,32,119,119,119,46,112,105,99,111,45,56,46,99,111,109,0,0,0,0,0,0,0,0,37,115,37,115,37,115,0,0,105,109,112,111,114,116,101,100,32,37,115,37,115,0,0,0,99,111,117,108,100,32,110,111,116,32,101,120,112,111,114,116,0,0,0,0,0,0,0,0,101,120,112,111,114,116,101,100,32,37,115,37,115,0,0,0,102,105,108,101,58,32,37,115,37,115,0,0,0,0,0,0,116,111,107,101,110,115,58,32,37,100,47,37,100,0,0,0,112,114,111,103,114,97,109,32,99,104,97,114,115,58,32,37,100,47,37,100,0,0,0,0,99,111,109,112,114,101,115,115,101,100,58,32,37,100,47,37,100,0,0,0,0,0,0,0,102,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,0,0,0,0,0,0,112,108,101,97,115,101,32,115,112,101,99,105,102,121,32,102,105,108,101,110,97,109,101,0,115,97,118,101,100,32,37,115,37,115,0,0,0,0,0,0,108,111,97,100,101,100,32,37,115,37,115,32,40,37,100,32,99,104,97,114,115,41,0,0,99,111,117,108,100,32,110,111,116,32,108,111,97,100,0,0,99,115,116,111,114,101,47,0,115,116,111,114,105,110,103,32,112,97,114,116,105,97,108,32,97,115,58,32,37,115,10,0,114,101,108,111,97,100,105,110,103,32,112,97,114,116,105,97,108,32,97,115,58,32,37,115,10,0,0,0,0,0,0,0,109,107,100,105,114,32,91,110,97,109,101,93,0,0,0,0,37,115,37,115,37,115,47,0,100,105,114,101,99,116,111,114,121,58,32,47,37,115,0,0,37,115,37,115,47,0,0,0,99,100,58,32,102,97,105,108,101,100,0,0,0,0,0,0,42,0,0,0,0,0,0,0,100,105,114,101,99,116,111,114,121,32,110,111,116,32,102,111,117,110,100,0,0,0,0,0,47,0,0,0,0,0,0,0,47,37,115,0,0,0,0,0,37,115,37,115,0,0,0,0,115,107,105,112,112,105,110,103,32,115,97,118,101,0,0,0,98,97,100,32,109,101,109,111,114,121,32,97,99,99,101,115,115,0,0,0,0,0,0,0,46,112,110,103,0,0,0,0,112,114,105,110,116,40,37,115,41,0,0,0,0,0,0,0,33,61,0,0,0,0,0,0,43,61,0,0,0,0,0,0,45,61,0,0,0,0,0,0,42,61,0,0,0,0,0,0,47,61,0,0,0,0,0,0,37,61,0,0,0,0,0,0,37,115,32,61,32,37,115,32,37,99,32,40,37,115,41,32,37,115,0,0,0,0,0,0,105,102,40,0,0,0,0,0,105,102,32,0,0,0,0,0,116,104,101,110,0,0,0,0,37,115,32,116,104,101,110,32,37,115,32,101,110,100,32,0,239,190,173,222,0,0,0,0,103,69,35,1,0,0,0,0,94,10,32,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,33,35,37,40,41,123,125,91,93,60,62,43,61,47,42,58,59,46,44,126,95,0,0,0,0,248,138,4],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+295456);allocate([37,115,37,115,46,112,56,100,46,116,120,116,0,0,0,0,119,98,0,0,0,0,0,0,37,48,56,120,0,0,0,0,99,97,114,116,100,97,116,97,40,41,32,99,97,110,32,111,110,108,121,32,98,101,32,99,97,108,108,101,100,32,111,110,99,101,0,0,0,0,0,0,99,97,114,116,32,100,97,116,97,32,105,100,32,116,111,111,32,108,111,110,103,0,0,0,99,97,114,116,32,100,97,116,97,32,105,100,58,32,98,97,100,32,99,104,97,114,0,0,108,111,97,100,105,110,103,32,99,100,97,116,97,58,32,37,115,10,0,0,0,0,0,0,114,98,0,0,0,0,0,0,82,73,70,70,184,50,0,0,87,65,86,69,102,109,116,32,16,0,0,0,1,0,1,0,34,86,0,0,68,172,0,0,2,0,16,0,100,97,116,97,0,0,0,0,0,0,0,0,119,98,0,0,0,0,0,0,99,111,117,108,100,32,110,111,116,32,111,112,101,110,32,102,105,108,101,0,0,0,0,0,37,115,37,115,46,112,110,103,0,0,0,0,0,0,0,0,101,120,112,111,114,116,105,110,103,32,112,110,103,32,116,111,32,37,115,10,0,0,0,0,37,115,37,115,46,106,115,0,101,120,112,111,114,116,105,110,103,32,116,111,32,37,115,32,37,115,10,0,0,0,0,0,0,0,0,0,0,0,0,0,119,0,0,0,0,0,0,0,112,105,99,111,56,46,106,115,0,0,0,0,0,0,0,0,102,97,105,108,101,100,58,32,112,105,99,111,56,46,100,97,116,32,105,110,118,97,108,105,100,0,0,0,0,0,0,0,46,106,115,0,0,0,0,0,102,97,105,108,101,100,58,32,51,50,107,32,98,108,111,99,107,32,110,111,116,32,103,101,110,101,114,97,116,101,100,0,118,97,114,32,95,99,100,112,111,115,61,48,59,32,118,97,114,32,95,99,97,114,116,100,97,116,61,91,0,0,0,0,37,100,44,0,0,0,0,0,37,100,93,59,10,10,0,0,114,101,97,100,32,37,100,10,0,0,0,0,0,0,0,0,104,116,109,108,0,0,0,0,46,112,110,103,0,0,0,0,46,119,97,118,0,0,0,0,46,114,97,119,0,0,0,0,102,105,108,101,58,32,37,115,10,0,0,0,0,0,0,0,37,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,108,97,121,101,114,32,107,101,121,32,99,111,110,102,105,103,0,0,0,0,0,0,0,115,97,118,101,100,32,99,111,110,102,105,103,46,0,0,0,97,110,121,32,107,101,121,32,116,111,32,113,117,105,116,0,112,114,101,115,115,32,107,101,121,32,102,111,114,58,0,0,192,150,4,0,208,150,4,0,224,150,4,0,240,150,4,0,0,151,4,0,16,151,4,0,32,151,4,0,48,151,4,0,64,151,4,0,80,151,4,0,96,151,4,0,112,151,4,0,128,151,4,0,0,0,0,0,100,101,108,32,116,111,32,114,101,115,101,116,0,0,0,0,101,115,99,32,116,111,32,99,97,110,99,101,108,0,0,0,37,115,32,58,32,37,115,0,88,150,4,0,96,150,4,0,104,150,4,0,112,150,4,0,120,150,4,0,128,150,4,0,136,150,4,0,144,150,4,0,152,150,4,0,160,150,4,0,168,150,4,0,176,150,4,0,184,150,4,0,0,0,0,0,108,101,102,116,0,0,0,0,114,105,103,104,116,0,0,0,117,112,0,0,0,0,0,0,100,111,119,110,0,0,0,0,122,0,0,0,0,0,0,0,120,0,0,0,0,0,0,0,115,0,0,0,0,0,0,0,102,0,0,0,0,0,0,0,101,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,116,97,98,0,0,0,0,0,113,0,0,0,0,0,0,0,112,0,0,0,0,0,0,0,112,49,32,108,101,102,116,32,32,32,32,0,0,0,0,0,112,49,32,114,105,103,104,116,32,32,32,0,0,0,0,0,112,49,32,117,112,32,32,32,32,32,32,0,0,0,0,0,112,49,32,100,111,119,110,32,32,32,32,0,0,0,0,0,112,49,32,98,117,116,116,111,110,32,111,0,0,0,0,0,112,49,32,98,117,116,116,111,110,32,120,0,0,0,0,0,112,50,32,108,101,102,116,32,32,32,32,0,0,0,0,0,112,50,32,114,105,103,104,116,32,32,32,0,0,0,0,0,112,50,32,117,112,32,32,32,32,32,32,0,0,0,0,0,112,50,32,100,111,119,110,32,32,32,32,0,0,0,0,0,112,50,32,98,117,116,116,111,110,32,111,0,0,0,0,0,112,50,32,98,117,116,116,111,110,32,120,0,0,0,0,0,112,97,117,115,101,32,32,32,32,32,32,0,0,0,0,0,0,0,0,0,0,0,0,0,46,112,110,103],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+299856);allocate([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,1,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,115,101,97,114,99,104,0,0,98,98,115,0,0,0,0,0,98,98,115,47,37,100,47],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+319576);allocate([37,115,37,100,46,112,56,46,112,110,103,0,0,0,0,0,114,0,0,0,0,0,0,0,112,105,99,111,45,56,32,99,97,114,116,114,105,100,103,101,0,0,0,0,0,0,0,0,95,95,108,117,97,95,95,0,98,98,115,47,108,97,98,101,108,115,47,0,0,0,0,0,37,115,37,100,46,112,110,103,0,0,0,0,0,0,0,0,37,115,37,115,0,0,0,0,0,0,0,0,0,0,0,0,32,32,37,115,0,0,0,0,0,0,0,0,0,0,0,0,47,37,115,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,2,0,0,0,5,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,46,112,105,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,98,115,47,116,101,109,112,95,37,115,95,95,46,112,105,112,46,112,110,103,0,0,0,98,98,115,47,116,101,109,112,95,37,115,46,112,105,112,46,112,110,103,0,0,0,0,0,98,98,115,47,37,115,46,112,105,112,46,112,110,103,0,0,104,116,116,112,58,47,47,49,50,55,46,48,46,48,46,49,47,98,98,115,47,99,112,111,115,116,95,108,105,115,116,101,114,51,46,112,104,112,63,109,97,120,61,51,50,38,115,116,97,114,116,95,105,110,100,101,120,61,37,100,38,37,115,0,46,46,0,0,0,0,0,0,42],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+320696);allocate([102,97,118,0,0,0,0,0,91,115,101,97,114,99,104,93,0,0,0,0,0,0,0,0,91,117,112,100,97,116,101,93,0,0,0,0,0,0,0,0,37,100,32,37,100,32,37,100,0,0,0,0,0,0,0,0,91,108,111,97,100,32,109,111,114,101,93,0,0,0,0,0,116,105,109,101,111,117,116,0,95,95,0,0,0,0,0,0,99,111,117,108,100,32,110,111,116,32,99,111,110,110,101,99,116,32,116,111,32,98,98,115,0,0,0,0,0,0,0,0,46,112,56,46,112,110,103,0,99,111,117,108,100,32,110,111,116,32,108,111,97,100,0,0,102,117,116,117,114,101,32,118,101,114,115,105,111,110,46,32,112,108,101,97,115,101,32,117,112,100,97,116,101,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,97,116,61,55,38,115,101,97,114,99,104,61,37,115,38,109,97,120,61,51,50,0,0,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57,0,0,0,100,111,119,110,108,111,97,100,32,99,97,110,99,101,108,108,101,100,0,0,0,0,0,0,99,97,110,99,101,108,108,101,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,115,37,115,37,115,47,0,47,0,0,0,0,0,0,0,104,116,116,112,58,47,47,49,50,55,46,48,46,48,46,49,47,98,98,115,47,99,112,111,115,116,115,47,37,100,47,37,100,46,112,56,46,112,110,103,0,0,0,0,0,0,0,0,97,112,105,46,112,56,0,0,99,111,108,108,105,100,101,46,112,56,0,0,0,0,0,0,99,97,115,116,46,112,56,0,100,114,105,112,112,121,46,112,56,0,0,0,0,0,0,0,106,101,108,112,105,46,112,56,0,0,0,0,0,0,0,0,109,97,110,100,101,108,46,112,56,0,0,0,0,0,0,0,98,117,116,116,101,114,102,108,121,46,112,56,0,0,0,0,115,116,111,109,112,121,46,112,56,0,0,0,0,0,0,0,119,111,111,46,112,56,0,0,104,101,108,108,111,46,112,56,0,0,0,0,0,0,0,0,24,237,4,0,32,237,4,0,48,237,4,0,56,237,4,0,72,237,4,0,88,237,4,0,104,237,4,0,120,237,4,0,136,237,4,0,144,237,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,105,110,115,116,97,108,108,105,110,103,32,100,101,109,111,32,99,97,114,116,115,32,116,111,32,47,100,101,109,111,115,47,0,0,0,0,0,0,0,0,119,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,86],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+322064);allocate([99,111,100,111,95,115,111,117,110,100,95,105,110,105,116,32,109,105,120,95,98,117,102,102,101,114,95,115,105,122,101,58,32,37,100,10,0,0,0,0,0,0,0,0,0,0,0,0,11,2,0,0,42,2,0,0,75,2,0,0,110,2,0,0,147,2,0,0,186,2,0,0,228,2,0,0,16,3,0,0,63,3,0,0,112,3,0,0,164,3,0,0,216,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,110,111,32,99,97,114,116,33,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,99,111,100,111,95,105,110,105,116,10],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+949640);allocate([112,108,97,116,102,111,114,109,58,32,37,115,10,0,0,0,69,109,115,99,114,105,112,116,101,110,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,111,100,111,95,115,121,115,116,101,109,95,105,110,105,116,10,0,0,0,0,0,0,0,99,111,100,111,95,114,101,115,101,116,95,116,105,109,101,114,10,0,0,0,0,0,0,0,99,111,100,111,95,103,117,105,95,105,110,105,116,10,0,0,99,111,100,111,95,107,101,121,115,95,105,110,105,116,10,0,99,111,100,111,95,116,101,120,116,95,105,110,105,116,10,0,99,111,100,111,95,118,105,100,101,111,95,105,110,105,116,10,0,0,0,0,0,0,0,0,99,111,100,111,95,109,111,117,115,101,95,105,110,105,116,10,0,0,0,0,0,0,0,0,99,111,100,111,95,106,111,121,115,116,105,99,107,95,105,110,105,116,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,60,111,107,10,0,0,0,0,62,99,111,100,111,95,101,120,105,116,10,0,0,0,0,0,99,109,117,115,105,99,95,115,116,111,112,10,0,0,0,0,101,120,105,116,95,102,117,110,99,10,0,0,0,0,0,0,99,111,100,111,95,99,111,110,102,105,103,95,115,97,118,101,10,0,0,0,0,0,0,0,99,111,100,111,95,115,111,117,110,100,95,101,120,105,116,10,0,0,0,0,0,0,0,0,99,111,100,111,95,118,105,100,101,111,95,101,120,105,116,10,0,0,0,0,0,0,0,0,99,111,100,111,95,106,111,121,115,116,105,99,107,95,101,120,105,116,10,0,0,0,0,0,99,111,100,111,95,115,121,115,116,101,109,95,101,120,105,116,10,0,0,0,0,0,0,0,99,111,100,111,95,105,116,101,109,115,95,99,114,101,97,116,101,100,58,32,37,100,10,0,0,0,0,0,0,0,0,0,37,115],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+954400);allocate([115,99,114,101,101,110,95,119,0,0,0,0,0,0,0,0,115,99,114,101,101,110,95,104,0,0,0,0,0,0,0,0,115,104,111,119,95,102,112,115,0,0,0,0,0,0,0,0,119,105,110,100,111,119,101,100,0,0,0,0,0,0,0,0,119,105,110,100,111,119,95,120,0,0,0,0,0,0,0,0,119,105,110,100,111,119,95,121,0,0,0,0,0,0,0,0,102,114,97,109,101,108,101,115,115,0,0,0,0,0,0,0,102,117,108,108,115,99,114,101,101,110,95,109,101,116,104,111,100,0,0,0,0,0,0,0,102,114,97,109,101,95,115,108,101,101,112,95,109,115,0,0,115,111,117,110,100,95,118,111,108,117,109,101,0,0,0,0,109,117,115,105,99,95,118,111,108,117,109,101,0,0,0,0,115,111,117,110,100,0,0,0,109,117,115,105,99,0,0,0,109,105,120,95,98,117,102,102,101,114,95,115,105,122,101,0,115,111,102,116,119,97,114,101,95,98,108,105,116,0,0,0,37,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,255,255,255,255,0,0,0,0,99,111,100,111,95,108,111,97,100,95,112,111,100,95,102,105,108,101,58,32,85,110,107,110,111,119,110,32,67,104,117,110,107,33,10,0,0,0,0,0,114,98,0,0,0,0,0,0,99,111,100,111,95,108,111,97,100,95,112,111,100,58,32,37,115,32,37,115,32,10,0,0,111,107,0,0,0,0,0,0,102,97,105,108,101,100,0,0,119,98,0,0,0,0,0,0,46,0,0,0,0,0,0,0,46,46,0,0,0,0,0,0,126,0,0,0,0,0,0,0,123,118,97,114,32,118,97,108,61,48,59,32,105,102,32,40,116,121,112,101,111,102,32,99,111,100,111,95,109,111,117,110,116,101,100,95,102,105,108,101,115,121,115,116,101,109,32,33,61,61,32,39,117,110,100,101,102,105,110,101,100,39,41,32,118,97,108,61,49,59,32,114,101,116,117,114,110,32,118,97,108,59,125,0,0,0,0,0,111,112,101,110,105,110,103,32,118,105,114,116,117,97,108,32,102,105,108,101,58,32,37,115,32,40,37,115,41,10,0,0,99,111,100,111,95,102,111,112,101,110,32,37,115,32,40,37,115,41,32,37,115,10,0,0,111,112,101,110,101,100,0,0,42,42,32,99,111,117,108,100,32,110,111,116,32,111,112,101,110,0,0,0,0,0,0,0,70,83,46,115,121,110,99,102,115,40,32,102,117,110,99,116,105,111,110,32,40,101,114,114,41,32,123,32,125,32,41,59],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+959568);allocate([76,111,100,101,80,78,71,0,50,48,49,49,48,50,50,49,0,0,0,0,0,0,0,0,119,98,0,0,0,0,0,0,73,69,78,68,0,0,0,0,105,84,88,116,0,0,0,0,116,69,88,116,0,0,0,0,122,84,88,116,0,0,0,0,116,73,77,69,0,0,0,0,73,68,65,84,0,0,0,0,112,72,89,115,0,0,0,0,98,75,71,68,0,0,0,0,116,82,78,83,0,0,0,0,80,76,84,69,0,0,0,0,73,72,68,82,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,1],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+961408);allocate([16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,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,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,13,0,0,0,15,0,0,0,17,0,0,0,19,0,0,0,23,0,0,0,27,0,0,0,31,0,0,0,35,0,0,0,43,0,0,0,51,0,0,0,59,0,0,0,67,0,0,0,83,0,0,0,99,0,0,0,115,0,0,0,131,0,0,0,163,0,0,0,195,0,0,0,227,0,0,0,2,1,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,7,0,0,0,9,0,0,0,13,0,0,0,17,0,0,0,25,0,0,0,33,0,0,0,49,0,0,0,65,0,0,0,97,0,0,0,129,0,0,0,193,0,0,0,1,1,0,0,129,1,0,0,1,2,0,0,1,3,0,0,1,4,0,0,1,6,0,0,1,8,0,0,1,12,0,0,1,16,0,0,1,24,0,0,1,32,0,0,1,48,0,0,1,64,0,0,1,96,0,0,0,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,190,173,222,0,0,0,0,103,69,35,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,255,255,0,0,254,255,0,0,254,255,0,0,254,255,0,0,254,255,0,0,254,255,0,0,253,255,0,0,253,255,0,0,253,255,0,0,253,255,0,0,252,255,0,0,252,255,0,0,252,255,0,0,252,255,0,0,251,255,0,0,251,255,0,0,251,255,0,0,250,255,0,0,250,255,0,0,250,255,0,0,249,255,0,0,249,255,0,0,249,255,0,0,248,255,0,0,248,255,0,0,247,255,0,0,247,255,0,0,247,255,0,0,246,255,0,0,246,255,0,0,245,255,0,0,245,255,0,0,244,255,0,0,244,255,0,0,243,255,0,0,243,255,0,0,242,255,0,0,242,255,0,0,241,255,0,0,241,255,0,0,240,255,0,0,240,255,0,0,239,255,0,0,239,255,0,0,238,255,0,0,237,255,0,0,237,255,0,0,236,255,0,0,236,255,0,0,235,255,0,0,234,255,0,0,234,255,0,0,233,255,0,0,232,255,0,0,232,255,0,0,231,255,0,0,230,255,0,0,230,255,0,0,229,255,0,0,228,255,0,0,227,255,0,0,227,255,0,0,226,255,0,0,225,255,0,0,224,255,0,0,224,255,0,0,223,255,0,0,222,255,0,0,221,255,0,0,220,255,0,0,220,255,0,0,219,255,0,0,218,255,0,0,217,255,0,0,216,255,0,0,215,255,0,0,214,255,0,0,213,255,0,0,213,255,0,0,212,255,0,0,211,255,0,0,210,255,0,0,209,255,0,0,208,255,0,0,207,255,0,0,206,255,0,0,205,255,0,0,204,255,0,0,203,255,0,0,202,255,0,0,201,255,0,0,200,255,0,0,199,255,0,0,198,255,0,0,197,255,0,0,196,255,0,0,194,255,0,0,193,255,0,0,192,255,0,0,191,255,0,0,190,255,0,0,189,255,0,0,188,255,0,0,187,255,0,0,185,255,0,0,184,255,0,0,183,255,0,0,182,255,0,0,181,255,0,0,180,255,0,0,178,255,0,0,177,255,0,0,176,255,0,0,175,255,0,0,173,255,0,0,172,255,0,0,171,255,0,0,169,255,0,0,168,255,0,0,167,255,0,0,166,255,0,0,164,255,0,0,163,255,0,0,162,255,0,0,160,255,0,0,159,255,0,0,157,255,0,0,156,255,0,0,155,255,0,0,153,255,0,0,152,255,0,0,150,255,0,0,149,255,0,0,148,255,0,0,146,255,0,0,145,255,0,0,143,255,0,0,142,255,0,0,140,255,0,0,139,255,0,0,137,255,0,0,136,255,0,0,134,255,0,0,133,255,0,0,131,255,0,0,130,255,0,0,128,255,0,0,126,255,0,0,125,255,0,0,123,255,0,0,122,255,0,0,120,255,0,0,118,255,0,0,117,255,0,0,115,255,0,0,113,255,0,0,112,255,0,0,110,255,0,0,108,255,0,0,107,255,0,0,105,255,0,0,103,255,0,0,102,255,0,0,100,255,0,0,98,255,0,0,96,255,0,0,95,255,0,0,93,255,0,0,91,255,0,0,89,255,0,0,88,255,0,0,86,255,0,0,84,255,0,0,82,255,0,0,80,255,0,0,78,255,0,0,77,255,0,0,75,255,0,0,73,255,0,0,71,255,0,0,69,255,0,0,67,255,0,0,65,255,0,0,63,255,0,0,61,255,0,0,59,255,0,0,58,255,0,0,56,255,0,0,54,255,0,0,52,255,0,0,50,255,0,0,48,255,0,0,46,255,0,0,44,255,0,0,42,255,0,0,40,255,0,0,37,255,0,0,35,255,0,0,33,255,0,0,31,255,0,0,29,255,0,0,27,255,0,0,25,255,0,0,23,255,0,0,21,255,0,0,19,255,0,0,16,255,0,0,14,255,0,0,12,255,0,0,10,255,0,0,8,255,0,0,6,255,0,0,3,255,0,0,1,255,0,0,255,254,0,0,253,254,0,0,251,254,0,0,248,254,0,0,246,254,0,0,244,254,0,0,241,254,0,0,239,254,0,0,237,254,0,0,235,254,0,0,232,254,0,0,230,254,0,0,228,254,0,0,225,254,0,0,223,254,0,0,221,254,0,0,218,254,0,0,216,254,0,0,213,254,0,0,211,254,0,0,209,254,0,0,206,254,0,0,204,254,0,0,201,254,0,0,199,254,0,0,196,254,0,0,194,254,0,0,191,254,0,0,189,254,0,0,186,254,0,0,184,254,0,0,181,254,0,0,179,254,0,0,176,254,0,0,174,254,0,0,171,254,0,0,169,254,0,0,166,254,0,0,164,254,0,0,161,254,0,0,158,254,0,0,156,254,0,0,153,254,0,0,151,254,0,0,148,254,0,0,145,254,0,0,143,254,0,0,140,254,0,0,137,254,0,0,135,254,0,0,132,254,0,0,129,254,0,0,126,254,0,0,124,254,0,0,121,254,0,0,118,254,0,0,115,254,0,0,113,254,0,0,110,254,0,0,107,254,0,0,104,254,0,0,102,254,0,0,99,254,0,0,96,254,0,0,93,254,0,0,90,254,0,0,87,254,0,0,85,254,0,0,82,254,0,0,79,254,0,0,76,254,0,0,73,254,0,0,70,254,0,0,67,254,0,0,64,254,0,0,61,254,0,0,58,254,0,0,55,254,0,0,52,254,0,0,49,254,0,0,46,254,0,0,43,254,0,0,40,254,0,0,37,254,0,0,34,254,0,0,31,254,0,0,28,254,0,0,25,254,0,0,22,254,0,0,19,254,0,0,16,254,0,0,13,254,0,0,10,254,0,0,7,254,0,0,4,254,0,0,1,254,0,0,253,253,0,0,250,253,0,0,247,253,0,0,244,253,0,0,241,253,0,0,238,253,0,0,234,253,0,0,231,253,0,0,228,253,0,0,225,253,0,0,221,253,0,0,218,253,0,0,215,253,0,0,212,253,0,0,208,253,0,0,205,253,0,0,202,253,0,0,199,253,0,0,195,253,0,0,192,253,0,0,189,253,0,0,185,253,0,0,182,253,0,0,179,253,0,0,175,253,0,0,172,253,0,0,168,253,0,0,165,253,0,0,162,253,0,0,158,253,0,0,155,253,0,0,151,253,0,0,148,253,0,0,144,253,0,0,141,253,0,0,137,253,0,0,134,253,0,0,131,253,0,0,127,253,0,0,124,253,0,0,120,253,0,0,116,253,0,0,113,253,0,0,109,253,0,0,106,253,0,0,102,253,0,0,99,253,0,0,95,253,0,0,91,253,0,0,88,253,0,0,84,253,0,0,81,253,0,0,77,253,0,0,73,253,0,0,70,253,0,0,66,253,0,0,62,253,0,0,59,253,0,0,55,253,0,0,51,253,0,0,48,253,0,0,44,253,0,0,40,253,0,0,36,253,0,0,33,253,0,0,29,253,0,0,25,253,0,0,21,253,0,0,18,253,0,0,14,253,0,0,10,253,0,0,6,253,0,0,2,253,0,0,254,252,0,0,251,252,0,0,247,252,0,0,243,252,0,0,239,252,0,0,235,252,0,0,231,252,0,0,227,252,0,0,223,252,0,0,220,252,0,0,216,252,0,0,212,252,0,0,208,252,0,0,204,252,0,0,200,252,0,0,196,252,0,0,192,252,0,0,188,252,0,0,184,252,0,0,180,252,0,0,176,252,0,0,172,252,0,0,168,252,0,0,164,252,0,0,160,252,0,0,155,252,0,0,151,252,0,0,147,252,0,0,143,252,0,0,139,252,0,0,135,252,0,0,131,252,0,0,127,252,0,0,123,252,0,0,118,252,0,0,114,252,0,0,110,252,0,0,106,252,0,0,102,252,0,0,97,252,0,0,93,252,0,0,89,252,0,0,85,252,0,0,81,252,0,0,76,252,0,0,72,252,0,0,68,252,0,0,63,252,0,0,59,252,0,0,55,252,0,0,51,252,0,0,46,252,0,0,42,252,0,0,38,252,0,0,33,252,0,0,29,252,0,0,24,252,0,0,20,252,0,0,16,252,0,0,11,252,0,0,7,252,0,0,2,252,0,0,254,251,0,0,250,251,0,0,245,251,0,0,241,251,0,0,236,251,0,0,232,251,0,0,227,251,0,0,223,251,0,0,218,251,0,0,214,251,0,0,209,251,0,0,205,251,0,0,200,251,0,0,196,251,0,0,191,251,0,0,187,251,0,0,182,251,0,0,177,251,0,0,173,251,0,0,168,251,0,0,164,251,0,0,159,251,0,0,154,251,0,0,150,251,0,0,145,251,0,0,140,251,0,0,136,251,0,0,131,251,0,0,126,251,0,0,122,251,0,0,117,251,0,0,112,251,0,0,107,251,0,0,103,251,0,0,98,251,0,0,93,251,0,0,88,251,0,0,84,251,0,0,79,251,0,0,74,251,0,0,69,251,0,0,64,251,0,0,60,251,0,0,55,251,0,0,50,251,0,0,45,251,0,0,40,251,0,0,35,251,0,0,31,251,0,0,26,251,0,0,21,251,0,0,16,251,0,0,11,251,0,0,6,251,0,0,1,251,0,0,252,250,0,0,247,250,0,0,242,250,0,0,237,250,0,0,232,250,0,0,227,250,0,0,222,250,0,0,217,250,0,0,212,250,0,0,207,250,0,0,202,250,0,0,197,250,0,0,192,250,0,0,187,250,0,0,182,250,0,0,177,250,0,0,172,250,0,0,167,250,0,0,161,250,0,0,156,250,0,0,151,250,0,0,146,250,0,0,141,250,0,0,136,250,0,0,131,250,0,0,125,250,0,0,120,250,0,0,115,250,0,0,110,250,0,0,105,250,0,0,99,250,0,0,94,250,0,0,89,250,0,0,84,250,0,0,78,250,0,0,73,250,0,0,68,250,0,0,62,250,0,0,57,250,0,0,52,250,0,0,47,250,0,0,41,250,0,0,36,250,0,0,31,250,0,0,25,250,0,0,20,250,0,0,14,250,0,0,9,250,0,0,4,250,0,0,254,249,0,0,249,249,0,0,243,249,0,0,238,249,0,0,232,249,0,0,227,249,0,0,222,249,0,0,216,249,0,0,211,249,0,0,205,249,0,0,200,249,0,0,194,249,0,0,189,249,0,0,183,249,0,0,178,249,0,0,172,249,0,0,166,249,0,0,161,249,0,0,155,249,0,0,150,249,0,0,144,249,0,0,138,249,0,0,133,249,0,0,127,249,0,0,122,249,0,0,116,249,0,0,110,249,0,0,105,249,0,0,99,249,0,0,93,249,0,0,88,249,0,0,82,249,0,0,76,249,0,0,70,249,0,0,65,249,0,0,59,249,0,0,53,249,0,0,48,249,0,0,42,249,0,0,36,249,0,0,30,249,0,0,24,249,0,0,19,249,0,0,13,249,0,0,7,249,0,0,1,249,0,0,251,248,0,0,245,248,0,0,240,248,0,0,234,248,0,0,228,248,0,0,222,248,0,0,216,248,0,0,210,248,0,0,204,248,0,0,198,248,0,0,192,248,0,0,186,248,0,0,180,248,0,0,175,248,0,0,169,248,0,0,163,248,0,0,157,248,0,0,151,248,0,0,145,248,0,0,139,248,0,0,133,248,0,0,126,248,0,0,120,248,0,0,114,248,0,0,108,248,0,0,102,248,0,0,96,248,0,0,90,248,0,0,84,248,0,0,78,248,0,0,72,248,0,0,66,248,0,0,59,248,0,0,53,248,0,0,47,248,0,0,41,248,0,0,35,248,0,0,29,248,0,0,22,248,0,0,16,248,0,0,10,248,0,0,4,248,0,0,254,247,0,0,247,247,0,0,241,247,0,0,235,247,0,0,229,247,0,0,222,247,0,0,216,247,0,0,210,247,0,0,203,247,0,0,197,247,0,0,191,247,0,0,184,247,0,0,178,247,0,0,172,247,0,0,165,247,0,0,159,247,0,0,153,247,0,0,146,247,0,0,140,247,0,0,133,247,0,0,127,247,0,0,121,247,0,0,114,247,0,0,108,247,0,0,101,247,0,0,95,247,0,0,88,247,0,0,82,247,0,0,75,247,0,0,69,247,0,0,62,247,0,0,56,247,0,0,49,247,0,0,43,247,0,0,36,247,0,0,30,247,0,0,23,247,0,0,16,247,0,0,10,247,0,0,3,247,0,0,253,246,0,0,246,246,0,0,239,246,0,0,233,246,0,0,226,246,0,0,219,246,0,0,213,246,0,0,206,246,0,0,199,246,0,0,193,246,0,0,186,246,0,0,179,246,0,0,173,246,0,0,166,246,0,0,159,246,0,0,152,246,0,0,146,246,0,0,139,246,0,0,132,246,0,0,125,246,0,0,119,246,0,0,112,246,0,0,105,246,0,0,98,246,0,0,91,246,0,0,84,246,0,0,78,246,0,0,71,246,0,0,64,246,0,0,57,246,0,0,50,246,0,0,43,246,0,0,36,246,0,0,29,246,0,0,22,246,0,0,16,246,0,0,9,246,0,0,2,246,0,0,251,245,0,0,244,245,0,0,237,245,0,0,230,245,0,0,223,245,0,0,216,245,0,0,209,245,0,0,202,245,0,0,195,245,0,0,188,245,0,0,181,245,0,0,174,245,0,0,166,245,0,0,159,245,0,0,152,245,0,0,145,245,0,0,138,245,0,0,131,245,0,0,124,245,0,0,117,245,0,0,110,245,0,0,102,245,0,0,95,245,0,0,88,245,0,0,81,245,0,0,74,245,0,0,67,245,0,0,59,245,0,0,52,245,0,0,45,245,0,0,38,245,0,0,30,245,0,0,23,245,0,0,16,245,0,0,9,245,0,0,1,245,0,0,250,244,0,0,243,244,0,0,235,244,0,0,228,244,0,0,221,244,0,0,213,244,0,0,206,244,0,0,199,244,0,0,191,244,0,0,184,244,0,0,177,244,0,0,169,244,0,0,162,244,0,0,154,244,0,0,147,244,0,0,140,244,0,0,132,244,0,0,125,244,0,0,117,244,0,0,110,244,0,0,102,244,0,0,95,244,0,0,87,244,0,0,80,244,0,0,72,244,0,0,65,244,0,0,57,244,0,0,50,244,0,0,42,244,0,0,35,244,0,0,27,244,0,0,19,244,0,0,12,244,0,0,4,244,0,0,253,243,0,0,245,243,0,0,237,243,0,0,230,243,0,0,222,243,0,0,215,243,0,0,207,243,0,0,199,243,0,0,192,243,0,0,184,243,0,0,176,243,0,0,168,243,0,0,161,243,0,0,153,243,0,0,145,243,0,0,138,243,0,0,130,243,0,0,122,243,0,0,114,243,0,0,106,243,0,0,99,243,0,0,91,243,0,0,83,243,0,0,75,243,0,0,67,243,0,0,60,243,0,0,52,243,0,0,44,243,0,0,36,243,0,0,28,243,0,0,20,243,0,0,12,243,0,0,4,243,0,0,253,242,0,0,245,242,0,0,237,242,0,0,229,242,0,0,221,242,0,0,213,242,0,0,205,242,0,0,197,242,0,0,189,242,0,0,181,242,0,0,173,242,0,0,165,242,0,0,157,242,0,0,149,242,0,0,141,242,0,0,133,242,0,0,125,242,0,0,117,242,0,0,109,242,0,0,101,242,0,0,93,242,0,0,84,242,0,0,76,242,0,0,68,242,0,0,60,242,0,0,52,242,0,0,44,242,0,0,36,242,0,0,27,242,0,0,19,242,0,0,11,242,0,0,3,242,0,0,251,241,0,0,243,241,0,0,234,241,0,0,226,241,0,0,218,241,0,0,210,241,0,0,201,241,0,0,193,241,0,0,185,241,0,0,177,241,0,0,168,241,0,0,160,241,0,0,152,241,0,0,143,241,0,0,135,241,0,0,127,241,0,0,118,241,0,0,110,241,0,0,102,241,0,0,93,241,0,0,85,241,0,0,76,241,0,0,68,241,0,0,60,241,0,0,51,241,0,0,43,241,0,0,34,241,0,0,26,241,0,0,17,241,0,0,9,241,0,0,1,241,0,0,248,240,0,0,240,240,0,0,231,240,0,0,223,240,0,0,214,240,0,0,206,240,0,0,197,240,0,0,188,240,0,0,180,240,0,0,171,240,0,0,163,240,0,0,154,240,0,0,146,240,0,0,137,240,0,0,128,240,0,0,120,240,0,0,111,240,0,0,103,240,0,0,94,240,0,0,85,240,0,0,77,240,0,0,68,240,0,0,59,240,0,0,51,240,0,0,42,240,0,0,33,240,0,0,24,240,0,0,16,240,0,0,7,240,0,0,254,239,0,0,245,239,0,0,237,239,0,0,228,239,0,0,219,239,0,0,210,239,0,0,202,239,0,0,193,239,0,0,184,239,0,0,175,239,0,0,166,239,0,0,157,239,0,0,149,239,0,0,140,239,0,0,131,239,0,0,122,239,0,0,113,239,0,0,104,239,0,0,95,239,0,0,86,239,0,0,77,239,0,0,69,239,0,0,60,239,0,0,51,239,0,0,42,239,0,0,33,239,0,0,24,239,0,0,15,239,0,0,6,239,0,0,253,238,0,0,244,238,0,0,235,238,0,0,226,238,0,0,217,238,0,0,208,238,0,0,199,238,0,0,189,238,0,0,180,238,0,0,171,238,0,0,162,238,0,0,153,238,0,0,144,238,0,0,135,238,0,0,126,238,0,0,117,238,0,0,107,238,0,0,98,238,0,0,89,238,0,0,80,238,0,0,71,238,0,0,62,238,0,0,52,238,0,0,43,238,0,0,34,238,0,0,25,238,0,0,15,238,0,0,6,238,0,0,253,237,0,0,244,237,0,0,234,237,0,0,225,237,0,0,216,237,0,0,207,237,0,0,197,237,0,0,188,237,0,0,179,237,0,0,169,237,0,0,160,237,0,0,151,237,0,0,141,237,0,0,132,237,0,0,122,237,0,0,113,237,0,0,104,237,0,0,94,237,0,0,85,237,0,0,75,237,0,0,66,237,0,0,56,237,0,0,47,237,0,0,38,237,0,0,28,237,0,0,19,237,0,0,9,237,0,0,0,237,0,0,246,236,0,0,237,236,0,0,227,236,0,0,218,236,0,0,208,236,0,0,198,236,0,0,189,236,0,0,179,236,0,0,170,236,0,0,160,236,0,0,151,236,0,0,141,236,0,0,131,236,0,0,122,236,0,0,112,236,0,0,102,236,0,0,93,236,0,0,83,236,0,0,74,236,0,0,64,236,0,0,54,236,0,0,44,236,0,0,35,236,0,0,25,236,0,0,15,236,0,0,6,236,0,0,252,235,0,0,242,235,0,0,232,235,0,0,223,235,0,0,213,235,0,0,203,235,0,0,193,235,0,0,183,235,0,0,174,235,0,0,164,235,0,0,154,235,0,0,144,235,0,0,134,235,0,0,124,235,0,0,115,235,0,0,105,235,0,0,95,235,0,0,85,235,0,0,75,235,0,0,65,235,0,0,55,235,0,0,45,235,0,0,35,235,0,0,25,235,0,0,15,235,0,0,6,235,0,0,252,234,0,0,242,234,0,0,232,234,0,0,222,234,0,0,212,234,0,0,202,234,0,0,192,234,0,0,182,234,0,0,171,234,0,0,161,234,0,0,151,234,0,0,141,234,0,0,131,234,0,0,121,234,0,0,111,234,0,0,101,234,0,0,91,234,0,0,81,234,0,0,71,234,0,0,60,234,0,0,50,234,0,0,40,234,0,0,30,234,0,0,20,234,0,0,10,234,0,0,255,233,0,0,245,233,0,0,235,233,0,0,225,233,0,0,215,233,0,0,204,233,0,0,194,233,0,0,184,233,0,0,174,233,0,0,163,233,0,0,153,233,0,0,143,233,0,0,133,233,0,0,122,233,0,0,112,233,0,0,102,233,0,0,91,233,0,0,81,233,0,0,71,233,0,0,60,233,0,0,50,233,0,0,39,233,0,0,29,233,0,0,19,233,0,0,8,233,0,0,254,232,0,0,243,232,0,0,233,232,0,0,223,232,0,0,212,232,0,0,202,232,0,0,191,232,0,0,181,232,0,0,170,232,0,0,160,232,0,0,149,232,0,0,139,232,0,0,128,232,0,0,118,232,0,0,107,232,0,0,97,232,0,0,86,232,0,0,76,232,0,0,65,232,0,0,54,232,0,0,44,232,0,0,33,232,0,0,23,232,0,0,12,232,0,0,1,232,0,0,247,231,0,0,236,231,0,0,226,231,0,0,215,231,0,0,204,231,0,0,194,231,0,0,183,231,0,0,172,231,0,0,161,231,0,0,151,231,0,0,140,231,0,0,129,231,0,0,119,231,0,0,108,231,0,0,97,231,0,0,86,231,0,0,76,231,0,0,65,231,0,0,54,231,0,0,43,231,0,0,32,231,0,0,22,231,0,0,11,231,0,0,0,231,0,0,245,230,0,0,234,230,0,0,223,230,0,0,213,230,0,0,202,230,0,0,191,230,0,0,180,230,0,0,169,230,0,0,158,230,0,0,147,230,0,0,136,230,0,0,125,230,0,0,114,230,0,0,103,230,0,0,92,230,0,0,82,230,0,0,71,230,0,0,60,230,0,0,49,230,0,0,38,230,0,0,27,230,0,0,16,230,0,0,5,230,0,0,249,229,0,0,238,229,0,0,227,229,0,0,216,229,0,0,205,229,0,0,194,229,0,0,183,229,0,0,172,229,0,0,161,229,0,0,150,229,0,0,139,229,0,0,127,229,0,0,116,229,0,0,105,229,0,0,94,229,0,0,83,229,0,0,72,229,0,0,61,229,0,0,49,229,0,0,38,229,0,0,27,229,0,0,16,229,0,0,4,229,0,0,249,228,0,0,238,228,0,0,227,228,0,0,215,228,0,0,204,228,0,0,193,228,0,0,182,228,0,0,170,228,0,0,159,228,0,0,148,228,0,0,136,228,0,0,125,228,0,0,114,228,0,0,102,228,0,0,91,228,0,0,80,228,0,0,68,228,0,0,57,228,0,0,46,228,0,0,34,228,0,0,23,228,0,0,11,228,0,0,0,228,0,0,244,227,0,0,233,227,0,0,222,227,0,0,210,227,0,0,199,227,0,0,187,227,0,0,176,227,0,0,164,227,0,0,153,227,0,0,141,227,0,0,130,227,0,0,118,227,0,0,107,227,0,0,95,227,0,0,83,227,0,0,72,227,0,0,60,227,0,0,49,227,0,0,37,227,0,0,26,227,0,0,14,227,0,0,2,227,0,0,247,226,0,0,235,226,0,0,223,226,0,0,212,226,0,0,200,226,0,0,189,226,0,0,177,226,0,0,165,226,0,0,153,226,0,0,142,226,0,0,130,226,0,0,118,226,0,0,107,226,0,0,95,226,0,0,83,226,0,0,71,226,0,0,60,226,0,0,48,226,0,0,36,226,0,0,24,226,0,0,13,226,0,0,1,226,0,0,245,225,0,0,233,225,0,0,221,225,0,0,209,225,0,0,198,225,0,0,186,225,0,0,174,225,0,0,162,225,0,0,150,225,0,0,138,225,0,0,126,225,0,0,114,225,0,0,103,225,0,0,91,225,0,0,79,225,0,0,67,225,0,0,55,225,0,0,43,225,0,0,31,225,0,0,19,225,0,0,7,225,0,0,251,224,0,0,239,224,0,0,227,224,0,0,215,224,0,0,203,224,0,0,191,224,0,0,179,224,0,0,167,224,0,0,155,224,0,0,143,224,0,0,131,224,0,0,119,224,0,0,106,224,0,0,94,224,0,0,82,224,0,0,70,224,0,0,58,224,0,0,46,224,0,0,34,224,0,0,22,224,0,0,9,224,0,0,253,223,0,0,241,223,0,0,229,223,0,0,217,223,0,0,205,223,0,0,192,223,0,0,180,223,0,0,168,223,0,0,156,223,0,0,143,223,0,0,131,223,0,0,119,223,0,0,107,223,0,0,94,223,0,0,82,223,0,0,70,223,0,0,57,223,0,0,45,223,0,0,33,223,0,0,21,223,0,0,8,223,0,0,252,222,0,0,240,222,0,0,227,222,0,0,215,222,0,0,202,222,0,0,190,222,0,0,178,222,0,0,165,222,0,0,153,222,0,0,140,222,0,0,128,222,0,0,116,222,0,0,103,222,0,0,91,222,0,0,78,222,0,0,66,222,0,0,53,222,0,0,41,222,0,0,28,222,0,0,16,222,0,0,3,222,0,0,247,221,0,0,234,221,0,0,222,221,0,0,209,221,0,0,197,221,0,0,184,221,0,0,171,221,0,0,159,221,0,0,146,221,0,0,134,221,0,0,121,221,0,0,108,221,0,0,96,221,0,0,83,221,0,0,71,221,0,0,58,221,0,0,45,221,0,0,33,221,0,0,20,221,0,0,7,221,0,0,251,220,0,0,238,220,0,0,225,220,0,0,213,220,0,0,200,220,0,0,187,220,0,0,174,220,0,0,162,220,0,0,149,220,0,0,136,220,0,0,123,220,0,0,111,220,0,0,98,220,0,0,85,220,0,0,72,220,0,0,59,220,0,0,47,220,0,0,34,220,0,0,21,220,0,0,8,220,0,0,251,219,0,0,238,219,0,0,225,219,0,0,213,219,0,0,200,219,0,0,187,219,0,0,174,219,0,0,161,219,0,0,148,219,0,0,135,219,0,0,122,219,0,0,109,219,0,0,96,219,0,0,83,219,0,0,70,219,0,0,57,219,0,0,44,219,0,0,31,219,0,0,18,219,0,0,5,219,0,0,248,218,0,0,235,218,0,0,222,218,0,0,209,218,0,0,196,218,0,0,183,218,0,0,170,218,0,0,157,218,0,0,144,218,0,0,131,218,0,0,118,218,0,0,105,218,0,0,92,218,0,0,79,218,0,0,65,218,0,0,52,218,0,0,39,218,0,0,26,218,0,0,13,218,0,0,0,218,0,0,242,217,0,0,229,217,0,0,216,217,0,0,203,217,0,0,190,217,0,0,176,217,0,0,163,217,0,0,150,217,0,0,137,217,0,0,123,217,0,0,110,217,0,0,97,217,0,0,84,217,0,0,70,217,0,0,57,217,0,0,44,217,0,0,30,217,0,0,17,217,0,0,4,217,0,0,246,216,0,0,233,216,0,0,220,216,0,0,206,216,0,0,193,216,0,0,180,216,0,0,166,216,0,0,153,216,0,0,139,216,0,0,126,216,0,0,113,216,0,0,99,216,0,0,86,216,0,0,72,216,0,0,59,216,0,0,45,216,0,0,32,216,0,0,18,216,0,0,5,216,0,0,248,215,0,0,234,215,0,0,220,215,0,0,207,215,0,0,193,215,0,0,180,215,0,0,166,215,0,0,153,215,0,0,139,215,0,0,126,215,0,0,112,215,0,0,99,215,0,0,85,215,0,0,71,215,0,0,58,215,0,0,44,215,0,0,31,215,0,0,17,215,0,0,3,215,0,0,246,214,0,0,232,214,0,0,218,214,0,0,205,214,0,0,191,214,0,0,177,214,0,0,164,214,0,0,150,214,0,0,136,214,0,0,122,214,0,0,109,214,0,0,95,214,0,0,81,214,0,0,68,214,0,0,54,214,0,0,40,214,0,0,26,214,0,0,12,214,0,0,255,213,0,0,241,213,0,0,227,213,0,0,213,213,0,0,199,213,0,0,186,213,0,0,172,213,0,0,158,213,0,0,144,213,0,0,130,213,0,0,116,213,0,0,102,213,0,0,89,213,0,0,75,213,0,0,61,213,0,0,47,213,0,0,33,213,0,0,19,213,0,0,5,213,0,0,247,212,0,0,233,212,0,0,219,212,0,0,205,212,0,0,191,212,0,0,177,212,0,0,163,212,0,0,149,212,0,0,135,212,0,0,121,212,0,0,107,212,0,0,93,212,0,0,79,212,0,0,65,212,0,0,51,212,0,0,37,212,0,0,23,212,0,0,9,212,0,0,251,211,0,0,237,211,0,0,223,211,0,0,208,211,0,0,194,211,0,0,180,211,0,0,166,211,0,0,152,211,0,0,138,211,0,0,124,211,0,0,109,211,0,0,95,211,0,0,81,211,0,0,67,211,0,0,53,211,0,0,38,211,0,0,24,211,0,0,10,211,0,0,252,210,0,0,238,210,0,0,223,210,0,0,209,210,0,0,195,210,0,0,181,210,0,0,166,210,0,0,152,210,0,0,138,210,0,0,123,210,0,0,109,210,0,0,95,210,0,0,80,210,0,0,66,210,0,0,52,210,0,0,37,210,0,0,23,210,0,0,9,210,0,0,250,209,0,0,236,209,0,0,222,209,0,0,207,209,0,0,193,209,0,0,178,209,0,0,164,209,0,0,149,209,0,0,135,209,0,0,121,209,0,0,106,209,0,0,92,209,0,0,77,209,0,0,63,209,0,0,48,209,0,0,34,209,0,0,19,209,0,0,5,209,0,0,246,208,0,0,232,208,0,0,217,208,0,0,203,208,0,0,188,208,0,0,174,208,0,0,159,208,0,0,144,208,0,0,130,208,0,0,115,208,0,0,101,208,0,0,86,208,0,0,71,208,0,0,57,208,0,0,42,208,0,0,28,208,0,0,13,208,0,0,254,207,0,0,240,207,0,0,225,207,0,0,210,207,0,0,196,207,0,0,181,207,0,0,166,207,0,0,152,207,0,0,137,207,0,0,122,207,0,0,107,207,0,0,93,207,0,0,78,207,0,0,63,207,0,0,48,207,0,0,34,207,0,0,19,207,0,0,4,207,0,0,245,206,0,0,231,206,0,0,216,206,0,0,201,206,0,0,186,206,0,0,171,206,0,0,156,206,0,0,142,206,0,0,127,206,0,0,112,206,0,0,97,206,0,0,82,206,0,0,67,206,0,0,52,206,0,0,37,206,0,0,23,206,0,0,8,206,0,0,249,205,0,0,234,205,0,0,219,205,0,0,204,205,0,0,189,205,0,0,174,205,0,0,159,205,0,0,144,205,0,0,129,205,0,0,114,205,0,0,99,205,0,0,84,205,0,0,69,205,0,0,54,205,0,0,39,205,0,0,24,205,0,0,9,205,0,0,250,204,0,0,235,204,0,0,220,204,0,0,205,204,0,0,190,204,0,0,174,204,0,0,159,204,0,0,144,204,0,0,129,204,0,0,114,204,0,0,99,204,0,0,84,204,0,0,69,204,0,0,53,204,0,0,38,204,0,0,23,204,0,0,8,204,0,0,249,203,0,0,234,203,0,0,218,203,0,0,203,203,0,0,188,203,0,0,173,203,0,0,158,203,0,0,142,203,0,0,127,203,0,0,112,203,0,0,97,203,0,0,81,203,0,0,66,203,0,0,51,203,0,0,35,203,0,0,20,203,0,0,5,203,0,0,245,202,0,0,230,202,0,0,215,202,0,0,199,202,0,0,184,202,0,0,169,202,0,0,153,202,0,0,138,202,0,0,123,202,0,0,107,202,0,0,92,202,0,0,77,202,0,0,61,202,0,0,46,202,0,0,30,202,0,0,15,202,0,0,255,201,0,0,240,201,0,0,225,201,0,0,209,201,0,0,194,201,0,0,178,201,0,0,163,201,0,0,147,201,0,0,132,201,0,0,116,201,0,0,101,201,0,0,85,201,0,0,70,201,0,0,54,201,0,0,39,201,0,0,23,201,0,0,7,201,0,0,248,200,0,0,232,200,0,0,217,200,0,0,201,200,0,0,186,200,0,0,170,200,0,0,154,200,0,0,139,200,0,0,123,200,0,0,107,200,0,0,92,200,0,0,76,200,0,0,60,200,0,0,45,200,0,0,29,200,0,0,13,200,0,0,254,199,0,0,238,199,0,0,222,199,0,0,207,199,0,0,191,199,0,0,175,199,0,0,160,199,0,0,144,199,0,0,128,199,0,0,112,199,0,0,97,199,0,0,81,199,0,0,65,199,0,0,49,199,0,0,33,199,0,0,18,199,0,0,2,199,0,0,242,198,0,0,226,198,0,0,210,198,0,0,194,198,0,0,179,198,0,0,163,198,0,0,147,198,0,0,131,198,0,0,115,198,0,0,99,198,0,0,83,198,0,0,68,198,0,0,52,198,0,0,36,198,0,0,20,198,0,0,4,198,0,0,244,197,0,0,228,197,0,0,212,197,0,0,196,197,0,0,180,197,0,0,164,197,0,0,148,197,0,0,132,197,0,0,116,197,0,0,100,197,0,0,84,197,0,0,68,197,0,0,52,197,0,0,36,197,0,0,20,197,0,0,4,197,0,0,244,196,0,0,228,196,0,0,212,196,0,0,196,196,0,0,180,196,0,0,164,196,0,0,148,196,0,0,131,196,0,0,115,196,0,0,99,196,0,0,83,196,0,0,67,196,0,0,51,196,0,0,35,196,0,0,19,196,0,0,2,196,0,0,242,195,0,0,226,195,0,0,210,195,0,0,194,195,0,0,177,195,0,0,161,195,0,0,145,195,0,0,129,195,0,0,113,195,0,0,96,195,0,0,80,195,0,0,64,195,0,0,48,195,0,0,31,195,0,0,15,195,0,0,255,194,0,0,238,194,0,0,222,194,0,0,206,194,0,0,190,194,0,0,173,194,0,0,157,194,0,0,141,194,0,0,124,194,0,0,108,194,0,0,92,194,0,0,75,194,0,0,59,194,0,0,42,194,0,0,26,194,0,0,10,194,0,0,249,193,0,0,233,193,0,0,216,193,0,0,200,193,0,0,184,193,0,0,167,193,0,0,151,193,0,0,134,193,0,0,118,193,0,0,101,193,0,0,85,193,0,0,68,193,0,0,52,193,0,0,35,193,0,0,19,193,0,0,2,193,0,0,242,192,0,0,225,192,0,0,209,192,0,0,192,192,0,0,176,192,0,0,159,192,0,0,143,192,0,0,126,192,0,0,110,192,0,0,93,192,0,0,76,192,0,0,60,192,0,0,43,192,0,0,27,192,0,0,10,192,0,0,249,191,0,0,233,191,0,0,216,191,0,0,199,191,0,0,183,191,0,0,166,191,0,0,149,191,0,0,133,191,0,0,116,191,0,0,99,191,0,0,83,191,0,0,66,191,0,0,49,191,0,0,33,191,0,0,16,191,0,0,255,190,0,0,238,190,0,0,222,190,0,0,205,190,0,0,188,190,0,0,171,190,0,0,155,190,0,0,138,190,0,0,121,190,0,0,104,190,0,0,87,190,0,0,71,190,0,0,54,190,0,0,37,190,0,0,20,190,0,0,3,190,0,0,242,189,0,0,226,189,0,0,209,189,0,0,192,189,0,0,175,189,0,0,158,189,0,0,141,189,0,0,124,189,0,0,107,189,0,0,90,189,0,0,74,189,0,0,57,189,0,0,40,189,0,0,23,189,0,0,6,189,0,0,245,188,0,0,228,188,0,0,211,188,0,0,194,188,0,0,177,188,0,0,160,188,0,0,143,188,0,0,126,188,0,0,109,188,0,0,92,188,0,0,75,188,0,0,58,188,0,0,41,188,0,0,24,188,0,0,7,188,0,0,246,187,0,0,229,187,0,0,212,187,0,0,195,187,0,0,177,187,0,0,160,187,0,0,143,187,0,0,126,187,0,0,109,187,0,0,92,187,0,0,75,187,0,0,58,187,0,0,40,187,0,0,23,187,0,0,6,187,0,0,245,186,0,0,228,186,0,0,211,186,0,0,193,186,0,0,176,186,0,0,159,186,0,0,142,186,0,0,125,186,0,0,107,186,0,0,90,186,0,0,73,186,0,0,56,186,0,0,38,186,0,0,21,186,0,0,4,186,0,0,243,185,0,0,225,185,0,0,208,185,0,0,191,185,0,0,174,185,0,0,156,185,0,0,139,185,0,0,122,185,0,0,104,185,0,0,87,185,0,0,70,185,0,0,52,185,0,0,35,185,0,0,18,185,0,0,0,185,0,0,239,184,0,0,221,184,0,0,204,184,0,0,187,184,0,0,169,184,0,0,152,184,0,0,134,184,0,0,117,184,0,0,100,184,0,0,82,184,0,0,65,184,0,0,47,184,0,0,30,184,0,0,12,184,0,0,251,183,0,0,233,183,0,0,216,183,0,0,198,183,0,0,181,183,0,0,163,183,0,0,146,183,0,0,128,183,0,0,111,183,0,0,93,183,0,0,76,183,0,0,58,183,0,0,41,183,0,0,23,183,0,0,5,183,0,0,244,182,0,0,226,182,0,0,209,182,0,0,191,182,0,0,173,182,0,0,156,182,0,0,138,182,0,0,121,182,0,0,103,182,0,0,85,182,0,0,68,182,0,0,50,182,0,0,32,182,0,0,15,182,0,0,253,181,0,0,235,181,0,0,218,181,0,0,200,181,0,0,182,181,0,0,165,181,0,0,147,181,0,0,129,181,0,0,111,181,0,0,94,181,0,0,76,181,0,0,58,181,0,0,40,181,0,0,23,181,0,0,5,181,0,0,243,180,0,0,225,180,0,0,208,180,0,0,190,180,0,0,172,180,0,0,154,180,0,0,136,180,0,0,119,180,0,0,101,180,0,0,83,180,0,0,65,180,0,0,47,180,0,0,29,180,0,0,11,180,0,0,250,179,0,0,232,179,0,0,214,179,0,0,196,179,0,0,178,179,0,0,160,179,0,0,142,179,0,0,124,179,0,0,106,179,0,0,88,179,0,0,71,179,0,0,53,179,0,0,35,179,0,0,17,179,0,0,255,178,0,0,237,178,0,0,219,178,0,0,201,178,0,0,183,178,0,0,165,178,0,0,147,178,0,0,129,178,0,0,111,178,0,0,93,178,0,0,75,178,0,0,57,178,0,0,39,178,0,0,21,178,0,0,3,178,0,0,240,177,0,0,222,177,0,0,204,177,0,0,186,177,0,0,168,177,0,0,150,177,0,0,132,177,0,0,114,177,0,0,96,177,0,0,78,177,0,0,59,177,0,0,41,177,0,0,23,177,0,0,5,177,0,0,243,176,0,0,225,176,0,0,206,176,0,0,188,176,0,0,170,176,0,0,152,176,0,0,134,176,0,0,116,176,0,0,97,176,0,0,79,176,0,0,61,176,0,0,43,176,0,0,24,176,0,0,6,176,0,0,244,175,0,0,226,175,0,0,207,175,0,0,189,175,0,0,171,175,0,0,153,175,0,0,134,175,0,0,116,175,0,0,98,175,0,0,79,175,0,0,61,175,0,0,43,175,0,0,24,175,0,0,6,175,0,0,244,174,0,0,225,174,0,0,207,174,0,0,189,174,0,0,170,174,0,0,152,174,0,0,133,174,0,0,115,174,0,0,97,174,0,0,78,174,0,0,60,174,0,0,41,174,0,0,23,174,0,0,5,174,0,0,242,173,0,0,224,173,0,0,205,173,0,0,187,173,0,0,168,173,0,0,150,173,0,0,131,173,0,0,113,173,0,0,94,173,0,0,76,173,0,0,57,173,0,0,39,173,0,0,20,173,0,0,2,173,0,0,239,172,0,0,221,172,0,0,202,172,0,0,184,172,0,0,165,172,0,0,147,172,0,0,128,172,0,0,109,172,0,0,91,172,0,0,72,172,0,0,54,172,0,0,35,172,0,0,17,172,0,0,254,171,0,0,235,171,0,0,217,171,0,0,198,171,0,0,179,171,0,0,161,171,0,0,142,171,0,0,123,171,0,0,105,171,0,0,86,171,0,0,67,171,0,0,49,171,0,0,30,171,0,0,11,171,0,0,249,170,0,0,230,170,0,0,211,170,0,0,193,170,0,0,174,170,0,0,155,170,0,0,136,170,0,0,118,170,0,0,99,170,0,0,80,170,0,0,61,170,0,0,42,170,0,0,24,170,0,0,5,170,0,0,242,169,0,0,223,169,0,0,205,169,0,0,186,169,0,0,167,169,0,0,148,169,0,0,129,169,0,0,110,169,0,0,92,169,0,0,73,169,0,0,54,169,0,0,35,169,0,0,16,169,0,0,253,168,0,0,234,168,0,0,215,168,0,0,197,168,0,0,178,168,0,0,159,168,0,0,140,168,0,0,121,168,0,0,102,168,0,0,83,168,0,0,64,168,0,0,45,168,0,0,26,168,0,0,7,168,0,0,244,167,0,0,225,167,0,0,206,167,0,0,187,167,0,0,168,167,0,0,149,167,0,0,130,167,0,0,111,167,0,0,92,167,0,0,73,167,0,0,54,167,0,0,35,167,0,0,16,167,0,0,253,166,0,0,234,166,0,0,215,166,0,0,196,166,0,0,177,166,0,0,158,166,0,0,139,166,0,0,120,166,0,0,101,166,0,0,82,166,0,0,62,166,0,0,43,166,0,0,24,166,0,0,5,166,0,0,242,165,0,0,223,165,0,0,204,165,0,0,184,165,0,0,165,165,0,0,146,165,0,0,127,165,0,0,108,165,0,0,89,165,0,0,69,165,0,0,50,165,0,0,31,165,0,0,12,165,0,0,249,164,0,0,229,164,0,0,210,164,0,0,191,164,0,0,172,164,0,0,152,164,0,0,133,164,0,0,114,164,0,0,95,164,0,0,75,164,0,0,56,164,0,0,37,164,0,0,18,164,0,0,254,163,0,0,235,163,0,0,216,163,0,0,196,163,0,0,177,163,0,0,158,163,0,0,138,163,0,0,119,163,0,0,100,163,0,0,80,163,0,0,61,163,0,0,42,163,0,0,22,163,0,0,3,163,0,0,239,162,0,0,220,162,0,0,201,162,0,0,181,162,0,0,162,162,0,0,142,162,0,0,123,162,0,0,104,162,0,0,84,162,0,0,65,162,0,0,45,162,0,0,26,162,0,0,6,162,0,0,243,161,0,0,223,161,0,0,204,161,0,0,185,161,0,0,165,161,0,0,146,161,0,0,126,161,0,0,107,161,0,0,87,161,0,0,67,161,0,0,48,161,0,0,28,161,0,0,9,161,0,0,245,160,0,0,226,160,0,0,206,160,0,0,187,160,0,0,167,160,0,0,148,160,0,0,128,160,0,0,108,160,0,0,89,160,0,0,69,160,0,0,50,160,0,0,30,160,0,0,10,160,0,0,247,159,0,0,227,159,0,0,208,159,0,0,188,159,0,0,168,159,0,0,149,159,0,0,129,159,0,0,109,159,0,0,90,159,0,0,70,159,0,0,50,159,0,0,31,159,0,0,11,159,0,0,247,158,0,0,227,158,0,0,208,158,0,0,188,158,0,0,168,158,0,0,149,158,0,0,129,158,0,0,109,158,0,0,89,158,0,0,70,158,0,0,50,158,0,0,30,158,0,0,10,158,0,0,247,157,0,0,227,157,0,0,207,157,0,0,187,157,0,0,167,157,0,0,148,157,0,0,128,157,0,0,108,157,0,0,88,157,0,0,68,157,0,0,49,157,0,0,29,157,0,0,9,157,0,0,245,156,0,0,225,156,0,0,205,156,0,0,185,156,0,0,166,156,0,0,146,156,0,0,126,156,0,0,106,156,0,0,86,156,0,0,66,156,0,0,46,156,0,0,26,156,0,0,6,156,0,0,242,155,0,0,222,155,0,0,202,155,0,0,183,155,0,0,163,155,0,0,143,155,0,0,123,155,0,0,103,155,0,0,83,155,0,0,63,155,0,0,43,155,0,0,23,155,0,0,3,155,0,0,239,154,0,0,219,154,0,0,199,154,0,0,179,154,0,0,159,154,0,0,139,154,0,0,119,154],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+962688);allocate([99,154,0,0,79,154,0,0,58,154,0,0,38,154,0,0,18,154,0,0,254,153,0,0,234,153,0,0,214,153,0,0,194,153,0,0,174,153,0,0,154,153,0,0,134,153,0,0,114,153,0,0,93,153,0,0,73,153,0,0,53,153,0,0,33,153,0,0,13,153,0,0,249,152,0,0,229,152,0,0,208,152,0,0,188,152,0,0,168,152,0,0,148,152,0,0,128,152,0,0,108,152,0,0,87,152,0,0,67,152,0,0,47,152,0,0,27,152,0,0,7,152,0,0,242,151,0,0,222,151,0,0,202,151,0,0,182,151,0,0,161,151,0,0,141,151,0,0,121,151,0,0,101,151,0,0,80,151,0,0,60,151,0,0,40,151,0,0,19,151,0,0,255,150,0,0,235,150,0,0,215,150,0,0,194,150,0,0,174,150,0,0,154,150,0,0,133,150,0,0,113,150,0,0,93,150,0,0,72,150,0,0,52,150,0,0,32,150,0,0,11,150,0,0,247,149,0,0,226,149,0,0,206,149,0,0,186,149,0,0,165,149,0,0,145,149,0,0,125,149,0,0,104,149,0,0,84,149,0,0,63,149,0,0,43,149,0,0,22,149,0,0,2,149,0,0,238,148,0,0,217,148,0,0,197,148,0,0,176,148,0,0,156,148,0,0,135,148,0,0,115,148,0,0,94,148,0,0,74,148,0,0,53,148,0,0,33,148,0,0,12,148,0,0,248,147,0,0,227,147,0,0,207,147,0,0,186,147,0,0,166,147,0,0,145,147,0,0,125,147,0,0,104,147,0,0,84,147,0,0,63,147,0,0,42,147,0,0,22,147,0,0,1,147,0,0,237,146,0,0,216,146,0,0,196,146,0,0,175,146,0,0,154,146,0,0,134,146,0,0,113,146,0,0,93,146,0,0,72,146,0,0,51,146,0,0,31,146,0,0,10,146,0,0,245,145,0,0,225,145,0,0,204,145,0,0,183,145,0,0,163,145,0,0,142,145,0,0,121,145,0,0,101,145,0,0,80,145,0,0,59,145,0,0,39,145,0,0,18,145,0,0,253,144,0,0,233,144,0,0,212,144,0,0,191,144,0,0,170,144,0,0,150,144,0,0,129,144,0,0,108,144,0,0,87,144,0,0,67,144,0,0,46,144,0,0,25,144,0,0,4,144,0,0,240,143,0,0,219,143,0,0,198,143,0,0,177,143,0,0,156,143,0,0,136,143,0,0,115,143,0,0,94,143,0,0,73,143,0,0,52,143,0,0,31,143,0,0,11,143,0,0,246,142,0,0,225,142,0,0,204,142,0,0,183,142,0,0,162,142,0,0,141,142,0,0,121,142,0,0,100,142,0,0,79,142,0,0,58,142,0,0,37,142,0,0,16,142,0,0,251,141,0,0,230,141,0,0,209,141,0,0,188,141,0,0,167,141,0,0,147,141,0,0,126,141,0,0,105,141,0,0,84,141,0,0,63,141,0,0,42,141,0,0,21,141,0,0,0,141,0,0,235,140,0,0,214,140,0,0,193,140,0,0,172,140,0,0,151,140,0,0,130,140,0,0,109,140,0,0,88,140,0,0,67,140,0,0,46,140,0,0,25,140,0,0,4,140,0,0,239,139,0,0,218,139,0,0,197,139,0,0,175,139,0,0,154,139,0,0,133,139,0,0,112,139,0,0,91,139,0,0,70,139,0,0,49,139,0,0,28,139,0,0,7,139,0,0,242,138,0,0,221,138,0,0,199,138,0,0,178,138,0,0,157,138,0,0,136,138,0,0,115,138,0,0,94,138,0,0,73,138,0,0,52,138,0,0,30,138,0,0,9,138,0,0,244,137,0,0,223,137,0,0,202,137,0,0,180,137,0,0,159,137,0,0,138,137,0,0,117,137,0,0,96,137,0,0,74,137,0,0,53,137,0,0,32,137,0,0,11,137,0,0,246,136,0,0,224,136,0,0,203,136,0,0,182,136,0,0,161,136,0,0,139,136,0,0,118,136,0,0,97,136,0,0,76,136,0,0,54,136,0,0,33,136,0,0,12,136,0,0,246,135,0,0,225,135,0,0,204,135,0,0,183,135,0,0,161,135,0,0,140,135,0,0,119,135,0,0,97,135,0,0,76,135,0,0,55,135,0,0,33,135,0,0,12,135,0,0,247,134,0,0,225,134,0,0,204,134,0,0,182,134,0,0,161,134,0,0,140,134,0,0,118,134,0,0,97,134,0,0,76,134,0,0,54,134,0,0,33,134,0,0,11,134,0,0,246,133,0,0,224,133,0,0,203,133,0,0,182,133,0,0,160,133,0,0,139,133,0,0,117,133,0,0,96,133,0,0,74,133,0,0,53,133,0,0,31,133,0,0,10,133,0,0,245,132,0,0,223,132,0,0,202,132,0,0,180,132,0,0,159,132,0,0,137,132,0,0,116,132,0,0,94,132,0,0,73,132,0,0,51,132,0,0,29,132,0,0,8,132,0,0,242,131,0,0,221,131,0,0,199,131,0,0,178,131,0,0,156,131,0,0,135,131,0,0,113,131,0,0,92,131,0,0,70,131,0,0,48,131,0,0,27,131,0,0,5,131,0,0,240,130,0,0,218,130,0,0,196,130,0,0,175,130,0,0,153,130,0,0,132,130,0,0,110,130,0,0,88,130,0,0,67,130,0,0,45,130,0,0,23,130,0,0,2,130,0,0,236,129,0,0,214,129,0,0,193,129,0,0,171,129,0,0,149,129,0,0,128,129,0,0,106,129,0,0,84,129,0,0,63,129,0,0,41,129,0,0,19,129,0,0,254,128,0,0,232,128,0,0,210,128,0,0,188,128,0,0,167,128,0,0,145,128,0,0,123,128,0,0,102,128,0,0,80,128,0,0,58,128,0,0,36,128,0,0,15,128,0,0,249,127,0,0,227,127,0,0,205,127,0,0,183,127,0,0,162,127,0,0,140,127,0,0,118,127,0,0,96,127,0,0,74,127,0,0,53,127,0,0,31,127,0,0,9,127,0,0,243,126,0,0,221,126,0,0,200,126,0,0,178,126,0,0,156,126,0,0,134,126,0,0,112,126,0,0,90,126,0,0,68,126,0,0,47,126,0,0,25,126,0,0,3,126,0,0,237,125,0,0,215,125,0,0,193,125,0,0,171,125,0,0,149,125,0,0,127,125,0,0,106,125,0,0,84,125,0,0,62,125,0,0,40,125,0,0,18,125,0,0,252,124,0,0,230,124,0,0,208,124,0,0,186,124,0,0,164,124,0,0,142,124,0,0,120,124,0,0,98,124,0,0,76,124,0,0,54,124,0,0,32,124,0,0,10,124,0,0,244,123,0,0,222,123,0,0,200,123,0,0,178,123,0,0,156,123,0,0,134,123,0,0,112,123,0,0,90,123,0,0,68,123,0,0,46,123,0,0,24,123,0,0,2,123,0,0,236,122,0,0,214,122,0,0,192,122,0,0,170,122,0,0,148,122,0,0,126,122,0,0,104,122,0,0,82,122,0,0,60,122,0,0,38,122,0,0,16,122,0,0,249,121,0,0,227,121,0,0,205,121,0,0,183,121,0,0,161,121,0,0,139,121,0,0,117,121,0,0,95,121,0,0,73,121,0,0,50,121,0,0,28,121,0,0,6,121,0,0,240,120,0,0,218,120,0,0,196,120,0,0,173,120,0,0,151,120,0,0,129,120,0,0,107,120,0,0,85,120,0,0,63,120,0,0,40,120,0,0,18,120,0,0,252,119,0,0,230,119,0,0,208,119,0,0,185,119,0,0,163,119,0,0,141,119,0,0,119,119,0,0,96,119,0,0,74,119,0,0,52,119,0,0,30,119,0,0,8,119,0,0,241,118,0,0,219,118,0,0,197,118,0,0,174,118,0,0,152,118,0,0,130,118,0,0,108,118,0,0,85,118,0,0,63,118,0,0,41,118,0,0,18,118,0,0,252,117,0,0,230,117,0,0,208,117,0,0,185,117,0,0,163,117,0,0,141,117,0,0,118,117,0,0,96,117,0,0,74,117,0,0,51,117,0,0,29,117,0,0,7,117,0,0,240,116,0,0,218,116,0,0,195,116,0,0,173,116,0,0,151,116,0,0,128,116,0,0,106,116,0,0,84,116,0,0,61,116,0,0,39,116,0,0,16,116,0,0,250,115,0,0,228,115,0,0,205,115,0,0,183,115,0,0,160,115,0,0,138,115,0,0,115,115,0,0,93,115,0,0,71,115,0,0,48,115,0,0,26,115,0,0,3,115,0,0,237,114,0,0,214,114,0,0,192,114,0,0,169,114,0,0,147,114,0,0,124,114,0,0,102,114,0,0,80,114,0,0,57,114,0,0,35,114,0,0,12,114,0,0,246,113,0,0,223,113,0,0,201,113,0,0,178,113,0,0,155,113,0,0,133,113,0,0,110,113,0,0,88,113,0,0,65,113,0,0,43,113,0,0,20,113,0,0,254,112,0,0,231,112,0,0,209,112,0,0,186,112,0,0,163,112,0,0,141,112,0,0,118,112,0,0,96,112,0,0,73,112,0,0,51,112,0,0,28,112,0,0,5,112,0,0,239,111,0,0,216,111,0,0,194,111,0,0,171,111,0,0,148,111,0,0,126,111,0,0,103,111,0,0,80,111,0,0,58,111,0,0,35,111,0,0,13,111,0,0,246,110,0,0,223,110,0,0,201,110,0,0,178,110,0,0,155,110,0,0,133,110,0,0,110,110,0,0,87,110,0,0,65,110,0,0,42,110,0,0,19,110,0,0,252,109,0,0,230,109,0,0,207,109,0,0,184,109,0,0,162,109,0,0,139,109,0,0,116,109,0,0,94,109,0,0,71,109,0,0,48,109,0,0,25,109,0,0,3,109,0,0,236,108,0,0,213,108,0,0,190,108,0,0,168,108,0,0,145,108,0,0,122,108,0,0,99,108,0,0,77,108,0,0,54,108,0,0,31,108,0,0,8,108,0,0,241,107,0,0,219,107,0,0,196,107,0,0,173,107,0,0,150,107,0,0,127,107,0,0,105,107,0,0,82,107,0,0,59,107,0,0,36,107,0,0,13,107,0,0,246,106,0,0,224,106,0,0,201,106,0,0,178,106,0,0,155,106,0,0,132,106,0,0,109,106,0,0,87,106,0,0,64,106,0,0,41,106,0,0,18,106,0,0,251,105,0,0,228,105,0,0,205,105,0,0,182,105,0,0,160,105,0,0,137,105,0,0,114,105,0,0,91,105,0,0,68,105,0,0,45,105,0,0,22,105,0,0,255,104,0,0,232,104,0,0,209,104,0,0,186,104,0,0,163,104,0,0,141,104,0,0,118,104,0,0,95,104,0,0,72,104,0,0,49,104,0,0,26,104,0,0,3,104,0,0,236,103,0,0,213,103,0,0,190,103,0,0,167,103,0,0,144,103,0,0,121,103,0,0,98,103,0,0,75,103,0,0,52,103,0,0,29,103,0,0,6,103,0,0,239,102,0,0,216,102,0,0,193,102,0,0,170,102,0,0,147,102,0,0,124,102,0,0,101,102,0,0,78,102,0,0,55,102,0,0,32,102,0,0,9,102,0,0,242,101,0,0,219,101,0,0,195,101,0,0,172,101,0,0,149,101,0,0,126,101,0,0,103,101,0,0,80,101,0,0,57,101,0,0,34,101,0,0,11,101,0,0,244,100,0,0,221,100,0,0,198,100,0,0,174,100,0,0,151,100,0,0,128,100,0,0,105,100,0,0,82,100,0,0,59,100,0,0,36,100,0,0,13,100,0,0,245,99,0,0,222,99,0,0,199,99,0,0,176,99,0,0,153,99,0,0,130,99,0,0,107,99,0,0,83,99,0,0,60,99,0,0,37,99,0,0,14,99,0,0,247,98,0,0,224,98,0,0,200,98,0,0,177,98,0,0,154,98,0,0,131,98,0,0,108,98,0,0,84,98,0,0,61,98,0,0,38,98,0,0,15,98,0,0,248,97,0,0,224,97,0,0,201,97,0,0,178,97,0,0,155,97,0,0,131,97,0,0,108,97,0,0,85,97,0,0,62,97,0,0,38,97,0,0,15,97,0,0,248,96,0,0,225,96,0,0,201,96,0,0,178,96,0,0,155,96,0,0,132,96,0,0,108,96,0,0,85,96,0,0,62,96,0,0,38,96,0,0,15,96,0,0,248,95,0,0,225,95,0,0,201,95,0,0,178,95,0,0,155,95,0,0,131,95,0,0,108,95,0,0,85,95,0,0,61,95,0,0,38,95,0,0,15,95,0,0,247,94,0,0,224,94,0,0,201,94,0,0,177,94,0,0,154,94,0,0,131,94,0,0,107,94,0,0,84,94,0,0,60,94,0,0,37,94,0,0,14,94,0,0,246,93,0,0,223,93,0,0,200,93,0,0,176,93,0,0,153,93,0,0,129,93,0,0,106,93,0,0,83,93,0,0,59,93,0,0,36,93,0,0,12,93,0,0,245,92,0,0,222,92,0,0,198,92,0,0,175,92,0,0,151,92,0,0,128,92,0,0,104,92,0,0,81,92,0,0,58,92,0,0,34,92,0,0,11,92,0,0,243,91,0,0,220,91,0,0,196,91,0,0,173,91,0,0,149,91,0,0,126,91,0,0,102,91,0,0,79,91,0,0,55,91,0,0,32,91,0,0,8,91,0,0,241,90,0,0,217,90,0,0,194,90,0,0,170,90,0,0,147,90,0,0,123,90,0,0,100,90,0,0,76,90,0,0,53,90,0,0,29,90,0,0,6,90,0,0,238,89,0,0,215,89,0,0,191,89,0,0,168,89,0,0,144,89,0,0,121,89,0,0,97,89,0,0,74,89,0,0,50,89,0,0,26,89,0,0,3,89,0,0,235,88,0,0,212,88,0,0,188,88,0,0,165,88,0,0,141,88,0,0,117,88,0,0,94,88,0,0,70,88,0,0,47,88,0,0,23,88,0,0,255,87,0,0,232,87,0,0,208,87,0,0,185,87,0,0,161,87,0,0,137,87,0,0,114,87,0,0,90,87,0,0,67,87,0,0,43,87,0,0,19,87,0,0,252,86,0,0,228,86,0,0,204,86,0,0,181,86,0,0,157,86,0,0,133,86,0,0,110,86,0,0,86,86,0,0,62,86,0,0,39,86,0,0,15,86,0,0,247,85,0,0,224,85,0,0,200,85,0,0,176,85,0,0,153,85,0,0,129,85,0,0,105,85,0,0,82,85,0,0,58,85,0,0,34,85,0,0,11,85,0,0,243,84,0,0,219,84,0,0,195,84,0,0,172,84,0,0,148,84,0,0,124,84,0,0,100,84,0,0,77,84,0,0,53,84,0,0,29,84,0,0,6,84,0,0,238,83,0,0,214,83,0,0,190,83,0,0,167,83,0,0,143,83,0,0,119,83,0,0,95,83,0,0,72,83,0,0,48,83,0,0,24,83,0,0,0,83,0,0,232,82,0,0,209,82,0,0,185,82,0,0,161,82,0,0,137,82,0,0,114,82,0,0,90,82,0,0,66,82,0,0,42,82,0,0,18,82,0,0,251,81,0,0,227,81,0,0,203,81,0,0,179,81,0,0,155,81,0,0,131,81,0,0,108,81,0,0,84,81,0,0,60,81,0,0,36,81,0,0,12,81,0,0,244,80,0,0,221,80,0,0,197,80,0,0,173,80,0,0,149,80,0,0,125,80,0,0,101,80,0,0,77,80,0,0,54,80,0,0,30,80,0,0,6,80,0,0,238,79,0,0,214,79,0,0,190,79,0,0,166,79,0,0,142,79,0,0,119,79,0,0,95,79,0,0,71,79,0,0,47,79,0,0,23,79,0,0,255,78,0,0,231,78,0,0,207,78,0,0,183,78,0,0,159,78,0,0,135,78,0,0,112,78,0,0,88,78,0,0,64,78,0,0,40,78,0,0,16,78,0,0,248,77,0,0,224,77,0,0,200,77,0,0,176,77,0,0,152,77,0,0,128,77,0,0,104,77,0,0,80,77,0,0,56,77,0,0,32,77,0,0,8,77,0,0,240,76,0,0,216,76,0,0,192,76,0,0,168,76,0,0,144,76,0,0,121,76,0,0,97,76,0,0,73,76,0,0,49,76,0,0,25,76,0,0,1,76,0,0,233,75,0,0,209,75,0,0,185,75,0,0,161,75,0,0,137,75,0,0,113,75,0,0,88,75,0,0,64,75,0,0,40,75,0,0,16,75,0,0,248,74,0,0,224,74,0,0,200,74,0,0,176,74,0,0,152,74,0,0,128,74,0,0,104,74,0,0,80,74,0,0,56,74,0,0,32,74,0,0,8,74,0,0,240,73,0,0,216,73,0,0,192,73,0,0,168,73,0,0,144,73,0,0,120,73,0,0,95,73,0,0,71,73,0,0,47,73,0,0,23,73,0,0,255,72,0,0,231,72,0,0,207,72,0,0,183,72,0,0,159,72,0,0,135,72,0,0,111,72,0,0,86,72,0,0,62,72,0,0,38,72,0,0,14,72,0,0,246,71,0,0,222,71,0,0,198,71,0,0,174,71,0,0,149,71,0,0,125,71,0,0,101,71,0,0,77,71,0,0,53,71,0,0,29,71,0,0,5,71,0,0,236,70,0,0,212,70,0,0,188,70,0,0,164,70,0,0,140,70,0,0,116,70,0,0,92,70,0,0,67,70,0,0,43,70,0,0,19,70,0,0,251,69,0,0,227,69,0,0,203,69,0,0,178,69,0,0,154,69,0,0,130,69,0,0,106,69,0,0,82,69,0,0,57,69,0,0,33,69,0,0,9,69,0,0,241,68,0,0,217,68,0,0,192,68,0,0,168,68,0,0,144,68,0,0,120,68,0,0,96,68,0,0,71,68,0,0,47,68,0,0,23,68,0,0,255,67,0,0,230,67,0,0,206,67,0,0,182,67,0,0,158,67,0,0,133,67,0,0,109,67,0,0,85,67,0,0,61,67,0,0,36,67,0,0,12,67,0,0,244,66,0,0,220,66,0,0,195,66,0,0,171,66,0,0,147,66,0,0,123,66,0,0,98,66,0,0,74,66,0,0,50,66,0,0,26,66,0,0,1,66,0,0,233,65,0,0,209,65,0,0,184,65,0,0,160,65,0,0,136,65,0,0,111,65,0,0,87,65,0,0,63,65,0,0,39,65,0,0,14,65,0,0,246,64,0,0,222,64,0,0,197,64,0,0,173,64,0,0,149,64,0,0,124,64,0,0,100,64,0,0,76,64,0,0,51,64,0,0,27,64,0,0,3,64,0,0,234,63,0,0,210,63,0,0,186,63,0,0,161,63,0,0,137,63,0,0,113,63,0,0,88,63,0,0,64,63,0,0,40,63,0,0,15,63,0,0,247,62,0,0,223,62,0,0,198,62,0,0,174,62,0,0,149,62,0,0,125,62,0,0,101,62,0,0,76,62,0,0,52,62,0,0,28,62,0,0,3,62,0,0,235,61,0,0,210,61,0,0,186,61,0,0,162,61,0,0,137,61,0,0,113,61,0,0,88,61,0,0,64,61,0,0,40,61,0,0,15,61,0,0,247,60,0,0,222,60,0,0,198,60,0,0,174,60,0,0,149,60,0,0,125,60,0,0,100,60,0,0,76,60,0,0,51,60,0,0,27,60,0,0,3,60,0,0,234,59,0,0,210,59,0,0,185,59,0,0,161,59,0,0,136,59,0,0,112,59,0,0,88,59,0,0,63,59,0,0,39,59,0,0,14,59,0,0,246,58,0,0,221,58,0,0,197,58,0,0,172,58,0,0,148,58,0,0,123,58,0,0,99,58,0,0,74,58,0,0,50,58,0,0,26,58,0,0,1,58,0,0,233,57,0,0,208,57,0,0,184,57,0,0,159,57,0,0,135,57,0,0,110,57,0,0,86,57,0,0,61,57,0,0,37,57,0,0,12,57,0,0,244,56,0,0,219,56,0,0,195,56,0,0,170,56,0,0,146,56,0,0,121,56,0,0,97,56,0,0,72,56,0,0,48,56,0,0,23,56,0,0,254,55,0,0,230,55,0,0,205,55,0,0,181,55,0,0,156,55,0,0,132,55,0,0,107,55,0,0,83,55,0,0,58,55,0,0,34,55,0,0,9,55,0,0,241,54,0,0,216,54,0,0,192,54,0,0,167,54,0,0,142,54,0,0,118,54,0,0,93,54,0,0,69,54,0,0,44,54,0,0,20,54,0,0,251,53,0,0,226,53,0,0,202,53,0,0,177,53,0,0,153,53,0,0,128,53,0,0,104,53,0,0,79,53,0,0,54,53,0,0,30,53,0,0,5,53,0,0,237,52,0,0,212,52,0,0,187,52,0,0,163,52,0,0,138,52,0,0,114,52,0,0,89,52,0,0,64,52,0,0,40,52,0,0,15,52,0,0,247,51,0,0,222,51,0,0,197,51,0,0,173,51,0,0,148,51,0,0,124,51,0,0,99,51,0,0,74,51,0,0,50,51,0,0,25,51,0,0,0,51,0,0,232,50,0,0,207,50,0,0,183,50,0,0,158,50,0,0,133,50,0,0,109,50,0,0,84,50,0,0,59,50,0,0,35,50,0,0,10,50,0,0,241,49,0,0,217,49,0,0,192,49,0,0,167,49,0,0,143,49,0,0,118,49,0,0,94,49,0,0,69,49,0,0,44,49,0,0,20,49,0,0,251,48,0,0,226,48,0,0,202,48,0,0,177,48,0,0,152,48,0,0,127,48,0,0,103,48,0,0,78,48,0,0,53,48,0,0,29,48,0,0,4,48,0,0,235,47,0,0,211,47,0,0,186,47,0,0,161,47,0,0,137,47,0,0,112,47,0,0,87,47,0,0,63,47,0,0,38,47,0,0,13,47,0,0,244,46,0,0,220,46,0,0,195,46,0,0,170,46,0,0,146,46,0,0,121,46,0,0,96,46,0,0,71,46,0,0,47,46,0,0,22,46,0,0,253,45,0,0,229,45,0,0,204,45,0,0,179,45,0,0,154,45,0,0,130,45,0,0,105,45,0,0,80,45,0,0,55,45,0,0,31,45,0,0,6,45,0,0,237,44,0,0,212,44,0,0,188,44,0,0,163,44,0,0,138,44,0,0,113,44,0,0,89,44,0,0,64,44,0,0,39,44,0,0,14,44,0,0,246,43,0,0,221,43,0,0,196,43,0,0,171,43,0,0,147,43,0,0,122,43,0,0,97,43,0,0,72,43,0,0,48,43,0,0,23,43,0,0,254,42,0,0,229,42,0,0,204,42,0,0,180,42,0,0,155,42,0,0,130,42,0,0,105,42,0,0,81,42,0,0,56,42,0,0,31,42,0,0,6,42,0,0,237,41,0,0,213,41,0,0,188,41,0,0,163,41,0,0,138,41,0,0,113,41,0,0,89,41,0,0,64,41,0,0,39,41,0,0,14,41,0,0,245,40,0,0,221,40,0,0,196,40,0,0,171,40,0,0,146,40,0,0,121,40,0,0,96,40,0,0,72,40,0,0,47,40,0,0,22,40,0,0,253,39,0,0,228,39,0,0,204,39,0,0,179,39,0,0,154,39,0,0,129,39,0,0,104,39,0,0,79,39,0,0,55,39,0,0,30,39,0,0,5,39,0,0,236,38,0,0,211,38,0,0,186,38,0,0,162,38,0,0,137,38,0,0,112,38,0,0,87,38,0,0,62,38,0,0,37,38,0,0,12,38,0,0,244,37,0,0,219,37,0,0,194,37,0,0,169,37,0,0,144,37,0,0,119,37,0,0,94,37,0,0,70,37,0,0,45,37,0,0,20,37,0,0,251,36,0,0,226,36,0,0,201,36,0,0,176,36,0,0,151,36,0,0,127,36,0,0,102,36,0,0,77,36,0,0,52,36,0,0,27,36,0,0,2,36,0,0,233,35,0,0,208,35,0,0,184,35,0,0,159,35,0,0,134,35,0,0,109,35,0,0,84,35,0,0,59,35,0,0,34,35,0,0,9,35,0,0,240,34,0,0,215,34,0,0,191,34,0,0,166,34,0,0,141,34,0,0,116,34,0,0,91,34,0,0,66,34,0,0,41,34,0,0,16,34,0,0,247,33,0,0,222,33,0,0,198,33,0,0,173,33,0,0,148,33,0,0,123,33,0,0,98,33,0,0,73,33,0,0,48,33,0,0,23,33,0,0,254,32,0,0,229,32,0,0,204,32,0,0,179,32,0,0,154,32,0,0,130,32,0,0,105,32,0,0,80,32,0,0,55,32,0,0,30,32,0,0,5,32,0,0,236,31,0,0,211,31,0,0,186,31,0,0,161,31,0,0,136,31,0,0,111,31,0,0,86,31,0,0,61,31,0,0,36,31,0,0,11,31,0,0,243,30,0,0,218,30,0,0,193,30,0,0,168,30,0,0,143,30,0,0,118,30,0,0,93,30,0,0,68,30,0,0,43,30,0,0,18,30,0,0,249,29,0,0,224,29,0,0,199,29,0,0,174,29,0,0,149,29,0,0,124,29,0,0,99,29,0,0,74,29,0,0,49,29,0,0,24,29,0,0,255,28,0,0,230,28,0,0,205,28,0,0,180,28,0,0,155,28,0,0,130,28,0,0,105,28,0,0,81,28,0,0,56,28,0,0,31,28,0,0,6,28,0,0,237,27,0,0,212,27,0,0,187,27,0,0,162,27,0,0,137,27,0,0,112,27,0,0,87,27,0,0,62,27,0,0,37,27,0,0,12,27,0,0,243,26,0,0,218,26,0,0,193,26,0,0,168,26,0,0,143,26,0,0,118,26,0,0,93,26,0,0,68,26,0,0,43,26,0,0,18,26,0,0,249,25,0,0,224,25,0,0,199,25,0,0,174,25,0,0,149,25,0,0,124,25,0,0,99,25,0,0,74,25,0,0,49,25,0,0,24,25,0,0,255,24,0,0,230,24,0,0,205,24,0,0,180,24,0,0,155,24,0,0,130,24,0,0,105,24,0,0,80,24,0,0,55,24,0,0,29,24,0,0,4,24,0,0,235,23,0,0,210,23,0,0,185,23,0,0,160,23,0,0,135,23,0,0,110,23,0,0,85,23,0,0,60,23,0,0,35,23,0,0,10,23,0,0,241,22,0,0,216,22,0,0,191,22,0,0,166,22,0,0,141,22,0,0,116,22,0,0,91,22,0,0,66,22,0,0,41,22,0,0,16,22,0,0,247,21,0,0,222,21,0,0,197,21,0,0,172,21,0,0,147,21,0,0,122,21,0,0,97,21,0,0,72,21,0,0,46,21,0,0,21,21,0,0,252,20,0,0,227,20,0,0,202,20,0,0,177,20,0,0,152,20,0,0,127,20,0,0,102,20,0,0,77,20,0,0,52,20,0,0,27,20,0,0,2,20,0,0,233,19,0,0,208,19,0,0,183,19,0,0,158,19,0,0,133,19,0,0,108,19,0,0,82,19,0,0,57,19,0,0,32,19,0,0,7,19,0,0,238,18,0,0,213,18,0,0,188,18,0,0,163,18,0,0,138,18,0,0,113,18,0,0,88,18,0,0,63,18,0,0,38,18,0,0,13,18,0,0,244,17,0,0,218,17,0,0,193,17,0,0,168,17,0,0,143,17,0,0,118,17,0,0,93,17,0,0,68,17,0,0,43,17,0,0,18,17,0,0,249,16,0,0,224,16,0,0,199,16,0,0,174,16,0,0,148,16,0,0,123,16,0,0,98,16,0,0,73,16,0,0,48,16,0,0,23,16,0,0,254,15,0,0,229,15,0,0,204,15,0,0,179,15,0,0,154,15,0,0,129,15,0,0,103,15,0,0,78,15,0,0,53,15,0,0,28,15,0,0,3,15,0,0,234,14,0,0,209,14,0,0,184,14,0,0,159,14,0,0,134,14,0,0,109,14,0,0,83,14,0,0,58,14,0,0,33,14,0,0,8,14,0,0,239,13,0,0,214,13,0,0,189,13,0,0,164,13,0,0,139,13,0,0,114,13,0,0,89,13,0,0,63,13,0,0,38,13,0,0,13,13,0,0,244,12,0,0,219,12,0,0,194,12,0,0,169,12,0,0,144,12,0,0,119,12,0,0,93,12,0,0,68,12,0,0,43,12,0,0,18,12,0,0,249,11,0,0,224,11,0,0,199,11,0,0,174,11,0,0,149,11,0,0,124,11,0,0,98,11,0,0,73,11,0,0,48,11,0,0,23,11,0,0,254,10,0,0,229,10,0,0,204,10,0,0,179,10,0,0,154,10,0,0,128,10,0,0,103,10,0,0,78,10,0,0,53,10,0,0,28,10,0,0,3,10,0,0,234,9,0,0,209,9,0,0,184,9,0,0,158,9,0,0,133,9,0,0,108,9,0,0,83,9,0,0,58,9,0,0,33,9,0,0,8,9,0,0,239,8,0,0,213,8,0,0,188,8,0,0,163,8,0,0,138,8,0,0,113,8,0,0,88,8,0,0,63,8,0,0,38,8,0,0,13,8,0,0,243,7,0,0,218,7,0,0,193,7,0,0,168,7,0,0,143,7,0,0,118,7,0,0,93,7,0,0,68,7,0,0,42,7,0,0,17,7,0,0,248,6,0,0,223,6,0,0,198,6,0,0,173,6,0,0,148,6,0,0,123,6,0,0,97,6,0,0,72,6,0,0,47,6,0,0,22,6,0,0,253,5,0,0,228,5,0,0,203,5,0,0,178,5,0,0,152,5,0,0,127,5,0,0,102,5,0,0,77,5,0,0,52,5,0,0,27,5,0,0,2,5,0,0,233,4,0,0,207,4,0,0,182,4,0,0,157,4,0,0,132,4,0,0,107,4,0,0,82,4,0,0,57,4,0,0,32,4,0,0,6,4,0,0,237,3,0,0,212,3,0,0,187,3,0,0,162,3,0,0,137,3,0,0,112,3,0,0,86,3,0,0,61,3,0,0,36,3,0,0,11,3,0,0,242,2,0,0,217,2,0,0,192,2,0,0,167,2,0,0,141,2,0,0,116,2,0,0,91,2,0,0,66,2,0,0,41,2,0,0,16,2,0,0,247,1,0,0,222,1,0,0,196,1,0,0,171,1,0,0,146,1,0,0,121,1,0,0,96,1,0,0,71,1,0,0,46,1,0,0,20,1,0,0,251,0,0,0,226,0,0,0,201,0,0,0,176,0,0,0,151,0,0,0,126,0,0,0,101,0,0,0,75,0,0,0,50,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,10,0,0,0,15,0,0,0,20,0,0,0,25,0,0,0,31,0,0,0,36,0,0,0,41,0,0,0,46,0,0,0,51,0,0,0,56,0,0,0,61,0,0,0,66,0,0,0,71,0,0,0,76,0,0,0,81,0,0,0,87,0,0,0,92,0,0,0,97,0,0,0,102,0,0,0,107,0,0,0,112,0,0,0,117,0,0,0,122,0,0,0,127,0,0,0,132,0,0,0,138,0,0,0,143,0,0,0,148,0,0,0,153,0,0,0,158,0,0,0,163,0,0,0,168,0,0,0,173,0,0,0,178,0,0,0,183,0,0,0,188,0,0,0,194,0,0,0,199,0,0,0,204,0,0,0,209,0,0,0,214,0,0,0,219,0,0,0,224,0,0,0,229,0,0,0,234,0,0,0,239,0,0,0,244,0,0,0,250,0,0,0,255,0,0,0,4,1,0,0,9,1,0,0,14,1,0,0,19,1,0,0,24,1,0,0,29,1,0,0,34,1,0,0,39,1,0,0,44,1,0,0,49,1,0,0,55,1,0,0,60,1,0,0,65,1,0,0,70,1,0,0,75,1,0,0,80,1,0,0,85,1,0,0,90,1,0,0,95,1,0,0,100,1,0,0,105,1,0,0,111,1,0,0,116,1,0,0,121,1,0,0,126,1,0,0,131,1,0,0,136,1,0,0,141,1,0,0,146,1,0,0,151,1,0,0,156,1,0,0,161,1,0,0,166,1,0,0,172,1,0,0,177,1,0,0,182,1,0,0,187,1,0,0,192,1,0,0,197,1,0,0,202,1,0,0,207,1,0,0,212,1,0,0,217,1,0,0,222,1,0,0,227,1,0,0,233,1,0,0,238,1,0,0,243,1,0,0,248,1,0,0,253,1,0,0,2,2,0,0,7,2,0,0,12,2,0,0,17,2,0,0,22,2,0,0,27,2,0,0,32,2,0,0,38,2,0,0,43,2,0,0,48,2,0,0,53,2,0,0,58,2,0,0,63,2,0,0,68,2,0,0,73,2,0,0,78,2,0,0,83,2,0,0,88,2,0,0,93,2,0,0,98,2,0,0,104,2,0,0,109,2,0,0,114,2,0,0,119,2,0,0,124,2,0,0,129,2,0,0,134,2,0,0,139,2,0,0,144,2,0,0,149,2,0,0,154,2,0,0,159,2,0,0,164,2,0,0,169,2,0,0,175,2,0,0,180,2,0,0,185,2,0,0,190,2,0,0,195,2,0,0,200,2,0,0,205,2,0,0,210,2,0,0,215,2,0,0,220,2,0,0,225,2,0,0,230,2,0,0,235,2,0,0,240,2,0,0,246,2,0,0,251,2,0,0,0,3,0,0,5,3,0,0,10,3,0,0,15,3,0,0,20,3,0,0,25,3,0,0,30,3,0,0,35,3,0,0,40,3,0,0,45,3,0,0,50,3,0,0,55,3,0,0,60,3,0,0,65,3,0,0,71,3,0,0,76,3,0,0,81,3,0,0,86,3,0,0,91,3,0,0,96,3,0,0,101,3,0,0,106,3,0,0,111,3,0,0,116,3,0,0,121,3,0,0,126,3,0,0,131,3,0,0,136,3,0,0,141,3,0,0,146,3,0,0,151,3,0,0,156,3,0,0,162,3,0,0,167,3,0,0,172,3,0,0,177,3,0,0,182,3,0,0,187,3,0,0,192,3,0,0,197,3,0,0,202,3,0,0,207,3,0,0,212,3,0,0,217,3,0,0,222,3,0,0,227,3,0,0,232,3,0,0,237,3,0,0,242,3,0,0,247,3,0,0,252,3,0,0,1,4,0,0,7,4,0,0,12,4,0,0,17,4,0,0,22,4,0,0,27,4,0,0,32,4,0,0,37,4,0,0,42,4,0,0,47,4,0,0,52,4,0,0,57,4,0,0,62,4,0,0,67,4,0,0,72,4,0,0,77,4,0,0,82,4,0,0,87,4,0,0,92,4,0,0,97,4,0,0,102,4,0,0,107,4,0,0,112,4,0,0,117,4,0,0,122,4,0,0,127,4,0,0,132,4,0,0,137,4,0,0,142,4,0,0,148,4,0,0,153,4,0,0,158,4,0,0,163,4,0,0,168,4,0,0,173,4,0,0,178,4,0,0,183,4,0,0,188,4,0,0,193,4,0,0,198,4,0,0,203,4,0,0,208,4,0,0,213,4,0,0,218,4,0,0,223,4,0,0,228,4,0,0,233,4,0,0,238,4,0,0,243,4,0,0,248,4,0,0,253,4,0,0,2,5,0,0,7,5,0,0,12,5,0,0,17,5,0,0,22,5,0,0,27,5,0,0,32,5,0,0,37,5,0,0,42,5,0,0,47,5,0,0,52,5,0,0,57,5,0,0,62,5,0,0,67,5,0,0,72,5,0,0,77,5,0,0,82,5,0,0,87,5,0,0,92,5,0,0,97,5,0,0,102,5,0,0,107,5,0,0,112,5,0,0,117,5,0,0,122,5,0,0,127,5,0,0,132,5,0,0,137,5,0,0,142,5,0,0,147,5,0,0,152,5,0,0,157,5,0,0,162,5,0,0,167,5,0,0,172,5,0,0,177,5,0,0,182,5,0,0,187,5,0,0,192,5,0,0,197,5,0,0,202,5,0,0,207,5,0,0,212,5,0,0,217,5,0,0,222,5,0,0,227,5,0,0,232,5,0,0,237,5,0,0,242,5,0,0,247,5,0,0,252,5,0,0,1,6,0,0,6,6,0,0,11,6,0,0,16,6,0,0,21,6,0,0,26,6,0,0,31,6,0,0,36,6,0,0,41,6,0,0,46,6,0,0,51,6,0,0,56,6,0,0,61,6,0,0,66,6,0,0,71,6,0,0,76,6,0,0,81,6,0,0,86,6,0,0,91,6,0,0,96,6,0,0,101,6,0,0,106,6,0,0,110,6,0,0,115,6,0,0,120,6,0,0,125,6,0,0,130,6,0,0,135,6,0,0,140,6,0,0,145,6,0,0,150,6,0,0,155,6,0,0,160,6,0,0,165,6,0,0,170,6,0,0,175,6,0,0,180,6,0,0,185,6,0,0,190,6,0,0,195,6,0,0,200,6,0,0,205,6,0,0,210,6,0,0,215,6,0,0,220,6,0,0,225,6,0,0,229,6,0,0,234,6,0,0,239,6,0,0,244,6,0,0,249,6,0,0,254,6,0,0,3,7,0,0,8,7,0,0,13,7,0,0,18,7,0,0,23,7,0,0,28,7,0,0,33,7,0,0,38,7,0,0,43,7,0,0,48,7,0,0,53,7,0,0,57,7,0,0,62,7,0,0,67,7,0,0,72,7,0,0,77,7,0,0,82,7,0,0,87,7,0,0,92,7,0,0,97,7,0,0,102,7,0,0,107,7,0,0,112,7,0,0,117,7,0,0,122,7,0,0,126,7,0,0,131,7,0,0,136,7,0,0,141,7,0,0,146,7,0,0,151,7,0,0,156,7,0,0,161,7,0,0,166,7,0,0,171,7,0,0,176,7,0,0,181,7,0,0,185,7,0,0,190,7,0,0,195,7,0,0,200,7,0,0,205,7,0,0,210,7,0,0,215,7,0,0,220,7,0,0,225,7,0,0,230,7,0,0,235,7,0,0,239,7,0,0,244,7,0,0,249,7,0,0,254,7,0,0,3,8,0,0,8,8,0,0,13,8,0,0,18,8,0,0,23,8,0,0,28,8,0,0,32,8,0,0,37,8,0,0,42,8,0,0,47,8,0,0,52,8,0,0,57,8,0,0,62,8,0,0,67,8,0,0,72,8,0,0,76,8,0,0,81,8,0,0,86,8,0,0,91,8,0,0,96,8,0,0,101,8,0,0,106,8,0,0,111,8,0,0,115,8,0,0,120,8,0,0,125,8,0,0,130,8,0,0,135,8,0,0,140,8,0,0,145,8,0,0,150,8,0,0,154,8,0,0,159,8,0,0,164,8,0,0,169,8,0,0,174,8,0,0,179,8,0,0,184,8,0,0,189,8,0,0,193,8,0,0,198,8,0,0,203,8,0,0,208,8,0,0,213,8,0,0,218,8,0,0,223,8,0,0,227,8,0,0,232,8,0,0,237,8,0,0,242,8,0,0,247,8,0,0,252,8,0,0,1,9,0,0,5,9,0,0,10,9,0,0,15,9,0,0,20,9,0,0,25,9,0,0,30,9,0,0,34,9,0,0,39,9,0,0,44,9,0,0,49,9,0,0,54,9,0,0,59,9,0,0,63,9,0,0,68,9,0,0,73,9,0,0,78,9,0,0,83,9,0,0,88,9,0,0,92,9,0,0,97,9,0,0,102,9,0,0,107,9,0,0,112,9,0,0,117,9,0,0,121,9,0,0,126,9,0,0,131,9,0,0,136,9,0,0,141,9,0,0,146,9,0,0,150,9,0,0,155,9,0,0,160,9,0,0,165,9,0,0,170,9,0,0,174,9,0,0,179,9,0,0,184,9,0,0,189,9,0,0,194,9,0,0,198,9,0,0,203,9,0,0,208,9,0,0,213,9,0,0,218,9,0,0,222,9,0,0,227,9,0,0,232,9,0,0,237,9,0,0,242,9,0,0,246,9,0,0,251,9,0,0,0,10,0,0,5,10,0,0,10,10,0,0,14,10,0,0,19,10,0,0,24,10,0,0,29,10,0,0,34,10,0,0,38,10,0,0,43,10,0,0,48,10,0,0,53,10,0,0,57,10,0,0,62,10,0,0,67,10,0,0,72,10,0,0,77,10,0,0,81,10,0,0,86,10,0,0,91,10,0,0,96,10,0,0,100,10,0,0,105,10,0,0,110,10,0,0,115,10,0,0,119,10,0,0,124,10,0,0,129,10,0,0,134,10,0,0,139,10,0,0,143,10,0,0,148,10,0,0,153,10,0,0,158,10,0,0,162,10,0,0,167,10,0,0,172,10,0,0,177,10,0,0,181,10,0,0,186,10,0,0,191,10,0,0,196,10,0,0,200,10,0,0,205,10,0,0,210,10,0,0,215,10,0,0,219,10,0,0,224,10,0,0,229,10,0,0,233,10,0,0,238,10,0,0,243,10,0,0,248,10,0,0,252,10,0,0,1,11,0,0,6,11,0,0,11,11,0,0,15,11,0,0,20,11,0,0,25,11,0,0,30,11,0,0,34,11,0,0,39,11,0,0,44,11,0,0,48,11,0,0,53,11,0,0,58,11,0,0,63,11,0,0,67,11,0,0,72,11,0,0,77,11,0,0,81,11,0,0,86,11,0,0,91,11,0,0,96,11,0,0,100,11,0,0,105,11,0,0,110,11,0,0,114,11,0,0,119,11,0,0,124,11,0,0,128,11,0,0,133,11,0,0,138,11,0,0,143,11,0,0,147,11,0,0,152,11,0,0,157,11,0,0,161,11,0,0,166,11,0,0,171,11,0,0,175,11,0,0,180,11,0,0,185,11,0,0,189,11,0,0,194,11,0,0,199,11,0,0,203,11,0,0,208,11,0,0,213,11,0,0,217,11,0,0,222,11,0,0,227,11,0,0,231,11,0,0,236,11,0,0,241,11,0,0,245,11,0,0,250,11,0,0,255,11,0,0,3,12,0,0,8,12,0,0,13,12,0,0,17,12,0,0,22,12,0,0,27,12,0,0,31,12,0,0,36,12,0,0,41,12,0,0,45,12,0,0,50,12,0,0,55,12,0,0,59,12,0,0,64,12,0,0,69,12,0,0,73,12,0,0,78,12,0,0,83,12,0,0,87,12,0,0,92,12,0,0,96,12,0,0,101,12,0,0,106,12,0,0,110,12,0,0,115,12,0,0,120,12,0,0,124,12,0,0,129,12,0,0,134,12,0,0,138,12,0,0,143,12,0,0,147,12,0,0,152,12,0,0,157,12,0,0,161,12,0,0,166,12,0,0,171,12,0,0,175,12,0,0,180,12,0,0,184,12,0,0,189,12,0,0,194,12,0,0,198,12,0,0,203,12,0,0,207,12,0,0,212,12,0,0,217,12,0,0,221,12,0,0,226,12,0,0,230,12,0,0,235,12,0,0,240,12,0,0,244,12,0,0,249,12,0,0,253,12,0,0,2,13,0,0,7,13,0,0,11,13,0,0,16,13,0,0,20,13,0,0,25,13,0,0,30,13,0,0,34,13,0,0,39,13,0,0,43,13,0,0,48,13,0,0,52,13,0,0,57,13,0,0,62,13,0,0,66,13,0,0,71,13,0,0,75,13,0,0,80,13,0,0,84,13,0,0,89,13,0,0,94,13,0,0,98,13,0,0,103,13,0,0,107,13,0,0,112,13,0,0,116,13,0,0,121,13,0,0,125,13,0,0,130,13,0,0,135,13,0,0,139,13,0,0,144,13,0,0,148,13,0,0,153,13,0,0,157,13,0,0,162,13,0,0,166,13,0,0,171,13,0,0,175,13,0,0,180,13,0,0,185,13,0,0,189,13,0,0,194,13,0,0,198,13,0,0,203,13,0,0,207,13,0,0,212,13,0,0,216,13,0,0,221,13,0,0,225,13,0,0,230,13,0,0,234,13,0,0,239,13,0,0,243,13,0,0,248,13,0,0,252,13,0,0,1,14,0,0,5,14,0,0,10,14,0,0,15,14,0,0,19,14,0,0,24,14,0,0,28,14,0,0,33,14,0,0,37,14,0,0,42,14,0,0,46,14,0,0,51,14,0,0,55,14,0,0,60,14,0,0,64,14,0,0,69,14,0,0,73,14,0,0,78,14,0,0,82,14,0,0,86,14,0,0,91,14,0,0,95,14,0,0,100,14,0,0,104,14,0,0,109,14,0,0,113,14,0,0,118,14,0,0,122,14,0,0,127,14,0,0,131,14,0,0,136,14,0,0,140,14,0,0,145,14,0,0,149,14,0,0,154,14,0,0,158,14,0,0,163,14,0,0,167,14,0,0,172,14,0,0,176,14,0,0,180,14,0,0,185,14,0,0,189,14,0,0,194,14,0,0,198,14,0,0,203,14,0,0,207,14,0,0,212,14,0,0,216,14,0,0,220,14,0,0,225,14,0,0,229,14,0,0,234,14,0,0,238,14,0,0,243,14,0,0,247,14,0,0,252,14,0,0,0,15,0,0,4,15,0,0,9,15,0,0,13,15,0,0,18,15,0,0,22,15,0,0,27,15,0,0,31,15,0,0,35,15,0,0,40,15,0,0,44,15,0,0,49,15,0,0,53,15,0,0,58,15,0,0,62,15,0,0,66,15,0,0,71,15,0,0,75,15,0,0,80,15,0,0,84,15,0,0,88,15,0,0,93,15,0,0,97,15,0,0,102,15,0,0,106,15,0,0,110,15,0,0,115,15,0,0,119,15,0,0,124,15,0,0,128,15,0,0,132,15,0,0,137,15,0,0,141,15,0,0,145,15,0,0,150,15,0,0,154,15,0,0,159,15,0,0,163,15,0,0,167,15,0,0,172,15,0,0,176,15,0,0,181,15,0,0,185,15,0,0,189,15,0,0,194,15,0,0,198,15,0,0,202,15,0,0,207,15,0,0,211,15,0,0,215,15,0,0,220,15,0,0,224,15,0,0,229,15,0,0,233,15,0,0,237,15,0,0,242,15,0,0,246,15,0,0,250,15,0,0,255,15,0,0,3,16,0,0,7,16,0,0,12,16,0,0,16,16,0,0,20,16,0,0,25,16,0,0,29,16,0,0,33,16,0,0,38,16,0,0,42,16,0,0,46,16,0,0,51,16,0,0,55,16,0,0,59,16,0,0,64,16,0,0,68,16,0,0,72,16,0,0,77,16,0,0,81,16,0,0,85,16,0,0,90,16],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+972928);allocate([94,16,0,0,98,16,0,0,103,16,0,0,107,16,0,0,111,16,0,0,115,16,0,0,120,16,0,0,124,16,0,0,128,16,0,0,133,16,0,0,137,16,0,0,141,16,0,0,146,16,0,0,150,16,0,0,154,16,0,0,158,16,0,0,163,16,0,0,167,16,0,0,171,16,0,0,176,16,0,0,180,16,0,0,184,16,0,0,188,16,0,0,193,16,0,0,197,16,0,0,201,16,0,0,206,16,0,0,210,16,0,0,214,16,0,0,218,16,0,0,223,16,0,0,227,16,0,0,231,16,0,0,235,16,0,0,240,16,0,0,244,16,0,0,248,16,0,0,253,16,0,0,1,17,0,0,5,17,0,0,9,17,0,0,14,17,0,0,18,17,0,0,22,17,0,0,26,17,0,0,31,17,0,0,35,17,0,0,39,17,0,0,43,17,0,0,48,17,0,0,52,17,0,0,56,17,0,0,60,17,0,0,64,17,0,0,69,17,0,0,73,17,0,0,77,17,0,0,81,17,0,0,86,17,0,0,90,17,0,0,94,17,0,0,98,17,0,0,102,17,0,0,107,17,0,0,111,17,0,0,115,17,0,0,119,17,0,0,124,17,0,0,128,17,0,0,132,17,0,0,136,17,0,0,140,17,0,0,145,17,0,0,149,17,0,0,153,17,0,0,157,17,0,0,161,17,0,0,166,17,0,0,170,17,0,0,174,17,0,0,178,17,0,0,182,17,0,0,187,17,0,0,191,17,0,0,195,17,0,0,199,17,0,0,203,17,0,0,207,17,0,0,212,17,0,0,216,17,0,0,220,17,0,0,224,17,0,0,228,17,0,0,233,17,0,0,237,17,0,0,241,17,0,0,245,17,0,0,249,17,0,0,253,17,0,0,2,18,0,0,6,18,0,0,10,18,0,0,14,18,0,0,18,18,0,0,22,18,0,0,26,18,0,0,31,18,0,0,35,18,0,0,39,18,0,0,43,18,0,0,47,18,0,0,51,18,0,0,55,18,0,0,60,18,0,0,64,18,0,0,68,18,0,0,72,18,0,0,76,18,0,0,80,18,0,0,84,18,0,0,89,18,0,0,93,18,0,0,97,18,0,0,101,18,0,0,105,18,0,0,109,18,0,0,113,18,0,0,117,18,0,0,122,18,0,0,126,18,0,0,130,18,0,0,134,18,0,0,138,18,0,0,142,18,0,0,146,18,0,0,150,18,0,0,154,18,0,0,159,18,0,0,163,18,0,0,167,18,0,0,171,18,0,0,175,18,0,0,179,18,0,0,183,18,0,0,187,18,0,0,191,18,0,0,195,18,0,0,199,18,0,0,204,18,0,0,208,18,0,0,212,18,0,0,216,18,0,0,220,18,0,0,224,18,0,0,228,18,0,0,232,18,0,0,236,18,0,0,240,18,0,0,244,18,0,0,248,18,0,0,252,18,0,0,1,19,0,0,5,19,0,0,9,19,0,0,13,19,0,0,17,19,0,0,21,19,0,0,25,19,0,0,29,19,0,0,33,19,0,0,37,19,0,0,41,19,0,0,45,19,0,0,49,19,0,0,53,19,0,0,57,19,0,0,61,19,0,0,65,19,0,0,69,19,0,0,73,19,0,0,77,19,0,0,81,19,0,0,85,19,0,0,90,19,0,0,94,19,0,0,98,19,0,0,102,19,0,0,106,19,0,0,110,19,0,0,114,19,0,0,118,19,0,0,122,19,0,0,126,19,0,0,130,19,0,0,134,19,0,0,138,19,0,0,142,19,0,0,146,19,0,0,150,19,0,0,154,19,0,0,158,19,0,0,162,19,0,0,166,19,0,0,170,19,0,0,174,19,0,0,178,19,0,0,182,19,0,0,186,19,0,0,190,19,0,0,194,19,0,0,198,19,0,0,202,19,0,0,206,19,0,0,210,19,0,0,214,19,0,0,218,19,0,0,222,19,0,0,226,19,0,0,230,19,0,0,233,19,0,0,237,19,0,0,241,19,0,0,245,19,0,0,249,19,0,0,253,19,0,0,1,20,0,0,5,20,0,0,9,20,0,0,13,20,0,0,17,20,0,0,21,20,0,0,25,20,0,0,29,20,0,0,33,20,0,0,37,20,0,0,41,20,0,0,45,20,0,0,49,20,0,0,53,20,0,0,57,20,0,0,61,20,0,0,64,20,0,0,68,20,0,0,72,20,0,0,76,20,0,0,80,20,0,0,84,20,0,0,88,20,0,0,92,20,0,0,96,20,0,0,100,20,0,0,104,20,0,0,108,20,0,0,112,20,0,0,115,20,0,0,119,20,0,0,123,20,0,0,127,20,0,0,131,20,0,0,135,20,0,0,139,20,0,0,143,20,0,0,147,20,0,0,151,20,0,0,155,20,0,0,158,20,0,0,162,20,0,0,166,20,0,0,170,20,0,0,174,20,0,0,178,20,0,0,182,20,0,0,186,20,0,0,190,20,0,0,193,20,0,0,197,20,0,0,201,20,0,0,205,20,0,0,209,20,0,0,213,20,0,0,217,20,0,0,221,20,0,0,224,20,0,0,228,20,0,0,232,20,0,0,236,20,0,0,240,20,0,0,244,20,0,0,248,20,0,0,251,20,0,0,255,20,0,0,3,21,0,0,7,21,0,0,11,21,0,0,15,21,0,0,19,21,0,0,22,21,0,0,26,21,0,0,30,21,0,0,34,21,0,0,38,21,0,0,42,21,0,0,45,21,0,0,49,21,0,0,53,21,0,0,57,21,0,0,61,21,0,0,65,21,0,0,68,21,0,0,72,21,0,0,76,21,0,0,80,21,0,0,84,21,0,0,88,21,0,0,91,21,0,0,95,21,0,0,99,21,0,0,103,21,0,0,107,21,0,0,110,21,0,0,114,21,0,0,118,21,0,0,122,21,0,0,126,21,0,0,129,21,0,0,133,21,0,0,137,21,0,0,141,21,0,0,145,21,0,0,148,21,0,0,152,21,0,0,156,21,0,0,160,21,0,0,164,21,0,0,167,21,0,0,171,21,0,0,175,21,0,0,179,21,0,0,183,21,0,0,186,21,0,0,190,21,0,0,194,21,0,0,198,21,0,0,201,21,0,0,205,21,0,0,209,21,0,0,213,21,0,0,216,21,0,0,220,21,0,0,224,21,0,0,228,21,0,0,232,21,0,0,235,21,0,0,239,21,0,0,243,21,0,0,247,21,0,0,250,21,0,0,254,21,0,0,2,22,0,0,6,22,0,0,9,22,0,0,13,22,0,0,17,22,0,0,20,22,0,0,24,22,0,0,28,22,0,0,32,22,0,0,35,22,0,0,39,22,0,0,43,22,0,0,47,22,0,0,50,22,0,0,54,22,0,0,58,22,0,0,62,22,0,0,65,22,0,0,69,22,0,0,73,22,0,0,76,22,0,0,80,22,0,0,84,22,0,0,88,22,0,0,91,22,0,0,95,22,0,0,99,22,0,0,102,22,0,0,106,22,0,0,110,22,0,0,113,22,0,0,117,22,0,0,121,22,0,0,125,22,0,0,128,22,0,0,132,22,0,0,136,22,0,0,139,22,0,0,143,22,0,0,147,22,0,0,150,22,0,0,154,22,0,0,158,22,0,0,161,22,0,0,165,22,0,0,169,22,0,0,172,22,0,0,176,22,0,0,180,22,0,0,183,22,0,0,187,22,0,0,191,22,0,0,194,22,0,0,198,22,0,0,202,22,0,0,205,22,0,0,209,22,0,0,213,22,0,0,216,22,0,0,220,22,0,0,224,22,0,0,227,22,0,0,231,22,0,0,235,22,0,0,238,22,0,0,242,22,0,0,246,22,0,0,249,22,0,0,253,22,0,0,0,23,0,0,4,23,0,0,8,23,0,0,11,23,0,0,15,23,0,0,19,23,0,0,22,23,0,0,26,23,0,0,29,23,0,0,33,23,0,0,37,23,0,0,40,23,0,0,44,23,0,0,48,23,0,0,51,23,0,0,55,23,0,0,58,23,0,0,62,23,0,0,66,23,0,0,69,23,0,0,73,23,0,0,76,23,0,0,80,23,0,0,84,23,0,0,87,23,0,0,91,23,0,0,94,23,0,0,98,23,0,0,102,23,0,0,105,23,0,0,109,23,0,0,112,23,0,0,116,23,0,0,120,23,0,0,123,23,0,0,127,23,0,0,130,23,0,0,134,23,0,0,137,23,0,0,141,23,0,0,145,23,0,0,148,23,0,0,152,23,0,0,155,23,0,0,159,23,0,0,162,23,0,0,166,23,0,0,170,23,0,0,173,23,0,0,177,23,0,0,180,23,0,0,184,23,0,0,187,23,0,0,191,23,0,0,194,23,0,0,198,23,0,0,201,23,0,0,205,23,0,0,209,23,0,0,212,23,0,0,216,23,0,0,219,23,0,0,223,23,0,0,226,23,0,0,230,23,0,0,233,23,0,0,237,23,0,0,240,23,0,0,244,23,0,0,247,23,0,0,251,23,0,0,254,23,0,0,2,24,0,0,6,24,0,0,9,24,0,0,13,24,0,0,16,24,0,0,20,24,0,0,23,24,0,0,27,24,0,0,30,24,0,0,34,24,0,0,37,24,0,0,41,24,0,0,44,24,0,0,48,24,0,0,51,24,0,0,55,24,0,0,58,24,0,0,62,24,0,0,65,24,0,0,69,24,0,0,72,24,0,0,76,24,0,0,79,24,0,0,83,24,0,0,86,24,0,0,90,24,0,0,93,24,0,0,96,24,0,0,100,24,0,0,103,24,0,0,107,24,0,0,110,24,0,0,114,24,0,0,117,24,0,0,121,24,0,0,124,24,0,0,128,24,0,0,131,24,0,0,135,24,0,0,138,24,0,0,142,24,0,0,145,24,0,0,148,24,0,0,152,24,0,0,155,24,0,0,159,24,0,0,162,24,0,0,166,24,0,0,169,24,0,0,173,24,0,0,176,24,0,0,179,24,0,0,183,24,0,0,186,24,0,0,190,24,0,0,193,24,0,0,197,24,0,0,200,24,0,0,204,24,0,0,207,24,0,0,210,24,0,0,214,24,0,0,217,24,0,0,221,24,0,0,224,24,0,0,227,24,0,0,231,24,0,0,234,24,0,0,238,24,0,0,241,24,0,0,245,24,0,0,248,24,0,0,251,24,0,0,255,24,0,0,2,25,0,0,6,25,0,0,9,25,0,0,12,25,0,0,16,25,0,0,19,25,0,0,23,25,0,0,26,25,0,0,29,25,0,0,33,25,0,0,36,25,0,0,40,25,0,0,43,25,0,0,46,25,0,0,50,25,0,0,53,25,0,0,56,25,0,0,60,25,0,0,63,25,0,0,67,25,0,0,70,25,0,0,73,25,0,0,77,25,0,0,80,25,0,0,83,25,0,0,87,25,0,0,90,25,0,0,93,25,0,0,97,25,0,0,100,25,0,0,104,25,0,0,107,25,0,0,110,25,0,0,114,25,0,0,117,25,0,0,120,25,0,0,124,25,0,0,127,25,0,0,130,25,0,0,134,25,0,0,137,25,0,0,140,25,0,0,144,25,0,0,147,25,0,0,150,25,0,0,154,25,0,0,157,25,0,0,160,25,0,0,164,25,0,0,167,25,0,0,170,25,0,0,174,25,0,0,177,25,0,0,180,25,0,0,184,25,0,0,187,25,0,0,190,25,0,0,194,25,0,0,197,25,0,0,200,25,0,0,204,25,0,0,207,25,0,0,210,25,0,0,213,25,0,0,217,25,0,0,220,25,0,0,223,25,0,0,227,25,0,0,230,25,0,0,233,25,0,0,237,25,0,0,240,25,0,0,243,25,0,0,246,25,0,0,250,25,0,0,253,25,0,0,0,26,0,0,4,26,0,0,7,26,0,0,10,26,0,0,13,26,0,0,17,26,0,0,20,26,0,0,23,26,0,0,27,26,0,0,30,26,0,0,33,26,0,0,36,26,0,0,40,26,0,0,43,26,0,0,46,26,0,0,49,26,0,0,53,26,0,0,56,26,0,0,59,26,0,0,62,26,0,0,66,26,0,0,69,26,0,0,72,26,0,0,75,26,0,0,79,26,0,0,82,26,0,0,85,26,0,0,88,26,0,0,92,26,0,0,95,26,0,0,98,26,0,0,101,26,0,0,105,26,0,0,108,26,0,0,111,26,0,0,114,26,0,0,118,26,0,0,121,26,0,0,124,26,0,0,127,26,0,0,131,26,0,0,134,26,0,0,137,26,0,0,140,26,0,0,143,26,0,0,147,26,0,0,150,26,0,0,153,26,0,0,156,26,0,0,159,26,0,0,163,26,0,0,166,26,0,0,169,26,0,0,172,26,0,0,176,26,0,0,179,26,0,0,182,26,0,0,185,26,0,0,188,26,0,0,192,26,0,0,195,26,0,0,198,26,0,0,201,26,0,0,204,26,0,0,207,26,0,0,211,26,0,0,214,26,0,0,217,26,0,0,220,26,0,0,223,26,0,0,227,26,0,0,230,26,0,0,233,26,0,0,236,26,0,0,239,26,0,0,242,26,0,0,246,26,0,0,249,26,0,0,252,26,0,0,255,26,0,0,2,27,0,0,5,27,0,0,9,27,0,0,12,27,0,0,15,27,0,0,18,27,0,0,21,27,0,0,24,27,0,0,28,27,0,0,31,27,0,0,34,27,0,0,37,27,0,0,40,27,0,0,43,27,0,0,46,27,0,0,50,27,0,0,53,27,0,0,56,27,0,0,59,27,0,0,62,27,0,0,65,27,0,0,68,27,0,0,72,27,0,0,75,27,0,0,78,27,0,0,81,27,0,0,84,27,0,0,87,27,0,0,90,27,0,0,93,27,0,0,97,27,0,0,100,27,0,0,103,27,0,0,106,27,0,0,109,27,0,0,112,27,0,0,115,27,0,0,118,27,0,0,121,27,0,0,125,27,0,0,128,27,0,0,131,27,0,0,134,27,0,0,137,27,0,0,140,27,0,0,143,27,0,0,146,27,0,0,149,27,0,0,152,27,0,0,156,27,0,0,159,27,0,0,162,27,0,0,165,27,0,0,168,27,0,0,171,27,0,0,174,27,0,0,177,27,0,0,180,27,0,0,183,27,0,0,186,27,0,0,189,27,0,0,193,27,0,0,196,27,0,0,199,27,0,0,202,27,0,0,205,27,0,0,208,27,0,0,211,27,0,0,214,27,0,0,217,27,0,0,220,27,0,0,223,27,0,0,226,27,0,0,229,27,0,0,232,27,0,0,235,27,0,0,238,27,0,0,242,27,0,0,245,27,0,0,248,27,0,0,251,27,0,0,254,27,0,0,1,28,0,0,4,28,0,0,7,28,0,0,10,28,0,0,13,28,0,0,16,28,0,0,19,28,0,0,22,28,0,0,25,28,0,0,28,28,0,0,31,28,0,0,34,28,0,0,37,28,0,0,40,28,0,0,43,28,0,0,46,28,0,0,49,28,0,0,52,28,0,0,55,28,0,0,58,28,0,0,61,28,0,0,64,28,0,0,67,28,0,0,70,28,0,0,73,28,0,0,76,28,0,0,79,28,0,0,82,28,0,0,85,28,0,0,88,28,0,0,91,28,0,0,94,28,0,0,97,28,0,0,100,28,0,0,103,28,0,0,106,28,0,0,109,28,0,0,112,28,0,0,115,28,0,0,118,28,0,0,121,28,0,0,124,28,0,0,127,28,0,0,130,28,0,0,133,28,0,0,136,28,0,0,139,28,0,0,142,28,0,0,145,28,0,0,148,28,0,0,151,28,0,0,154,28,0,0,157,28,0,0,160,28,0,0,163,28,0,0,166,28,0,0,169,28,0,0,172,28,0,0,175,28,0,0,178,28,0,0,181,28,0,0,184,28,0,0,187,28,0,0,190,28,0,0,193,28,0,0,195,28,0,0,198,28,0,0,201,28,0,0,204,28,0,0,207,28,0,0,210,28,0,0,213,28,0,0,216,28,0,0,219,28,0,0,222,28,0,0,225,28,0,0,228,28,0,0,231,28,0,0,234,28,0,0,237,28,0,0,240,28,0,0,243,28,0,0,245,28,0,0,248,28,0,0,251,28,0,0,254,28,0,0,1,29,0,0,4,29,0,0,7,29,0,0,10,29,0,0,13,29,0,0,16,29,0,0,19,29,0,0,22,29,0,0,24,29,0,0,27,29,0,0,30,29,0,0,33,29,0,0,36,29,0,0,39,29,0,0,42,29,0,0,45,29,0,0,48,29,0,0,51,29,0,0,53,29,0,0,56,29,0,0,59,29,0,0,62,29,0,0,65,29,0,0,68,29,0,0,71,29,0,0,74,29,0,0,77,29,0,0,79,29,0,0,82,29,0,0,85,29,0,0,88,29,0,0,91,29,0,0,94,29,0,0,97,29,0,0,100,29,0,0,102,29,0,0,105,29,0,0,108,29,0,0,111,29,0,0,114,29,0,0,117,29,0,0,120,29,0,0,123,29,0,0,125,29,0,0,128,29,0,0,131,29,0,0,134,29,0,0,137,29,0,0,140,29,0,0,142,29,0,0,145,29,0,0,148,29,0,0,151,29,0,0,154,29,0,0,157,29,0,0,160,29,0,0,162,29,0,0,165,29,0,0,168,29,0,0,171,29,0,0,174,29,0,0,177,29,0,0,179,29,0,0,182,29,0,0,185,29,0,0,188,29,0,0,191,29,0,0,194,29,0,0,196,29,0,0,199,29,0,0,202,29,0,0,205,29,0,0,208,29,0,0,211,29,0,0,213,29,0,0,216,29,0,0,219,29,0,0,222,29,0,0,225,29,0,0,227,29,0,0,230,29,0,0,233,29,0,0,236,29,0,0,239,29,0,0,241,29,0,0,244,29,0,0,247,29,0,0,250,29,0,0,253,29,0,0,255,29,0,0,2,30,0,0,5,30,0,0,8,30,0,0,11,30,0,0,13,30,0,0,16,30,0,0,19,30,0,0,22,30,0,0,25,30,0,0,27,30,0,0,30,30,0,0,33,30,0,0,36,30,0,0,38,30,0,0,41,30,0,0,44,30,0,0,47,30,0,0,50,30,0,0,52,30,0,0,55,30,0,0,58,30,0,0,61,30,0,0,63,30,0,0,66,30,0,0,69,30,0,0,72,30,0,0,74,30,0,0,77,30,0,0,80,30,0,0,83,30,0,0,85,30,0,0,88,30,0,0,91,30,0,0,94,30,0,0,96,30,0,0,99,30,0,0,102,30,0,0,105,30,0,0,107,30,0,0,110,30,0,0,113,30,0,0,116,30,0,0,118,30,0,0,121,30,0,0,124,30,0,0,127,30,0,0,129,30,0,0,132,30,0,0,135,30,0,0,138,30,0,0,140,30,0,0,143,30,0,0,146,30,0,0,148,30,0,0,151,30,0,0,154,30,0,0,157,30,0,0,159,30,0,0,162,30,0,0,165,30,0,0,168,30,0,0,170,30,0,0,173,30,0,0,176,30,0,0,178,30,0,0,181,30,0,0,184,30,0,0,186,30,0,0,189,30,0,0,192,30,0,0,195,30,0,0,197,30,0,0,200,30,0,0,203,30,0,0,205,30,0,0,208,30,0,0,211,30,0,0,213,30,0,0,216,30,0,0,219,30,0,0,222,30,0,0,224,30,0,0,227,30,0,0,230,30,0,0,232,30,0,0,235,30,0,0,238,30,0,0,240,30,0,0,243,30,0,0,246,30,0,0,248,30,0,0,251,30,0,0,254,30,0,0,0,31,0,0,3,31,0,0,6,31,0,0,8,31,0,0,11,31,0,0,14,31,0,0,16,31,0,0,19,31,0,0,22,31,0,0,24,31,0,0,27,31,0,0,30,31,0,0,32,31,0,0,35,31,0,0,38,31,0,0,40,31,0,0,43,31,0,0,46,31,0,0,48,31,0,0,51,31,0,0,54,31,0,0,56,31,0,0,59,31,0,0,61,31,0,0,64,31,0,0,67,31,0,0,69,31,0,0,72,31,0,0,75,31,0,0,77,31,0,0,80,31,0,0,83,31,0,0,85,31,0,0,88,31,0,0,90,31,0,0,93,31,0,0,96,31,0,0,98,31,0,0,101,31,0,0,104,31,0,0,106,31,0,0,109,31,0,0,111,31,0,0,114,31,0,0,117,31,0,0,119,31,0,0,122,31,0,0,124,31,0,0,127,31,0,0,130,31,0,0,132,31,0,0,135,31,0,0,138,31,0,0,140,31,0,0,143,31,0,0,145,31,0,0,148,31,0,0,151,31,0,0,153,31,0,0,156,31,0,0,158,31,0,0,161,31,0,0,164,31,0,0,166,31,0,0,169,31,0,0,171,31,0,0,174,31,0,0,176,31,0,0,179,31,0,0,182,31,0,0,184,31,0,0,187,31,0,0,189,31,0,0,192,31,0,0,195,31,0,0,197,31,0,0,200,31,0,0,202,31,0,0,205,31,0,0,207,31,0,0,210,31,0,0,213,31,0,0,215,31,0,0,218,31,0,0,220,31,0,0,223,31,0,0,225,31,0,0,228,31,0,0,230,31,0,0,233,31,0,0,236,31,0,0,238,31,0,0,241,31,0,0,243,31,0,0,246,31,0,0,248,31,0,0,251,31,0,0,253,31,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,65,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,37,115,10,0,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,118,101,114,116,101,120,0,0,0,0,0,0,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,98,111,110,101,95,118,101,114,116,101,120,0,0,67,111,117,108,100,32,110,111,116,32,97,108,108,111,99,97,116,101,32,112,111,108,121,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,105,99,111,45,56,32,99,97,114,116,114,105,100,103,101,0,0,0,0,0,0,0,0,118,101,114,115,105,111,110,32,37,100,0,0,0,0,0,0,95,95,108,117,97,95,95,0,95,95,103,102,120,95,95,0,95,95,103,102,102,95,95,0,95,95,109,97,112,95,95,0,95,95,115,102,120,95,95,0,95,95,109,117,115,105,99,95,95,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,37,48,50,120,37,48,50,120,37,48,50,120,37,48,50,120,0,0,0,0,0,0,0,0,37,48,50,120,37,49,120,37,49,120,37,49,120,0,0,0,37,48,50,120,32,0,0,0,114,0,0,0,0,0,0,0,112,105,99,111,45,56,32,99,97,114,116,114,105,100,103,101,32,47,47,32,104,116,116,112,58,47,47,119,119,119,46,112,105,99,111,45,56,46,99,111,109,10,0,0,0,0,0,0,118,101,114,115,105,111,110,32,37,100,10,0,0,0,0,0,95,95,108,117,97,95,95,10,0,0,0,0,0,0,0,0,95,95,103,102,120,95,95,10,0,0,0,0,0,0,0,0,37,120,0,0,0,0,0,0,95,95,103,102,102,95,95,10,0,0,0,0,0,0,0,0,37,48,50,120,0,0,0,0,95,95,109,97,112,95,95,10,0,0,0,0,0,0,0,0,95,95,115,102,120,95,95,10,0,0,0,0,0,0,0,0,37,48,50,120,37,120,37,120,37,120,0,0,0,0,0,0,95,95,109,117,115,105,99,95,95,10,0,0,0,0,0,0,37,48,50,120,37,48,50,120,37,48,50,120,37,48,50,120,10,0,0,0,0,0,0,0,119,98],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+983168);allocate([99,111,100,111,95,100,101,115,116,114,111,121,95,112,111,100,58,32,99,112,111,100,45,62,105,116,101,109,115,32,33,61,32,48,10,0,0,0,0,0,10,65,115,115,101,114,116,105,111,110,32,102,97,105,108,101,100,58,32,37,115,10,0,0,66,97,100,32,99,112,111,100,95,97,100,100,95,105,116,101,109,32,116,121,112,101,0,0,66,97,100,32,99,112,111,100,95,97,100,100,95,105,116,101,109,0,0,0,0,0,0,0,85,110,97,98,108,101,32,116,111,32,105,110,105,116,105,97,108,105,122,101,32,83,68,76],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+1121312);allocate([102,117,110,99,116,105,111,110,32,108,111,103,40,109,115,103,41,32,123,32,105,102,32,40,119,105,110,100,111,119,46,99,111,110,115,111,108,101,32,38,38,32,119,105,110,100,111,119,46,99,111,110,115,111,108,101,46,108,111,103,41,32,123,32,119,105,110,100,111,119,46,99,111,110,115,111,108,101,46,108,111,103,40,109,115,103,41,59,32,125,32,125,32,108,111,103,40,34,97,117,100,105,111,95,105,110,105,116,34,41,59,32,118,97,114,32,97,117,100,105,111,95,99,111,110,116,101,120,116,59,32,118,97,114,32,119,101,98,65,117,100,105,111,65,80,73,32,61,32,119,105,110,100,111,119,46,65,117,100,105,111,67,111,110,116,101,120,116,32,124,124,32,119,105,110,100,111,119,46,119,101,98,107,105,116,65,117,100,105,111,67,111,110,116,101,120,116,32,124,124,32,119,105,110,100,111,119,46,109,111,122,65,117,100,105,111,67,111,110,116,101,120,116,32,124,124,32,119,105,110,100,111,119,46,111,65,117,100,105,111,67,111,110,116,101,120,116,32,124,124,32,119,105,110,100,111,119,46,109,115,65,117,100,105,111,67,111,110,116,101,120,116,59,32,105,102,32,40,119,101,98,65,117,100,105,111,65,80,73,41,32,123,32,97,117,100,105,111,95,99,111,110,116,101,120,116,32,61,32,110,101,119,32,119,101,98,65,117,100,105,111,65,80,73,59,32,105,102,32,40,97,117,100,105,111,95,99,111,110,116,101,120,116,41,32,123,32,108,111,103,40,34,83,97,109,112,108,101,32,82,97,116,101,58,32,34,43,97,117,100,105,111,95,99,111,110,116,101,120,116,46,115,97,109,112,108,101,82,97,116,101,41,59,32,110,111,100,101,32,61,32,97,117,100,105,111,95,99,111,110,116,101,120,116,46,99,114,101,97,116,101,83,99,114,105,112,116,80,114,111,99,101,115,115,111,114,40,50,48,52,56,44,32,49,44,32,49,41,59,32,110,111,100,101,46,111,110,97,117,100,105,111,112,114,111,99,101,115,115,32,61,32,102,117,110,99,116,105,111,110,40,101,41,32,123,32,118,97,114,32,100,97,116,97,32,61,32,101,46,111,117,116,112,117,116,66,117,102,102,101,114,46,103,101,116,67,104,97,110,110,101,108,68,97,116,97,40,48,41,59,32,118,97,114,32,114,32,61,32,50,50,48,53,48,46,48,32,47,32,97,117,100,105,111,95,99,111,110,116,101,120,116,46,115,97,109,112,108,101,82,97,116,101,59,32,118,97,114,32,108,101,110,48,32,61,32,77,97,116,104,46,102,108,111,111,114,40,100,97,116,97,46,108,101,110,103,116,104,32,42,32,114,41,59,32,118,97,114,32,108,101,110,49,32,61,32,100,97,116,97,46,108,101,110,103,116,104,59,32,118,97,114,32,112,116,114,32,61,32,77,111,100,117,108,101,46,99,99,97,108,108,40,39,109,105,120,95,48,39,44,32,39,110,117,109,98,101,114,39,44,32,91,39,110,117,109,98,101,114,39,44,39,110,117,109,98,101,114,39,93,44,32,91,108,101,110,48,44,32,108,101,110,49,93,41,59,32,102,111,114,32,40,118,97,114,32,106,32,61,32,48,59,32,106,32,60,32,100,97,116,97,46,108,101,110,103,116,104,59,32,106,43,43,41,32,100,97,116,97,91,106,93,32,61,32,77,111,100,117,108,101,46,103,101,116,86,97,108,117,101,40,112,116,114,32,43,32,106,42,50,44,32,39,105,49,54,39,41,32,47,32,48,120,56,48,48,48,59,32,125,59,32,110,111,100,101,46,99,111,110,110,101,99,116,40,97,117,100,105,111,95,99,111,110,116,101,120,116,46,100,101,115,116,105,110,97,116,105,111,110,41,59,32,125,32,101,108,115,101,32,123,32,108,111,103,40,34,42,42,32,102,97,105,108,101,100,32,116,111,32,99,114,101,97,116,101,32,97,117,100,105,111,95,99,111,110,116,101,120,116,34,41,59,32,125,32,125,32,101,108,115,101,32,123,32,108,111,103,40,34,42,42,32,119,101,98,65,117,100,105,111,65,80,73,32,110,111,116,32,102,111,117,110,100,34,41,59,32,125],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+1146032);allocate([47,117,115,101,114,95,100,97,116,97,47,37,115,0,0,0,70,83,46,99,114,101,97,116,101,80,97,116,104,40,39,47,39,44,32,39,37,115,39,44,32,116,114,117,101,44,32,116,114,117,101,41,59,0,0,0,109,107,100,105,114,32,115,99,114,105,112,116,58,32,37,115,10,0,0,0,0,0,0,0,83,68,76,32,69,114,114,111,114,58,32,37,115,10,0,0,10,10,42,42,32,70,65,84,65,76,32,69,82,82,79,82,58,32,37,115,10,10],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+1148032);allocate([37,48,56,120,37,48,56,120,37,48,56,120,37,48,56,120,37,48,56,120,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,0,0,0,0,4,4,4,0,4,10,10,0,0,0,10,31,10,31,10,31,20,31,5,31,17,2,4,8,17,8,20,29,18,13,4,4,0,0,0,4,8,8,8,4,4,2,2,2,4,21,14,31,14,21,4,4,31,4,4,0,0,0,8,16,0,0,31,0,0,0,0,0,0,4,1,2,4,8,16,31,17,17,17,31,4,12,4,4,31,31,1,31,16,31,31,1,7,1,31,17,17,31,1,1,31,16,31,1,31,16,16,31,17,31,31,1,1,1,1,31,17,31,17,31,31,17,31,1,1,0,4,0,4,0,0,4,0,4,8,3,12,16,12,3,0,14,0,14,0,24,6,1,6,24,31,1,7,0,4,31,17,29,21,29,31,17,31,17,17,30,17,30,17,31,15,16,16,16,15,30,17,17,17,31,31,16,28,16,31,31,16,30,16,16,14,16,16,17,15,17,17,31,17,17,14,4,4,4,14,2,2,2,18,12,18,20,24,20,18,16,16,16,16,31,17,27,21,17,17,17,25,21,19,17,14,17,17,17,14,30,17,30,16,16,31,17,17,19,31,30,17,30,17,17,15,16,14,1,30,31,4,4,4,4,17,17,17,17,14,17,17,17,10,4,17,17,21,27,17,17,10,4,10,17,17,17,14,4,4,31,2,4,8,31,12,8,8,8,12,16,8,4,2,1,6,2,2,2,6,4,10,0,0,0,0,0,0,0,31,4,2,0,0,0,31,17,31,17,17,30,17,30,17,31,15,16,16,16,15,30,17,17,17,31,31,16,28,16,31,31,16,30,16,16,14,16,16,17,15,17,17,31,17,17,14,4,4,4,14,2,2,2,18,12,18,20,24,20,18,16,16,16,16,31,17,27,21,17,17,17,25,21,19,17,14,17,17,17,14,30,17,30,16,16,31,17,17,19,31,30,17,30,17,17,15,16,14,1,30,31,4,4,4,4,17,17,17,17,14,17,17,17,10,4,17,17,21,27,17,17,10,4,10,17,17,17,14,4,4,31,2,4,8,31,4,4,8,4,4,4,4,4,4,4,4,4,2,4,4,5,10,0,0,0,0,0,0,0,31,46,46,0,0,0,0,0,0,99,111,100,111,95,102,111,112,101,110,95,118,100,105,115,107,32,37,115,32,40,37,115,41,10,0,0,0,0,0,0,0,37,115,37,115],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+1149400);allocate([102,111,117,110,100,32,37,115,10,0,0,0,0,0,0,0,115,116,111,114,105,110,103,32,37,100,32,91,37,115,93,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,156,17,0,0,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,0,0,0,0,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,111,100,111,95,115,101,116,95,115,99,114,101,101,110,32,37,100,32,37,100,32,37,100,32,37,120,10,0,0,0,0,114,101,116,114,105,101,118,105,110,103,32,100,101,115,107,116,111,112,32,114,101,115,111,108,117,116,105,111,110,58,32,37,100,32,37,100,10,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,0,0,37,48,51,100,32,102,112,115,32,37,48,51,100,32,109,115,0,0,0,0,0,0,0,0,139,3,0,0,132,3,0,0,126,3,0,0,119,3,0,0,113,3,0,0,107,3,0,0,100,3,0,0,94,3,0,0,88,3,0,0,82,3,0,0,76,3,0,0,70,3,0,0,64,3,0,0,58,3,0,0,52,3,0,0,46,3,0,0,40,3,0,0,34,3,0,0,28,3,0,0,23,3,0,0,17,3,0,0,11,3,0,0,6,3,0,0,0,3,0,0,250,2,0,0,245,2,0,0,240,2,0,0,234,2,0,0,229,2,0,0,224,2,0,0,218,2,0,0,213,2,0,0,208,2,0,0,203,2,0,0,197,2,0,0,192,2,0,0,187,2,0,0,182,2,0,0,177,2,0,0,172,2,0,0,166,2,0,0,163,2,0,0,158,2,0,0,153,2,0,0,148,2,0,0,143,2,0,0,139,2,0,0,134,2,0,0,128,2,0,0,124,2,0,0,120,2,0,0,116,2,0,0,111,2,0,0,107,2,0,0,102,2,0,0,98,2,0,0,92,2,0,0,89,2,0,0,85,2,0,0,80,2,0,0,76,2,0,0,72,2,0,0,68,2,0,0,63,2,0,0,58,2,0,0,55,2,0,0,51,2,0,0,47,2,0,0,43,2,0,0,39,2,0,0,35,2,0,0,31,2,0,0,26,2,0,0,23,2,0,0,20,2,0,0,16,2,0,0,12,2,0,0,8,2,0,0,4,2,0,0,1,2,0,0,252,1,0,0,249,1,0,0,246,1,0,0,242,1,0,0,238,1,0,0,235,1,0,0,231,1,0,0,228,1,0,0,224,1,0,0,221,1,0,0,218,1,0,0,214,1,0,0,211,1,0,0,207,1,0,0,204,1,0,0,201,1,0,0,97,99,116,111,114,37,100,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,2,4,7,3,6,5,0,0,0,0,0,0,0,0,105,110,102,105,110,105,116,121,0,0,0,0,0,0,0,0,110,97,110,0,0,0,0,0,95,112,137,0,255,9,47,15,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,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,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,0,0,0,0,0,0,40,110,117,108,108,41,0,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,0,0,0,0,0,105,110,102,0,0,0,0,0,73,78,70,0,0,0,0,0,110,97,110,0,0,0,0,0,78,65,78,0,0,0,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+1154080);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;function _codo_file_exists(){Module["printErr"]("missing function: codo_file_exists");abort(-1)}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 ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};var ___errno_state=0;function ___setErrNo(value){HEAP32[___errno_state>>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){if(stream.tty.output.length){stream.tty.ops.put_char(stream.tty,10)}}),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)}for(var i=0;i<length;i++){try{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){result=process["stdin"]["read"]();if(!result){if(process["stdin"]["_readableState"]&&process["stdin"]["_readableState"]["ended"]){return null}return undefined}}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){Module["print"](tty.output.join(""));tty.output=[]}else{tty.output.push(TTY.utf8.processCChar(val))}})},default_tty1_ops:{put_char:(function(tty,val){if(val===null||val===10){Module["printErr"](tty.output.join(""));tty.output=[]}else{tty.output.push(TTY.utf8.processCChar(val))}})}};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}},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&&node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)}),expandFileStorage:(function(node,newCapacity){if(node.contents&&node.contents.subarray&&newCapacity>node.contents.length){node.contents=MEMFS.getFileDataAsRegularArray(node);node.usedBytes=node.contents.length}if(!node.contents||node.contents.subarray){var prevCapacity=node.contents?node.contents.buffer.byteLength: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}if(!node.contents&&newCapacity>0)node.contents=[];while(node.contents.length<newCapacity)node.contents.push(0)}),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)}stream.ungotten=[];stream.position=position;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}})}};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)}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)}fileStore.createIndex("timestamp","timestamp",{unique:false})});req.onsuccess=(function(){db=req.result;IDBFS.dbs[name]=db;callback(null,db)});req.onerror=(function(){callback(this.error)})}),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);var transaction=db.transaction([IDBFS.DB_STORE_NAME],"readonly");transaction.onerror=(function(){callback(this.error)});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()})}))}),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,{encoding:"binary",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(){callback(this.error)})}),storeRemoteEntry:(function(store,path,entry,callback){var req=store.put(entry,path);req.onsuccess=(function(){callback(null)});req.onerror=(function(){callback(this.error)})}),removeRemoteEntry:(function(store,path,callback){var req=store.delete(path);req.onsuccess=(function(){callback(null)});req.onerror=(function(){callback(this.error)})}),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(){done(this.error)});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/)}),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&146)>>1}}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)}),flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:(function(flags){if(flags in NODEFS.flagsToPermissionStringMap){return NODEFS.flagsToPermissionStringMap[flags]}else{return flags}}),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{return fs.readlinkSync(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.flagsToPermissionString(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){var nbuffer=new Buffer(length);var res;try{res=fs.readSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}if(res>0){for(var i=0;i<res;i++){buffer[offset+i]=nbuffer[i]}}return res}),write:(function(stream,buffer,offset,length,position){var nbuffer=new Buffer(buffer.subarray(offset,offset+length));var res;try{res=fs.writeSync(stream.nfd,nbuffer,0,length,position)}catch(e){throw new FS.ErrnoError(ERRNO_CODES[e.code])}return res}),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)}stream.position=position;return position})}};var _stdin=allocate(1,"i32*",ALLOC_STATIC);var _stdout=allocate(1,"i32*",ALLOC_STATIC);var _stderr=allocate(1,"i32*",ALLOC_STATIC);function _fflush(stream){}var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},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(ERRNO_CODES.ELOOP)}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(ERRNO_CODES.ELOOP)}}}}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 accmode=flag&2097155;var perms=["r","w","rw"][accmode];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 ERRNO_CODES.EACCES}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return ERRNO_CODES.EACCES}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return ERRNO_CODES.EACCES}return 0}),mayLookup:(function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return ERRNO_CODES.EACCES;return 0}),mayCreate:(function(dir,name){try{var node=FS.lookupNode(dir,name);return ERRNO_CODES.EEXIST}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 ERRNO_CODES.ENOTDIR}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return ERRNO_CODES.EBUSY}}else{if(FS.isDir(node.mode)){return ERRNO_CODES.EISDIR}}return 0}),mayOpen:(function(node,flags){if(!node){return ERRNO_CODES.ENOENT}if(FS.isLink(node.mode)){return ERRNO_CODES.ELOOP}else if(FS.isDir(node.mode)){if((flags&2097155)!==0||flags&512){return ERRNO_CODES.EISDIR}}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(ERRNO_CODES.EMFILE)}),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}),getStreamFromPtr:(function(ptr){return FS.streams[ptr-1]}),getPtrForStream:(function(stream){return stream?stream.fd+1:0}),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(ERRNO_CODES.ESPIPE)})},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}var mounts=FS.getMounts(FS.root.mount);var completed=0;function done(err){if(err){if(!done.errored){done.errored=true;return callback(err)}return}if(++completed>=mounts.length){callback(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(ERRNO_CODES.EBUSY)}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(ERRNO_CODES.EBUSY)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}}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(ERRNO_CODES.EINVAL)}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(ERRNO_CODES.EINVAL)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}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)}),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(ERRNO_CODES.ENOENT)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}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(ERRNO_CODES.EPERM)}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(ERRNO_CODES.EBUSY)}if(!old_dir||!new_dir)throw new FS.ErrnoError(ERRNO_CODES.ENOENT);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(ERRNO_CODES.EXDEV)}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(ERRNO_CODES.EINVAL)}relative=PATH.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY)}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(ERRNO_CODES.EPERM)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}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(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}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(ERRNO_CODES.ENOTDIR)}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){if(err===ERRNO_CODES.EISDIR)err=ERRNO_CODES.EPERM;throw new FS.ErrnoError(err)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(ERRNO_CODES.EBUSY)}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(ERRNO_CODES.ENOENT)}if(!link.node_ops.readlink){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}return 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(ERRNO_CODES.ENOENT)}if(!node.node_ops.getattr){throw new FS.ErrnoError(ERRNO_CODES.EPERM)}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(ERRNO_CODES.EPERM)}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(ERRNO_CODES.EBADF)}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(ERRNO_CODES.EPERM)}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(ERRNO_CODES.EBADF)}FS.chown(stream.node,uid,gid)}),truncate:(function(path,len){if(len<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}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(ERRNO_CODES.EPERM)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}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(ERRNO_CODES.EBADF)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}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(ERRNO_CODES.ENOENT)}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(ERRNO_CODES.EEXIST)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(ERRNO_CODES.ENOENT)}if(FS.isChrdev(node.mode)){flags&=~512}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;Module["printErr"]("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){try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}}),llseek:(function(stream,offset,whence){if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}return stream.stream_ops.llseek(stream,offset,whence)}),read:(function(stream,buffer,offset,length,position){if(length<0||position<0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.read){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}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(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.EISDIR)}if(!stream.stream_ops.write){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if(stream.flags&1024){FS.llseek(stream,0,2)}var seeking=true;if(typeof position==="undefined"){position=stream.position;seeking=false}else if(!stream.seekable){throw new FS.ErrnoError(ERRNO_CODES.ESPIPE)}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']('"+path+"') threw an exception: "+e.message)}return bytesWritten}),allocate:(function(stream,offset,length){if(offset<0||length<=0){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(ERRNO_CODES.EBADF)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}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(ERRNO_CODES.EACCES)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(ERRNO_CODES.ENODEV)}return stream.stream_ops.mmap(stream,buffer,offset,length,position,prot,flags)}),ioctl:(function(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(ERRNO_CODES.ENOTTY)}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="";var utf8=new Runtime.UTF8Processor;for(var i=0;i<length;i++){ret+=utf8.processCChar(buf[i])}}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret}),writeFile:(function(path,data,opts){opts=opts||{};opts.flags=opts.flags||"w";opts.encoding=opts.encoding||"utf8";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var stream=FS.open(path,opts.flags,opts.mode);if(opts.encoding==="utf8"){var utf8=new Runtime.UTF8Processor;var buf=new Uint8Array(utf8.processJSString(data));FS.write(stream,buf,0,buf.length,0,opts.canOwn)}else if(opts.encoding==="binary"){FS.write(stream,data,0,data.length,0,opts.canOwn)}FS.close(stream)}),cwd:(function(){return FS.currentPath}),chdir:(function(path){var lookup=FS.lookupPath(path,{follow:true});if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR)}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(){return 0})});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!=="undefined"){var randomBuffer=new Uint8Array(1);random_device=(function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]})}else if(ENVIRONMENT_IS_NODE){random_device=(function(){return require("crypto").randomBytes(1)[0]})}else{random_device=(function(){return Math.random()*256|0})}FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")}),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");HEAP32[_stdin>>2]=FS.getPtrForStream(stdin);assert(stdin.fd===0,"invalid handle for stdin ("+stdin.fd+")");var stdout=FS.open("/dev/stdout","w");HEAP32[_stdout>>2]=FS.getPtrForStream(stdout);assert(stdout.fd===1,"invalid handle for stdout ("+stdout.fd+")");var stderr=FS.open("/dev/stderr","w");HEAP32[_stderr>>2]=FS.getPtrForStream(stderr);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;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}});this.setErrno(errno);this.message=ERRNO_MESSAGES[errno]};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[ERRNO_CODES.ENOENT].forEach((function(code){FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack="<generic error, no stack>"}))}),staticInit:(function(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices()}),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;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(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){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EIO)}}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(ERRNO_CODES.EIO);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 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]}));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.defineProperty(lazyArray,"length",{get:(function(){if(!this.lengthKnown){this.cacheLength()}return this._length})});Object.defineProperty(lazyArray,"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.defineProperty(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(ERRNO_CODES.EIO)}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(ERRNO_CODES.EIO)}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){Browser.init();var fullname=name?PATH.resolve(PATH.join2(parent,name)):parent;function processData(byteArray){function finish(byteArray){if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency("cp "+fullname)}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("cp "+fullname)}));handled=true}}));if(!handled)finish(byteArray)}addRunDependency("cp "+fullname);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 _close(fildes){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{FS.close(stream);return 0}catch(e){FS.handleFSError(e);return-1}}function _fsync(fildes){var stream=FS.getStream(fildes);if(stream){return 0}else{___setErrNo(ERRNO_CODES.EBADF);return-1}}function _fileno(stream){stream=FS.getStreamFromPtr(stream);if(!stream)return-1;return stream.fd}function _fclose(stream){var fd=_fileno(stream);_fsync(fd);return _close(fd)}function _mkport(){throw"TODO"}var SOCKFS={mount:(function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=(function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this});Module["websocket"].emit=(function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}});return FS.createNode(null,"/",16384|511,0)}),createSocket:(function(family,type,protocol){var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:FS.modeStringToFlags("r+"),seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock}),getSocket:(function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock}),stream_ops:{poll:(function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)}),ioctl:(function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)}),read:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length}),write:(function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)}),close:(function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)})},nextname:(function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current++ +"]"}),websocket_sock_ops:{createPeer:(function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);var opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols;var WebSocket=ENVIRONMENT_IS_NODE?require("ws"):window["WebSocket"];ws=new WebSocket(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EHOSTUNREACH)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer}),getPeer:(function(sock,addr,port){return sock.peers[addr+":"+port]}),addPeer:(function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer}),removePeer:(function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]}),handlePeerEvents:(function(sock,peer){var first=true;var handleOpen=(function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}});function handleMessage(data){assert(typeof data!=="string"&&data.byteLength!==undefined);data=new Uint8Array(data);var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",(function(data,flags){if(!flags.binary){return}handleMessage((new Uint8Array(data)).buffer)}));peer.socket.on("close",(function(){Module["websocket"].emit("close",sock.stream.fd)}));peer.socket.on("error",(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}))}else{peer.socket.onopen=handleOpen;peer.socket.onclose=(function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=(function(error){sock.error=ERRNO_CODES.ECONNREFUSED;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}}),poll:(function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask}),ioctl:(function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}HEAP32[arg>>2]=bytes;return 0;default:return ERRNO_CODES.EINVAL}}),close:(function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i<peers.length;i++){var peer=sock.peers[peers[i]];try{peer.socket.close()}catch(e){}SOCKFS.websocket_sock_ops.removePeer(sock,peer)}return 0}),bind:(function(sock,addr,port){if(typeof sock.saddr!=="undefined"||typeof sock.sport!=="undefined"){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}sock.saddr=addr;sock.sport=port||_mkport();if(sock.type===2){if(sock.server){sock.server.close();sock.server=null}try{sock.sock_ops.listen(sock,0)}catch(e){if(!(e instanceof FS.ErrnoError))throw e;if(e.errno!==ERRNO_CODES.EOPNOTSUPP)throw e}}}),connect:(function(sock,addr,port){if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(typeof sock.daddr!=="undefined"&&typeof sock.dport!=="undefined"){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(dest){if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EALREADY)}else{throw new FS.ErrnoError(ERRNO_CODES.EISCONN)}}}var peer=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port);sock.daddr=peer.addr;sock.dport=peer.port;throw new FS.ErrnoError(ERRNO_CODES.EINPROGRESS)}),listen:(function(sock,backlog){if(!ENVIRONMENT_IS_NODE){throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP)}if(sock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var WebSocketServer=require("ws").Server;var host=sock.saddr;sock.server=new WebSocketServer({host:host,port:sock.sport});Module["websocket"].emit("listen",sock.stream.fd);sock.server.on("connection",(function(ws){if(sock.type===1){var newsock=SOCKFS.createSocket(sock.family,sock.type,sock.protocol);var peer=SOCKFS.websocket_sock_ops.createPeer(newsock,ws);newsock.daddr=peer.addr;newsock.dport=peer.port;sock.pending.push(newsock);Module["websocket"].emit("connection",newsock.stream.fd)}else{SOCKFS.websocket_sock_ops.createPeer(sock,ws);Module["websocket"].emit("connection",sock.stream.fd)}}));sock.server.on("closed",(function(){Module["websocket"].emit("close",sock.stream.fd);sock.server=null}));sock.server.on("error",(function(error){sock.error=ERRNO_CODES.EHOSTUNREACH;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"EHOSTUNREACH: Host is unreachable"])}))}),accept:(function(listensock){if(!listensock.server){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}var newsock=listensock.pending.shift();newsock.stream.flags=listensock.stream.flags;return newsock}),getname:(function(sock,peer){var addr,port;if(peer){if(sock.daddr===undefined||sock.dport===undefined){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}addr=sock.daddr;port=sock.dport}else{addr=sock.saddr||0;port=sock.sport||0}return{addr:addr,port:port}}),sendmsg:(function(sock,buffer,offset,length,addr,port){if(sock.type===2){if(addr===undefined||port===undefined){addr=sock.daddr;port=sock.dport}if(addr===undefined||port===undefined){throw new FS.ErrnoError(ERRNO_CODES.EDESTADDRREQ)}}else{addr=sock.daddr;port=sock.dport}var dest=SOCKFS.websocket_sock_ops.getPeer(sock,addr,port);if(sock.type===1){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CONNECTING){throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var data;if(buffer instanceof Array||buffer instanceof ArrayBuffer){data=buffer.slice(offset,offset+length)}else{data=buffer.buffer.slice(buffer.byteOffset+offset,buffer.byteOffset+offset+length)}if(sock.type===2){if(!dest||dest.socket.readyState!==dest.socket.OPEN){if(!dest||dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){dest=SOCKFS.websocket_sock_ops.createPeer(sock,addr,port)}dest.dgram_send_queue.push(data);return length}}try{dest.socket.send(data);return length}catch(e){throw new FS.ErrnoError(ERRNO_CODES.EINVAL)}}),recvmsg:(function(sock,length){if(sock.type===1&&sock.server){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}var queued=sock.recv_queue.shift();if(!queued){if(sock.type===1){var dest=SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport);if(!dest){throw new FS.ErrnoError(ERRNO_CODES.ENOTCONN)}else if(dest.socket.readyState===dest.socket.CLOSING||dest.socket.readyState===dest.socket.CLOSED){return null}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}else{throw new FS.ErrnoError(ERRNO_CODES.EAGAIN)}}var queuedLength=queued.data.byteLength||queued.data.length;var queuedOffset=queued.data.byteOffset||0;var queuedBuffer=queued.data.buffer||queued.data;var bytesRead=Math.min(length,queuedLength);var res={buffer:new Uint8Array(queuedBuffer,queuedOffset,bytesRead),addr:queued.addr,port:queued.port};if(sock.type===1&&bytesRead<queuedLength){var bytesRemaining=queuedLength-bytesRead;queued.data=new Uint8Array(queuedBuffer,queuedOffset+bytesRead,bytesRemaining);sock.recv_queue.unshift(queued)}return res})}};function _send(fd,buf,len,flags){var sock=SOCKFS.getSocket(fd);if(!sock){___setErrNo(ERRNO_CODES.EBADF);return-1}return _write(fd,buf,len)}function _pwrite(fildes,buf,nbyte,offset){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.write(stream,slab,buf,nbyte,offset)}catch(e){FS.handleFSError(e);return-1}}function _write(fildes,buf,nbyte){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.write(stream,slab,buf,nbyte)}catch(e){FS.handleFSError(e);return-1}}function _fwrite(ptr,size,nitems,stream){var bytesToWrite=nitems*size;if(bytesToWrite==0)return 0;var fd=_fileno(stream);var bytesWritten=_write(fd,ptr,bytesToWrite);if(bytesWritten==-1){var streamObj=FS.getStreamFromPtr(stream);if(streamObj)streamObj.error=true;return 0}else{return bytesWritten/size|0}}Module["_strlen"]=_strlen;function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){var textIndex=format;var argIndex=0;function getNextArg(type){var ret;if(type==="double"){ret=(HEAP32[tempDoublePtr>>2]=HEAP32[varargs+argIndex>>2],HEAP32[tempDoublePtr+4>>2]=HEAP32[varargs+(argIndex+4)>>2],+HEAPF64[tempDoublePtr>>3])}else if(type=="i64"){ret=[HEAP32[varargs+argIndex>>2],HEAP32[varargs+(argIndex+4)>>2]]}else{type="i32";ret=HEAP32[varargs+argIndex>>2]}argIndex+=Runtime.getNativeFieldSize(type);return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break};case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;var currArg=getNextArg("i"+argSize*8);var origArg=currArg;var argText;if(argSize==8){currArg=Runtime.makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){if(argSize==8&&i64Math)argText=i64Math.stringify(origArg[0],origArg[1],null);else argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){if(argSize==8&&i64Math)argText=i64Math.stringify(origArg[0],origArg[1],true);else argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(argSize==8&&i64Math){if(origArg[1]){argText=(origArg[1]>>>0).toString(16);var lower=(origArg[0]>>>0).toString(16);while(lower.length<8)lower="0"+lower;argText+=lower}else{argText=(origArg[0]>>>0).toString(16)}}else if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach((function(chr){ret.push(chr.charCodeAt(0))}));break};case"f":case"F":case"e":case"E":case"g":case"G":{var currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach((function(chr){ret.push(chr.charCodeAt(0))}));break};case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break};case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break};case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break};case"%":{ret.push(curr);break};default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function _fprintf(stream,format,varargs){var result=__formatString(format,varargs);var stack=Runtime.stackSave();var ret=_fwrite(allocate(result,"i8",ALLOC_STACK),1,result.length,stream);Runtime.stackRestore(stack);return ret}function _printf(format,varargs){var stdout=HEAP32[_stdout>>2];return _fprintf(stdout,format,varargs)}var Browser={mainLoop:{scheduler:null,method:"",shouldPause:false,paused:false,queue:[],pause:(function(){Browser.mainLoop.shouldPause=true}),resume:(function(){if(Browser.mainLoop.paused){Browser.mainLoop.paused=false;Browser.mainLoop.scheduler()}Browser.mainLoop.shouldPause=false}),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)Module.printErr("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){Runtime.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);var canvas=Module["canvas"];function pointerLockChange(){Browser.pointerLock=document["pointerLockElement"]===canvas||document["mozPointerLockElement"]===canvas||document["webkitPointerLockElement"]===canvas||document["msPointerLockElement"]===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&&canvas.requestPointerLock){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};if(webGLContextAttributes){for(var attribute in webGLContextAttributes){contextAttributes[attribute]=webGLContextAttributes[attribute]}}contextHandle=GL.createContext(canvas,contextAttributes);if(contextHandle){ctx=GL.getContext(contextHandle).GLctx}canvas.style.backgroundColor="black"}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){Browser.lockPointer=lockPointer;Browser.resizeCanvas=resizeCanvas;if(typeof Browser.lockPointer==="undefined")Browser.lockPointer=true;if(typeof Browser.resizeCanvas==="undefined")Browser.resizeCanvas=false;var canvas=Module["canvas"];function fullScreenChange(){Browser.isFullScreen=false;var canvasContainer=canvas.parentNode;if((document["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||document["webkitCurrentFullScreenElement"])===canvasContainer){canvas.cancelFullScreen=document["cancelFullScreen"]||document["mozCancelFullScreen"]||document["webkitCancelFullScreen"]||document["msExitFullscreen"]||document["exitFullscreen"]||(function(){});canvas.cancelFullScreen=canvas.cancelFullScreen.bind(document);if(Browser.lockPointer)canvas.requestPointerLock();Browser.isFullScreen=true;if(Browser.resizeCanvas)Browser.setFullScreenCanvasSize()}else{canvasContainer.parentNode.insertBefore(canvas,canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if(Browser.resizeCanvas)Browser.setWindowedCanvasSize()}if(Module["onFullScreen"])Module["onFullScreen"](Browser.isFullScreen);Browser.updateCanvasDimensions(canvas)}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.requestFullScreen()}),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)})}),safeRequestAnimationFrame:(function(func){return Browser.requestAnimationFrame((function(){if(!ABORT)func()}))}),safeSetTimeout:(function(func,timeout){Module["noExitRuntime"]=true;return setTimeout((function(){if(!ABORT)func()}),timeout)}),safeSetInterval:(function(func,timeout){Module["noExitRuntime"]=true;return setInterval((function(){if(!ABORT)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"){Browser.lastTouches[touch.identifier]=Browser.touches[touch.identifier];Browser.touches[touch.identifier]={x:adjustedX,y:adjustedY}}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}}),xhrLoad:(function(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)}else{onerror()}};xhr.onerror=onerror;xhr.send(null)}),asyncLoad:(function(url,onload,onerror,noRunDep){Browser.xhrLoad(url,(function(arrayBuffer){assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(!noRunDep)removeRunDependency("al "+url)}),(function(event){if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}}));if(!noRunDep)addRunDependency("al "+url)}),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+Runtime.QUANTUM_SIZE*0>>2];flags=flags|8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}Browser.updateResizeListeners()}),setWindowedCanvasSize:(function(){if(typeof SDL!="undefined"){var flags=HEAPU32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2];flags=flags&~8388608;HEAP32[SDL.screen+Runtime.QUANTUM_SIZE*0>>2]=flags}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["webkitFullScreenElement"]||document["webkitFullscreenElement"]||document["mozFullScreenElement"]||document["mozFullscreenElement"]||document["fullScreenElement"]||document["fullscreenElement"]||document["msFullScreenElement"]||document["msFullscreenElement"]||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 _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function _free(){}Module["_free"]=_free;var _environ=allocate(1,"i32*",ALLOC_STATIC);var ___environ=_environ;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);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}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}function _putenv(string){if(string===0){___setErrNo(ERRNO_CODES.EINVAL);return-1}string=Pointer_stringify(string);var splitPoint=string.indexOf("=");if(string===""||string.indexOf("=")===-1){___setErrNo(ERRNO_CODES.EINVAL);return-1}var name=string.slice(0,splitPoint);var value=string.slice(splitPoint+1);if(!(name in ENV)||ENV[name]!==value){ENV[name]=value;___buildEnvironment(ENV)}return 0}function _SDL_RWFromConstMem(mem,size){var id=SDL.rwops.length;SDL.rwops.push({bytes:mem,count:size});return id}function _TTF_FontHeight(font){var fontData=SDL.fonts[font];return fontData.size}function _TTF_SizeText(font,text,w,h){var fontData=SDL.fonts[font];if(w){HEAP32[w>>2]=SDL.estimateTextWidth(fontData,Pointer_stringify(text))}if(h){HEAP32[h>>2]=fontData.size}return 0}function _TTF_RenderText_Solid(font,text,color){text=Pointer_stringify(text)||" ";var fontData=SDL.fonts[font];var w=SDL.estimateTextWidth(fontData,text);var h=fontData.size;var color=SDL.loadColorToCSSRGB(color);var fontString=h+"px "+fontData.name;var surf=SDL.makeSurface(w,h,0,false,"text:"+text);var surfData=SDL.surfaces[surf];surfData.ctx.save();surfData.ctx.fillStyle=color;surfData.ctx.font=fontString;surfData.ctx.textBaseline="top";surfData.ctx.fillText(text,0,0);surfData.ctx.restore();return surf}function _Mix_HaltMusic(){var audio=SDL.music.audio;if(audio){audio.src=audio.src;audio.currentPosition=0;audio.pause()}SDL.music.audio=null;if(SDL.hookMusicFinished){Runtime.dynCall("v",SDL.hookMusicFinished)}return 0}function _Mix_PlayMusic(id,loops){if(SDL.music.audio){if(!SDL.music.audio.paused)Module.printErr("Music is already playing. "+SDL.music.source);SDL.music.audio.pause()}var info=SDL.audios[id];var audio;if(info.webAudio){audio={};audio.resource=info;audio.paused=false;audio.currentPosition=0;audio.play=(function(){SDL.playWebAudio(this)});audio.pause=(function(){SDL.pauseWebAudio(this)})}else if(info.audio){audio=info.audio}audio["onended"]=(function(){if(SDL.music.audio==this)_Mix_HaltMusic()});audio.loop=loops!=0;audio.volume=SDL.music.volume;SDL.music.audio=audio;audio.play();return 0}function _Mix_FreeChunk(id){SDL.audios[id]=null}function _Mix_LoadWAV_RW(rwopsID,freesrc){var rwops=SDL.rwops[rwopsID];if(rwops===undefined)return 0;var filename="";var audio;var webAudio;var bytes;if(rwops.filename!==undefined){filename=PATH.resolve(rwops.filename);var raw=Module["preloadedAudios"][filename];if(!raw){if(raw===null)Module.printErr("Trying to reuse preloaded audio, but freePreloadedMediaOnUse is set!");if(!Module.noAudioDecoding)Runtime.warnOnce("Cannot find preloaded audio "+filename);try{bytes=FS.readFile(filename)}catch(e){Module.printErr("Couldn't find file for: "+filename);return 0}}if(Module["freePreloadedMediaOnUse"]){Module["preloadedAudios"][filename]=null}audio=raw}else if(rwops.bytes!==undefined){if(SDL.webAudioAvailable())bytes=HEAPU8.buffer.slice(rwops.bytes,rwops.bytes+rwops.count);else bytes=HEAPU8.subarray(rwops.bytes,rwops.bytes+rwops.count)}else{return 0}var arrayBuffer=bytes?bytes.buffer||bytes:bytes;var canPlayWithWebAudio=Module["SDL_canPlayWithWebAudio"]===undefined||Module["SDL_canPlayWithWebAudio"](filename,arrayBuffer);if(bytes!==undefined&&SDL.webAudioAvailable()&&canPlayWithWebAudio){audio=undefined;webAudio={};webAudio.onDecodeComplete=[];function onDecodeComplete(data){webAudio.decodedBuffer=data;webAudio.onDecodeComplete.forEach((function(e){e()}));webAudio.onDecodeComplete=undefined}SDL.audioContext["decodeAudioData"](arrayBuffer,onDecodeComplete)}else if(audio===undefined&&bytes){var blob=new Blob([bytes],{type:rwops.mimetype});var url=URL.createObjectURL(blob);audio=new Audio;audio.src=url;audio.mozAudioChannelType="content"}var id=SDL.audios.length;SDL.audios.push({source:filename,audio:audio,webAudio:webAudio});return id}function _Mix_PlayChannel(channel,id,loops){var info=SDL.audios[id];if(!info)return-1;if(!info.audio&&!info.webAudio)return-1;if(channel==-1){for(var i=SDL.channelMinimumNumber;i<SDL.numChannels;i++){if(!SDL.channels[i].audio){channel=i;break}}if(channel==-1){Module.printErr("All "+SDL.numChannels+" channels in use!");return-1}}var channelInfo=SDL.channels[channel];var audio;if(info.webAudio){audio={};audio.resource=info;audio.paused=false;audio.currentPosition=0;audio.play=(function(){SDL.playWebAudio(this)});audio.pause=(function(){SDL.pauseWebAudio(this)})}else{audio=info.audio.cloneNode(true);audio.numChannels=info.audio.numChannels;audio.frequency=info.audio.frequency}audio["onended"]=function SDL_audio_onended(){if(channelInfo.audio==this){channelInfo.audio.paused=true;channelInfo.audio=null}if(SDL.channelFinished)Runtime.getFuncWrapper(SDL.channelFinished,"vi")(channel)};channelInfo.audio=audio;audio.loop=loops!=0;audio.volume=channelInfo.volume;audio.play();return channel}function _SDL_PauseAudio(pauseOn){if(!SDL.audio){return}if(pauseOn){if(SDL.audio.timer!==undefined){clearTimeout(SDL.audio.timer);SDL.audio.numAudioTimersPending=0;SDL.audio.timer=undefined}}else if(!SDL.audio.timer){SDL.audio.numAudioTimersPending=1;SDL.audio.timer=Browser.safeSetTimeout(SDL.audio.caller,1)}SDL.audio.paused=pauseOn}function _SDL_CloseAudio(){if(SDL.audio){_SDL_PauseAudio(1);_free(SDL.audio.buffer);SDL.audio=null;SDL.allocateChannels(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}function _SDL_FreeRW(rwopsID){SDL.rwops[rwopsID]=null;while(SDL.rwops.length>0&&SDL.rwops[SDL.rwops.length-1]===null){SDL.rwops.pop()}}function _IMG_Load_RW(rwopsID,freeSrc){try{function cleanup(){if(rwops&&freeSrc)_SDL_FreeRW(rwopsID)}function addCleanup(func){var old=cleanup;cleanup=function added_cleanup(){old();func()}}function callStbImage(func,params){var x=Module["_malloc"](4);var y=Module["_malloc"](4);var comp=Module["_malloc"](4);addCleanup((function(){Module["_free"](x);Module["_free"](y);Module["_free"](comp);if(data)Module["_stbi_image_free"](data)}));var data=Module["_"+func].apply(null,params.concat([x,y,comp,0]));if(!data)return null;return{rawData:true,data:data,width:HEAP32[x>>2],height:HEAP32[y>>2],size:HEAP32[x>>2]*HEAP32[y>>2]*HEAP32[comp>>2],bpp:HEAP32[comp>>2]}}var rwops=SDL.rwops[rwopsID];if(rwops===undefined){return 0}var filename=rwops.filename;if(filename===undefined){Runtime.warnOnce("Only file names that have been preloaded are supported for IMG_Load_RW. Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins");return 0}if(!raw){filename=PATH.resolve(filename);var raw=Module["preloadedImages"][filename];if(!raw){if(raw===null)Module.printErr("Trying to reuse preloaded image, but freePreloadedMediaOnUse is set!");Runtime.warnOnce("Cannot find preloaded image "+filename);Runtime.warnOnce("Cannot find preloaded image "+filename+". Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins");return 0}else if(Module["freePreloadedMediaOnUse"]){Module["preloadedImages"][filename]=null}}var surf=SDL.makeSurface(raw.width,raw.height,0,false,"load:"+filename);var surfData=SDL.surfaces[surf];surfData.ctx.globalCompositeOperation="copy";if(!raw.rawData){surfData.ctx.drawImage(raw,0,0,raw.width,raw.height,0,0,raw.width,raw.height)}else{var imageData=surfData.ctx.getImageData(0,0,surfData.width,surfData.height);if(raw.bpp==4){imageData.data.set(HEAPU8.subarray(raw.data,raw.data+raw.size))}else if(raw.bpp==3){var pixels=raw.size/3;var data=imageData.data;var sourcePtr=raw.data;var destPtr=0;for(var i=0;i<pixels;i++){data[destPtr++]=HEAPU8[sourcePtr++>>0];data[destPtr++]=HEAPU8[sourcePtr++>>0];data[destPtr++]=HEAPU8[sourcePtr++>>0];data[destPtr++]=255}}else if(raw.bpp==1){var pixels=raw.size;var data=imageData.data;var sourcePtr=raw.data;var destPtr=0;for(var i=0;i<pixels;i++){var value=HEAPU8[sourcePtr++>>0];data[destPtr++]=value;data[destPtr++]=value;data[destPtr++]=value;data[destPtr++]=255}}else{Module.printErr("cannot handle bpp "+raw.bpp);return 0}surfData.ctx.putImageData(imageData,0,0)}surfData.ctx.globalCompositeOperation="source-over";_SDL_LockSurface(surf);surfData.locked--;if(SDL.GL){surfData.canvas=surfData.ctx=null}return surf}finally{cleanup()}}function _SDL_RWFromFile(_name,mode){var id=SDL.rwops.length;var name=Pointer_stringify(_name);SDL.rwops.push({filename:name,mimetype:Browser.getMimetype(name)});return id}function _IMG_Load(filename){var rwops=_SDL_RWFromFile(filename);var result=_IMG_Load_RW(rwops,1);return result}function _SDL_UpperBlitScaled(src,srcrect,dst,dstrect){return SDL.blitSurface(src,srcrect,dst,dstrect,true)}function _SDL_UpperBlit(src,srcrect,dst,dstrect){return SDL.blitSurface(src,srcrect,dst,dstrect,false)}function _SDL_GetTicks(){return Date.now()-SDL.startTime|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:1,mixerChunkSize:2048,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};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__deps:["SDL_LockSurface"],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){Runtime.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(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){event.preventDefault()}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"](true,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){Module.printErr("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)){Runtime.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}}),estimateTextWidth:(function(fontData,text){var h=fontData.size;var fontString=h+"px "+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){Module.printErr("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["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){Module.printErr("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){Module.printErr("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}}}}),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.timestamp!=="number"||state.timestamp!==prevState.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_GetMouseState(x,y){if(x)HEAP32[x>>2]=Browser.mouseX;if(y)HEAP32[y>>2]=Browser.mouseY;return SDL.buttonState}var _sqrtf=Math_sqrt;Module["_strncpy"]=_strncpy;function _fputc(c,stream){var chr=unSign(c&255);HEAP8[_fputc.ret>>0]=chr;var fd=_fileno(stream);var ret=_write(fd,_fputc.ret,1);if(ret==-1){var streamObj=FS.getStreamFromPtr(stream);if(streamObj)streamObj.error=true;return-1}else{return chr}}function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 79:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}var _emscripten_postinvoke=true;function _SDL_ClearError(){}function _putchar(c){return _fputc(c,HEAP32[_stdout>>2])}Module["_saveSetjmp"]=_saveSetjmp;function _SDL_GetError(){if(!SDL.errorMessage){SDL.errorMessage=allocate(intArrayFromString("unknown SDL-emscripten error"),"i8",ALLOC_NORMAL)}return SDL.errorMessage}function _SDL_UnlockAudio(){}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}Module["_bitshift64Lshr"]=_bitshift64Lshr;function _recv(fd,buf,len,flags){var sock=SOCKFS.getSocket(fd);if(!sock){___setErrNo(ERRNO_CODES.EBADF);return-1}return _read(fd,buf,len)}function _pread(fildes,buf,nbyte,offset){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.read(stream,slab,buf,nbyte,offset)}catch(e){FS.handleFSError(e);return-1}}function _read(fildes,buf,nbyte){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.read(stream,slab,buf,nbyte)}catch(e){FS.handleFSError(e);return-1}}function _fread(ptr,size,nitems,stream){var bytesToRead=nitems*size;if(bytesToRead==0){return 0}var bytesRead=0;var streamObj=FS.getStreamFromPtr(stream);if(!streamObj){___setErrNo(ERRNO_CODES.EBADF);return 0}while(streamObj.ungotten.length&&bytesToRead>0){HEAP8[ptr++>>0]=streamObj.ungotten.pop();bytesToRead--;bytesRead++}var err=_read(streamObj.fd,ptr,bytesToRead);if(err==-1){if(streamObj)streamObj.error=true;return 0}bytesRead+=err;if(bytesRead<bytesToRead)streamObj.eof=true;return bytesRead/size|0}var _emscripten_prep_setjmp=true;var _BDtoIHigh=true;Module["_testSetjmp"]=_testSetjmp;function _longjmp(env,value){asm["setThrew"](env,value||1);throw"longjmp"}function _emscripten_longjmp(env,value){_longjmp(env,value)}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;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)}function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0)self.alloc(bytes);return ret}function _localeconv(){var me=_localeconv;if(!me.ret){me.ret=allocate([allocate(intArrayFromString("."),"i8",ALLOC_NORMAL),0,0,0,allocate(intArrayFromString(""),"i8",ALLOC_NORMAL),0,0,0,allocate(intArrayFromString(""),"i8",ALLOC_NORMAL),0,0,0,allocate(intArrayFromString(""),"i8",ALLOC_NORMAL),0,0,0,allocate(intArrayFromString(""),"i8",ALLOC_NORMAL),0,0,0,allocate(intArrayFromString(""),"i8",ALLOC_NORMAL),0,0,0,allocate(intArrayFromString(""),"i8",ALLOC_NORMAL),0,0,0,allocate(intArrayFromString(""),"i8",ALLOC_NORMAL),0,0,0,allocate(intArrayFromString(""),"i8",ALLOC_NORMAL),0,0,0,allocate(intArrayFromString(""),"i8",ALLOC_NORMAL),0,0,0],"i8*",ALLOC_NORMAL)}return me.ret}var _emscripten_preinvoke=true;var _BItoD=true;function _SDL_LockAudio(){}function _codo_find_close(){Module["printErr"]("missing function: codo_find_close");abort(-1)}function _emscripten_run_script(ptr){eval(Pointer_stringify(ptr))}function _codo_find_next(){Module["printErr"]("missing function: codo_find_next");abort(-1)}function _move_keyboard_cursor(){Module["printErr"]("missing function: move_keyboard_cursor");abort(-1)}function _fgetc(stream){var streamObj=FS.getStreamFromPtr(stream);if(!streamObj)return-1;if(streamObj.eof||streamObj.error)return-1;var ret=_fread(_fgetc.ret,1,1,stream);if(ret==0){return-1}else if(ret==-1){streamObj.error=true;return-1}else{return HEAPU8[_fgetc.ret>>0]}}function ___errno_location(){return ___errno_state}Module["_memset"]=_memset;var _BDtoILow=true;Module["_strcat"]=_strcat;function _strerror_r(errnum,strerrbuf,buflen){if(errnum in ERRNO_MESSAGES){if(ERRNO_MESSAGES[errnum].length>buflen-1){return ___setErrNo(ERRNO_CODES.ERANGE)}else{var msg=ERRNO_MESSAGES[errnum];writeAsciiToMemory(msg,strerrbuf);return 0}}else{return ___setErrNo(ERRNO_CODES.EINVAL)}}function _strerror(errnum){if(!_strerror.buffer)_strerror.buffer=_malloc(256);_strerror_r(errnum,_strerror.buffer,256);return _strerror.buffer}Module["_bitshift64Shl"]=_bitshift64Shl;function _abort(){Module["abort"]()}function _emscripten_async_wget_data(url,arg,onload,onerror){Browser.asyncLoad(Pointer_stringify(url),(function(byteArray){var buffer=_malloc(byteArray.length);HEAPU8.set(byteArray,buffer);Runtime.dynCall("viii",onload,[arg,buffer,byteArray.length]);_free(buffer)}),(function(){if(onerror)Runtime.dynCall("vi",onerror,[arg])}),true)}function _feof(stream){stream=FS.getStreamFromPtr(stream);return Number(stream&&stream.eof)}var GL={counter:1,lastError:0,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],uniforms:[],shaders:[],vaos:[],contexts:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],programInfos:{},stringCache:{},packAlignment:4,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:16,miniTempBuffer:null,miniTempBufferViews:[0],getSource:(function(shader,count,string,length){var source="";for(var i=0;i<count;++i){var frag;if(length){var len=HEAP32[length+i*4>>2];if(len<0){frag=Pointer_stringify(HEAP32[string+i*4>>2])}else{frag=Pointer_stringify(HEAP32[string+i*4>>2],len)}}else{frag=Pointer_stringify(HEAP32[string+i*4>>2])}source+=frag}return source}),computeImageSize:(function(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return Math.floor((x+y-1)/y)*y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height<=0?0:(height-1)*alignedRowSize+plainRowSize}),get:(function(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=="Integer"){GL.recordError(1280)}return;case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats.length;break;case 35738:ret=5121;break;case 35739:ret=6408;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34068:{ret=0;break};default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i<result.length;++i){switch(type){case"Integer":HEAP32[p+i*4>>2]=result[i];break;case"Float":HEAPF32[p+i*4>>2]=result[i];break;case"Boolean":HEAP8[p+i>>0]=result[i]?1:0;break;default:throw"internal glGet error, bad type: "+type}}return}else if(result instanceof WebGLBuffer||result instanceof WebGLProgram||result instanceof WebGLFramebuffer||result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){ret=result.name|0}else{GL.recordError(1280);return}break;default:GL.recordError(1280);return}}switch(type){case"Integer":HEAP32[p>>2]=ret;break;case"Float":HEAPF32[p>>2]=ret;break;case"Boolean":HEAP8[p>>0]=ret?1:0;break;default:throw"internal glGet error, bad type: "+type}}),getTexPixelData:(function(type,format,width,height,pixels,internalFormat){var sizePerPixel;switch(type){case 5121:switch(format){case 6406:case 6409:sizePerPixel=1;break;case 6407:sizePerPixel=3;break;case 6408:sizePerPixel=4;break;case 6410:sizePerPixel=2;break;default:GL.recordError(1280);return{pixels:null,internalFormat:0}}break;case 5123:if(format==6402){sizePerPixel=2}else{GL.recordError(1280);return{pixels:null,internalFormat:0}}break;case 5125:if(format==6402){sizePerPixel=4}else{GL.recordError(1280);return{pixels:null,internalFormat:0}}break;case 34042:sizePerPixel=4;break;case 33635:case 32819:case 32820:sizePerPixel=2;break;case 5126:switch(format){case 6407:sizePerPixel=3*4;break;case 6408:sizePerPixel=4*4;break;default:GL.recordError(1280);return{pixels:null,internalFormat:0}}internalFormat=GLctx.RGBA;break;case 36193:switch(format){case 6403:sizePerPixel=2;break;case 33399:sizePerPixel=2*2;break;case 6407:sizePerPixel=3*2;break;case 6408:sizePerPixel=4*2;break;default:GL.recordError(1280);return{pixels:null,internalFormat:0}}break;default:GL.recordError(1280);return{pixels:null,internalFormat:0}}var bytes=GL.computeImageSize(width,height,sizePerPixel,GL.unpackAlignment);if(type==5121){pixels=HEAPU8.subarray(pixels,pixels+bytes)}else if(type==5126){pixels=HEAPF32.subarray(pixels>>2,pixels+bytes>>2)}else if(type==5125||type==34042){pixels=HEAPU32.subarray(pixels>>2,pixels+bytes>>2)}else{pixels=HEAPU16.subarray(pixels>>1,pixels+bytes>>1)}return{pixels:pixels,internalFormat:internalFormat}}),createContext:(function(canvas,webGLContextAttributes){if(typeof webGLContextAttributes.majorVersion==="undefined"&&typeof webGLContextAttributes.minorVersion==="undefined"){webGLContextAttributes.majorVersion=1;webGLContextAttributes.minorVersion=0}var ctx;var errorInfo="?";function onContextCreationError(event){errorInfo=event.statusMessage||errorInfo}try{canvas.addEventListener("webglcontextcreationerror",onContextCreationError,false);try{if(webGLContextAttributes.majorVersion==1&&webGLContextAttributes.minorVersion==0){ctx=canvas.getContext("webgl",webGLContextAttributes)||canvas.getContext("experimental-webgl",webGLContextAttributes)}else{throw"Unsupported WebGL context version "+majorVersion+"."+minorVersion+"!"}}finally{canvas.removeEventListener("webglcontextcreationerror",onContextCreationError,false)}if(!ctx)throw":("}catch(e){Module.print("Could not create canvas: "+[errorInfo,e]);return 0}if(!ctx)return 0;var handle=GL.getNewId(GL.contexts);var context={handle:handle};context.GLctx=ctx;GL.contexts[handle]=context;if(typeof webGLContextAttributes["webGLContextAttributes"]==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle}),makeContextCurrent:(function(contextHandle){var context=GL.contexts[contextHandle];if(!context)return false;GLctx=Module.ctx=context.GLctx;GL.currentContext=context;return true}),getContext:(function(contextHandle){return GL.contexts[contextHandle]}),deleteContext:(function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=0;GL.contexts[contextHandle]=null}),initExtensions:(function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;context.maxVertexAttribs=GLctx.getParameter(GLctx.MAX_VERTEX_ATTRIBS);context.compressionExt=GLctx.getExtension("WEBGL_compressed_texture_s3tc")||GLctx.getExtension("MOZ_WEBGL_compressed_texture_s3tc")||GLctx.getExtension("WEBKIT_WEBGL_compressed_texture_s3tc");context.anisotropicExt=GLctx.getExtension("EXT_texture_filter_anisotropic")||GLctx.getExtension("MOZ_EXT_texture_filter_anisotropic")||GLctx.getExtension("WEBKIT_EXT_texture_filter_anisotropic");context.floatExt=GLctx.getExtension("OES_texture_float");context.instancedArraysExt=GLctx.getExtension("ANGLE_instanced_arrays");context.vaoExt=GLctx.getExtension("OES_vertex_array_object");context.drawBuffersExt=GLctx.getExtension("WEBGL_draw_buffers");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","ANGLE_instanced_arrays","OES_texture_float_linear","OES_texture_half_float_linear","WEBGL_compressed_texture_atc","WEBGL_compressed_texture_pvrtc","EXT_color_buffer_half_float","WEBGL_color_buffer_float","EXT_frag_depth","EXT_sRGB","WEBGL_draw_buffers","WEBGL_shared_resources","EXT_shader_texture_lod"];function shouldEnableAutomatically(extension){var ret=false;automaticallyEnabledExtensions.forEach((function(include){if(ext.indexOf(include)!=-1){ret=true}}));return ret}GLctx.getSupportedExtensions().forEach((function(ext){ext=ext.replace("MOZ_","").replace("WEBKIT_","");if(automaticallyEnabledExtensions.indexOf(ext)!=-1){GLctx.getExtension(ext)}}))}),populateUniformTable:(function(program){var p=GL.programs[program];GL.programInfos[program]={uniforms:{},maxUniformLength:0,maxAttributeLength:-1};var ptable=GL.programInfos[program];var utable=ptable.uniforms;var numUniforms=GLctx.getProgramParameter(p,GLctx.ACTIVE_UNIFORMS);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);if(name.indexOf("]",name.length-1)!==-1){var ls=name.lastIndexOf("[");name=name.slice(0,ls)}var loc=GLctx.getUniformLocation(p,name);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})}}))}if(width!==canvas.width||height!==canvas.height){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 _emscripten_asm_const(code){Runtime.getAsmConst(code,0)()}function _open(path,oflag,varargs){var mode=HEAP32[varargs>>2];path=Pointer_stringify(path);try{var stream=FS.open(path,oflag,mode);return stream.fd}catch(e){FS.handleFSError(e);return-1}}function _fopen(filename,mode){var flags;mode=Pointer_stringify(mode);if(mode[0]=="r"){if(mode.indexOf("+")!=-1){flags=2}else{flags=0}}else if(mode[0]=="w"){if(mode.indexOf("+")!=-1){flags=2}else{flags=1}flags|=64;flags|=512}else if(mode[0]=="a"){if(mode.indexOf("+")!=-1){flags=2}else{flags=1}flags|=64;flags|=1024}else{___setErrNo(ERRNO_CODES.EINVAL);return 0}var fd=_open(filename,flags,allocate([511,0,0,0],"i32",ALLOC_STACK));return fd===-1?0:FS.getPtrForStream(FS.getStream(fd))}var _fabs=Math_abs;var _floor=Math_floor;function _lseek(fildes,offset,whence){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{return FS.llseek(stream,offset,whence)}catch(e){FS.handleFSError(e);return-1}}function _fseek(stream,offset,whence){var fd=_fileno(stream);var ret=_lseek(fd,offset,whence);if(ret==-1){return-1}stream=FS.getStreamFromPtr(stream);stream.eof=false;return 0}var _emscripten_check_longjmp=true;function _emscripten_asm_const_int(code){var args=Array.prototype.slice.call(arguments,1);return Runtime.getAsmConst(code,args.length).apply(null,args)|0}function _codo_find_first(){Module["printErr"]("missing function: codo_find_first");abort(-1)}function _ftell(stream){stream=FS.getStreamFromPtr(stream);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}if(FS.isChrdev(stream.node.mode)){___setErrNo(ERRNO_CODES.ESPIPE);return-1}else{return stream.position}}function _SDL_PollEvent(ptr){return SDL.pollEvent(ptr)}function __exit(status){Module["exit"](status)}function _exit(status){__exit(status)}var _emscripten_get_longjmp_result=true;function _rewind(stream){_fseek(stream,0,0);var streamObj=FS.getStreamFromPtr(stream);if(streamObj)streamObj.error=false}function _SDL_GetModState(){return SDL.modState}var _sin=Math_sin;function _fmod(x,y){return x%y}function _fmodl(){return _fmod.apply(null,arguments)}var _atan=Math_atan;function _SDL_ShowCursor(toggle){switch(toggle){case 0:if(Browser.isFullScreen){Module["canvas"].requestPointerLock();return 0}else{return 1}break;case 1:Module["canvas"].exitPointerLock();return 1;break;case-1:return!Browser.pointerLock;break;default:console.log("SDL_ShowCursor called with unknown toggle parameter value: "+toggle+".");break}}function _emscripten_set_main_loop(func,fps,simulateInfiniteLoop,arg){Module["noExitRuntime"]=true;assert(!Browser.mainLoop.scheduler,"there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one, if you want to");Browser.mainLoop.shouldPause=Browser.mainLoop.paused=false;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();setTimeout(Browser.mainLoop.runner,0);return}if(Browser.mainLoop.shouldPause){Browser.mainLoop.paused=true;Browser.mainLoop.shouldPause=false;return}if(Browser.mainLoop.method==="timeout"&&Module.ctx){Module.printErr("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((function(){if(typeof arg!=="undefined"){Runtime.dynCall("vi",func,[arg])}else{Runtime.dynCall("v",func)}}));if(typeof SDL==="object"&&SDL.audio&&SDL.audio.queueNewAudioData)SDL.audio.queueNewAudioData();if(Browser.mainLoop.shouldPause){Browser.mainLoop.paused=true;Browser.mainLoop.shouldPause=false;return}Browser.mainLoop.scheduler()};if(fps&&fps>0){Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler(){setTimeout(Browser.mainLoop.runner,1e3/fps)};Browser.mainLoop.method="timeout"}else{Browser.mainLoop.scheduler=function Browser_mainLoop_scheduler(){Browser.requestAnimationFrame(Browser.mainLoop.runner)};Browser.mainLoop.method="rAF"}Browser.mainLoop.scheduler();if(simulateInfiniteLoop){throw"SimulateInfiniteLoop"}}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}var _emscripten_setjmp=true;var _cos=Math_cos;function _fputs(s,stream){var fd=_fileno(stream);return _write(fd,s,_strlen(s))}function _puts(s){var stdout=HEAP32[_stdout>>2];var ret=_fputs(s,stdout);if(ret<0){return ret}else{var newlineRet=_fputc(10,stdout);return newlineRet<0?-1:ret+1}}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)}if(initFlags&512){addEventListener("gamepadconnected",(function(){}))}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}var _atan2=Math_atan2;Module["_strcpy"]=_strcpy;function _copysign(a,b){return __reallyNegative(a)===__reallyNegative(b)?a:-a}function _copysignl(){return _copysign.apply(null,arguments)}FS.staticInit();__ATINIT__.unshift({func:(function(){if(!Module["noFSInit"]&&!FS.init.initialized)FS.init()})});__ATMAIN__.push({func:(function(){FS.ignorePermissions=false})});__ATEXIT__.push({func:(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;___errno_state=Runtime.staticAlloc(4);HEAP32[___errno_state>>2]=0;__ATINIT__.unshift({func:(function(){TTY.init()})});__ATEXIT__.push({func:(function(){TTY.shutdown()})});TTY.utf8=new Runtime.UTF8Processor;if(ENVIRONMENT_IS_NODE){var fs=require("fs");NODEFS.staticInit()}__ATINIT__.push({func:(function(){SOCKFS.root=FS.mount(SOCKFS,{},null)})});Module["requestFullScreen"]=function Module_requestFullScreen(lockPointer,resizeCanvas){Browser.requestFullScreen(lockPointer,resizeCanvas)};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()};___buildEnvironment(ENV);_fputc.ret=allocate([0],"i8",ALLOC_STATIC);_fgetc.ret=allocate([0],"i8",ALLOC_STATIC);var GLctx;GL.init();STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE<TOTAL_MEMORY,"TOTAL_MEMORY not big enough for stack");var ctlz_i8=allocate([8,7,6,6,5,5,5,5,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",ALLOC_DYNAMIC);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);var Math_min=Math.min;function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_i(index){try{return Module["dynCall_i"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}var asm=(function(global,env,buffer) {
// EMSCRIPTEN_START_ASM
"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=env.ctlz_i8|0;var o=env._stdout|0;var p=0;var q=0;var r=0;var s=0;var t=+env.NaN,u=+env.Infinity;var v=0,w=0,x=0,y=0,z=0.0,A=0,B=0,C=0,D=0.0;var E=0;var F=0;var G=0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=0;var N=0;var O=global.Math.floor;var P=global.Math.abs;var Q=global.Math.sqrt;var R=global.Math.pow;var S=global.Math.cos;var T=global.Math.sin;var U=global.Math.tan;var V=global.Math.acos;var W=global.Math.asin;var X=global.Math.atan;var Y=global.Math.atan2;var Z=global.Math.exp;var _=global.Math.log;var $=global.Math.ceil;var aa=global.Math.imul;var ba=env.abort;var ca=env.assert;var da=env.min;var ea=env.invoke_iiii;var fa=env.invoke_viiiii;var ga=env.invoke_i;var ha=env.invoke_vi;var ia=env.invoke_vii;var ja=env.invoke_ii;var ka=env.invoke_viii;var la=env.invoke_v;var ma=env.invoke_iiiii;var na=env.invoke_iii;var oa=env._fabs;var pa=env._sqrtf;var qa=env._fread;var ra=env._SDL_RWFromFile;var sa=env._codo_find_first;var ta=env._codo_find_close;var ua=env._longjmp;var va=env._fsync;var wa=env._SDL_GetError;var xa=env._sbrk;var ya=env._Mix_PlayChannel;var za=env._TTF_RenderText_Solid;var Aa=env._sysconf;var Ba=env._close;var Ca=env._Mix_PlayMusic;var Da=env._rewind;var Ea=env._cos;var Fa=env._puts;var Ga=env._SDL_GetWindowSize;var Ha=env._Mix_FreeChunk;var Ia=env._write;var Ja=env._ftell;var Ka=env._SDL_GetModState;var La=env._Mix_HaltMusic;var Ma=env._TTF_FontHeight;var Na=env._fmodl;var Oa=env._send;var Pa=env._atan2;var Qa=env._SDL_GetTicks;var Ra=env._SDL_LockAudio;var Sa=env._codo_file_exists;var Ta=env._SDL_LockSurface;var Ua=env._strerror_r;var Va=env.___setErrNo;var Wa=env._putchar;var Xa=env.___buildEnvironment;var Ya=env._localeconv;var Za=env._printf;var _a=env._move_keyboard_cursor;var $a=env._SDL_ClearError;var ab=env._TTF_SizeText;var bb=env._read;var cb=env._SDL_SetVideoMode;var db=env._fwrite;var eb=env._time;var fb=env._fprintf;var gb=env._SDL_UpperBlitScaled;var hb=env._exit;var ib=env._putenv;var jb=env._emscripten_run_script;var kb=env._SDL_ShowCursor;var lb=env._codo_find_next;var mb=env._IMG_Load;var nb=env._fmod;var ob=env._lseek;var pb=env._floor;var qb=env._pwrite;var rb=env._open;var sb=env._SDL_Init;var tb=env._emscripten_memcpy_big;var ub=env._fseek;var vb=env._SDL_GetMouseState;var wb=env._getenv;var xb=env._fclose;var yb=env._SDL_PauseAudio;var zb=env._recv;var Ab=env._fgetc;var Bb=env._SDL_UnlockSurface;var Cb=env._abort;var Db=env._emscripten_async_wget_data;var Eb=env._fopen;var Fb=env._sin;var Gb=env._emscripten_asm_const;var Hb=env._SDL_UnlockAudio;var Ib=env._SDL_CloseAudio;var Jb=env._emscripten_asm_const_int;var Kb=env._fflush;var Lb=env._SDL_FreeRW;var Mb=env.__reallyNegative;var Nb=env._SDL_PollEvent;var Ob=env._fileno;var Pb=env._Mix_LoadWAV_RW;var Qb=env.__exit;var Rb=env._IMG_Load_RW;var Sb=env._atan;var Tb=env._pread;var Ub=env._mkport;var Vb=env._feof;var Wb=env._emscripten_set_main_loop;var Xb=env.___errno_location;var Yb=env._copysign;var Zb=env._fputc;var _b=env._copysignl;var $b=env._strerror;var ac=env._emscripten_longjmp;var bc=env.__formatString;var cc=env._fputs;var dc=env._SDL_UpperBlit;var ec=env._SDL_RWFromConstMem;var fc=0.0;
// EMSCRIPTEN_START_FUNCS
function dg(e){e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;f=i;i=i+96|0;g=f;h=f+72|0;j=f+56|0;k=f+40|0;l=f+24|0;m=f+20|0;n=e+4|0;o=c[n>>2]|0;c[19362]=o;p=e+28|0;q=c[p>>2]|0;r=e+32|0;s=(c[r>>2]|0)+38|0;t=(b[s>>1]|0)+1<<16>>16;b[s>>1]=t;if((t&65535)>200){t=q+12|0;s=c[(c[t>>2]|0)+32>>2]|0;u=c[(c[q>>2]|0)+64>>2]|0;if((u|0)==0){v=78616;c[g>>2]=78424;w=g+4|0;c[w>>2]=200;x=g+8|0;c[x>>2]=v;y=xf(s,78656,g)|0;z=c[t>>2]|0;ye(z,y)}c[g>>2]=u;v=xf(s,78632,g)|0;c[g>>2]=78424;w=g+4|0;c[w>>2]=200;x=g+8|0;c[x>>2]=v;y=xf(s,78656,g)|0;z=c[t>>2]|0;ye(z,y)}y=e+12|0;do switch(c[y>>2]|0){case 59:{c[e+8>>2]=c[n>>2];z=e+20|0;if((c[z>>2]|0)==286){c[y>>2]=Bf(e,e+16|0)|0;A=c[p>>2]|0;B=A+46|0;C=a[B>>0]|0;D=A+48|0;a[D>>0]=C;E=c[r>>2]|0;F=E+38|0;G=b[F>>1]|0;H=G+ -1<<16>>16;b[F>>1]=H;i=f;return}else{t=z;s=c[t+4>>2]|0;v=e+12|0;c[v>>2]=c[t>>2];c[v+4>>2]=s;c[z>>2]=286;A=c[p>>2]|0;B=A+46|0;C=a[B>>0]|0;D=A+48|0;a[D>>0]=C;E=c[r>>2]|0;F=E+38|0;G=b[F>>1]|0;H=G+ -1<<16>>16;b[F>>1]=H;i=f;return}break};case 267:{c[m>>2]=-1;rg(e,m);while(1){z=c[y>>2]|0;if((z|0)==260){I=12;break}else if((z|0)!=261)break;rg(e,m)}if((I|0)==12){c[e+8>>2]=c[n>>2];z=e+20|0;if((c[z>>2]|0)==286){s=Bf(e,e+16|0)|0;c[y>>2]=s;J=s}else{s=z;v=c[s>>2]|0;t=c[s+4>>2]|0;s=e+12|0;c[s>>2]=v;c[s+4>>2]=t;c[z>>2]=286;J=v}v=c[p>>2]|0;a[g+10>>0]=0;a[g+8>>0]=a[v+46>>0]|0;z=c[(c[v+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=v+16|0;c[g>>2]=c[z>>2];c[z>>2]=g;z=J;a:while(1){switch(z|0){case 277:case 286:case 262:case 261:case 260:{break a;break};default:{}}dg(e);if((z|0)==274)break;z=c[y>>2]|0}_f(v)}eg(e,262,267,o);z=c[m>>2]|0;c[q+24>>2]=c[q+20>>2];t=q+28|0;if((z|0)==-1){A=c[p>>2]|0;B=A+46|0;C=a[B>>0]|0;D=A+48|0;a[D>>0]=C;E=c[r>>2]|0;F=E+38|0;G=b[F>>1]|0;H=G+ -1<<16>>16;b[F>>1]=H;i=f;return}s=c[t>>2]|0;if((s|0)==-1){c[t>>2]=z;A=c[p>>2]|0;B=A+46|0;C=a[B>>0]|0;D=A+48|0;a[D>>0]=C;E=c[r>>2]|0;F=E+38|0;G=b[F>>1]|0;H=G+ -1<<16>>16;b[F>>1]=H;i=f;return}t=c[(c[q>>2]|0)+12>>2]|0;x=s;while(1){K=t+(x<<2)|0;L=c[K>>2]|0;s=(L>>>14)+ -131071|0;if((s|0)==-1)break;w=x+1+s|0;if((w|0)==-1)break;else x=w}t=z+~x|0;if((((t|0)>-1?t:0-t|0)|0)>131071)ye(c[q+12>>2]|0,80032);c[K>>2]=(t<<14)+2147467264|L&16383;A=c[p>>2]|0;B=A+46|0;C=a[B>>0]|0;D=A+48|0;a[D>>0]=C;E=c[r>>2]|0;F=E+38|0;G=b[F>>1]|0;H=G+ -1<<16>>16;b[F>>1]=H;i=f;return};case 266:case 258:{t=q+28|0;v=c[t>>2]|0;c[t>>2]=-1;t=xe(q,2147450903)|0;do if(!((v|0)==-1))if(!((t|0)==-1)){w=c[(c[q>>2]|0)+12>>2]|0;s=t;while(1){M=w+(s<<2)|0;N=c[M>>2]|0;u=(N>>>14)+ -131071|0;if((u|0)==-1)break;O=s+1+u|0;if((O|0)==-1)break;else s=O}w=v+~s|0;if((((w|0)>-1?w:0-w|0)|0)>131071)ye(c[q+12>>2]|0,80032);else{c[M>>2]=(w<<14)+2147467264|N&16383;P=t;break}}else P=v;else P=t;while(0);t=c[n>>2]|0;v=(c[y>>2]|0)==266;x=e+8|0;c[x>>2]=t;z=e+20|0;w=(c[z>>2]|0)==286;do if(v){if(w){O=Bf(e,e+16|0)|0;c[y>>2]=O;Q=O}else{O=z;u=c[O>>2]|0;R=c[O+4>>2]|0;O=e+12|0;c[O>>2]=u;c[O+4>>2]=R;c[z>>2]=286;Q=u}if((Q|0)!=288)cg(e,288);u=e+16|0;R=c[u>>2]|0;c[x>>2]=c[n>>2];if((c[z>>2]|0)==286){c[y>>2]=Bf(e,u)|0;S=R;break}else{u=z;O=c[u+4>>2]|0;T=e+12|0;c[T>>2]=c[u>>2];c[T+4>>2]=O;c[z>>2]=286;S=R;break}}else{if(w)c[y>>2]=Bf(e,e+16|0)|0;else{R=z;O=c[R+4>>2]|0;T=e+12|0;c[T>>2]=c[R>>2];c[T+4>>2]=O;c[z>>2]=286}S=Kf(c[r>>2]|0,78368,5)|0}while(0);z=c[e+44>>2]|0;w=z+12|0;x=z+16|0;v=c[x>>2]|0;O=z+20|0;if((v|0)<(c[O>>2]|0))U=c[w>>2]|0;else{z=Cf(c[r>>2]|0,c[w>>2]|0,O,16,32767,78376)|0;c[w>>2]=z;U=z}c[U+(v<<4)>>2]=S;z=c[w>>2]|0;c[z+(v<<4)+8>>2]=t;a[z+(v<<4)+12>>0]=a[(c[p>>2]|0)+46>>0]|0;c[(c[w>>2]|0)+(v<<4)+4>>2]=P;c[x>>2]=(c[x>>2]|0)+1;ag(e,v)|0;A=c[p>>2]|0;B=A+46|0;C=a[B>>0]|0;D=A+48|0;a[D>>0]=C;E=c[r>>2]|0;F=E+38|0;G=b[F>>1]|0;H=G+ -1<<16>>16;b[F>>1]=H;i=f;return};case 269:{v=e+8|0;c[v>>2]=c[n>>2];x=e+20|0;if((c[x>>2]|0)==286){w=Bf(e,e+16|0)|0;c[y>>2]=w;V=w}else{w=x;z=c[w>>2]|0;O=c[w+4>>2]|0;w=e+12|0;c[w>>2]=z;c[w+4>>2]=O;c[x>>2]=286;V=z}if((V|0)==265){c[v>>2]=c[n>>2];if((c[x>>2]|0)==286){z=Bf(e,e+16|0)|0;c[y>>2]=z;W=z}else{z=x;O=c[z>>2]|0;w=c[z+4>>2]|0;z=e+12|0;c[z>>2]=O;c[z+4>>2]=w;c[x>>2]=286;W=O}O=c[p>>2]|0;if((W|0)!=288)cg(e,288);w=e+16|0;z=c[w>>2]|0;c[v>>2]=c[n>>2];if((c[x>>2]|0)==286)c[y>>2]=Bf(e,w)|0;else{w=x;T=c[w+4>>2]|0;R=e+12|0;c[R>>2]=c[w>>2];c[R+4>>2]=T;c[x>>2]=286}lg(e,z);z=c[p>>2]|0;T=z+46|0;R=(d[T>>0]|0)+1|0;a[T>>0]=R;c[(c[(c[z>>2]|0)+24>>2]|0)+((b[(c[c[(c[z+12>>2]|0)+44>>2]>>2]|0)+((R&255)+ -1+(c[z+40>>2]|0)<<1)>>1]|0)*12|0)+4>>2]=c[z+20>>2];kg(e,g,0,c[n>>2]|0);c[(c[(c[O>>2]|0)+24>>2]|0)+((b[(c[c[(c[O+12>>2]|0)+44>>2]>>2]|0)+((c[O+40>>2]|0)+(c[g+4>>2]|0)<<1)>>1]|0)*12|0)+4>>2]=c[O+20>>2];A=c[p>>2]|0;B=A+46|0;C=a[B>>0]|0;D=A+48|0;a[D>>0]=C;E=c[r>>2]|0;F=E+38|0;G=b[F>>1]|0;H=G+ -1<<16>>16;b[F>>1]=H;i=f;return}if((V|0)!=288)cg(e,288);O=e+16|0;z=e+12|0;R=0;while(1){T=c[O>>2]|0;c[v>>2]=c[n>>2];if((c[x>>2]|0)==286)c[y>>2]=Bf(e,O)|0;else{w=x;u=c[w+4>>2]|0;X=z;c[X>>2]=c[w>>2];c[X+4>>2]=u;c[x>>2]=286}lg(e,T);Y=R+1|0;T=c[y>>2]|0;if((T|0)==61){I=182;break}else if((T|0)!=44){I=190;break}c[v>>2]=c[n>>2];if((c[x>>2]|0)==286){T=Bf(e,O)|0;c[y>>2]=T;if((T|0)==288){R=Y;continue}else{I=174;break}}else{T=x;u=c[T>>2]|0;X=c[T+4>>2]|0;T=z;c[T>>2]=u;c[T+4>>2]=X;c[x>>2]=286;if((u|0)==288){R=Y;continue}else{I=174;break}}}if((I|0)==174)cg(e,288);else if((I|0)==182){c[v>>2]=c[n>>2];if((c[x>>2]|0)==286)c[y>>2]=Bf(e,O)|0;else{t=x;u=c[t+4>>2]|0;X=z;c[X>>2]=c[t>>2];c[X+4>>2]=u;c[x>>2]=286}ig(e,j,0)|0;if((c[y>>2]|0)==44){u=1;while(1){c[v>>2]=c[n>>2];if((c[x>>2]|0)==286)c[y>>2]=Bf(e,O)|0;else{X=x;t=c[X+4>>2]|0;T=z;c[T>>2]=c[X>>2];c[T+4>>2]=t;c[x>>2]=286}Ce(c[p>>2]|0,j);ig(e,j,0)|0;t=u+1|0;if((c[y>>2]|0)==44)u=t;else{Z=t;break}}}else Z=1}else if((I|0)==190){c[j>>2]=0;Z=0}hg(c[p>>2]|0,Y,Z,j);u=c[p>>2]|0;x=u+46|0;z=(d[x>>0]|0)+Y|0;a[x>>0]=z;if((Y|0)==0){A=c[p>>2]|0;B=A+46|0;C=a[B>>0]|0;D=A+48|0;a[D>>0]=C;E=c[r>>2]|0;F=E+38|0;G=b[F>>1]|0;H=G+ -1<<16>>16;b[F>>1]=H;i=f;return}O=u+20|0;v=u+40|0;t=c[(c[u>>2]|0)+24>>2]|0;T=c[c[(c[u+12>>2]|0)+44>>2]>>2]|0;c[t+((b[T+((z&255)+~R+(c[v>>2]|0)<<1)>>1]|0)*12|0)+4>>2]=c[O>>2];if((R|0)==0){A=c[p>>2]|0;B=A+46|0;C=a[B>>0]|0;D=A+48|0;a[D>>0]=C;E=c[r>>2]|0;F=E+38|0;G=b[F>>1]|0;H=G+ -1<<16>>16;b[F>>1]=H;i=f;return}else _=R;do{c[t+((b[T+((d[x>>0]|0)-_+(c[v>>2]|0)<<1)>>1]|0)*12|0)+4>>2]=c[O>>2];_=_+ -1|0}while((_|0)!=0);A=c[p>>2]|0;B=A+46|0;C=a[B>>0]|0;D=A+48|0;a[D>>0]=C;E=c[r>>2]|0;F=E+38|0;G=b[F>>1]|0;H=G+ -1<<16>>16;b[F>>1]=H;i=f;return};case 265:{O=e+8|0;c[O>>2]=c[n>>2];v=e+20|0;if((c[v>>2]|0)==286){x=Bf(e,e+16|0)|0;c[y>>2]=x;$=x}else{x=v;T=c[x>>2]|0;t=c[x+4>>2]|0;x=e+12|0;c[x>>2]=T;c[x+4>>2]=t;c[v>>2]=286;$=T}if(($|0)!=288)cg(e,288);T=e+16|0;t=c[T>>2]|0;c[O>>2]=c[n>>2];if((c[v>>2]|0)==286)c[y>>2]=Bf(e,T)|0;else{T=v;O=c[T+4>>2]|0;x=e+12|0;c[x>>2]=c[T>>2];c[x+4>>2]=O;c[v>>2]=286}v=c[p>>2]|0;if((pg(v,t,h,1)|0)==0){pg(v,c[e+52>>2]|0,h,1)|0;O=c[p>>2]|0;c[g>>2]=t;c[g+4>>2]=d[t+4>>0]|64;t=ze(O,g,g)|0;c[k+8>>2]=-1;c[k+12>>2]=-1;c[k>>2]=4;c[k+4>>2]=t;t=h+4|0;a[t+2>>0]=c[t>>2];b[t>>1]=Ee(v,k)|0;a[t+3>>0]=(c[h>>2]|0)==8?8:7;c[h>>2]=9}while(1){t=c[y>>2]|0;if((t|0)==58){I=157;break}else if((t|0)!=46){aa=0;break}ng(e,h)}if((I|0)==157){ng(e,h);aa=1}kg(e,j,aa,o);Fe(c[p>>2]|0,h,j);t=c[p>>2]|0;c[(c[(c[t>>2]|0)+20>>2]|0)+((c[t+20>>2]|0)+ -1<<2)>>2]=o;A=c[p>>2]|0;B=A+46|0;C=a[B>>0]|0;D=A+48|0;a[D>>0]=C;E=c[r>>2]|0;F=E+38|0;G=b[F>>1]|0;H=G+ -1<<16>>16;b[F>>1]=H;i=f;return};case 273:{t=c[q+20>>2]|0;c[q+24>>2]=t;a[h+10>>0]=1;v=q+46|0;a[h+8>>0]=a[v>>0]|0;O=q+12|0;x=c[(c[O>>2]|0)+44>>2]|0;b[h+4>>1]=c[x+28>>2];b[h+6>>1]=c[x+16>>2];a[h+9>>0]=0;x=q+16|0;c[h>>2]=c[x>>2];c[x>>2]=h;a[j+10>>0]=0;T=j+8|0;a[T>>0]=a[v>>0]|0;v=c[(c[O>>2]|0)+44>>2]|0;b[j+4>>1]=c[v+28>>2];b[j+6>>1]=c[v+16>>2];v=j+9|0;a[v>>0]=0;c[j>>2]=c[x>>2];c[x>>2]=j;c[e+8>>2]=c[n>>2];x=e+20|0;if((c[x>>2]|0)==286){O=Bf(e,e+16|0)|0;c[y>>2]=O;ba=O}else{O=x;R=c[O>>2]|0;z=c[O+4>>2]|0;O=e+12|0;c[O>>2]=R;c[O+4>>2]=z;c[x>>2]=286;ba=R}b:while(1){switch(ba|0){case 277:case 286:case 262:case 261:case 260:{break b;break};default:{}}dg(e);if((ba|0)==274)break;ba=c[y>>2]|0}eg(e,277,273,o);ig(e,g,0)|0;if((c[g>>2]|0)==1)c[g>>2]=3;He(c[p>>2]|0,g);R=c[g+12>>2]|0;c:do if(!((a[v>>0]|0)==0|(R|0)==-1)){x=c[(c[q>>2]|0)+12>>2]|0;z=(d[T>>0]<<6)+64&16320;O=R;while(1){ca=x+(O<<2)|0;da=c[ca>>2]|0;u=(da>>>14)+ -131071|0;if((u|0)==-1)break;O=O+1+u|0;c[ca>>2]=da&-16321|z;if((O|0)==-1)break c}c[ca>>2]=da&-16321|z}while(0);_f(q);we(q,R,t);_f(q);A=c[p>>2]|0;B=A+46|0;C=a[B>>0]|0;D=A+48|0;a[D>>0]=C;E=c[r>>2]|0;F=E+38|0;G=b[F>>1]|0;H=G+ -1<<16>>16;b[F>>1]=H;i=f;return};case 274:{T=e+8|0;c[T>>2]=c[n>>2];v=e+20|0;if((c[v>>2]|0)==286){O=Bf(e,e+16|0)|0;c[y>>2]=O;ea=O;fa=c[p>>2]|0}else{O=v;x=c[O>>2]|0;s=c[O+4>>2]|0;O=e+12|0;c[O>>2]=x;c[O+4>>2]=s;c[v>>2]=286;ea=x;fa=q}d:do switch(ea|0){case 59:case 277:case 286:case 262:case 261:case 260:{ga=0;ha=0;break};default:{ig(e,h,0)|0;if((c[y>>2]|0)==44){x=e+16|0;s=e+12|0;O=1;while(1){c[T>>2]=c[n>>2];if((c[v>>2]|0)==286)c[y>>2]=Bf(e,x)|0;else{u=v;X=c[u+4>>2]|0;w=s;c[w>>2]=c[u>>2];c[w+4>>2]=X;c[v>>2]=286}Ce(c[p>>2]|0,h);ig(e,h,0)|0;X=O+1|0;if((c[y>>2]|0)==44)O=X;else{ia=X;break}}}else ia=1;O=c[h>>2]|0;if(!((O+ -12|0)>>>0<2)){if((ia|0)!=1){Ce(fa,h);ga=d[fa+46>>0]|0;ha=ia;break d}Be(fa,h);if((c[h>>2]|0)==6){s=h+4|0;x=c[s>>2]|0;if((c[h+8>>2]|0)==(c[h+12>>2]|0)){ga=x;ha=1;break d}if((x|0)<(d[fa+46>>0]|0))ja=s;else{De(fa,h,x);ga=c[s>>2]|0;ha=1;break d}}else ja=h+4|0;Ce(fa,h);ga=c[ja>>2]|0;ha=1;break d}if((O|0)==12){s=(c[(c[fa>>2]|0)+12>>2]|0)+(c[h+4>>2]<<2)|0;c[s>>2]=c[s>>2]&-8372225}else if((O|0)==13){O=h+4|0;s=c[fa>>2]|0;x=c[s+12>>2]|0;z=x+(c[O>>2]<<2)|0;c[z>>2]=c[z>>2]&8388607;z=x+(c[O>>2]<<2)|0;O=fa+48|0;c[z>>2]=d[O>>0]<<6|c[z>>2]&-16321;z=a[O>>0]|0;x=(z&255)+1|0;X=s+78|0;do if(x>>>0>(d[X>>0]|0)>>>0)if(x>>>0>249)ye(c[fa+12>>2]|0,76080);else{a[X>>0]=x;ka=a[O>>0]|0;break}else ka=z;while(0);a[O>>0]=(ka&255)+1}if((c[h>>2]|0)==12&(ia|0)==1){z=(c[(c[fa>>2]|0)+12>>2]|0)+(c[h+4>>2]<<2)|0;c[z>>2]=c[z>>2]&-64|30}ga=d[fa+46>>0]|0;ha=-1}}while(0);xe(fa,ga<<6|(ha<<23)+8388608|31)|0;if((c[y>>2]|0)!=59){A=c[p>>2]|0;B=A+46|0;C=a[B>>0]|0;D=A+48|0;a[D>>0]=C;E=c[r>>2]|0;F=E+38|0;G=b[F>>1]|0;H=G+ -1<<16>>16;b[F>>1]=H;i=f;return}c[T>>2]=c[n>>2];if((c[v>>2]|0)==286){c[y>>2]=Bf(e,e+16|0)|0;A=c[p>>2]|0;B=A+46|0;C=a[B>>0]|0;D=A+48|0;a[D>>0]=C;E=c[r>>2]|0;F=E+38|0;G=b[F>>1]|0;H=G+ -1<<16>>16;b[F>>1]=H;i=f;return}else{t=v;R=c[t+4>>2]|0;z=e+12|0;c[z>>2]=c[t>>2];c[z+4>>2]=R;c[v>>2]=286;A=c[p>>2]|0;B=A+46|0;C=a[B>>0]|0;D=A+48|0;a[D>>0]=C;E=c[r>>2]|0;F=E+38|0;G=b[F>>1]|0;H=G+ -1<<16>>16;b[F>>1]=H;i=f;return}break};case 285:{R=e+8|0;c[R>>2]=c[n>>2];z=e+20|0;if((c[z>>2]|0)==286){t=Bf(e,e+16|0)|0;c[y>>2]=t;la=t}else{t=z;x=c[t>>2]|0;X=c[t+4>>2]|0;t=e+12|0;c[t>>2]=x;c[t+4>>2]=X;c[z>>2]=286;la=x}if((la|0)!=288)cg(e,288);x=e+16|0;X=c[x>>2]|0;c[R>>2]=c[n>>2];if((c[z>>2]|0)==286){t=Bf(e,x)|0;c[y>>2]=t;ma=t}else{t=z;s=c[t>>2]|0;w=c[t+4>>2]|0;t=e+12|0;c[t>>2]=s;c[t+4>>2]=w;c[z>>2]=286;ma=s}s=c[p>>2]|0;w=e+44|0;t=c[w>>2]|0;u=t+24|0;na=s+16|0;oa=b[(c[na>>2]|0)+4>>1]|0;pa=t+28|0;qa=c[pa>>2]|0;e:do if((oa|0)<(qa|0)){ra=c[u>>2]|0;sa=a[X+4>>0]|0;ta=sa<<24>>24==4;ua=X+12|0;va=X+16|0;wa=oa;f:while(1){xa=c[ra+(wa<<4)>>2]|0;do if(sa<<24>>24==(a[xa+4>>0]|0)){if(ta)if((xa|0)==(X|0)){I=210;break f}else break;ya=c[ua>>2]|0;if((xa|0)==(X|0)){I=210;break f}if((ya|0)==(c[xa+12>>2]|0)?(Yo(va,xa+16|0,ya)|0)==0:0){I=210;break f}}while(0);xa=wa+1|0;if((xa|0)<(qa|0))wa=xa;else break e}if((I|0)==210){ua=s+12|0;ta=c[(c[ua>>2]|0)+32>>2]|0;sa=c[ra+(wa<<4)+8>>2]|0;c[g>>2]=va;c[g+4>>2]=sa;sa=xf(ta,78744,g)|0;$f(c[ua>>2]|0,sa)}}while(0);if((ma|0)!=285)cg(e,285);c[R>>2]=c[n>>2];if((c[z>>2]|0)==286)c[y>>2]=Bf(e,x)|0;else{qa=z;oa=c[qa+4>>2]|0;v=e+12|0;c[v>>2]=c[qa>>2];c[v+4>>2]=oa;c[z>>2]=286}oa=c[s+20>>2]|0;v=c[pa>>2]|0;qa=t+32|0;if((v|0)<(c[qa>>2]|0))za=c[u>>2]|0;else{T=Cf(c[r>>2]|0,c[u>>2]|0,qa,16,32767,78376)|0;c[u>>2]=T;za=T}c[za+(v<<4)>>2]=X;T=c[u>>2]|0;c[T+(v<<4)+8>>2]=o;a[T+(v<<4)+12>>0]=a[(c[p>>2]|0)+46>>0]|0;c[(c[u>>2]|0)+(v<<4)+4>>2]=oa;c[pa>>2]=(c[pa>>2]|0)+1;g:while(1){switch(c[y>>2]|0){case 286:case 262:case 261:case 260:{I=223;break g;break};case 285:case 59:break;default:break g}dg(e)}if((I|0)==223)a[(c[u>>2]|0)+(v<<4)+12>>0]=a[(c[na>>2]|0)+8>>0]|0;pa=(c[u>>2]|0)+(v<<4)|0;X=c[w>>2]|0;t=b[(c[(c[p>>2]|0)+16>>2]|0)+6>>1]|0;s=X+16|0;z=c[s>>2]|0;if((t|0)>=(z|0)){A=c[p>>2]|0;B=A+46|0;C=a[B>>0]|0;D=A+48|0;a[D>>0]=C;E=c[r>>2]|0;F=E+38|0;G=b[F>>1]|0;H=G+ -1<<16>>16;b[F>>1]=H;i=f;return}x=X+12|0;X=z;z=t;h:while(1){t=X;while(1){R=c[(c[x>>2]|0)+(z<<4)>>2]|0;oa=c[pa>>2]|0;T=a[R+4>>0]|0;if(!(T<<24>>24==(a[oa+4>>0]|0)))break;if(T<<24>>24==4){if((R|0)!=(oa|0))break}else{T=c[R+12>>2]|0;if((R|0)!=(oa|0)){if((T|0)!=(c[oa+12>>2]|0))break;if((Yo(R+16|0,oa+16|0,T)|0)!=0)break}}bg(e,z,pa);T=c[s>>2]|0;if((z|0)<(T|0))t=T;else{I=298;break h}}z=z+1|0;if((z|0)>=(t|0)){I=298;break}else X=t}if((I|0)==298){A=c[p>>2]|0;B=A+46|0;C=a[B>>0]|0;D=A+48|0;a[D>>0]=C;E=c[r>>2]|0;F=E+38|0;G=b[F>>1]|0;H=G+ -1<<16>>16;b[F>>1]=H;i=f;return}break};case 264:{a[h+10>>0]=1;a[h+8>>0]=a[q+46>>0]|0;X=c[(c[q+12>>2]|0)+44>>2]|0;b[h+4>>1]=c[X+28>>2];b[h+6>>1]=c[X+16>>2];a[h+9>>0]=0;X=q+16|0;c[h>>2]=c[X>>2];c[X>>2]=h;X=e+8|0;c[X>>2]=c[n>>2];z=e+20|0;if((c[z>>2]|0)==286){s=Bf(e,e+16|0)|0;c[y>>2]=s;Aa=s}else{s=z;pa=c[s>>2]|0;x=c[s+4>>2]|0;s=e+12|0;c[s>>2]=pa;c[s+4>>2]=x;c[z>>2]=286;Aa=pa}if((Aa|0)!=288)cg(e,288);pa=e+16|0;x=c[pa>>2]|0;c[X>>2]=c[n>>2];if((c[z>>2]|0)==286){s=Bf(e,pa)|0;c[y>>2]=s;Ba=s}else{s=z;w=c[s>>2]|0;v=c[s+4>>2]|0;s=e+12|0;c[s>>2]=w;c[s+4>>2]=v;c[z>>2]=286;Ba=w}if((Ba|0)==61){w=c[p>>2]|0;v=w+48|0;s=d[v>>0]|0;lg(e,zf(e,78856,11)|0);lg(e,zf(e,78872,11)|0);lg(e,zf(e,78888,10)|0);lg(e,x);if((c[y>>2]|0)!=61)cg(e,61);c[X>>2]=c[n>>2];if((c[z>>2]|0)==286)c[y>>2]=Bf(e,pa)|0;else{u=z;na=c[u+4>>2]|0;va=e+12|0;c[va>>2]=c[u>>2];c[va+4>>2]=na;c[z>>2]=286}ig(e,g,0)|0;Ce(c[p>>2]|0,g);if((c[y>>2]|0)!=44)cg(e,44);c[X>>2]=c[n>>2];if((c[z>>2]|0)==286)c[y>>2]=Bf(e,pa)|0;else{na=z;va=c[na+4>>2]|0;u=e+12|0;c[u>>2]=c[na>>2];c[u+4>>2]=va;c[z>>2]=286}ig(e,g,0)|0;Ce(c[p>>2]|0,g);if((c[y>>2]|0)==44){c[X>>2]=c[n>>2];if((c[z>>2]|0)==286)c[y>>2]=Bf(e,pa)|0;else{va=z;u=c[va+4>>2]|0;na=e+12|0;c[na>>2]=c[va>>2];c[na+4>>2]=u;c[z>>2]=286}ig(e,g,0)|0;Ce(c[p>>2]|0,g)}else{u=d[v>>0]|0;na=w+12|0;c[g>>2]=65536;c[g+4>>2]=3;va=ze(w,g,g)|0;wa=u<<6;if((va|0)<262144)xe(w,wa|va<<14|1)|0;else{xe(w,wa|2)|0;xe(w,va<<6|39)|0}va=a[v>>0]|0;wa=(va&255)+1|0;u=(c[w>>2]|0)+78|0;do if(wa>>>0>(d[u>>0]|0)>>>0)if(wa>>>0>249)ye(c[na>>2]|0,76080);else{a[u>>0]=wa;Ca=a[v>>0]|0;break}else Ca=va;while(0);a[v>>0]=(Ca&255)+1}qg(e,s,o,1,1)}else if((Ba|0)==268|(Ba|0)==44){va=c[p>>2]|0;wa=va+48|0;u=d[wa>>0]|0;lg(e,zf(e,78808,15)|0);lg(e,zf(e,78824,11)|0);lg(e,zf(e,78840,13)|0);lg(e,x);na=c[y>>2]|0;do if((na|0)==44){w=e+12|0;ra=4;while(1){c[X>>2]=c[n>>2];if((c[z>>2]|0)==286){T=Bf(e,pa)|0;c[y>>2]=T;Da=T}else{T=z;oa=c[T>>2]|0;R=c[T+4>>2]|0;T=w;c[T>>2]=oa;c[T+4>>2]=R;c[z>>2]=286;Da=oa}if((Da|0)!=288){I=107;break}oa=c[pa>>2]|0;c[X>>2]=c[n>>2];if((c[z>>2]|0)==286)c[y>>2]=Bf(e,pa)|0;else{R=z;T=c[R+4>>2]|0;qa=w;c[qa>>2]=c[R>>2];c[qa+4>>2]=T;c[z>>2]=286}lg(e,oa);Ea=c[y>>2]|0;if((Ea|0)==44)ra=ra+1|0;else{I=112;break}}if((I|0)==107)cg(e,288);else if((I|0)==112){Fa=Ea;Ga=ra+ -2|0;break}}else{Fa=na;Ga=1}while(0);if((Fa|0)!=268)cg(e,268);na=c[n>>2]|0;c[X>>2]=na;if((c[z>>2]|0)==286){c[y>>2]=Bf(e,pa)|0;Ha=c[n>>2]|0}else{x=z;s=c[x+4>>2]|0;v=e+12|0;c[v>>2]=c[x>>2];c[v+4>>2]=s;c[z>>2]=286;Ha=na}ig(e,g,0)|0;if((c[y>>2]|0)==44){na=e+12|0;s=1;while(1){c[X>>2]=c[n>>2];if((c[z>>2]|0)==286)c[y>>2]=Bf(e,pa)|0;else{v=z;x=c[v+4>>2]|0;w=na;c[w>>2]=c[v>>2];c[w+4>>2]=x;c[z>>2]=286}Ce(c[p>>2]|0,g);ig(e,g,0)|0;x=s+1|0;if((c[y>>2]|0)==44)s=x;else{Ia=x;break}}}else Ia=1;hg(c[p>>2]|0,3,Ia,g);s=(d[wa>>0]|0)+3|0;z=(c[va>>2]|0)+78|0;do if(s>>>0>(d[z>>0]|0)>>>0)if(s>>>0>249)ye(c[va+12>>2]|0,76080);else{a[z>>0]=s;break}while(0);qg(e,u,Ha,Ga,0)}else ye(e,78784);eg(e,262,264,o);_f(q);A=c[p>>2]|0;B=A+46|0;C=a[B>>0]|0;D=A+48|0;a[D>>0]=C;E=c[r>>2]|0;F=E+38|0;G=b[F>>1]|0;H=G+ -1<<16>>16;b[F>>1]=H;i=f;return};case 259:{c[e+8>>2]=c[n>>2];s=e+20|0;if((c[s>>2]|0)==286){z=Bf(e,e+16|0)|0;c[y>>2]=z;Ja=c[p>>2]|0;Ka=z}else{z=s;va=c[z>>2]|0;wa=c[z+4>>2]|0;z=e+12|0;c[z>>2]=va;c[z+4>>2]=wa;c[s>>2]=286;Ja=q;Ka=va}a[g+10>>0]=0;a[g+8>>0]=a[Ja+46>>0]|0;va=c[(c[Ja+12>>2]|0)+44>>2]|0;b[g+4>>1]=c[va+28>>2];b[g+6>>1]=c[va+16>>2];a[g+9>>0]=0;va=Ja+16|0;c[g>>2]=c[va>>2];c[va>>2]=g;va=Ka;i:while(1){switch(va|0){case 277:case 286:case 262:case 261:case 260:{break i;break};default:{}}dg(e);if((va|0)==274)break;va=c[y>>2]|0}_f(Ja);eg(e,262,259,o);A=c[p>>2]|0;B=A+46|0;C=a[B>>0]|0;D=A+48|0;a[D>>0]=C;E=c[r>>2]|0;F=E+38|0;G=b[F>>1]|0;H=G+ -1<<16>>16;b[F>>1]=H;i=f;return};case 278:{va=e+8|0;c[va>>2]=c[n>>2];u=e+20|0;if((c[u>>2]|0)==286)c[y>>2]=Bf(e,e+16|0)|0;else{s=u;wa=c[s+4>>2]|0;z=e+12|0;c[z>>2]=c[s>>2];c[z+4>>2]=wa;c[u>>2]=286}wa=q+20|0;z=c[wa>>2]|0;s=q+24|0;c[s>>2]=z;ig(e,g,0)|0;if((c[g>>2]|0)==1)c[g>>2]=3;He(c[p>>2]|0,g);na=c[g+12>>2]|0;a[l+10>>0]=1;a[l+8>>0]=a[q+46>>0]|0;pa=q+12|0;X=c[(c[pa>>2]|0)+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=q+16|0;c[l>>2]=c[X>>2];c[X>>2]=l;if((c[y>>2]|0)!=259)cg(e,259);c[va>>2]=c[n>>2];if((c[u>>2]|0)==286){va=Bf(e,e+16|0)|0;c[y>>2]=va;La=va}else{va=u;X=c[va>>2]|0;x=c[va+4>>2]|0;va=e+12|0;c[va>>2]=X;c[va+4>>2]=x;c[u>>2]=286;La=X}X=c[p>>2]|0;a[g+10>>0]=0;a[g+8>>0]=a[X+46>>0]|0;u=c[(c[X+12>>2]|0)+44>>2]|0;b[g+4>>1]=c[u+28>>2];b[g+6>>1]=c[u+16>>2];a[g+9>>0]=0;u=X+16|0;c[g>>2]=c[u>>2];c[u>>2]=g;u=La;j:while(1){switch(u|0){case 277:case 286:case 262:case 261:case 260:{break j;break};default:{}}dg(e);if((u|0)==274)break;u=c[y>>2]|0}_f(X);u=q+28|0;x=c[u>>2]|0;c[u>>2]=-1;va=xe(q,2147450903)|0;do if(!((x|0)==-1))if(!((va|0)==-1)){w=c[(c[q>>2]|0)+12>>2]|0;v=va;while(1){Ma=w+(v<<2)|0;Na=c[Ma>>2]|0;t=(Na>>>14)+ -131071|0;if((t|0)==-1)break;oa=v+1+t|0;if((oa|0)==-1)break;else v=oa}w=x+~v|0;if((((w|0)>-1?w:0-w|0)|0)>131071)ye(c[pa>>2]|0,80032);else{c[Ma>>2]=(w<<14)+2147467264|Na&16383;Oa=va;break}}else Oa=x;else Oa=va;while(0);we(q,Oa,z);eg(e,262,278,o);_f(q);c[s>>2]=c[wa>>2];if((na|0)==-1){A=c[p>>2]|0;B=A+46|0;C=a[B>>0]|0;D=A+48|0;a[D>>0]=C;E=c[r>>2]|0;F=E+38|0;G=b[F>>1]|0;H=G+ -1<<16>>16;b[F>>1]=H;i=f;return}va=c[u>>2]|0;if((va|0)==-1){c[u>>2]=na;A=c[p>>2]|0;B=A+46|0;C=a[B>>0]|0;D=A+48|0;a[D>>0]=C;E=c[r>>2]|0;F=E+38|0;G=b[F>>1]|0;H=G+ -1<<16>>16;b[F>>1]=H;i=f;return}x=c[(c[q>>2]|0)+12>>2]|0;X=va;while(1){Pa=x+(X<<2)|0;Qa=c[Pa>>2]|0;va=(Qa>>>14)+ -131071|0;if((va|0)==-1)break;w=X+1+va|0;if((w|0)==-1)break;else X=w}x=na+~X|0;if((((x|0)>-1?x:0-x|0)|0)>131071)ye(c[pa>>2]|0,80032);c[Pa>>2]=(x<<14)+2147467264|Qa&16383;A=c[p>>2]|0;B=A+46|0;C=a[B>>0]|0;D=A+48|0;a[D>>0]=C;E=c[r>>2]|0;F=E+38|0;G=b[F>>1]|0;H=G+ -1<<16>>16;b[F>>1]=H;i=f;return};default:{x=g+4|0;fg(e,x);u=c[y>>2]|0;if((u|0)==44|(u|0)==61){c[g>>2]=0;gg(e,g,1);A=c[p>>2]|0;B=A+46|0;C=a[B>>0]|0;D=A+48|0;a[D>>0]=C;E=c[r>>2]|0;F=E+38|0;G=b[F>>1]|0;H=G+ -1<<16>>16;b[F>>1]=H;i=f;return}if((c[x>>2]|0)!=12)ye(e,78408);x=(c[(c[q>>2]|0)+12>>2]|0)+(c[g+8>>2]<<2)|0;c[x>>2]=c[x>>2]&-8372225|16384;A=c[p>>2]|0;B=A+46|0;C=a[B>>0]|0;D=A+48|0;a[D>>0]=C;E=c[r>>2]|0;F=E+38|0;G=b[F>>1]|0;H=G+ -1<<16>>16;b[F>>1]=H;i=f;return}}while(0)}function eg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+16|0;g=f;h=a+12|0;j=c[a+4>>2]|0;if((c[h>>2]|0)==(b|0)){c[a+8>>2]=j;k=a+20|0;if((c[k>>2]|0)==286){c[h>>2]=Bf(a,a+16|0)|0;i=f;return}else{h=k;l=c[h+4>>2]|0;m=a+12|0;c[m>>2]=c[h>>2];c[m+4>>2]=l;c[k>>2]=286;i=f;return}}if((j|0)==(e|0))cg(a,b);j=a+32|0;f=c[j>>2]|0;do if((b|0)<257)if((b+ -32|0)>>>0<95){c[g>>2]=b;n=xf(f,76912,g)|0;break}else{c[g>>2]=b;n=xf(f,76920,g)|0;break}else{k=c[76776+(b+ -257<<2)>>2]|0;if((b|0)<286){c[g>>2]=k;n=xf(f,76936,g)|0}else n=k}while(0);do if((d|0)<257){b=c[j>>2]|0;if((d+ -32|0)>>>0<95){c[g>>2]=d;o=xf(b,76912,g)|0;break}else{c[g>>2]=d;o=xf(b,76920,g)|0;break}}else{b=c[76776+(d+ -257<<2)>>2]|0;if((d|0)<286){k=c[j>>2]|0;c[g>>2]=b;o=xf(k,76936,g)|0}else o=b}while(0);c[g>>2]=n;c[g+4>>2]=o;c[g+8>>2]=e;ye(a,xf(f,78904,g)|0)}function fg(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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=i;i=i+64|0;h=g+48|0;j=g+32|0;k=g+16|0;l=g;m=e+28|0;n=c[m>>2]|0;o=e+4|0;p=c[o>>2]|0;q=e+12|0;r=c[q>>2]|0;if((r|0)==288){s=e+16|0;t=c[s>>2]|0;c[e+8>>2]=p;u=e+20|0;if((c[u>>2]|0)==286){c[q>>2]=Bf(e,s)|0;v=c[m>>2]|0}else{w=u;x=c[w+4>>2]|0;y=e+12|0;c[y>>2]=c[w>>2];c[y+4>>2]=x;c[u>>2]=286;v=n}if((pg(v,t,f,1)|0)==0){pg(v,c[e+52>>2]|0,f,1)|0;u=c[m>>2]|0;c[h>>2]=t;c[h+4>>2]=d[t+4>>0]|0|64;t=ze(u,h,h)|0;c[j+8>>2]=-1;c[j+12>>2]=-1;c[j>>2]=4;c[j+4>>2]=t;t=f+4|0;a[t+2>>0]=c[t>>2];b[t>>1]=Ee(v,j)|0;a[t+3>>0]=(c[f>>2]|0)==8?8:7;c[f>>2]=9;z=s;A=s}else{z=s;A=s}}else if((r|0)==40){c[e+8>>2]=p;r=e+20|0;if((c[r>>2]|0)==286){s=e+16|0;c[q>>2]=Bf(e,s)|0;B=s}else{s=r;t=c[s+4>>2]|0;j=e+12|0;c[j>>2]=c[s>>2];c[j+4>>2]=t;c[r>>2]=286;B=e+16|0}ig(e,f,0)|0;eg(e,41,40,p);Be(c[m>>2]|0,f);z=B;A=B}else ye(e,78720);B=f+8|0;r=f+12|0;t=e+8|0;j=e+20|0;s=k+8|0;v=k+12|0;u=f+4|0;x=u+2|0;y=u+3|0;w=e+12|0;C=k+4|0;D=f+4|0;E=n+46|0;F=h+4|0;G=l+8|0;H=l+12|0;I=l+4|0;a:while(1)switch(c[q>>2]|0){case 123:case 289:case 40:{Ce(n,f);og(e,f,p);continue a;break};case 91:{if(!((c[f>>2]|0)==8?(c[B>>2]|0)==(c[r>>2]|0):0))J=17;do if((J|0)==17){J=0;Be(n,f);if((c[f>>2]|0)==6){K=c[D>>2]|0;if((c[B>>2]|0)==(c[r>>2]|0))break;if((K|0)>=(d[E>>0]|0|0)){De(n,f,K);break}}Ce(n,f)}while(0);c[t>>2]=c[o>>2];if((c[j>>2]|0)==286)c[q>>2]=Bf(e,A)|0;else{K=j;L=c[K+4>>2]|0;M=w;c[M>>2]=c[K>>2];c[M+4>>2]=L;c[j>>2]=286}ig(e,k,0)|0;L=c[m>>2]|0;M=(c[s>>2]|0)==(c[v>>2]|0);Be(L,k);do if(!M){if((c[k>>2]|0)==6){K=c[C>>2]|0;if((c[s>>2]|0)==(c[v>>2]|0))break;if((K|0)>=(d[L+46>>0]|0|0)){De(L,k,K);break}}Ce(L,k)}while(0);if((c[q>>2]|0)!=93){J=32;break a}c[t>>2]=c[o>>2];if((c[j>>2]|0)==286)c[q>>2]=Bf(e,A)|0;else{L=j;M=c[L+4>>2]|0;K=w;c[K>>2]=c[L>>2];c[K+4>>2]=M;c[j>>2]=286}a[x>>0]=c[u>>2];b[u>>1]=Ee(n,k)|0;a[y>>0]=(c[f>>2]|0)==8?8:7;c[f>>2]=9;continue a;break};case 46:{ng(e,f);continue a;break};case 58:{c[t>>2]=c[o>>2];if((c[j>>2]|0)==286){M=Bf(e,A)|0;c[q>>2]=M;N=M}else{M=j;K=c[M>>2]|0;L=c[M+4>>2]|0;M=w;c[M>>2]=K;c[M+4>>2]=L;c[j>>2]=286;N=K}if((N|0)!=288){J=41;break a}K=c[z>>2]|0;c[t>>2]=c[o>>2];if((c[j>>2]|0)==286)c[q>>2]=Bf(e,A)|0;else{L=j;M=c[L+4>>2]|0;O=w;c[O>>2]=c[L>>2];c[O+4>>2]=M;c[j>>2]=286}M=c[m>>2]|0;c[h>>2]=K;c[F>>2]=d[K+4>>0]|0|64;K=ze(M,h,h)|0;c[G>>2]=-1;c[H>>2]=-1;c[l>>2]=4;c[I>>2]=K;Ge(n,f,l);og(e,f,p);continue a;break};default:{J=47;break a}}if((J|0)==32)cg(e,93);else if((J|0)==41)cg(e,288);else if((J|0)==47){i=g;return}}function gg(f,g,h){f=f|0;g=g|0;h=h|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;j=i;i=i+48|0;k=j;l=j+32|0;m=j+12|0;n=g+4|0;if(!(((c[n>>2]|0)+ -7|0)>>>0<3))ye(f,78408);o=f+12|0;p=c[o>>2]|0;do if((p|0)==61){q=f+4|0;r=f+8|0;c[r>>2]=c[q>>2];s=f+20|0;if((c[s>>2]|0)==286)c[o>>2]=Bf(f,f+16|0)|0;else{t=s;u=c[t+4>>2]|0;v=f+12|0;c[v>>2]=c[t>>2];c[v+4>>2]=u;c[s>>2]=286}ig(f,l,0)|0;if((c[o>>2]|0)==44){u=f+16|0;v=f+28|0;t=f+12|0;w=1;while(1){c[r>>2]=c[q>>2];if((c[s>>2]|0)==286)c[o>>2]=Bf(f,u)|0;else{x=s;y=c[x+4>>2]|0;z=t;c[z>>2]=c[x>>2];c[z+4>>2]=y;c[s>>2]=286}Ce(c[v>>2]|0,l);ig(f,l,0)|0;y=w+1|0;if((c[o>>2]|0)==44)w=y;else{A=v;B=y;break}}}else{A=f+28|0;B=1}v=c[A>>2]|0;if((B|0)!=(h|0)){hg(v,h,B,l);if((B|0)<=(h|0))break;w=(c[A>>2]|0)+48|0;a[w>>0]=h-B+(d[w>>0]|0);break}w=c[l>>2]|0;if((w|0)==12){c[l>>2]=6;s=l+4|0;c[s>>2]=(c[(c[(c[v>>2]|0)+12>>2]|0)+(c[s>>2]<<2)>>2]|0)>>>6&255}else if((w|0)==13){w=(c[(c[v>>2]|0)+12>>2]|0)+(c[l+4>>2]<<2)|0;c[w>>2]=c[w>>2]&8388607|16777216;c[l>>2]=11}Fe(v,n,l);i=j;return}else if((p|0)==44){c[f+8>>2]=c[f+4>>2];v=f+20|0;if((c[v>>2]|0)==286)c[o>>2]=Bf(f,f+16|0)|0;else{w=v;s=c[w+4>>2]|0;t=f+12|0;c[t>>2]=c[w>>2];c[t+4>>2]=s;c[v>>2]=286}c[m>>2]=g;v=m+4|0;fg(f,v);s=f+28|0;if((c[v>>2]|0)!=9?(t=c[s>>2]|0,w=t+48|0,u=a[w>>0]|0,q=u&255,(g|0)!=0):0){r=m+8|0;y=u&255;z=g;x=0;while(1){if((c[z+4>>2]|0)==9){C=z+8|0;D=C+3|0;E=d[D>>0]|0;F=c[v>>2]|0;if((E|0)==(F|0)){G=C+2|0;if((d[G>>0]|0)==(c[r>>2]|0)){a[D>>0]=7;a[G>>0]=u;H=c[v>>2]|0;I=1}else{H=E;I=x}}else{H=F;I=x}if((H|0)==7?(b[C>>1]|0)==(c[r>>2]|0):0){b[C>>1]=y;J=1}else J=I}else J=x;z=c[z>>2]|0;if((z|0)==0)break;else x=J}if((J|0)!=0){xe(t,((c[v>>2]|0)==7?0:5)|q<<6|c[r>>2]<<23)|0;x=a[w>>0]|0;z=(x&255)+1|0;y=(c[t>>2]|0)+78|0;do if(z>>>0>(d[y>>0]|0)>>>0)if(z>>>0>249)ye(c[t+12>>2]|0,76080);else{a[y>>0]=z;K=a[w>>0]|0;break}else K=x;while(0);a[w>>0]=(K&255)+1}}x=c[s>>2]|0;if(((e[(c[f+32>>2]|0)+38>>1]|0)+h|0)<=200){gg(f,m,h+1|0);break}z=x+12|0;y=c[(c[z>>2]|0)+32>>2]|0;t=c[(c[x>>2]|0)+64>>2]|0;if((t|0)==0){L=78616;c[k>>2]=78424;M=k+4|0;c[M>>2]=200;N=k+8|0;c[N>>2]=L;O=xf(y,78656,k)|0;P=c[z>>2]|0;ye(P,O)}c[k>>2]=t;L=xf(y,78632,k)|0;c[k>>2]=78424;M=k+4|0;c[M>>2]=200;N=k+8|0;c[N>>2]=L;O=xf(y,78656,k)|0;P=c[z>>2]|0;ye(P,O)}else cg(f,61);while(0);O=c[f+28>>2]|0;f=(d[O+48>>0]|0)+ -1|0;c[l+8>>2]=-1;c[l+12>>2]=-1;c[l>>2]=6;c[l+4>>2]=f;Fe(O,n,l);i=j;return}function hg(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;j=e-f|0;f=c[g>>2]|0;if((f|0)==13|(f|0)==12){e=j+1|0;k=(e|0)<0?0:e;Ae(b,g,k);if((k|0)<=1){i=h;return}e=k+ -1|0;k=b+48|0;l=a[k>>0]|0;m=(l&255)+e|0;n=(c[b>>2]|0)+78|0;do if((m|0)>(d[n>>0]|0|0))if((m|0)>249)ye(c[b+12>>2]|0,76080);else{a[n>>0]=m;o=a[k>>0]|0;break}else o=l;while(0);a[k>>0]=(o&255)+e;i=h;return}else if((f|0)!=0)Ce(b,g);if((j|0)<=0){i=h;return}g=b+48|0;f=a[g>>0]|0;e=f&255;o=e+j|0;k=(c[b>>2]|0)+78|0;do if((o|0)>(d[k>>0]|0|0))if((o|0)>249)ye(c[b+12>>2]|0,76080);else{a[k>>0]=o;p=a[g>>0]|0;break}else p=f;while(0);a[g>>0]=(p&255)+j;p=o+ -1|0;g=c[b+20>>2]|0;do if((g|0)>(c[b+24>>2]|0)?(f=(c[(c[b>>2]|0)+12>>2]|0)+(g+ -1<<2)|0,k=c[f>>2]|0,(k&63|0)==4):0){l=k>>>6&255;m=l+(k>>>23)|0;if(!(!(l>>>0>e>>>0)?(m+1|0)>=(e|0):0))q=18;if((q|0)==18?l>>>0<e>>>0|(l|0)>(o|0):0)break;n=l>>>0<e>>>0?l:e;c[f>>2]=n<<6|k&8372287|((m|0)>(p|0)?m:p)-n<<23;i=h;return}while(0);xe(b,(j<<23)+ -8388608|e<<6|4)|0;i=h;return}function ig(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,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=i;i=i+32|0;j=h;k=h+16|0;l=e+28|0;m=c[l>>2]|0;n=e+32|0;o=(c[n>>2]|0)+38|0;p=(b[o>>1]|0)+1<<16>>16;b[o>>1]=p;if((p&65535)>200){p=m+12|0;o=c[(c[p>>2]|0)+32>>2]|0;q=c[(c[m>>2]|0)+64>>2]|0;if((q|0)==0){r=78616;c[j>>2]=78424;s=j+4|0;c[s>>2]=200;t=j+8|0;c[t>>2]=r;u=xf(o,78656,j)|0;v=c[p>>2]|0;ye(v,u)}c[j>>2]=q;r=xf(o,78632,j)|0;c[j>>2]=78424;s=j+4|0;c[s>>2]=200;t=j+8|0;c[t>>2]=r;u=xf(o,78656,j)|0;v=c[p>>2]|0;ye(v,u)}u=e+12|0;a:do switch(c[u>>2]|0){case 35:{w=2;x=8;break};case 45:{w=0;x=8;break};case 276:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=2;c[f+4>>2]=0;x=26;break};case 280:{if((a[(c[m>>2]|0)+77>>0]|0)==0)ye(e,78472);else{v=xe(m,8388646)|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=13;c[f+4>>2]=v;x=26;break a}break};case 263:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=3;c[f+4>>2]=0;x=26;break};case 265:{v=e+4|0;p=c[v>>2]|0;c[e+8>>2]=p;o=e+20|0;if((c[o>>2]|0)==286){c[u>>2]=Bf(e,e+16|0)|0;y=c[v>>2]|0}else{v=o;r=c[v+4>>2]|0;t=e+12|0;c[t>>2]=c[v>>2];c[t+4>>2]=r;c[o>>2]=286;y=p}kg(e,f,0,y);x=29;break};case 289:{p=c[e+16>>2]|0;c[j>>2]=p;c[j+4>>2]=d[p+4>>0]|64;p=ze(m,j,j)|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=4;c[f+4>>2]=p;x=26;break};case 271:{w=1;x=8;break};case 123:{jg(e,f);x=29;break};case 287:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=5;p=f+4|0;c[p>>2]=0;c[p>>2]=c[e+16>>2];x=26;break};case 270:{c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=1;c[f+4>>2]=0;x=26;break};default:{fg(e,f);x=29}}while(0);do if((x|0)==8){j=c[e+4>>2]|0;c[e+8>>2]=j;m=e+20|0;if((c[m>>2]|0)==286)c[u>>2]=Bf(e,e+16|0)|0;else{y=m;p=c[y+4>>2]|0;o=e+12|0;c[o>>2]=c[y>>2];c[o+4>>2]=p;c[m>>2]=286}ig(e,f,8)|0;Je(c[l>>2]|0,w,f,j);x=29}else if((x|0)==26){c[e+8>>2]=c[e+4>>2];j=e+20|0;if((c[j>>2]|0)==286){m=Bf(e,e+16|0)|0;c[u>>2]=m;z=m;break}else{m=j;p=c[m+4>>2]|0;o=e+12|0;c[o>>2]=c[m>>2];c[o+4>>2]=p;c[j>>2]=286;x=29;break}}while(0);if((x|0)==29)z=c[u>>2]|0;do switch(z|0){case 257:{A=13;break};case 282:{A=12;break};case 272:{A=14;break};case 94:{A=5;break};case 45:{A=1;break};case 279:{A=6;break};case 37:{A=4;break};case 281:{A=7;break};case 43:{A=0;break};case 42:{A=2;break};case 47:{A=3;break};case 284:{A=10;break};case 60:{A=8;break};case 283:{A=9;break};case 62:{A=11;break};default:{B=15;C=c[n>>2]|0;D=C+38|0;E=b[D>>1]|0;F=E+ -1<<16>>16;b[D>>1]=F;i=h;return B|0}}while(0);z=e+4|0;w=e+8|0;j=e+20|0;p=e+16|0;o=f+8|0;m=f+12|0;y=e+12|0;r=A;while(1){if((d[78440+(r<<1)>>0]|0)<=(g|0)){B=r;x=60;break}A=c[z>>2]|0;c[w>>2]=A;if((c[j>>2]|0)==286)c[u>>2]=Bf(e,p)|0;else{t=j;v=c[t+4>>2]|0;s=y;c[s>>2]=c[t>>2];c[s+4>>2]=v;c[j>>2]=286}v=c[l>>2]|0;b:do switch(r|0){case 14:{Ie(v,f);break};case 13:{He(v,f);break};case 6:{Ce(v,f);break};case 5:case 4:case 3:case 2:case 1:case 0:{if(((c[f>>2]|0)==5?(c[o>>2]|0)==-1:0)?(c[m>>2]|0)==-1:0)break b;Ee(v,f)|0;break};default:Ee(v,f)|0}while(0);v=r;r=ig(e,k,d[78441+(r<<1)>>0]|0)|0;Le(c[l>>2]|0,v,f,k,A);if((r|0)==15){B=15;x=60;break}}if((x|0)==60){C=c[n>>2]|0;D=C+38|0;E=b[D>>1]|0;F=E+ -1<<16>>16;b[D>>1]=F;i=h;return B|0}return 0}function jg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;f=i;i=i+48|0;g=f;h=f+16|0;j=b+28|0;k=c[j>>2]|0;l=b+4|0;m=c[l>>2]|0;n=xe(k,11)|0;o=h+28|0;c[o>>2]=0;p=h+20|0;c[p>>2]=0;q=h+24|0;c[q>>2]=0;r=h+16|0;c[r>>2]=e;c[e+8>>2]=-1;c[e+12>>2]=-1;c[e>>2]=11;c[e+4>>2]=n;c[h+8>>2]=-1;c[h+12>>2]=-1;c[h>>2]=0;s=h+4|0;c[s>>2]=0;Ce(c[j>>2]|0,e);e=b+12|0;if((c[e>>2]|0)!=123)cg(b,123);t=b+8|0;c[t>>2]=c[l>>2];u=b+20|0;if((c[u>>2]|0)==286){v=Bf(b,b+16|0)|0;c[e>>2]=v;w=v}else{v=u;x=c[v>>2]|0;y=c[v+4>>2]|0;v=b+12|0;c[v>>2]=x;c[v+4>>2]=y;c[u>>2]=286;w=x}a:while(1){if((w|0)==125){z=31;break}if((c[h>>2]|0)!=0?(Ce(k,h),c[h>>2]=0,(c[o>>2]|0)==50):0){Me(k,c[(c[r>>2]|0)+4>>2]|0,c[q>>2]|0,50);c[o>>2]=0}x=c[e>>2]|0;do if((x|0)==288){y=Bf(b,b+24|0)|0;c[b+20>>2]=y;if((y|0)==61){mg(b,h);break}ig(b,h,0)|0;A=c[j>>2]|0;y=c[q>>2]|0;if((y|0)>2147483645){z=13;break a}c[q>>2]=y+1;c[o>>2]=(c[o>>2]|0)+1}else if((x|0)==91)mg(b,h);else{ig(b,h,0)|0;B=c[j>>2]|0;y=c[q>>2]|0;if((y|0)>2147483645){z=20;break a}c[q>>2]=y+1;c[o>>2]=(c[o>>2]|0)+1}while(0);x=c[e>>2]|0;if((x|0)==59){c[t>>2]=c[l>>2];if((c[u>>2]|0)==286){y=Bf(b,b+16|0)|0;c[e>>2]=y;w=y;continue}else{y=u;v=c[y>>2]|0;C=c[y+4>>2]|0;y=b+12|0;c[y>>2]=v;c[y+4>>2]=C;c[u>>2]=286;w=v;continue}}else if((x|0)==44){c[t>>2]=c[l>>2];if((c[u>>2]|0)==286){x=Bf(b,b+16|0)|0;c[e>>2]=x;w=x;continue}else{x=u;v=c[x>>2]|0;C=c[x+4>>2]|0;x=b+12|0;c[x>>2]=v;c[x+4>>2]=C;c[u>>2]=286;w=v;continue}}else{z=31;break}}if((z|0)==13){w=A+12|0;u=c[(c[w>>2]|0)+32>>2]|0;e=c[(c[A>>2]|0)+64>>2]|0;if((e|0)==0){D=78616;c[g>>2]=78592;E=g+4|0;c[E>>2]=2147483645;F=g+8|0;c[F>>2]=D;G=xf(u,78656,g)|0;H=c[w>>2]|0;ye(H,G)}c[g>>2]=e;D=xf(u,78632,g)|0;c[g>>2]=78592;E=g+4|0;c[E>>2]=2147483645;F=g+8|0;c[F>>2]=D;G=xf(u,78656,g)|0;H=c[w>>2]|0;ye(H,G)}else if((z|0)==20){G=B+12|0;H=c[(c[G>>2]|0)+32>>2]|0;w=c[(c[B>>2]|0)+64>>2]|0;if((w|0)==0){I=78616;c[g>>2]=78592;J=g+4|0;c[J>>2]=2147483645;K=g+8|0;c[K>>2]=I;L=xf(H,78656,g)|0;M=c[G>>2]|0;ye(M,L)}c[g>>2]=w;I=xf(H,78632,g)|0;c[g>>2]=78592;J=g+4|0;c[J>>2]=2147483645;K=g+8|0;c[K>>2]=I;L=xf(H,78656,g)|0;M=c[G>>2]|0;ye(M,L)}else if((z|0)==31){eg(b,125,123,m);m=c[o>>2]|0;do if((m|0)!=0){b=c[h>>2]|0;if((b|0)==12){L=(c[(c[k>>2]|0)+12>>2]|0)+(c[s>>2]<<2)|0;c[L>>2]=c[L>>2]&-8372225;z=39}else if((b|0)==0){N=m;z=41}else if((b|0)==13){b=c[k>>2]|0;L=c[b+12>>2]|0;M=L+(c[s>>2]<<2)|0;c[M>>2]=c[M>>2]&8388607;M=L+(c[s>>2]<<2)|0;L=k+48|0;c[M>>2]=(d[L>>0]|0)<<6|c[M>>2]&-16321;M=a[L>>0]|0;G=(M&255)+1|0;g=b+78|0;do if(G>>>0>(d[g>>0]|0)>>>0)if(G>>>0>249)ye(c[k+12>>2]|0,76080);else{a[g>>0]=G;O=a[L>>0]|0;break}else O=M;while(0);a[L>>0]=(O&255)+1;z=39}else{Ce(k,h);N=c[o>>2]|0;z=41}if((z|0)==39){Me(k,c[(c[r>>2]|0)+4>>2]|0,c[q>>2]|0,-1);c[q>>2]=(c[q>>2]|0)+ -1;break}else if((z|0)==41){Me(k,c[(c[r>>2]|0)+4>>2]|0,c[q>>2]|0,N);break}}while(0);N=(c[(c[k>>2]|0)+12>>2]|0)+(n<<2)|0;n=c[N>>2]&8388607;k=c[q>>2]|0;if(k>>>0<8)P=k;else{if(k>>>0>15){q=k;r=1;do{z=q+1|0;q=z>>>1;r=r+1|0}while(z>>>0>31);Q=q;R=r<<3}else{Q=k;R=8}P=Q+ -8|R}R=P<<23|n;c[N>>2]=R;n=R&-8372225;R=c[p>>2]|0;if(R>>>0<8){S=R;T=S<<14;U=T&8372224;V=U|n;c[N>>2]=V;i=f;return}if(R>>>0>15){p=R;P=1;do{Q=p+1|0;p=Q>>>1;P=P+1|0}while(Q>>>0>31);W=p;X=P<<3}else{W=R;X=8}S=W+ -8|X;T=S<<14;U=T&8372224;V=U|n;c[N>>2]=V;i=f;return}}function kg(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|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;j=i;i=i+80|0;k=j;l=j+16|0;m=j+4|0;n=e+28|0;o=c[n>>2]|0;p=e+32|0;q=c[p>>2]|0;r=c[o>>2]|0;s=o+36|0;o=r+56|0;t=c[o>>2]|0;if(((c[s>>2]|0)>=(t|0)?(u=r+16|0,v=Cf(q,c[u>>2]|0,o,4,262143,78576)|0,c[u>>2]=v,w=c[o>>2]|0,(t|0)<(w|0)):0)?(o=t+1|0,c[v+(t<<2)>>2]=0,(o|0)<(w|0)):0){t=o;do{c[(c[u>>2]|0)+(t<<2)>>2]=0;t=t+1|0}while((t|0)!=(w|0))}w=q+12|0;t=c[w>>2]|0;u=t+4|0;o=oc[c[t>>2]&1](c[u>>2]|0,0,9,80)|0;if((o|0)==0){if((a[t+51>>0]|0)==0)af(q,4);Zd(q,1);v=oc[c[t>>2]&1](c[u>>2]|0,0,9,80)|0;if((v|0)==0)af(q,4);else x=v}else x=o;o=t+12|0;c[o>>2]=(c[o>>2]|0)+80;o=t+56|0;v=x+5|0;a[v>>0]=d[t+48>>0]&3;a[x+4>>0]=9;c[x>>2]=c[o>>2];c[o>>2]=x;a[x+76>>0]=0;a[x+77>>0]=0;a[x+78>>0]=0;o=x+8|0;t=o+64|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(t|0));o=c[s>>2]|0;c[s>>2]=o+1;c[(c[r+16>>2]|0)+(o<<2)>>2]=x;do if(!((a[v>>0]&3)==0)?(o=r+5|0,s=a[o>>0]|0,!((s&4)==0)):0){t=c[w>>2]|0;if((d[t+49>>0]|0)<2){rf(t,x);break}else{a[o>>0]=d[t+48>>0]&3|s&184;break}}while(0);c[l>>2]=x;c[x+64>>2]=h;w=c[p>>2]|0;c[l+8>>2]=c[n>>2];p=l+12|0;c[p>>2]=e;c[n>>2]=l;c[l+20>>2]=0;c[l+24>>2]=0;c[l+28>>2]=-1;c[l+32>>2]=0;c[l+36>>2]=0;r=l+44|0;v=e+44|0;c[r+0>>2]=0;a[r+4>>0]=0;c[l+40>>2]=c[(c[v>>2]|0)+4>>2];v=l+16|0;c[v>>2]=0;c[x+36>>2]=c[e+48>>2];a[x+78>>0]=2;x=Ld(w)|0;c[l+4>>2]=x;r=w+8|0;s=c[r>>2]|0;c[s>>2]=x;c[s+4>>2]=69;s=(c[r>>2]|0)+8|0;c[r>>2]=s;r=s;do if(((c[w+24>>2]|0)-r|0)<8){s=c[w+32>>2]|0;if((s|0)>1e6)af(w,6);x=(r-(c[w+28>>2]|0)>>3)+5|0;t=s<<1;s=(t|0)>1e6?1e6:t;t=(s|0)<(x|0)?x:s;if((t|0)>1e6){bf(w,1000200);Ye(w,75904,k)}else{bf(w,t);break}}while(0);a[m+10>>0]=0;a[m+8>>0]=a[l+46>>0]|0;w=c[(c[p>>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[v>>2];c[v>>2]=m;m=e+12|0;if((c[m>>2]|0)!=40)cg(e,40);v=e+4|0;w=e+8|0;c[w>>2]=c[v>>2];p=e+20|0;if((c[p>>2]|0)==286)c[m>>2]=Bf(e,e+16|0)|0;else{k=p;r=c[k+4>>2]|0;t=e+12|0;c[t>>2]=c[k>>2];c[t+4>>2]=r;c[p>>2]=286}if((g|0)!=0){lg(e,zf(e,78520,4)|0);g=c[n>>2]|0;r=g+46|0;t=(d[r>>0]|0)+1|0;a[r>>0]=t;c[(c[(c[g>>2]|0)+24>>2]|0)+((b[(c[c[(c[g+12>>2]|0)+44>>2]>>2]|0)+((t&255)+ -1+(c[g+40>>2]|0)<<1)>>1]|0)*12|0)+4>>2]=c[g+20>>2]}g=c[n>>2]|0;t=c[g>>2]|0;r=t+77|0;a[r>>0]=0;k=c[m>>2]|0;a:do if((k|0)==41)y=0;else{s=e+16|0;x=e+12|0;o=k;q=0;while(1){if((o|0)==280)break;else if((o|0)!=288){z=37;break}u=c[s>>2]|0;c[w>>2]=c[v>>2];if((c[p>>2]|0)==286)c[m>>2]=Bf(e,s)|0;else{A=p;B=c[A+4>>2]|0;C=x;c[C>>2]=c[A>>2];c[C+4>>2]=B;c[p>>2]=286}lg(e,u);u=q+1|0;if((a[r>>0]|0)!=0){y=u;break a}if((c[m>>2]|0)!=44){y=u;break a}c[w>>2]=c[v>>2];if((c[p>>2]|0)==286){B=Bf(e,s)|0;c[m>>2]=B;o=B;q=u;continue}else{B=p;C=c[B>>2]|0;A=c[B+4>>2]|0;B=x;c[B>>2]=C;c[B+4>>2]=A;c[p>>2]=286;o=C;q=u;continue}}if((z|0)==37)ye(e,78528);c[w>>2]=c[v>>2];if((c[p>>2]|0)==286)c[m>>2]=Bf(e,s)|0;else{o=p;u=c[o+4>>2]|0;C=x;c[C>>2]=c[o>>2];c[C+4>>2]=u;c[p>>2]=286}a[r>>0]=1;y=q}while(0);r=c[n>>2]|0;k=r+46|0;u=(d[k>>0]|0)+y|0;a[k>>0]=u;if((y|0)!=0?(C=r+20|0,o=r+40|0,A=c[(c[r>>2]|0)+24>>2]|0,B=c[c[(c[r+12>>2]|0)+44>>2]>>2]|0,c[A+((b[B+((u&255)-y+(c[o>>2]|0)<<1)>>1]|0)*12|0)+4>>2]=c[C>>2],u=y+ -1|0,(u|0)!=0):0){y=u;do{c[A+((b[B+((d[k>>0]|0)-y+(c[o>>2]|0)<<1)>>1]|0)*12|0)+4>>2]=c[C>>2];y=y+ -1|0}while((y|0)!=0)}y=g+46|0;a[t+76>>0]=a[y>>0]|0;t=d[y>>0]|0;y=g+48|0;C=a[y>>0]|0;o=(C&255)+t|0;k=(c[g>>2]|0)+78|0;do if((o|0)>(d[k>>0]|0))if((o|0)>249)ye(c[g+12>>2]|0,76080);else{a[k>>0]=o;D=a[y>>0]|0;break}else D=C;while(0);a[y>>0]=(D&255)+t;if((c[m>>2]|0)!=41)cg(e,41);c[w>>2]=c[v>>2];if((c[p>>2]|0)==286){w=Bf(e,e+16|0)|0;c[m>>2]=w;E=w}else{w=p;t=c[w>>2]|0;D=c[w+4>>2]|0;w=e+12|0;c[w>>2]=t;c[w+4>>2]=D;c[p>>2]=286;E=t}b:while(1){switch(E|0){case 277:case 286:case 262:case 261:case 260:{z=58;break b;break};default:{}}dg(e);if((E|0)==274){z=58;break}E=c[m>>2]|0}if((z|0)==58){c[(c[l>>2]|0)+68>>2]=c[v>>2];eg(e,262,265,h);h=c[(c[n>>2]|0)+8>>2]|0;n=xe(h,(c[h+36>>2]<<14)+ -16384|37)|0;c[f+8>>2]=-1;c[f+12>>2]=-1;c[f>>2]=11;c[f+4>>2]=n;Ce(h,f);Zf(e);i=j;return}}function lg(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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=i;i=i+16|0;h=g;j=c[e+28>>2]|0;k=c[e+44>>2]|0;l=c[j>>2]|0;m=l+60|0;n=c[m>>2]|0;o=j+44|0;if((b[o>>1]|0)<(n|0)){p=l+24|0;q=n}else{r=l+24|0;c[r>>2]=Cf(c[e+32>>2]|0,c[r>>2]|0,m,12,32767,78560)|0;p=r;q=c[m>>2]|0}if((n|0)<(q|0)){m=n;do{c[(c[p>>2]|0)+(m*12|0)>>2]=0;m=m+1|0}while((m|0)!=(q|0))}c[(c[p>>2]|0)+((b[o>>1]|0)*12|0)>>2]=f;do if(!((a[f+5>>0]&3)==0)?(p=l+5|0,q=a[p>>0]|0,!((q&4)==0)):0){m=c[(c[e+32>>2]|0)+12>>2]|0;if((d[m+49>>0]|0)<2){rf(m,f);break}else{a[p>>0]=d[m+48>>0]&3|q&184;break}}while(0);f=b[o>>1]|0;b[o>>1]=f+1<<16>>16;o=k+4|0;l=c[o>>2]|0;if((l+1-(c[j+40>>2]|0)|0)>200){q=j+12|0;m=c[(c[q>>2]|0)+32>>2]|0;p=c[(c[j>>2]|0)+64>>2]|0;if((p|0)==0){s=78616;c[h>>2]=78560;t=h+4|0;c[t>>2]=200;u=h+8|0;c[u>>2]=s;v=xf(m,78656,h)|0;w=c[q>>2]|0;ye(w,v)}c[h>>2]=p;s=xf(m,78632,h)|0;c[h>>2]=78560;t=h+4|0;c[t>>2]=200;u=h+8|0;c[u>>2]=s;v=xf(m,78656,h)|0;w=c[q>>2]|0;ye(w,v)}v=k+8|0;if((l+2|0)>(c[v>>2]|0)){w=Cf(c[e+32>>2]|0,c[k>>2]|0,v,2,2147483645,78560)|0;c[k>>2]=w;x=c[o>>2]|0;y=w;z=x+1|0;c[o>>2]=z;A=y+(x<<1)|0;b[A>>1]=f;i=g;return}else{x=l;y=c[k>>2]|0;z=x+1|0;c[o>>2]=z;A=y+(x<<1)|0;b[A>>1]=f;i=g;return}}function mg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;f=i;i=i+48|0;g=f;h=f+32|0;j=f+16|0;k=b+28|0;l=c[k>>2]|0;m=l+48|0;n=a[m>>0]|0;o=b+12|0;do if((c[o>>2]|0)==288)if((c[e+20>>2]|0)>2147483645){p=l+12|0;q=c[(c[p>>2]|0)+32>>2]|0;r=c[(c[l>>2]|0)+64>>2]|0;if((r|0)==0){s=78616;c[g>>2]=78592;t=g+4|0;c[t>>2]=2147483645;u=g+8|0;c[u>>2]=s;v=xf(q,78656,g)|0;w=c[p>>2]|0;ye(w,v)}c[g>>2]=r;s=xf(q,78632,g)|0;c[g>>2]=78592;t=g+4|0;c[t>>2]=2147483645;u=g+8|0;c[u>>2]=s;v=xf(q,78656,g)|0;w=c[p>>2]|0;ye(w,v)}else{p=b+16|0;q=c[p>>2]|0;c[b+8>>2]=c[b+4>>2];r=b+20|0;if((c[r>>2]|0)==286){c[o>>2]=Bf(b,p)|0;x=c[k>>2]|0}else{p=r;y=c[p+4>>2]|0;z=b+12|0;c[z>>2]=c[p>>2];c[z+4>>2]=y;c[r>>2]=286;x=l}c[g>>2]=q;c[g+4>>2]=d[q+4>>0]|0|64;q=ze(x,g,g)|0;c[h+8>>2]=-1;c[h+12>>2]=-1;c[h>>2]=4;c[h+4>>2]=q;break}else{q=b+4|0;r=b+8|0;c[r>>2]=c[q>>2];y=b+20|0;if((c[y>>2]|0)==286)c[o>>2]=Bf(b,b+16|0)|0;else{z=y;p=c[z+4>>2]|0;A=b+12|0;c[A>>2]=c[z>>2];c[A+4>>2]=p;c[y>>2]=286}ig(b,h,0)|0;p=c[k>>2]|0;A=h+8|0;z=h+12|0;B=(c[A>>2]|0)==(c[z>>2]|0);Be(p,h);do if(!B){if((c[h>>2]|0)==6){C=c[h+4>>2]|0;if((c[A>>2]|0)==(c[z>>2]|0))break;if((C|0)>=(d[p+46>>0]|0|0)){De(p,h,C);break}}Ce(p,h)}while(0);if((c[o>>2]|0)!=93)cg(b,93);c[r>>2]=c[q>>2];if((c[y>>2]|0)==286){c[o>>2]=Bf(b,b+16|0)|0;break}else{p=y;z=c[p+4>>2]|0;A=b+12|0;c[A>>2]=c[p>>2];c[A+4>>2]=z;c[y>>2]=286;break}}while(0);k=e+20|0;c[k>>2]=(c[k>>2]|0)+1;if((c[o>>2]|0)!=61)cg(b,61);c[b+8>>2]=c[b+4>>2];k=b+20|0;if((c[k>>2]|0)==286){c[o>>2]=Bf(b,b+16|0)|0;D=Ee(l,h)|0;ig(b,j,0)|0;E=e+16|0;F=c[E>>2]|0;G=F+4|0;H=c[G>>2]|0;I=Ee(l,j)|0;J=H<<6;K=D<<23;L=I<<14;M=K|J;N=M|L;O=N|10;xe(l,O)|0;a[m>>0]=n;i=f;return}else{o=k;g=c[o+4>>2]|0;x=b+12|0;c[x>>2]=c[o>>2];c[x+4>>2]=g;c[k>>2]=286;D=Ee(l,h)|0;ig(b,j,0)|0;E=e+16|0;F=c[E>>2]|0;G=F+4|0;H=c[G>>2]|0;I=Ee(l,j)|0;J=H<<6;K=D<<23;L=I<<14;M=K|J;N=M|L;O=N|10;xe(l,O)|0;a[m>>0]=n;i=f;return}}function ng(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=i;i=i+32|0;h=g+16|0;j=g;k=e+28|0;l=c[k>>2]|0;if(!((c[f>>2]|0)==8?(c[f+8>>2]|0)==(c[f+12>>2]|0):0))m=3;do if((m|0)==3){Be(l,f);if((c[f>>2]|0)==6){n=c[f+4>>2]|0;if((c[f+8>>2]|0)==(c[f+12>>2]|0))break;if((n|0)>=(d[l+46>>0]|0|0)){De(l,f,n);break}}Ce(l,f)}while(0);m=e+4|0;n=e+8|0;c[n>>2]=c[m>>2];o=e+20|0;if((c[o>>2]|0)==286){p=Bf(e,e+16|0)|0;q=e+12|0;c[q>>2]=p;r=q;s=p}else{p=o;q=c[p>>2]|0;t=c[p+4>>2]|0;p=e+12|0;c[p>>2]=q;c[p+4>>2]=t;c[o>>2]=286;r=e+12|0;s=q}if((s|0)!=288)cg(e,288);s=e+16|0;q=c[s>>2]|0;c[n>>2]=c[m>>2];if((c[o>>2]|0)==286)c[r>>2]=Bf(e,s)|0;else{s=o;r=c[s+4>>2]|0;m=e+12|0;c[m>>2]=c[s>>2];c[m+4>>2]=r;c[o>>2]=286}o=c[k>>2]|0;c[h>>2]=q;c[h+4>>2]=d[q+4>>0]|0|64;q=ze(o,h,h)|0;c[j+8>>2]=-1;c[j+12>>2]=-1;c[j>>2]=4;c[j+4>>2]=q;q=f+4|0;a[q+2>>0]=c[q>>2];b[q>>1]=Ee(l,j)|0;a[q+3>>0]=(c[f>>2]|0)==8?8:7;c[f>>2]=9;i=g;return}function og(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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=i;i=i+32|0;h=g+16|0;j=g;k=b+28|0;l=c[k>>2]|0;m=b+12|0;n=c[m>>2]|0;do if((n|0)==123)jg(b,j);else if((n|0)==289){o=b+16|0;p=c[o>>2]|0;c[h>>2]=p;c[h+4>>2]=d[p+4>>0]|0|64;p=ze(l,h,h)|0;c[j+8>>2]=-1;c[j+12>>2]=-1;c[j>>2]=4;c[j+4>>2]=p;c[b+8>>2]=c[b+4>>2];p=b+20|0;if((c[p>>2]|0)==286){c[m>>2]=Bf(b,o)|0;break}else{o=p;q=c[o+4>>2]|0;r=b+12|0;c[r>>2]=c[o>>2];c[r+4>>2]=q;c[p>>2]=286;break}}else if((n|0)==40){p=b+4|0;q=b+8|0;c[q>>2]=c[p>>2];r=b+20|0;if((c[r>>2]|0)==286){o=Bf(b,b+16|0)|0;c[m>>2]=o;s=o}else{o=r;t=c[o>>2]|0;u=c[o+4>>2]|0;o=b+12|0;c[o>>2]=t;c[o+4>>2]=u;c[r>>2]=286;s=t}do if((s|0)==41)c[j>>2]=0;else{ig(b,j,0)|0;if((c[m>>2]|0)==44){t=b+16|0;u=b+12|0;do{c[q>>2]=c[p>>2];if((c[r>>2]|0)==286)c[m>>2]=Bf(b,t)|0;else{o=r;v=c[o+4>>2]|0;w=u;c[w>>2]=c[o>>2];c[w+4>>2]=v;c[r>>2]=286}Ce(c[k>>2]|0,j);ig(b,j,0)|0}while((c[m>>2]|0)==44)}u=c[j>>2]|0;if((u|0)==12){t=(c[(c[l>>2]|0)+12>>2]|0)+(c[j+4>>2]<<2)|0;c[t>>2]=c[t>>2]&-8372225;break}else if((u|0)!=13)break;u=j+4|0;t=c[l>>2]|0;v=c[t+12>>2]|0;w=v+(c[u>>2]<<2)|0;c[w>>2]=c[w>>2]&8388607;w=v+(c[u>>2]<<2)|0;u=l+48|0;c[w>>2]=(d[u>>0]|0)<<6|c[w>>2]&-16321;w=a[u>>0]|0;v=(w&255)+1|0;o=t+78|0;do if(v>>>0>(d[o>>0]|0)>>>0)if(v>>>0>249)ye(c[l+12>>2]|0,76080);else{a[o>>0]=v;x=a[u>>0]|0;break}else x=w;while(0);a[u>>0]=(x&255)+1}while(0);eg(b,41,40,f)}else ye(b,78688);while(0);b=e+4|0;x=c[b>>2]|0;m=c[j>>2]|0;if((m|0)==13|(m|0)==12){y=0;z=x<<6;A=z|y;B=A|32797;C=xe(l,B)|0;D=e+8|0;c[D>>2]=-1;E=e+12|0;c[E>>2]=-1;c[e>>2]=12;c[b>>2]=C;F=l+20|0;G=c[F>>2]|0;H=G+ -1|0;I=c[l>>2]|0;J=I+20|0;K=c[J>>2]|0;L=K+(H<<2)|0;c[L>>2]=f;M=x+1|0;N=M&255;O=l+48|0;a[O>>0]=N;i=g;return}else if((m|0)!=0)Ce(l,j);y=((d[l+48>>0]|0)+(x^511)<<23)+8388608|0;z=x<<6;A=z|y;B=A|32797;C=xe(l,B)|0;D=e+8|0;c[D>>2]=-1;E=e+12|0;c[E>>2]=-1;c[e>>2]=12;c[b>>2]=C;F=l+20|0;G=c[F>>2]|0;H=G+ -1|0;I=c[l>>2]|0;J=I+20|0;K=c[J>>2]|0;L=K+(H<<2)|0;c[L>>2]=f;M=x+1|0;N=M&255;O=l+48|0;a[O>>0]=N;i=g;return}function pg(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|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;j=i;if((e|0)==0){k=0;i=j;return k|0}l=a[e+46>>0]|0;m=f+12|0;a:do if(!(l<<24>>24==0)){n=c[e>>2]|0;o=c[e+40>>2]|0;p=c[n+24>>2]|0;q=c[c[(c[e+12>>2]|0)+44>>2]>>2]|0;r=a[f+4>>0]|0;s=r<<24>>24==4;t=f+16|0;u=l&255;b:while(1){v=u+ -1|0;w=c[p+((b[q+(v+o<<1)>>1]|0)*12|0)>>2]|0;do if(r<<24>>24==(a[w+4>>0]|0)){if(s)if((w|0)==(f|0))break b;else break;x=c[m>>2]|0;if((w|0)==(f|0))break b;if((x|0)==(c[w+12>>2]|0)?(Yo(t,w+16|0,x)|0)==0:0)break b}while(0);if((v|0)>0)u=v;else{y=n;break a}}if((u|0)>0){c[g+8>>2]=-1;c[g+12>>2]=-1;c[g>>2]=7;c[g+4>>2]=v;if((h|0)!=0){k=7;i=j;return k|0}t=e+16|0;do t=c[t>>2]|0;while((d[t+8>>0]|0)>(v|0));a[t+9>>0]=1;k=7;i=j;return k|0}else y=n}else y=c[e>>2]|0;while(0);v=c[y+28>>2]|0;y=a[e+47>>0]|0;c:do if(!(y<<24>>24==0)){h=a[f+4>>0]|0;l=f+16|0;u=h<<24>>24==4;s=y&255;r=0;d:while(1){o=c[v+(r<<3)>>2]|0;do if((a[o+4>>0]|0)==h<<24>>24){if(u)if((o|0)==(f|0))break d;else break;q=c[o+12>>2]|0;if((o|0)==(f|0))break d;if((q|0)==(c[m>>2]|0)?(Yo(o+16|0,l,q)|0)==0:0)break d}while(0);o=r+1|0;if((o|0)<(s|0))r=o;else{z=27;break c}}if((r|0)>=0)A=r;else z=27}else z=27;while(0);do if((z|0)==27)if((pg(c[e+8>>2]|0,f,g,0)|0)==0){k=0;i=j;return k|0}else{A=Yf(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]=A;k=8;i=j;return k|0}function qg(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|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=i;i=i+32|0;l=k+12|0;m=k;n=e+28|0;o=c[n>>2]|0;p=o+46|0;q=(d[p>>0]|0)+3|0;a[p>>0]=q;r=o+20|0;s=o+12|0;t=o+40|0;u=c[(c[o>>2]|0)+24>>2]|0;v=c[c[(c[s>>2]|0)+44>>2]>>2]|0;c[u+((b[v+((q&255)+ -3+(c[t>>2]|0)<<1)>>1]|0)*12|0)+4>>2]=c[r>>2];c[u+((b[v+((d[p>>0]|0)+ -2+(c[t>>2]|0)<<1)>>1]|0)*12|0)+4>>2]=c[r>>2];c[u+((b[v+((d[p>>0]|0)+ -1+(c[t>>2]|0)<<1)>>1]|0)*12|0)+4>>2]=c[r>>2];t=e+12|0;if((c[t>>2]|0)!=259)cg(e,259);c[e+8>>2]=c[e+4>>2];v=e+20|0;if((c[v>>2]|0)==286)c[t>>2]=Bf(e,e+16|0)|0;else{u=v;q=c[u+4>>2]|0;w=e+12|0;c[w>>2]=c[u>>2];c[w+4>>2]=q;c[v>>2]=286}v=(j|0)!=0;do if(!v){j=o+28|0;q=c[j>>2]|0;c[j>>2]=-1;j=xe(o,2147450903)|0;if(!((q|0)==-1))if(!((j|0)==-1)){w=c[(c[o>>2]|0)+12>>2]|0;u=j;while(1){x=w+(u<<2)|0;y=c[x>>2]|0;z=(y>>>14)+ -131071|0;if((z|0)==-1)break;A=u+1+z|0;if((A|0)==-1)break;else u=A}w=q+~u|0;if((((w|0)>-1?w:0-w|0)|0)>131071)ye(c[s>>2]|0,80032);else{c[x>>2]=(w<<14)+2147467264|y&16383;B=j;break}}else B=q;else B=j}else B=xe(o,f<<6|2147450913)|0;while(0);a[m+10>>0]=0;a[m+8>>0]=a[p>>0]|0;p=c[(c[s>>2]|0)+44>>2]|0;b[m+4>>1]=c[p+28>>2];b[m+6>>1]=c[p+16>>2];a[m+9>>0]=0;p=o+16|0;c[m>>2]=c[p>>2];c[p>>2]=m;m=c[n>>2]|0;p=m+46|0;y=(d[p>>0]|0)+h|0;a[p>>0]=y;if((h|0)!=0?(x=m+20|0,w=m+40|0,A=c[(c[m>>2]|0)+24>>2]|0,z=c[c[(c[m+12>>2]|0)+44>>2]>>2]|0,c[A+((b[z+((y&255)-h+(c[w>>2]|0)<<1)>>1]|0)*12|0)+4>>2]=c[x>>2],y=h+ -1|0,(y|0)!=0):0){m=y;do{c[A+((b[z+((d[p>>0]|0)-m+(c[w>>2]|0)<<1)>>1]|0)*12|0)+4>>2]=c[x>>2];m=m+ -1|0}while((m|0)!=0)}m=o+48|0;x=a[m>>0]|0;w=(x&255)+h|0;p=(c[o>>2]|0)+78|0;do if((w|0)>(d[p>>0]|0))if((w|0)>249)ye(c[s>>2]|0,76080);else{a[p>>0]=w;C=a[m>>0]|0;break}else C=x;while(0);a[m>>0]=(C&255)+h;C=c[n>>2]|0;a[l+10>>0]=0;a[l+8>>0]=a[C+46>>0]|0;n=c[(c[C+12>>2]|0)+44>>2]|0;b[l+4>>1]=c[n+28>>2];b[l+6>>1]=c[n+16>>2];a[l+9>>0]=0;n=C+16|0;c[l>>2]=c[n>>2];c[n>>2]=l;a:do{l=c[t>>2]|0;switch(l|0){case 277:case 286:case 262:case 261:case 260:{break a;break};default:{}}dg(e)}while((l|0)!=274);_f(C);_f(o);c[o+24>>2]=c[r>>2];C=o+28|0;do if(!((B|0)==-1)){e=c[C>>2]|0;if((e|0)==-1){c[C>>2]=B;break}t=c[(c[o>>2]|0)+12>>2]|0;l=e;while(1){D=t+(l<<2)|0;E=c[D>>2]|0;e=(E>>>14)+ -131071|0;if((e|0)==-1)break;n=l+1+e|0;if((n|0)==-1)break;else l=n}t=B+~l|0;if((((t|0)>-1?t:0-t|0)|0)>131071)ye(c[s>>2]|0,80032);else{c[D>>2]=(t<<14)+2147467264|E&16383;break}}while(0);E=f<<6;if(v){F=xe(o,E|2147450912)|0;G=B+1|0;we(o,F,G);H=c[r>>2]|0;I=H+ -1|0;J=c[o>>2]|0;K=J+20|0;L=c[K>>2]|0;M=L+(I<<2)|0;c[M>>2]=g;i=k;return}else{xe(o,E|h<<14|34)|0;c[(c[(c[o>>2]|0)+20>>2]|0)+((c[r>>2]|0)+ -1<<2)>>2]=g;F=xe(o,E+128|2147450915)|0;G=B+1|0;we(o,F,G);H=c[r>>2]|0;I=H+ -1|0;J=c[o>>2]|0;K=J+20|0;L=c[K>>2]|0;M=L+(I<<2)|0;c[M>>2]=g;i=k;return}}function rg(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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=i;i=i+32|0;g=f+16|0;h=f;j=d+28|0;k=c[j>>2]|0;l=d+4|0;m=d+8|0;c[m>>2]=c[l>>2];n=d+20|0;if((c[n>>2]|0)==286){o=d+12|0;c[o>>2]=Bf(d,d+16|0)|0;p=o}else{o=n;q=c[o+4>>2]|0;r=d+12|0;c[r>>2]=c[o>>2];c[r+4>>2]=q;c[n>>2]=286;p=d+12|0}ig(d,h,0)|0;if((c[p>>2]|0)!=275)cg(d,275);c[m>>2]=c[l>>2];if((c[n>>2]|0)==286){q=Bf(d,d+16|0)|0;c[p>>2]=q;s=q}else{q=n;r=c[q>>2]|0;o=c[q+4>>2]|0;q=d+12|0;c[q>>2]=r;c[q+4>>2]=o;c[n>>2]=286;s=r}do if((s|0)==258|(s|0)==266){Ie(c[j>>2]|0,h);a[g+10>>0]=0;a[g+8>>0]=a[k+46>>0]|0;r=k+12|0;o=c[(c[r>>2]|0)+44>>2]|0;b[g+4>>1]=c[o+28>>2];b[g+6>>1]=c[o+16>>2];a[g+9>>0]=0;o=k+16|0;c[g>>2]=c[o>>2];c[o>>2]=g;o=c[h+8>>2]|0;q=c[l>>2]|0;t=(c[p>>2]|0)==266;c[m>>2]=q;u=(c[n>>2]|0)==286;do if(t){if(u){v=Bf(d,d+16|0)|0;c[p>>2]=v;w=v}else{v=n;x=c[v>>2]|0;y=c[v+4>>2]|0;v=d+12|0;c[v>>2]=x;c[v+4>>2]=y;c[n>>2]=286;w=x}if((w|0)!=288)cg(d,288);x=d+16|0;y=c[x>>2]|0;c[m>>2]=c[l>>2];if((c[n>>2]|0)==286){c[p>>2]=Bf(d,x)|0;z=y;break}else{x=n;v=c[x+4>>2]|0;A=d+12|0;c[A>>2]=c[x>>2];c[A+4>>2]=v;c[n>>2]=286;z=y;break}}else{if(u)c[p>>2]=Bf(d,d+16|0)|0;else{y=n;v=c[y+4>>2]|0;A=d+12|0;c[A>>2]=c[y>>2];c[A+4>>2]=v;c[n>>2]=286}z=Kf(c[d+32>>2]|0,78368,5)|0}while(0);u=c[d+44>>2]|0;t=u+12|0;v=u+16|0;A=c[v>>2]|0;y=u+20|0;if((A|0)<(c[y>>2]|0))B=c[t>>2]|0;else{u=Cf(c[d+32>>2]|0,c[t>>2]|0,y,16,32767,78376)|0;c[t>>2]=u;B=u}c[B+(A<<4)>>2]=z;u=c[t>>2]|0;c[u+(A<<4)+8>>2]=q;a[u+(A<<4)+12>>0]=a[(c[j>>2]|0)+46>>0]|0;c[(c[t>>2]|0)+(A<<4)+4>>2]=o;c[v>>2]=(c[v>>2]|0)+1;ag(d,A)|0;a:while(1){switch(c[p>>2]|0){case 286:case 262:case 261:case 260:{C=29;break a;break};case 285:case 59:break;default:break a}dg(d)}if((C|0)==29){_f(k);i=f;return}o=k+28|0;q=c[o>>2]|0;c[o>>2]=-1;o=xe(k,2147450903)|0;if(!((q|0)==-1))if(!((o|0)==-1)){A=c[(c[k>>2]|0)+12>>2]|0;v=o;while(1){D=A+(v<<2)|0;E=c[D>>2]|0;t=(E>>>14)+ -131071|0;if((t|0)==-1)break;u=v+1+t|0;if((u|0)==-1)break;else v=u}A=q+~v|0;if((((A|0)>-1?A:0-A|0)|0)>131071)ye(c[r>>2]|0,80032);else{c[D>>2]=(A<<14)+2147467264|E&16383;F=o;break}}else F=q;else F=o}else{He(c[j>>2]|0,h);a[g+10>>0]=0;a[g+8>>0]=a[k+46>>0]|0;A=c[(c[k+12>>2]|0)+44>>2]|0;b[g+4>>1]=c[A+28>>2];b[g+6>>1]=c[A+16>>2];a[g+9>>0]=0;A=k+16|0;c[g>>2]=c[A>>2];c[A>>2]=g;F=c[h+12>>2]|0}while(0);b:do{h=c[p>>2]|0;switch(h|0){case 277:case 286:case 262:case 261:case 260:{break b;break};default:{}}dg(d)}while((h|0)!=274);_f(k);d=k+28|0;do if(((c[p>>2]|0)+ -260|0)>>>0<2){h=c[d>>2]|0;c[d>>2]=-1;g=xe(k,2147450903)|0;do if(!((h|0)==-1))if(!((g|0)==-1)){j=c[(c[k>>2]|0)+12>>2]|0;E=g;while(1){G=j+(E<<2)|0;H=c[G>>2]|0;D=(H>>>14)+ -131071|0;if((D|0)==-1)break;z=E+1+D|0;if((z|0)==-1)break;else E=z}j=h+~E|0;if((((j|0)>-1?j:0-j|0)|0)>131071)ye(c[k+12>>2]|0,80032);else{c[G>>2]=(j<<14)+2147467264|H&16383;C=51;break}}else I=h;else C=51;while(0);if((C|0)==51)if((g|0)==-1)break;else I=g;h=c[e>>2]|0;if((h|0)==-1){c[e>>2]=I;break}o=c[(c[k>>2]|0)+12>>2]|0;q=h;while(1){J=o+(q<<2)|0;K=c[J>>2]|0;h=(K>>>14)+ -131071|0;if((h|0)==-1)break;r=q+1+h|0;if((r|0)==-1)break;else q=r}o=I+~q|0;if((((o|0)>-1?o:0-o|0)|0)>131071)ye(c[k+12>>2]|0,80032);else{c[J>>2]=(o<<14)+2147467264|K&16383;break}}while(0);c[k+24>>2]=c[k+20>>2];if((F|0)==-1){i=f;return}K=c[d>>2]|0;if((K|0)==-1){c[d>>2]=F;i=f;return}d=c[(c[k>>2]|0)+12>>2]|0;J=K;while(1){L=d+(J<<2)|0;M=c[L>>2]|0;K=(M>>>14)+ -131071|0;if((K|0)==-1)break;I=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)ye(c[k+12>>2]|0,80032);c[L>>2]=(d<<14)+2147467264|M&16383;i=f;return}function sg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;b=i;i=i+16|0;e=b+4|0;f=b;g=c[a>>2]|0;h=a+36|0;j=c[h>>2]|0;k=c[j>>2]|0;c[j>>2]=k+ -1;do if((k|0)==0){l=gc[c[j+8>>2]&3](c[j+16>>2]|0,c[j+12>>2]|0,f)|0;if((l|0)!=0?(m=c[f>>2]|0,(m|0)!=0):0){c[j>>2]=m+ -1;c[j+4>>2]=l+1;n=l;o=7;break}c[a>>2]=-1}else{l=j+4|0;m=c[l>>2]|0;c[l>>2]=m+1;n=m;o=7}while(0);if(((o|0)==7?(o=d[n>>0]|0,c[a>>2]=o,(o|0)==13|(o|0)==10):0)?(o|0)!=(g|0):0){g=c[h>>2]|0;h=c[g>>2]|0;c[g>>2]=h+ -1;if((h|0)==0){h=gc[c[g+8>>2]&3](c[g+16>>2]|0,c[g+12>>2]|0,e)|0;if((h|0)!=0?(o=c[e>>2]|0,(o|0)!=0):0){c[g>>2]=o+ -1;c[g+4>>2]=h+1;p=d[h>>0]|0}else p=-1}else{h=g+4|0;g=c[h>>2]|0;c[h>>2]=g+1;p=d[g>>0]|0}c[a>>2]=p}p=a+4|0;g=c[p>>2]|0;c[p>>2]=g+1;if((g|0)>2147483643)ye(a,79248);else{i=b;return}}function tg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;d=i;i=i+16|0;e=d+4|0;f=d;g=c[b>>2]|0;h=b+40|0;j=c[h>>2]|0;k=j+4|0;l=c[k>>2]|0;m=j+8|0;n=c[m>>2]|0;if((l+1|0)>>>0>n>>>0){if(n>>>0>2147483645)yf(b,79056,0);o=n<<1;p=c[b+32>>2]|0;if((o|0)==-2)cf(p);q=c[j>>2]|0;r=c[p+12>>2]|0;s=(q|0)!=0;t=r+4|0;u=oc[c[r>>2]&1](c[t>>2]|0,q,n,o)|0;if(!((u|0)!=0|(o|0)==0)){if((a[r+51>>0]|0)==0)af(p,4);Zd(p,1);v=oc[c[r>>2]&1](c[t>>2]|0,q,n,o)|0;if((v|0)==0)af(p,4);else w=v}else w=u;u=r+12|0;c[u>>2]=(s?0-n|0:0)+o+(c[u>>2]|0);c[j>>2]=w;c[m>>2]=o;x=c[k>>2]|0;y=w}else{x=l;y=c[j>>2]|0}c[k>>2]=x+1;a[y+x>>0]=g;x=b+36|0;y=c[x>>2]|0;k=c[y>>2]|0;c[y>>2]=k+ -1;do if((k|0)==0){j=gc[c[y+8>>2]&3](c[y+16>>2]|0,c[y+12>>2]|0,f)|0;if((j|0)!=0?(l=c[f>>2]|0,(l|0)!=0):0){c[y>>2]=l+ -1;c[y+4>>2]=j+1;z=j;break}c[b>>2]=-1;A=-1;B=0;C=(A|0)!=(g|0);D=C<<31>>31;E=D^B;i=d;return E|0}else{j=y+4|0;l=c[j>>2]|0;c[j>>2]=l+1;z=l}while(0);y=a[z>>0]|0;z=y&255;c[b>>2]=z;if(!(y<<24>>24==61)){A=z;B=0;C=(A|0)!=(g|0);D=C<<31>>31;E=D^B;i=d;return E|0}z=b+32|0;y=0;while(1){f=c[h>>2]|0;k=f+4|0;l=c[k>>2]|0;j=f+8|0;w=c[j>>2]|0;if((l+1|0)>>>0>w>>>0){if(w>>>0>2147483645){F=23;break}o=w<<1;G=c[z>>2]|0;if((o|0)==-2){F=25;break}m=c[f>>2]|0;u=c[G+12>>2]|0;n=(m|0)!=0;s=u+4|0;r=oc[c[u>>2]&1](c[s>>2]|0,m,w,o)|0;if(!((r|0)!=0|(o|0)==0)){if((a[u+51>>0]|0)==0){F=29;break}Zd(G,1);v=oc[c[u>>2]&1](c[s>>2]|0,m,w,o)|0;if((v|0)==0){F=29;break}else H=v}else H=r;r=u+12|0;c[r>>2]=(n?0-w|0:0)+o+(c[r>>2]|0);c[f>>2]=H;c[j>>2]=o;I=c[k>>2]|0;J=H}else{I=l;J=c[f>>2]|0}c[k>>2]=I+1;a[J+I>>0]=61;k=c[x>>2]|0;f=c[k>>2]|0;c[k>>2]=f+ -1;if((f|0)==0){f=gc[c[k+8>>2]&3](c[k+16>>2]|0,c[k+12>>2]|0,e)|0;if((f|0)==0){F=36;break}l=c[e>>2]|0;if((l|0)==0){F=36;break}c[k>>2]=l+ -1;c[k+4>>2]=f+1;K=f}else{f=k+4|0;k=c[f>>2]|0;c[f>>2]=k+1;K=k}k=a[K>>0]|0;f=k&255;c[b>>2]=f;l=y+1|0;if(k<<24>>24==61)y=l;else{A=f;B=l;F=38;break}}if((F|0)==23)yf(b,79056,0);else if((F|0)==25)cf(G);else if((F|0)==29)af(G,4);else if((F|0)==36){c[b>>2]=-1;A=-1;B=y+1|0;C=(A|0)!=(g|0);D=C<<31>>31;E=D^B;i=d;return E|0}else if((F|0)==38){C=(A|0)!=(g|0);D=C<<31>>31;E=D^B;i=d;return E|0}return 0}function ug(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;g=i;i=i+16|0;h=g+12|0;j=g+8|0;k=g+4|0;l=g;m=c[b>>2]|0;n=b+40|0;o=c[n>>2]|0;p=o+4|0;q=c[p>>2]|0;r=o+8|0;s=c[r>>2]|0;if((q+1|0)>>>0>s>>>0){if(s>>>0>2147483645)yf(b,79056,0);t=s<<1;u=c[b+32>>2]|0;if((t|0)==-2)cf(u);v=c[o>>2]|0;w=c[u+12>>2]|0;x=(v|0)!=0;y=w+4|0;z=oc[c[w>>2]&1](c[y>>2]|0,v,s,t)|0;if(!((z|0)!=0|(t|0)==0)){if((a[w+51>>0]|0)==0)af(u,4);Zd(u,1);A=oc[c[w>>2]&1](c[y>>2]|0,v,s,t)|0;if((A|0)==0)af(u,4);else B=A}else B=z;z=w+12|0;c[z>>2]=(x?0-s|0:0)+t+(c[z>>2]|0);c[o>>2]=B;c[r>>2]=t;C=c[p>>2]|0;D=B}else{C=q;D=c[o>>2]|0}c[p>>2]=C+1;a[D+C>>0]=m;m=b+36|0;C=c[m>>2]|0;D=c[C>>2]|0;c[C>>2]=D+ -1;do if((D|0)==0){p=gc[c[C+8>>2]&3](c[C+16>>2]|0,c[C+12>>2]|0,l)|0;if((p|0)!=0?(o=c[l>>2]|0,(o|0)!=0):0){c[C>>2]=o+ -1;c[C+4>>2]=p+1;E=p;F=18;break}c[b>>2]=-1;G=-1}else{p=C+4|0;o=c[p>>2]|0;c[p>>2]=o+1;E=o;F=18}while(0);if((F|0)==18){C=d[E>>0]|0;c[b>>2]=C;if((C|0)==13|(C|0)==10){sg(b);F=20}else G=C}a:while(1){if((F|0)==20){F=0;G=c[b>>2]|0}H=(e|0)==0;I=b+32|0;C=G;while(1){if((C|0)==-1){F=23;break a}else if((C|0)==93){F=24;break}else if((C|0)==13|(C|0)==10)break;do if(H){E=c[m>>2]|0;l=c[E>>2]|0;c[E>>2]=l+ -1;if((l|0)!=0){l=E+4|0;D=c[l>>2]|0;c[l>>2]=D+1;J=d[D>>0]|0;break}D=gc[c[E+8>>2]&3](c[E+16>>2]|0,c[E+12>>2]|0,h)|0;if((D|0)!=0?(l=c[h>>2]|0,(l|0)!=0):0){c[E>>2]=l+ -1;c[E+4>>2]=D+1;J=d[D>>0]|0}else J=-1}else{D=c[n>>2]|0;E=D+4|0;l=c[E>>2]|0;o=D+8|0;p=c[o>>2]|0;if((l+1|0)>>>0>p>>>0){if(p>>>0>2147483645){F=59;break a}q=p<<1;K=c[I>>2]|0;if((q|0)==-2){F=61;break a}B=c[D>>2]|0;t=c[K+12>>2]|0;r=(B|0)!=0;z=t+4|0;s=oc[c[t>>2]&1](c[z>>2]|0,B,p,q)|0;if(!((s|0)!=0|(q|0)==0)){if((a[t+51>>0]|0)==0){F=65;break a}Zd(K,1);x=oc[c[t>>2]&1](c[z>>2]|0,B,p,q)|0;if((x|0)==0){F=65;break a}else L=x}else L=s;s=t+12|0;c[s>>2]=(r?0-p|0:0)+q+(c[s>>2]|0);c[D>>2]=L;c[o>>2]=q;M=c[E>>2]|0;N=L}else{M=l;N=c[D>>2]|0}c[E>>2]=M+1;a[N+M>>0]=C;E=c[m>>2]|0;D=c[E>>2]|0;c[E>>2]=D+ -1;if((D|0)!=0){D=E+4|0;l=c[D>>2]|0;c[D>>2]=l+1;J=d[l>>0]|0;break}l=gc[c[E+8>>2]&3](c[E+16>>2]|0,c[E+12>>2]|0,j)|0;if((l|0)!=0?(D=c[j>>2]|0,(D|0)!=0):0){c[E>>2]=D+ -1;c[E+4>>2]=l+1;J=d[l>>0]|0}else J=-1}while(0);c[b>>2]=J;C=J}if((F|0)==24){F=0;if((tg(b)|0)==(f|0)){F=25;break}else{F=20;continue}}C=c[n>>2]|0;l=C+4|0;E=c[l>>2]|0;D=C+8|0;q=c[D>>2]|0;if((E+1|0)>>>0>q>>>0){if(q>>>0>2147483645){F=45;break}o=q<<1;O=c[I>>2]|0;if((o|0)==-2){F=47;break}s=c[C>>2]|0;p=c[O+12>>2]|0;r=(s|0)!=0;t=p+4|0;x=oc[c[p>>2]&1](c[t>>2]|0,s,q,o)|0;if(!((x|0)!=0|(o|0)==0)){if((a[p+51>>0]|0)==0){F=51;break}Zd(O,1);B=oc[c[p>>2]&1](c[t>>2]|0,s,q,o)|0;if((B|0)==0){F=51;break}else P=B}else P=x;x=p+12|0;c[x>>2]=(r?0-q|0:0)+o+(c[x>>2]|0);c[C>>2]=P;c[D>>2]=o;Q=c[l>>2]|0;R=P}else{Q=E;R=c[C>>2]|0}c[l>>2]=Q+1;a[R+Q>>0]=10;sg(b);if(!H){F=20;continue}c[(c[n>>2]|0)+4>>2]=0;F=20}if((F|0)==23)yf(b,(e|0)!=0?79200:79224,286);else if((F|0)==25){Q=c[b>>2]|0;R=c[n>>2]|0;P=R+4|0;J=c[P>>2]|0;j=R+8|0;M=c[j>>2]|0;if((J+1|0)>>>0>M>>>0){if(M>>>0>2147483645)yf(b,79056,0);N=M<<1;L=c[I>>2]|0;if((N|0)==-2)cf(L);I=c[R>>2]|0;h=c[L+12>>2]|0;G=(I|0)!=0;l=h+4|0;C=oc[c[h>>2]&1](c[l>>2]|0,I,M,N)|0;if(!((C|0)!=0|(N|0)==0)){if((a[h+51>>0]|0)==0)af(L,4);Zd(L,1);E=oc[c[h>>2]&1](c[l>>2]|0,I,M,N)|0;if((E|0)==0)af(L,4);else S=E}else S=C;C=h+12|0;c[C>>2]=(G?0-M|0:0)+N+(c[C>>2]|0);c[R>>2]=S;c[j>>2]=N;T=c[P>>2]|0;U=S}else{T=J;U=c[R>>2]|0}c[P>>2]=T+1;a[U+T>>0]=Q;Q=c[m>>2]|0;m=c[Q>>2]|0;c[Q>>2]=m+ -1;if((m|0)==0){m=gc[c[Q+8>>2]&3](c[Q+16>>2]|0,c[Q+12>>2]|0,k)|0;if((m|0)!=0?(T=c[k>>2]|0,(T|0)!=0):0){c[Q>>2]=T+ -1;c[Q+4>>2]=m+1;V=d[m>>0]|0}else V=-1}else{m=Q+4|0;Q=c[m>>2]|0;c[m>>2]=Q+1;V=d[Q>>0]|0}c[b>>2]=V;if(H){i=g;return}H=c[n>>2]|0;n=f+2|0;c[e>>2]=zf(b,(c[H>>2]|0)+n|0,(c[H+4>>2]|0)-(n<<1)|0)|0;i=g;return}else if((F|0)==45)yf(b,79056,0);else if((F|0)==47)cf(O);else if((F|0)==51)af(O,4);else if((F|0)==59)yf(b,79056,0);else if((F|0)==61)cf(K);else if((F|0)==65)af(K,4)}function vg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;f=c[b+40>>2]|0;g=f+4|0;h=c[g>>2]|0;j=f+8|0;k=c[j>>2]|0;if(!((h+1|0)>>>0>k>>>0)){l=h;m=c[f>>2]|0;n=d&255;o=l+1|0;c[g>>2]=o;p=m+l|0;a[p>>0]=n;i=e;return}if(k>>>0>2147483645)yf(b,79056,0);h=k<<1;q=c[b+32>>2]|0;if((h|0)==-2)cf(q);b=df(q,c[f>>2]|0,k,h)|0;c[f>>2]=b;c[j>>2]=h;l=c[g>>2]|0;m=b;n=d&255;o=l+1|0;c[g>>2]=o;p=m+l|0;a[p>>0]=n;i=e;return}function wg(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;vg(a,92);a:do if((d|0)>0){f=0;do{g=c[b+(f<<2)>>2]|0;if((g|0)==-1)break a;vg(a,g);f=f+1|0}while((f|0)<(d|0))}while(0);yf(a,e,289)}function xg(a,b){a=a|0;b=b|0;b=i;Rd(a,(c[a+8>>2]|0)+ -16|0,0,0);i=b;return}function yg(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;e=i;f=b+72|0;g=c[f>>2]|0;h=g+5|0;a[h>>0]=d[h>>0]|4;switch(d[g+4>>0]|0){case 9:{c[f>>2]=c[g+72>>2];j=g+32|0;k=c[j>>2]|0;if((k|0)!=0?!((a[k+5>>0]&3)==0):0)c[j>>2]=0;j=c[g+36>>2]|0;if((j|0)!=0?!((a[j+5>>0]&3)==0):0)rf(b,j);j=g+44|0;k=c[j>>2]|0;if((k|0)>0){l=g+8|0;m=k;k=0;while(1){n=c[l>>2]|0;if((c[n+(k<<3)+4>>2]&64|0)!=0?(o=c[n+(k<<3)>>2]|0,!((a[o+5>>0]&3)==0)):0){rf(b,o);p=c[j>>2]|0}else p=m;k=k+1|0;if((k|0)>=(p|0))break;else m=p}}p=g+40|0;m=c[p>>2]|0;if((m|0)>0){k=g+28|0;l=m;m=0;while(1){o=c[(c[k>>2]|0)+(m<<3)>>2]|0;if((o|0)!=0?!((a[o+5>>0]&3)==0):0){rf(b,o);q=c[p>>2]|0}else q=l;m=m+1|0;if((m|0)>=(q|0))break;else l=q}}q=g+56|0;l=c[q>>2]|0;if((l|0)>0){m=g+16|0;k=l;o=0;while(1){n=c[(c[m>>2]|0)+(o<<2)>>2]|0;if((n|0)!=0?!((a[n+5>>0]&3)==0):0){rf(b,n);r=c[q>>2]|0}else r=k;o=o+1|0;if((o|0)>=(r|0)){s=r;break}else k=r}}else s=l;l=g+60|0;r=c[l>>2]|0;if((r|0)>0){k=g+24|0;o=r;m=0;while(1){n=c[(c[k>>2]|0)+(m*12|0)>>2]|0;if((n|0)!=0?!((a[n+5>>0]&3)==0):0){rf(b,n);t=c[l>>2]|0}else t=o;m=m+1|0;if((m|0)>=(t|0))break;else o=t}u=t;v=c[q>>2]|0}else{u=r;v=s}w=(u*12|0)+80+((c[g+48>>2]|0)+v+(c[g+52>>2]|0)<<2)+((c[p>>2]|0)+(c[j>>2]|0)<<3)|0;break};case 38:{c[f>>2]=c[g+8>>2];j=g+6|0;p=a[j>>0]|0;if(p<<24>>24==0)x=p&255;else{v=p;p=0;while(1){if((c[g+(p<<3)+20>>2]&64|0)!=0?(u=c[g+(p<<3)+16>>2]|0,!((a[u+5>>0]&3)==0)):0){rf(b,u);y=a[j>>0]|0}else y=v;p=p+1|0;u=y&255;if((p|0)>=(u|0)){x=u;break}else v=y}}w=(x<<3)+16|0;break};case 6:{c[f>>2]=c[g+8>>2];x=c[g+12>>2]|0;if((x|0)!=0?!((a[x+5>>0]&3)==0):0)rf(b,x);x=g+6|0;y=a[x>>0]|0;if(y<<24>>24==0)z=y&255;else{v=y;y=0;while(1){p=c[g+(y<<2)+16>>2]|0;if((p|0)!=0?!((a[p+5>>0]&3)==0):0){rf(b,p);A=a[x>>0]|0}else A=v;y=y+1|0;p=A&255;if((y|0)>=(p|0)){z=p;break}else v=A}}w=(z<<2)+16|0;break};case 8:{z=g+60|0;c[f>>2]=c[z>>2];A=b+76|0;c[z>>2]=c[A>>2];c[A>>2]=g;a[h>>0]=d[h>>0]&251;h=g+28|0;A=c[h>>2]|0;if((A|0)==0)w=1;else{z=g+8|0;v=c[z>>2]|0;if(A>>>0<v>>>0){y=v;v=A;while(1){if((c[v+4>>2]&64|0)!=0?(x=c[v>>2]|0,!((a[x+5>>0]&3)==0)):0){rf(b,x);B=c[z>>2]|0}else B=y;x=v+8|0;if(x>>>0<B>>>0){y=B;v=x}else{C=x;break}}}else C=A;if((a[b+49>>0]|0)==1){A=g+32|0;v=(c[h>>2]|0)+(c[A>>2]<<3)|0;if(C>>>0<v>>>0){h=C;do{c[h+4>>2]=0;h=h+8|0}while(h>>>0<v>>>0);D=A;E=0}else{D=A;E=0}}else{A=g+72|0;v=c[g+16>>2]|0;if((A|0)==(v|0))F=0;else{h=A;A=0;while(1){C=A+1|0;h=c[h+12>>2]|0;if((h|0)==(v|0)){F=C;break}else A=C}}D=g+32|0;E=F}w=(E*40|0)+112+(c[D>>2]<<3)|0}break};case 5:{D=g+24|0;c[f>>2]=c[D>>2];f=g+8|0;E=c[f>>2]|0;do if((E|0)!=0){F=E+6|0;A=a[F>>0]|0;if((A&8)==0){v=c[b+168>>2]|0;h=(c[E+16>>2]|0)+(((1<<d[E+7>>0])+ -1&c[v+8>>2])*20|0)|0;while(1){if((c[h+12>>2]|0)==68?(c[h+8>>2]|0)==(v|0):0){G=7;break}C=c[h+16>>2]|0;if((C|0)==0){H=75600;break}else h=C}if((G|0)==7)H=h;if((c[H+4>>2]|0)==0){a[F>>0]=A&255|8;I=0;J=c[f>>2]|0}else{I=H;J=E}if((J|0)==0)K=I;else{L=I;M=J;G=12}}else{L=0;M=E;G=12}if((G|0)==12)if((a[M+5>>0]&3)==0)K=L;else{rf(b,M);K=L}if(((K|0)!=0?(c[K+4>>2]&15|0)==4:0)?(v=(c[K>>2]|0)+16|0,C=qo(v,107)|0,B=(C|0)!=0,C=(qo(v,118)|0)==0,!(C&(B^1))):0){v=g+5|0;a[v>>0]=d[v>>0]&251;if(B)if(C){Bg(b,g)|0;break}else{C=b+88|0;c[D>>2]=c[C>>2];c[C>>2]=g;break}C=1<<d[g+7>>0];B=c[g+16>>2]|0;v=B+(C*20|0)|0;y=(c[g+28>>2]|0)>0&1;if((C|0)>0){C=y;z=B;while(1){B=z+4|0;x=z+12|0;p=(c[x>>2]&64|0)==0;do if((c[B>>2]|0)==0)if(!p?!((a[(c[z+8>>2]|0)+5>>0]&3)==0):0){c[x>>2]=11;N=C}else N=C;else{if(!p?(j=c[z+8>>2]|0,!((a[j+5>>0]&3)==0)):0)rf(b,j);if((C|0)==0){j=c[B>>2]|0;if((j&64|0)!=0){u=c[z>>2]|0;if((j&15|0)!=4){N=(a[u+5>>0]&3)!=0&1;break}if((u|0)!=0?!((a[u+5>>0]&3)==0):0){rf(b,u);N=0}else N=0}else N=0}else N=C}while(0);z=z+20|0;if(!(z>>>0<v>>>0)){O=N;break}else C=N}}else O=y;if((O|0)==0){C=b+76|0;c[D>>2]=c[C>>2];c[C>>2]=g;break}else{C=b+80|0;c[D>>2]=c[C>>2];c[C>>2]=g;break}}else G=40}else G=40;while(0);if((G|0)==40){G=g+16|0;D=c[G>>2]|0;O=D+((1<<d[g+7>>0])*20|0)|0;N=g+28|0;K=c[N>>2]|0;if((K|0)>0){L=g+12|0;M=K;K=0;while(1){E=c[L>>2]|0;if((c[E+(K<<3)+4>>2]&64|0)!=0?(J=c[E+(K<<3)>>2]|0,!((a[J+5>>0]&3)==0)):0){rf(b,J);P=c[N>>2]|0}else P=M;K=K+1|0;if((K|0)>=(P|0))break;else M=P}Q=c[G>>2]|0}else Q=D;if(Q>>>0<O>>>0){D=Q;do{Q=D+4|0;G=c[Q>>2]|0;P=D+12|0;M=(c[P>>2]&64|0)==0;if((G|0)==0){if(!M?!((a[(c[D+8>>2]|0)+5>>0]&3)==0):0)c[P>>2]=11}else{if(!M?(M=c[D+8>>2]|0,!((a[M+5>>0]&3)==0)):0){rf(b,M);R=c[Q>>2]|0}else R=G;if((R&64|0)!=0?(G=c[D>>2]|0,!((a[G+5>>0]&3)==0)):0)rf(b,G)}D=D+20|0}while(D>>>0<O>>>0)}}w=(c[g+28>>2]<<3)+32+(20<<d[g+7>>0])|0;break};default:{i=e;return}}g=b+16|0;c[g>>2]=(c[g>>2]|0)+w;i=e;return}function zg(b){b=b|0;var d=0,e=0;d=i;e=c[b+224>>2]|0;if((e|0)!=0?!((a[e+5>>0]&3)==0):0)rf(b,e);e=c[b+228>>2]|0;if((e|0)!=0?!((a[e+5>>0]&3)==0):0)rf(b,e);e=c[b+232>>2]|0;if((e|0)!=0?!((a[e+5>>0]&3)==0):0)rf(b,e);e=c[b+236>>2]|0;if((e|0)!=0?!((a[e+5>>0]&3)==0):0)rf(b,e);e=c[b+240>>2]|0;if((e|0)!=0?!((a[e+5>>0]&3)==0):0)rf(b,e);e=c[b+244>>2]|0;if((e|0)!=0?!((a[e+5>>0]&3)==0):0)rf(b,e);e=c[b+248>>2]|0;if((e|0)!=0?!((a[e+5>>0]&3)==0):0)rf(b,e);e=c[b+252>>2]|0;if((e|0)!=0?!((a[e+5>>0]&3)==0):0)rf(b,e);e=c[b+256>>2]|0;if((e|0)==0){i=d;return}if((a[e+5>>0]&3)==0){i=d;return}rf(b,e);i=d;return}function Ag(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=i;if((e|0)==(f|0)){i=g;return}else h=e;do{e=h+16|0;j=c[e>>2]|0;k=j+((1<<(d[h+7>>0]|0))*20|0)|0;l=h+28|0;if((c[l>>2]|0)>0){m=h+12|0;n=0;do{o=c[m>>2]|0;p=o+(n<<3)+4|0;q=c[p>>2]|0;do if((q&64|0)!=0){r=c[o+(n<<3)>>2]|0;if((q&15|0)!=4){if((a[r+5>>0]&3)==0)break;c[p>>2]=0;break}if((r|0)!=0?!((a[r+5>>0]&3)==0):0)rf(b,r)}while(0);n=n+1|0}while((n|0)<(c[l>>2]|0));s=c[e>>2]|0}else s=j;if(s>>>0<k>>>0){l=s;do{n=l+4|0;m=c[n>>2]|0;do if(!((m|0)==0|(m&64|0)==0)){p=c[l>>2]|0;if((m&15|0)==4){if((p|0)==0)break;if((a[p+5>>0]&3)==0)break;rf(b,p);break}if((!((a[p+5>>0]&3)==0)?(c[n>>2]=0,p=l+12|0,(c[p>>2]&64|0)!=0):0)?!((a[(c[l+8>>2]|0)+5>>0]&3)==0):0)c[p>>2]=11}while(0);l=l+20|0}while(l>>>0<k>>>0)}h=c[h+24>>2]|0}while((h|0)!=(f|0));i=g;return}function Bg(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;f=i;g=e+16|0;h=c[g>>2]|0;j=h+((1<<(d[e+7>>0]|0))*20|0)|0;k=e+28|0;l=c[k>>2]|0;if((l|0)>0){m=e+12|0;n=l;l=0;o=0;while(1){p=c[m>>2]|0;if((c[p+(l<<3)+4>>2]&64|0)!=0?(q=c[p+(l<<3)>>2]|0,!((a[q+5>>0]&3)==0)):0){rf(b,q);r=c[k>>2]|0;s=1}else{r=n;s=o}l=l+1|0;if((l|0)>=(r|0))break;else{n=r;o=s}}t=c[g>>2]|0;u=s}else{t=h;u=0}if(t>>>0<j>>>0){h=0;s=u;g=t;t=0;while(1){o=g+4|0;r=c[o>>2]|0;n=g+12|0;l=c[n>>2]|0;k=(l&64|0)==0;a:do if((r|0)==0)if(!k?!((a[(c[g+8>>2]|0)+5>>0]&3)==0):0){c[n>>2]=11;v=h;w=s;x=t}else{v=h;w=s;x=t}else{do if(k){y=r;z=18}else{m=c[g+8>>2]|0;if((l&15|0)==4){if((m|0)==0){y=r;z=18;break}if((a[m+5>>0]&3)==0){y=r;z=18;break}rf(b,m);y=c[o>>2]|0;z=18;break}q=(r&64|0)==0;if((a[m+5>>0]&3)==0)if(q){v=h;w=s;x=t;break a}else break;if(q){v=1;w=s;x=t;break a}v=1;w=s;x=(a[(c[g>>2]|0)+5>>0]&3)==0?t:1;break a}while(0);if((z|0)==18?(z=0,(y&64|0)==0):0){v=h;w=s;x=t;break}q=c[g>>2]|0;if((a[q+5>>0]&3)==0){v=h;w=s;x=t}else{rf(b,q);v=h;w=1;x=t}}while(0);g=g+20|0;if(!(g>>>0<j>>>0))break;else{h=v;s=w;t=x}}if((x|0)!=0){x=b+84|0;c[e+24>>2]=c[x>>2];c[x>>2]=e;A=w;i=f;return A|0}if((v|0)==0)B=w;else{v=b+88|0;c[e+24>>2]=c[v>>2];c[v>>2]=e;A=w;i=f;return A|0}}else B=u;u=b+76|0;c[e+24>>2]=c[u>>2];c[u>>2]=e;A=B;i=f;return A|0}function Cg(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0;f=a+8|0;c[f>>2]=e;g=cp(b|0)|0;do if(!(g>>>0<41))if((g+1|0)>>>0>4294967277)cf(a);else{h=Lf(a,b,g,20,c[(c[a+12>>2]|0)+44>>2]|0,0)|0;break}else h=Kf(a,b,g)|0;while(0);c[e>>2]=h;c[e+4>>2]=d[h+4>>0]|0|64;c[f>>2]=(c[f>>2]|0)+8;af(a,-1)}function Dg(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,j=0,k=0,l=0,m=0;g=i;xe(a,d<<6|b|e<<23|f<<14)|0;f=a+28|0;e=c[f>>2]|0;c[f>>2]=-1;f=xe(a,2147450903)|0;if((e|0)==-1){h=f;i=g;return h|0}if((f|0)==-1){h=e;i=g;return h|0}b=c[(c[a>>2]|0)+12>>2]|0;d=f;while(1){j=b+(d<<2)|0;k=c[j>>2]|0;l=(k>>>14)+ -131071|0;if((l|0)==-1)break;m=d+1+l|0;if((m|0)==-1)break;else d=m}b=e+~d|0;if((((b|0)>-1?b:0-b|0)|0)>131071)ye(c[a+12>>2]|0,80032);c[j>>2]=(b<<14)+2147467264|k&16383;h=f;i=g;return h|0}function Eg(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=i;i=i+16|0;g=f+8|0;h=f;Be(a,b);j=c[b>>2]|0;a:do switch(j|0){case 6:{k=c[b+4>>2]|0;if((k|0)!=(e|0))xe(a,k<<23|e<<6)|0;break};case 11:{k=(c[(c[a>>2]|0)+12>>2]|0)+(c[b+4>>2]<<2)|0;c[k>>2]=c[k>>2]&-16321|e<<6&16320;break};case 5:{k=c[b+4>>2]|0;c[g>>2]=k;l=c[(c[a+12>>2]|0)+32>>2]|0;c[h>>2]=k;c[h+4>>2]=3;if((k|0)==0){k=l+8|0;m=c[k>>2]|0;c[k>>2]=m+8;n=Kf(l,g,4)|0;c[m>>2]=n;c[m+4>>2]=d[n+4>>0]|0|64;n=ze(a,(c[k>>2]|0)+ -8|0,h)|0;c[k>>2]=(c[k>>2]|0)+ -8;o=n}else o=ze(a,h,h)|0;n=e<<6;if((o|0)<262144){xe(a,n|o<<14|1)|0;break a}else{xe(a,n|2)|0;xe(a,o<<6|39)|0;break a}break};case 4:{n=c[b+4>>2]|0;k=e<<6;if((n|0)<262144){xe(a,k|n<<14|1)|0;break a}else{xe(a,k|2)|0;xe(a,n<<6|39)|0;break a}break};case 2:case 3:{xe(a,e<<6|((j|0)==2&1)<<23|3)|0;break};case 1:{n=e+1|0;k=c[a+20>>2]|0;do if((k|0)>(c[a+24>>2]|0)?(m=(c[(c[a>>2]|0)+12>>2]|0)+(k+ -1<<2)|0,l=c[m>>2]|0,(l&63|0)==4):0){p=l>>>6&255;q=p+(l>>>23)|0;if(!((p|0)<=(e|0)?(q+1|0)>=(e|0):0))r=6;if((r|0)==6?(p|0)<(e|0)|(p|0)>(n|0):0)break;s=(p|0)<(e|0)?p:e;c[m>>2]=s<<6&16320|l&8372287|((q|0)>(e|0)?q:e)-s<<23;break a}while(0);xe(a,e<<6|4)|0;break};default:{i=f;return}}while(0);c[b+4>>2]=e;c[b>>2]=6;i=f;return}function Fg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,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=i;if((f|0)==0){h=0;i=g;return h|0}j=b+16|0;k=b+8|0;l=c[k>>2]|0;if((l+ -8|0)==75600){h=0;i=g;return h|0}if((c[l+ -4>>2]&15|0)!=5){h=0;i=g;return h|0}c[l+4>>2]=0;c[k>>2]=l+8;m=(be(b,c[l+ -8>>2]|0,l)|0)==0;l=c[k>>2]|0;n=m?l+ -8|0:l+8|0;c[k>>2]=n;if(m){h=0;i=g;return h|0}m=(e|0)>0;l=f+ -1|0;f=(e|0)<-1000999;o=(e|0)==-1001e3;p=b+12|0;q=-1001e3-e|0;r=q+ -1|0;s=n;while(1){if((s+ -16|0)!=75600?(c[s+ -12>>2]&15|0)==4:0){n=c[j>>2]|0;do if(!m){if(!f){t=s+(e<<3)|0;u=17;break}if(o){t=(c[p>>2]|0)+36|0;u=17;break}v=c[n>>2]|0;if((c[v+4>>2]|0)!=22?(w=c[v>>2]|0,(q|0)<=(d[w+6>>0]|0)):0){t=w+16+(r<<3)|0;u=17}}else{w=(c[n>>2]|0)+(e<<3)|0;t=w>>>0<s>>>0?w:75600;u=17}while(0);if((((u|0)==17?(u=0,n=s+ -8|0,!((t|0)==75600|(n|0)==75600)):0)?(c[t+4>>2]|0)==(c[s+ -4>>2]|0):0)?(od(0,t,n)|0)!=0:0){u=20;break}n=(Fg(b,e,l)|0)==0;x=c[k>>2]|0;if(n)y=x;else{u=22;break}}else y=s;c[k>>2]=y+ -8;n=(be(b,c[y+ -24>>2]|0,y+ -16|0)|0)==0;w=c[k>>2]|0;s=n?w+ -8|0:w+8|0;c[k>>2]=s;if(n){h=0;u=36;break}}if((u|0)==20){c[k>>2]=(c[k>>2]|0)+ -8;h=1;i=g;return h|0}else if((u|0)==22){s=x+ -8|0;y=x+ -16|0;while(1){c[y>>2]=c[s>>2];c[y+4>>2]=c[y+12>>2];x=s+8|0;z=c[k>>2]|0;if(x>>>0<z>>>0){l=s;s=x;y=l}else break}c[k>>2]=z+ -8;z=c[p>>2]|0;y=z+12|0;s=c[y>>2]|0;do if((s|0)>0)if((a[z+51>>0]|0)==0){l=z+8|0;c[l>>2]=s+1600+(c[l>>2]|0);c[y>>2]=-1600;break}else{_d(b);break}while(0);y=Kf(b,78960,1)|0;s=c[k>>2]|0;c[s>>2]=y;c[s+4>>2]=d[y+4>>0]|64;y=c[k>>2]|0;s=y+8|0;c[k>>2]=s;z=s;do{s=z;z=z+ -8|0;c[s>>2]=c[z>>2];c[s+4>>2]=c[s+ -4>>2]}while((s|0)>(y|0));z=c[k>>2]|0;c[y+ -8>>2]=c[z>>2];c[y+ -4>>2]=c[z+4>>2];z=c[p>>2]|0;p=z+12|0;y=c[p>>2]|0;do if((y|0)>0)if((a[z+51>>0]|0)==0){k=z+8|0;c[k>>2]=y+1600+(c[k>>2]|0);c[p>>2]=-1600;break}else{_d(b);break}while(0);ce(b,3);h=1;i=g;return h|0}else if((u|0)==36){i=g;return h|0}return 0}function Gg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;e=cp(a|0)|0;if((e|0)>32){f=((e+ -33|0)>>>5)*6|0;g=e;do{yc();g=g+ -32|0}while((g|0)>32);h=f+6|0}else h=0;f=(c[271598]|0)-h|0;c[271598]=f;g=c[247113]|0;ml(g,0,f,127,f+5+((((cp(a|0)|0)+ -1|0)>>>5)*6|0)|0,0);Kn(c[247113]|0,a,c[247124]|0,c[271597]|0,c[271598]|0,17,b)|0;c[271598]=(c[271598]|0)+h;yc();i=d;return}function Hg(a){a=a|0;var b=0;b=i;Gg(a,6);i=b;return}function Ig(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=b;c[f+4>>2]=d;Qo(955480,a,f)|0;Gg(955480,6);i=e;return}function Jg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+16|0;e=d;if((uo(b,80160)|0)!=0){i=d;return}if((uo(b,80176)|0)!=0?(f=uo(b,80184)|0,(f|0)!=0):0){g=ym((cp(b|0)|0)+1|0)|0;lp(g|0,f+10|0)|0;f=g;do{f=f+1|0;h=a[f>>0]|0}while(!(h<<24>>24==0|h<<24>>24==39));a[f>>0]=0;c[e>>2]=g;Qo(955480,80200,e)|0;Gg(955480,6);Am(g);i=d;return}if((b|0)==0){i=d;return}g=ym((cp(b|0)|0)+1|0)|0;lp(g|0,b|0)|0;b=(cp(g|0)|0)+ -1|0;e=g+b|0;a:do if((b|0)>0){f=e;while(1){h=f+ -1|0;if((a[f>>0]|0)==58){j=f;break a}if(h>>>0>g>>>0)f=h;else{j=h;break}}}else j=e;while(0);Gg((a[j>>0]|0)==58?j+2|0:j,6);Am(g);i=d;return}function Kg(a){a=a|0;var b=0,c=0;b=i;c=ym(4192)|0;lp(c|0,a|0)|0;if((uo(a,80216)|0)!=0){if((uo(a,80240)|0)!=0)Gg(80240,6)}else Gg(c,6);Am(c);i=b;return}function Lg(a,b){a=a|0;b=b|0;var d=0;b=i;d=c[247111]|0;c[247111]=d+1;c[247112]=(c[247112]|0)+1024;if((d|0)<=135){i=b;return}c[247111]=0;Se(a,0,0,0)|0;i=b;return}function Mg(){var a=0,b=0;a=i;b=c[20038]|0;if((b|0)!=0)If(b);c[20038]=0;b=pe(1,0)|0;c[20038]=b;ch(b);c[271491]=0;i=a;return}function Ng(){var a=0;a=i;c[271597]=0;c[271596]=6;c[271602]=0;c[271601]=0;c[271576]=0;c[271561]=1;c[271577]=1;c[271562]=2;c[271578]=2;c[271563]=3;c[271579]=3;c[271564]=4;c[271580]=4;c[271565]=5;c[271581]=5;c[271566]=6;c[271582]=6;c[271567]=7;c[271583]=7;c[271568]=8;c[271584]=8;c[271569]=9;c[271585]=9;c[271570]=10;c[271586]=10;c[271571]=11;c[271587]=11;c[271572]=12;c[271588]=12;c[271573]=13;c[271589]=13;c[271574]=14;c[271590]=14;c[271575]=15;c[271591]=15;c[271560]=16;c[271603]=0;vl(c[247113]|0);c[271593]=0;c[271592]=0;c[271595]=128;c[271594]=128;i=a;return}function Og(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,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=i;i=i+16|0;f=e;c[271807]=0;c[247120]=0;c[237567]=0;a[4168]=0;g=(d|0)!=0;if(!g){if((cp(b|0)|0)>>>0>65536){Gg(147552,6);c[f>>2]=cp(b|0)|0;c[f+4>>2]=65536;Qo(955480,147584,f)|0;Gg(955480,6);i=e;return}d=Zg(c[c[17642]>>2]|0)|0;if((d|0)>8192){Gg(147600,6);c[f>>2]=d;c[f+4>>2]=8192;Qo(955480,147624,f)|0;Gg(955480,6);i=e;return}}Yd(c[20038]|0,2,0)|0;Xd(c[20038]|0);hp(147640,146072,725)|0;d=ym(131072)|0;dj(b,d);jp(147640,d|0)|0;Am(d);d=c[20112]|0;if((d|0)!=0){h=d;d=80448;do{if((Zo(b,h)|0)==0){c[f>>2]=h;Qo(147640,213176,f)|0;j=c[d>>2]|0}else j=h;k=cp(b|0)|0;l=cp(j|0)|0;if((((!(k>>>0<(l+2|0)>>>0)?(_o(b,j,l)|0)==0:0)?(k=a[b+l>>0]|0,k<<24>>24==32|k<<24>>24==0):0)?(k=cp(j|0)|0,(a[b+k>>0]|0)!=34):0)?(l=b+(k+1)|0,(a[l>>0]|0)!=34):0){c[f>>2]=j;c[f+4>>2]=l;Qo(147640,213184,f)|0}d=d+4|0;h=c[d>>2]|0}while((h|0)!=0)}if((Zo(b,213200)|0)==0){Zi();m=147640;n=213208;o=m+65|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0))}h=147640+(cp(147640)|0)|0;if(g){m=h+0|0;n=147528;o=m+24|0;do{a[m>>0]=a[n>>0]|0;m=m+1|0;n=n+1|0}while((m|0)<(o|0))}else hp(h|0,146800,724)|0;if((ne(c[20038]|0,147640)|0)==0){Nd(c[20038]|0,213320);_i();aj();c[30]=0;if((c[271490]|0)==1){c[271597]=0;c[271596]=6;c[271602]=0;c[271601]=0;c[271576]=0;c[271561]=1;c[271577]=1;c[271562]=2;c[271578]=2;c[271563]=3;c[271579]=3;c[271564]=4;c[271580]=4;c[271565]=5;c[271581]=5;c[271566]=6;c[271582]=6;c[271567]=7;c[271583]=7;c[271568]=8;c[271584]=8;c[271569]=9;c[271585]=9;c[271570]=10;c[271586]=10;c[271571]=11;c[271587]=11;c[271572]=12;c[271588]=12;c[271573]=13;c[271589]=13;c[271574]=14;c[271590]=14;c[271575]=15;c[271591]=15;c[271560]=16;c[271603]=0;vl(c[247113]|0);c[271593]=0;c[271592]=0;c[271595]=128;c[271594]=128}c[271487]=1;c[271492]=g&1^1;i=e;return}c[271596]=6;if(!g){g=(Hk(b,1048576)|0)+1|0;h=(c[19362]|0)+ -2|0;c[f>>2]=(g|0)<(h|0)?g:h;Qo(955480,213296,f)|0;Gg(955480,14);f=c[19362]|0;Bm(80536,0,65536);a:do if((b|0)==0){p=80536;q=34}else{lp(80536,b|0)|0;h=f+ -3|0;g=a[80536]|0;b:do if(!(g<<24>>24==0)){n=g;m=80536;o=0;while(1){if((o|0)==(h|0)){r=n;s=m;break}d=n<<24>>24==0;j=m+1|0;if(n<<24>>24!=10&(d^1)){l=j;while(1){k=a[l>>0]|0;t=k<<24>>24==0;u=l+1|0;if(k<<24>>24!=10&(t^1))l=u;else{v=t;w=u;x=l;break}}}else{v=d;w=j;x=m}l=v?x:w;n=a[l>>0]|0;if(n<<24>>24==0)break b;else{m=l;o=o+1|0}}while(1){if(r<<24>>24==0|r<<24>>24==10)break;o=s+1|0;r=a[o>>0]|0;s=o}a[s>>0]=0;if((m|0)==0)break a;else{p=m;q=34;break a}}while(0);a[80536]=a[80176]|0;a[80537]=a[80177]|0;a[80538]=a[80178]|0;a[80539]=a[80179]|0;a[80540]=a[80180]|0;a[80541]=a[80181]|0;p=80536;q=34}while(0);if((q|0)==34)Gg(p,7);p=c[19362]|0;if((p|0)>1){q=Ik(c[c[269357]>>2]|0,p+ -2|0)|0;c[(c[269357]|0)+320>>2]=q}}else Gg(213280,14);Jg(vd(c[20038]|0,-1,0)|0);i=e;return}function Pg(){var a=0,b=0,d=0;a=i;if((c[271492]|0)!=0){qk(0,0);tk();c[247120]=0;c[237567]=0;pj()|0;if((Si(988432,c[271814]|0,24366)|0)==0){c[271576]=0;c[271577]=1;c[271578]=2;c[271579]=3;c[271580]=4;c[271581]=5;c[271582]=6;c[271583]=7;c[271584]=8;c[271585]=9;c[271586]=10;c[271587]=11;c[271588]=12;c[271589]=13;c[271590]=14;c[271591]=15}if((Si(988432,c[271814]|0,24388)|0)==0){c[271810]=0;c[271811]=0;c[271812]=0;c[271813]=0}Lj()}c[271487]=0;c[53334]=c[271601];c[53336]=c[271602];c[271602]=0;c[271601]=0;vl(c[247113]|0);c[271597]=0;b=c[271598]|0;d=(b|0)<120?b:120;c[271598]=(d|0)<0?0:d;if((Gl()|0)==0){i=a;return}do Hl()|0;while((Gl()|0)!=0);i=a;return}function Qg(){var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+16|0;d=b;c[270974]=0;a[1083900]=0;if((uo(1080516|0,1077436|0)|0)==0){e=uo(1080516|0,213352)|0;if((e|0)!=0&e>>>0>(1080516|0)>>>0){f=e;while(1){g=f+ -1|0;h=g>>>0>(1080516|0)>>>0;if(((a[g>>0]|0)+ -48<<24>>24&255)<10&h)f=g;else break}c[d>>2]=1083896;ko(h?f:g,213360,d)|0}}else lp(1083900|0,1080516+(cp(1077436|0)|0)|0)|0;a[1084924]=0;d=c[20038]|0;if((d|0)!=0)If(d);c[20038]=0;d=pe(1,0)|0;c[20038]=d;ch(d);c[271491]=0;Vi(988432,c[271814]|0,0,0,17152);a[1081588]=0;d=eb(0)|0;kj((on()|0)+d|0);Og(c[c[17642]>>2]|0,0);tk();qk(0,0);c[271810]=0;c[271811]=0;c[271812]=0;c[271813]=0;Zi();i=b;return}function Rg(b){b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=i;i=i+528|0;e=d;f=d+16|0;h=d+8|0;Id(b,213368);Sd(c[20038]|0,0,1,0,0,0)|0;j=vd(b,-1,0)|0;if((j|0)==0){i=d;return}ld(b,-2);b=a[j>>0]|0;if(b<<24>>24==0){i=d;return}else{k=b;l=j;m=0}while(1){if((m|0)<10){n=k;o=l}else{p=18;break}m=m+1|0;while(1){if(n<<24>>24==10|n<<24>>24==0)break;j=o+1|0;n=a[j>>0]|0;o=j}ip(f|0,0,512)|0;dp(f|0,l|0,o-l|0)|0;l=(a[o>>0]|0)==10?o+1|0:o;a:do if(((uo(f,213376)|0)==0?(uo(f,213392)|0)==0:0)?(uo(f,213408)|0)==0:0){j=f;while(1){b=a[j>>0]|0;if(b<<24>>24==58)break;else if(b<<24>>24==0)break a;j=j+1|0}g[h>>2]=0.0;c[e>>2]=h;ko(j+1|0,213424,e)|0;b=~~+O(+(+g[h>>2]*65536.0))+ -2|0;if((b|0)>0?(q=uo(f,213432)|0,(q|0)!=0):0){r=q+13|0;q=r;while(1){s=a[q>>0]|0;if(s<<24>>24==39)break;else if(s<<24>>24==0)break a;q=q+1|0}a[q>>0]=0;c[e>>2]=r;c[e+4>>2]=b;Qo(955480,213448,e)|0;Gg(955480,13)}}while(0);k=a[l>>0]|0;if(k<<24>>24==0){p=18;break}}if((p|0)==18){i=d;return}}function Sg(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,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=i;i=i+16|0;d=b;if(((c[271605]|0)>1048576?(Yd(c[20038]|0,9,0)|0)!=0:0)?(Yd(c[20038]|0,2,0)|0,e=c[271605]|0,(e|0)>1048576):0){if((Yd(c[20038]|0,9,0)|0)!=0)Zd(c[20038]|0,1);f=c[271605]|0;c[d>>2]=e;c[d+4>>2]=f;Qo(950312,213464,d)|0;yk(950312);if((c[271605]|0)>1048576){d=c[20038]|0;if((d|0)!=0)If(d);c[20038]=0;d=pe(1,0)|0;c[20038]=d;ch(d);c[271491]=0;Pg();Gg(213496,6);i=b;return}}if((c[271487]|0)!=1|(c[271488]|0)!=0){i=b;return}Id(c[20038]|0,213320);c[247111]=0;c[247110]=0;Ve(c[20038]|0,8,8,1024)|0;d=jf(c[20038]|0,0,0)|0;if((d|0)==1)c[271487]=1;else if((d|0)==0)Pg();else{Pg();d=955480|0;f=213512|0;e=d+14|0;do{a[d>>0]=a[f>>0]|0;d=d+1|0;f=f+1|0}while((d|0)<(e|0));Gg(955480,14);a:do if((c[271492]|0)!=0){f=c[c[17642]>>2]|0;d=c[18974]|0;Bm(80536,0,65536);b:do if((f|0)==0)g=80536;else{lp(80536,f|0)|0;e=d+ -3|0;h=a[80536]|0;c:do if(!(h<<24>>24==0)){j=h;k=80536;l=0;while(1){if((l|0)==(e|0)){m=j;n=k;break}o=j<<24>>24==0;p=k+1|0;if(j<<24>>24!=10&(o^1)){q=p;while(1){r=a[q>>0]|0;s=r<<24>>24==0;t=q+1|0;if(r<<24>>24!=10&(s^1))q=t;else{u=s;v=t;w=q;break}}}else{u=o;v=p;w=k}q=u?w:v;j=a[q>>0]|0;if(j<<24>>24==0)break c;else{k=q;l=l+1|0}}while(1){if(m<<24>>24==0|m<<24>>24==10)break;l=n+1|0;m=a[l>>0]|0;n=l}a[n>>0]=0;if((k|0)==0)break a;else{g=k;break b}}while(0);a[80536]=a[80176]|0;a[80537]=a[80177]|0;a[80538]=a[80178]|0;a[80539]=a[80179]|0;a[80540]=a[80180]|0;a[80541]=a[80181]|0;g=80536}while(0);Gg(g,7)}while(0);Kg(vd(c[20038]|0,-1,0)|0);Rg(c[20038]|0)}if((c[36]|0)==0){i=b;return}g=on()|0;if((g|0)<=((c[37]|0)+1e3|0)){i=b;return}pj()|0;c[37]=on()|0;i=b;return}function Tg(a){a=a|0;var b=0,d=0,e=0;b=i;d=c[20038]|0;if((d|0)==0){i=b;return}c[912]=(c[912]|0)+a;e=(c[247110]|0)+a|0;c[247110]=e;c[247112]=(c[247112]|0)+a;a=(e|0)/1024|0;if((e|0)<=1023){i=b;return}c[247111]=(c[247111]|0)+a;c[247110]=e-(a<<10);Wf(d,a);i=b;return}function Ug(){a[213536]=0;a[213537]=0;a[213538]=0;a[213539]=0;c[53382]=0;return}function Vg(a){a=a|0;var b=0;b=i;lp(213536+(c[53382]<<6)|0,a|0)|0;c[53382]=(c[53382]|0)+1;i=b;return}function Wg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;d=i;a[229920]=0;c[73864]=0;e=b;a:while(1){f=a[e>>0]|0;switch(f<<24>>24){case 0:{g=11;break a;break};case 45:{g=4;break a;break};case 9:case 8:case 32:break;default:break a}e=e+1|0}if((g|0)==11){c[73864]=-1e3;h=e;i=d;return h|0}if((g|0)==4?(a[e+1>>0]|0)==45:0){c[73864]=-995;if(((a[e+2>>0]|0)==91?(a[e+3>>0]|0)==91:0)?(b=uo(e,295464)|0,(b|0)!=0):0){h=b+2|0;i=d;return h|0}else j=e;while(1){b=a[j>>0]|0;if(b<<24>>24==0|b<<24>>24==10){h=j;break}j=j+1|0}i=d;return h|0}if((f+ -97<<24>>24&255)<26|(f+ -65<<24>>24&255)<26){c[73864]=0;j=a[e>>0]|0;if((j+ -97<<24>>24&255)<26|(j+ -65<<24>>24&255)<26|(j+ -48<<24>>24&255)<10|j<<24>>24==95){b=j;j=0;k=e;while(1){l=j+1|0;a[229920+j>>0]=b;m=k+1|0;b=a[m>>0]|0;if(!((b+ -97<<24>>24&255)<26|(b+ -65<<24>>24&255)<26|(b+ -48<<24>>24&255)<10|b<<24>>24==95)){n=l;o=m;break}else{j=l;k=m}}}else{n=0;o=e}a[229920+n>>0]=0;if((Zo(229920,295472)|0)==0){c[73864]=-993;p=-993}else p=0;if((Zo(229920,295488)|0)==0){c[73864]=-992;q=-992}else q=p;if((Zo(229920,295496)|0)==0){c[73864]=-992;r=-992}else r=q;if((Zo(229920,295504)|0)==0){c[73864]=-991;s=-991}else s=r;if((Zo(229920,295512)|0)==0){c[73864]=-990;t=-990}else t=s;if((Zo(229920,295520)|0)==0){c[73864]=-989;u=-989}else u=t;if((Zo(229920,295528)|0)==0){c[73864]=-988;v=-988}else v=u;if((Zo(229920,295536)|0)==0){c[73864]=-992;w=-992}else w=v;if((Zo(229920,295544)|0)==0){c[73864]=-987;x=-987}else x=w;if((Zo(229920,295552)|0)==0){c[73864]=-986;y=-986}else y=x;if((Zo(229920,295560)|0)==0){c[73864]=-975;z=-975}else z=y;if((Zo(229920,295568)|0)==0){c[73864]=-974;A=-974}else A=z;if((Zo(229920,295576)|0)==0){c[73864]=-973;B=-973}else B=A;if((Zo(229920,295584)|0)==0){c[73864]=-985;C=-985}else C=B;if((Zo(229920,295592)|0)==0){c[73864]=-984;D=-984}else D=C;if((Zo(229920,295600)|0)==0){c[73864]=-983;E=-983}else E=D;if((Zo(229920,295608)|0)==0){c[73864]=-982;F=-982}else F=E;if((Zo(229920,295616)|0)==0){c[73864]=-981;G=-981}else G=F;if((Zo(229920,295624)|0)==0){c[73864]=-980;H=-980}else H=G;if((Zo(229920,295632)|0)==0){c[73864]=-979;I=-979}else I=H;if((Zo(229920,295640)|0)==0){c[73864]=-962;J=-962}else J=I;if((Zo(229920,295648)|0)==0){c[73864]=-962;K=-962}else K=J;if((Zo(229920,295656)|0)==0){c[73864]=-962;L=-962}else L=K;if((c[73916]|0)!=(e|0)?(a[e+ -1>>0]|0)==46:0)M=L;else g=63;do if((g|0)==63){K=c[53382]|0;if((K|0)>0){N=L;O=0}else{M=L;break}while(1){if((Zo(229920,213536+(O<<6)|0)|0)==0){c[73864]=-978;P=-978}else P=N;O=O+1|0;if((O|0)>=(K|0)){M=P;break}else N=P}}while(0);if((M|0)==0){c[73864]=-998;h=o;i=d;return h|0}else if((M|0)==-995){c[73864]=-999;M=o;while(1){P=a[M>>0]|0;if(P<<24>>24==0|P<<24>>24==10){h=M;break}M=M+1|0}i=d;return h|0}else{h=o;i=d;return h|0}}if((f+ -48<<24>>24&255)<10){c[73864]=0;b:do if((a[e+1>>0]|0)==120){o=0;M=e;while(1){P=a[M>>0]|0;do if(!((P+ -48<<24>>24&255)<10)){if((o|0)==0){if(P<<24>>24==45){Q=45;break}}else if((o|0)==1?P<<24>>24==120:0){Q=120;break}else g=78;if((g|0)==78?(g=0,P<<24>>24==46):0){Q=46;break}if(!((P+ -97<<24>>24&255)<6)){R=o;S=M;break b}else Q=P}else Q=P;while(0);a[229920+o>>0]=Q;o=o+1|0;M=M+1|0}}else{M=0;o=e;while(1){P=a[o>>0]|0;do if(!((P+ -48<<24>>24&255)<10)){if((M|0)==0)if(P<<24>>24==45){T=45;break}else{R=0;S=o;break b}else if((M|0)==1?P<<24>>24==120:0){T=120;break}if(P<<24>>24==46)T=46;else{R=M;S=o;break b}}else T=P;while(0);a[229920+M>>0]=T;M=M+1|0;o=o+1|0}}while(0);a[229920+R>>0]=0;c[73864]=-997;h=S;i=d;return h|0}c:do switch(f<<24>>24){case 45:{g=118;break};case 126:{g=110;break};case 34:{a[229920]=34;S=1;R=e;while(1){T=R+1|0;Q=a[T>>0]|0;if(Q<<24>>24==0){U=S;V=T;break}else if(Q<<24>>24==34)if((a[R>>0]|0)==92)W=34;else{g=93;break}else W=Q;a[229920+S>>0]=W;S=S+1|0;R=T}if((g|0)==93){a[229920+S>>0]=34;U=S+1|0;V=R+2|0}a[229920+U>>0]=0;c[73864]=-996;h=V;i=d;return h|0};case 62:{if((a[e+1>>0]|0)==61){c[73864]=-968;h=e+2|0;i=d;return h|0}else g=124;break};case 33:{g=112;break};case 39:{a[229920]=39;T=1;Q=e;while(1){o=Q+1|0;M=a[o>>0]|0;if(M<<24>>24==0){X=T;Y=o;break}else if(M<<24>>24==39)if((a[Q>>0]|0)==92)Z=39;else{g=99;break}else Z=M;a[229920+T>>0]=Z;T=T+1|0;Q=o}if((g|0)==99){a[229920+T>>0]=39;X=T+1|0;Y=Q+2|0}a[229920+X>>0]=0;c[73864]=-996;h=Y;i=d;return h|0};case 43:{g=116;break};case 42:{g=120;break};case 61:{g=114;break};case 37:{g=125;break};case 10:{c[73918]=(c[73918]|0)+1;g=102;break};case 59:{g=102;break};case 47:{g=122;break};case 60:{if((a[e+1>>0]|0)==61){c[73864]=-969;h=e+2|0;i=d;return h|0}if((a[e+1>>0]|0)!=62)switch(f<<24>>24){case 45:{g=118;break c;break};case 126:{g=110;break c;break};case 33:{g=112;break c;break};case 43:{g=116;break c;break};case 42:{g=120;break c;break};case 61:{g=114;break c;break};case 37:{g=125;break c;break};case 47:{g=122;break c;break};case 46:{g=127;break c;break};default:{g=129;break c}}c[73864]=-966;h=e+2|0;i=d;return h|0};case 46:{g=127;break};default:g=129}while(0);if((g|0)==102){c[73864]=-999;h=e+1|0;i=d;return h|0}else if((g|0)==110)if((a[e+1>>0]|0)==61){c[73864]=-966;h=e+2|0;i=d;return h|0}else g=124;else if((g|0)==112)if((a[e+1>>0]|0)==61){c[73864]=-966;h=e+2|0;i=d;return h|0}else g=124;else if((g|0)==114)if((a[e+1>>0]|0)==61){c[73864]=-965;h=e+2|0;i=d;return h|0}else g=124;else if((g|0)==116)if((a[e+1>>0]|0)==61){c[73864]=-964;h=e+2|0;i=d;return h|0}else g=124;else if((g|0)==118)if((a[e+1>>0]|0)==61){c[73864]=-964;h=e+2|0;i=d;return h|0}else g=124;else if((g|0)==120)if((a[e+1>>0]|0)==61){c[73864]=-964;h=e+2|0;i=d;return h|0}else g=129;else if((g|0)==122){if((a[e+1>>0]|0)==61){c[73864]=-964;h=e+2|0;i=d;return h|0}Y=e+1|0;if((a[Y>>0]|0)==47){c[73864]=-999;X=e;while(1){Z=a[X>>0]|0;if(Z<<24>>24==0|Z<<24>>24==10){h=X;break}X=X+1|0}i=d;return h|0}else _=Y}if((g|0)==124)if(f<<24>>24==37)g=125;else if(f<<24>>24==46)g=127;else g=129;if((g|0)==125)if((a[e+1>>0]|0)==61){c[73864]=-964;h=e+2|0;i=d;return h|0}else g=129;else if((g|0)==127)if((a[e+1>>0]|0)==46){c[73864]=-963;h=e+2|0;i=d;return h|0}else g=129;if((g|0)==129)_=e+1|0;c[73864]=f<<24>>24;h=_;i=d;return h|0}function Xg(a){a=a|0;var b=0,d=0;b=i;c[73916]=a;d=Wg(a)|0;i=b;return d|0}function Yg(){return c[73864]|0}function Zg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;e=0;f=-1;while(1){if((f|0)==-1){c[73916]=b;g=Wg(b)|0;h=0}else{if((a[e>>0]|0)==0)break;g=Wg(e)|0;h=f}j=c[73864]|0;e=g;f=((j|0)!=-999&(j|0)!=-995&(j|0)!=-984&(j|0)!=-1e3&(j|0)!=59&(j|0)!=41&(j|0)!=125&(j|0)!=93&(j|0)!=-992&(j|0)!=46&(j|0)!=44&(j|0)!=58&1)+h|0}i=d;return f|0}function _g(a){a=a|0;return}function $g(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;f=b+4|0;g=b+8|0;b=32;do{h=b<<1;j=0;do{k=j<<1&126;l=c[(c[(c[f>>2]|0)+16>>2]|0)+(((j|0)/64|0)+h<<2)>>2]|0;a[(c[(c[(c[g>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+j>>0]=((d[l+(k|1)>>0]|0)<<4)+(d[l+k>>0]|0);j=j+1|0}while((j|0)!=128);b=b+1|0}while((b|0)!=64);i=e;return}function ah(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;f=b+8|0;g=b+4|0;b=32;do{h=b<<1;j=0;do{k=j<<1&126;l=((j|0)/64|0)+h|0;a[(c[(c[(c[g>>2]|0)+16>>2]|0)+(l<<2)>>2]|0)+k>>0]=(d[(c[(c[(c[f>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+j>>0]|0)&15;a[(c[(c[(c[g>>2]|0)+16>>2]|0)+(l<<2)>>2]|0)+(k|1)>>0]=(d[(c[(c[(c[f>>2]|0)+16>>2]|0)+(b<<2)>>2]|0)+j>>0]|0)>>>4;j=j+1|0}while((j|0)!=128);b=b+1|0}while((b|0)!=64);i=e;return}function bh(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=vd(a,1,0)|0;if((d|0)==0){e=(ud(a,1)|0)!=0;f=e?c[73922]|0:c[73926]|0}else f=d;Fa(f|0)|0;Kb(c[o>>2]|0)|0;Tg((cp(f|0)|0)<<2|2);i=b;return 0}function ch(a){a=a|0;var b=0;b=i;Ug();Fd(a,4,0);Nd(a,295728);Vg(295728);Fd(a,5,0);Nd(a,295736);Vg(295736);Fd(a,6,0);Nd(a,295744);Vg(295744);Fd(a,7,0);Nd(a,295752);Vg(295752);Fd(a,8,0);Nd(a,295760);Vg(295760);Fd(a,9,0);Nd(a,295768);Vg(295768);Fd(a,9,0);Nd(a,295776);Vg(295776);Fd(a,10,0);Nd(a,295784);Vg(295784);Fd(a,11,0);Nd(a,295792);Vg(295792);Fd(a,12,0);Nd(a,295800);Vg(295800);Fd(a,13,0);Nd(a,295816);Vg(295816);Fd(a,14,0);Nd(a,295832);Vg(295832);Fd(a,15,0);Nd(a,295840);Vg(295840);Fd(a,16,0);Nd(a,295848);Vg(295848);Fd(a,17,0);Nd(a,295856);Vg(295856);Fd(a,18,0);Nd(a,295864);Vg(295864);Fd(a,19,0);Nd(a,295872);Vg(295872);Fd(a,20,0);Nd(a,295880);Vg(295880);Fd(a,21,0);Nd(a,295888);Vg(295888);Fd(a,22,0);Nd(a,295896);Vg(295896);Fd(a,23,0);Nd(a,295904);Vg(295904);Fd(a,24,0);Nd(a,295912);Vg(295912);Fd(a,25,0);Nd(a,295928);Vg(295928);Fd(a,26,0);Nd(a,295936);Vg(295936);Fd(a,27,0);Nd(a,295952);Vg(295952);Fd(a,28,0);Nd(a,295960);Vg(295960);Fd(a,29,0);Nd(a,295968);Vg(295968);Fd(a,30,0);Nd(a,295976);Vg(295976);Fd(a,30,0);Nd(a,295984);Vg(295984);Fd(a,31,0);Nd(a,295992);Vg(295992);Fd(a,32,0);Nd(a,296e3);Vg(296e3);Fd(a,33,0);Nd(a,296008);Vg(296008);Fd(a,34,0);Nd(a,296016);Vg(296016);Fd(a,35,0);Nd(a,296024);Vg(296024);Fd(a,36,0);Nd(a,296032);Vg(296032);Fd(a,37,0);Nd(a,296040);Vg(296040);Fd(a,38,0);Nd(a,296048);Vg(296048);Fd(a,39,0);Nd(a,296056);Vg(296056);Fd(a,40,0);Nd(a,296064);Vg(296064);Fd(a,41,0);Nd(a,296072);Vg(296072);Fd(a,42,0);Nd(a,296080);Vg(296080);Fd(a,43,0);Nd(a,296088);Vg(296088);Fd(a,44,0);Nd(a,296096);Vg(296096);Fd(a,45,0);Nd(a,296104);Vg(296104);Fd(a,46,0);Nd(a,296112);Vg(296112);Fd(a,47,0);Nd(a,296120);Vg(296120);Fd(a,48,0);Nd(a,296128);Vg(296128);Fd(a,49,0);Nd(a,296136);Vg(296136);Fd(a,50,0);Nd(a,296144);Vg(296144);Fd(a,51,0);Nd(a,296152);Vg(296152);Fd(a,52,0);Nd(a,296160);Vg(296160);Fd(a,53,0);Nd(a,296168);Vg(296168);Fd(a,54,0);Nd(a,296176);Vg(296176);Fd(a,55,0);Nd(a,296184);Vg(296184);Fd(a,56,0);Nd(a,296192);Vg(296192);Fd(a,57,0);Nd(a,296200);Vg(296200);Fd(a,58,0);Nd(a,296208);Vg(296208);Fd(a,59,0);Nd(a,296216);Vg(296216);Fd(a,60,0);Nd(a,296224);Vg(296224);Fd(a,61,0);Nd(a,296232);Vg(296232);Fd(a,62,0);Nd(a,296240);Vg(296240);Fd(a,63,0);Nd(a,296248);Vg(296248);Fd(a,64,0);Nd(a,296256);Vg(296256);Fd(a,65,0);Nd(a,296264);Vg(296264);Fd(a,66,0);Nd(a,296272);Vg(296272);Fd(a,67,0);Nd(a,296280);Vg(296280);Fd(a,68,0);Nd(a,296288);Vg(296288);Fd(a,68,0);Nd(a,296304);Vg(296304);Fd(a,69,0);Nd(a,296312);Vg(296312);Fd(a,70,0);Nd(a,296320);Vg(296320);Fd(a,71,0);Nd(a,296328);Vg(296328);Fd(a,72,0);Nd(a,296336);Vg(296336);Fd(a,73,0);Nd(a,296344);Vg(296344);Fd(a,74,0);Nd(a,296352);Vg(296352);Fd(a,75,0);Nd(a,296360);Vg(296360);Fd(a,76,0);Nd(a,296368);Vg(296368);Fd(a,77,0);Nd(a,296376);Vg(296376);Fd(a,78,0);Nd(a,296392);Vg(296392);Fd(a,79,0);Nd(a,296400);Vg(296400);Fd(a,80,0);Nd(a,296408);Vg(296408);Fd(a,81,0);Nd(a,296416);Vg(296416);Fd(a,82,0);Nd(a,296432);Vg(296432);Fd(a,83,0);Nd(a,296440);Vg(296440);Fd(a,84,0);Nd(a,296448);Vg(296448);Fd(a,85,0);Nd(a,296456);Vg(296456);Fd(a,86,0);Nd(a,296464);Vg(296464);Fd(a,87,0);Nd(a,296472);Vg(296472);Fd(a,88,0);Nd(a,296480);Vg(296480);Fd(a,89,0);Nd(a,296488);Vg(296488);Fd(a,90,0);Nd(a,296504);Vg(296504);Fd(a,91,0);Nd(a,296520);Vg(296520);Fd(a,92,0);Nd(a,296536);Vg(296536);Fd(a,93,0);Nd(a,296544);Vg(296544);Fd(a,94,0);Nd(a,296560);Vg(296560);Fd(a,95,0);Nd(a,296568);Vg(296568);Fd(a,96,0);Nd(a,296576);Vg(296576);Fd(a,97,0);Nd(a,296592);Vg(296592);Fd(a,98,0);Nd(a,296616);Vg(296616);Fd(a,99,0);Nd(a,296632);Vg(296632);Fd(a,100,0);Nd(a,296656);Vg(296656);i=b;return}function dh(a){a=a|0;var b=0,d=0;b=i;c[247112]=0;c[912]=0;c[247116]=0;d=Se(a,0,0,0)|0;i=b;return d|0}function eh(a){a=a|0;var b=0,d=0,e=0;b=i;d=sd(a,1,0)|0;e=sd(a,2,0)|0;Ri(988432,c[271814]|0,24360,d>>>16&255);Ri(988432,c[271814]|0,24361,d>>24);Ri(988432,c[271814]|0,24362,e>>>16&255);Ri(988432,c[271814]|0,24363,e>>24);Tg(4);i=b;return 0}function fh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;b=i;if((kd(a)|0)>3){d=(sd(a,1,0)|0)>>16;e=(sd(a,2,0)|0)>>16;f=(sd(a,3,0)|0)>>16;g=e;h=(sd(a,4,0)|0)>>16;j=f;k=d}else{g=0;h=128;j=128;k=0}c[271592]=k;c[271593]=g;d=j+k|0;c[271594]=d;j=h+g|0;c[271595]=j;if((k|0)<0)l=0;else l=(k|0)<128?k:128;c[271592]=l;if((g|0)<0)m=0;else m=(g|0)<128?g:128;c[271593]=m;if((d|0)<0)n=0;else n=(d|0)<128?d:128;c[271594]=n;if((j|0)<0)o=0;else o=(j|0)<128?j:128;c[271595]=o;Tg(16);nl(c[247113]|0,c[271592]|0,c[271593]|0,c[271594]|0,c[271595]|0);i=b;return 0}function gh(a){a=a|0;a=i;c[271598]=0;c[271597]=0;c[271593]=0;c[271592]=0;c[271595]=128;c[271594]=128;vl(c[247113]|0);kl(c[247113]|0);Tg(16384);i=a;return 0}function hh(a){a=a|0;var b=0;a=i;i=i+1040|0;b=a;c[b>>2]=1077436;c[b+4>>2]=1078460;Qo(a+8|0,297520,b)|0;i=a;return 0}function ih(a){a=a|0;a=i;c[280322]=17;Lc();i=a;return 0}function jh(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+2848|0;e=d;f=d+1824|0;g=d+800|0;h=d+12|0;if((kd(b)|0)>0?(j=vd(b,1,0)|0,(j|0)!=0):0){if((cp(j|0)|0)>>>0>511){i=d;return 0}if((a[j>>0]|0)==47){c[e>>2]=1077436;c[e+4>>2]=j+1;Qo(f,297448,e)|0}else{c[e>>2]=1077436;c[e+4>>2]=1078460;c[e+8>>2]=j;Qo(f,297424,e)|0}$k(f,g);if((uo(g,1077436)|0)==0){Gg(297456,7);i=d;return 0}f=sa(g|0,297472,h|0,-1)|0;ta(h|0)|0;if((f|0)!=0){Gg(297480,7);i=d;return 0}lp(1078460,g+(cp(1077436)|0)|0)|0;if((Zo(1078460,297504)|0)==0)a[1078460]=0;c[e>>2]=1078460;Qo(955480,297512,e)|0;Gg(955480,12);i=d;return 0}c[e>>2]=1078460;Qo(955480,297432,e)|0;Gg(955480,12);i=d;return 0}function kh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+1040|0;d=b;e=b+16|0;if((kd(a)|0)<1){Hg(297408);f=0;i=b;return f|0}g=vd(a,1,0)|0;if((cp(g|0)|0)>>>0>511){zd(a,0);f=1;i=b;return f|0}else{c[d>>2]=1077436;c[d+4>>2]=1078460;c[d+8>>2]=g;Qo(e,297424,d)|0;vn(e)|0;f=0;i=b;return f|0}return 0}function lh(a){a=a|0;a=i;Tj();i=a;return 0}function mh(a){a=a|0;a=i;wj();c[280323]=1;Zi();i=a;return 0}function nh(a){a=a|0;a=i;Nj();c[280323]=2;Zi();i=a;return 0}function oh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;d=c[271596]|0;if((kd(a)|0)<2){i=b;return 0}e=(sd(a,1,0)|0)>>16;f=(sd(a,2,0)|0)>>16;if((kd(a)|0)>2){g=(sd(a,3,0)|0)>>16;c[271596]=g;h=g}else h=d;rl(c[247113]|0,e-(c[271601]|0)|0,f-(c[271602]|0)|0,c[1086240+((h&15)<<2)>>2]&15);i=b;return 0}function ph(a){a=a|0;var b=0,d=0,e=0;b=i;if((kd(a)|0)<2){zd(a,0);i=b;return 1}else{d=(sd(a,1,0)|0)>>16;e=(sd(a,2,0)|0)>>16;zd(a,(yl(c[247113]|0,d-(c[271601]|0)|0,e-(c[271602]|0)|0)|0)<<16);i=b;return 1}return 0}function qh(a){a=a|0;var b=0;b=i;c[271596]=(sd(a,1,0)|0)>>>16&15;Tg(1);i=b;return 0}function rh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;d=c[271596]|0;e=kd(a)|0;if((e|0)==0){i=b;return 0}f=nd(a,1)|0;g=vd(a,1,0)|0;do if((g|0)==0)if((f|0)==1){h=(ud(a,1)|0)!=0;j=h?c[73922]|0:c[73926]|0;break}else if((f|0)==0){j=c[73930]|0;break}else{Id(a,295864);re(a)|0;Sd(a,1,0,0,0,0)|0;i=b;return 0}else j=g;while(0);if((e|0)>2?(g=(sd(a,2,0)|0)>>16,f=(sd(a,3,0)|0)>>16,c[271597]=g,c[271598]=f,(e|0)>3):0){f=(sd(a,4,0)|0)>>16;c[271596]=f&15;k=f}else k=d;d=(c[271598]|0)-(c[271602]|0)|0;f=Kn(c[247113]|0,j,c[247124]|0,(c[271597]|0)-(c[271601]|0)|0,d,1,c[1086240+((k&15)<<2)>>2]&15)|0;if(!((e|0)!=1|(f|0)<(d|0))){e=f;do{yc();e=e+ -6|0}while((e|0)>=(d|0))}Tg((cp(j|0)|0)<<2|2);i=b;return 0}function sh(a){a=a|0;var b=0,d=0,e=0;b=i;d=(sd(a,1,0)|0)>>16;e=(sd(a,2,0)|0)>>16;c[271597]=d;c[271598]=e;i=b;return 0}function th(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,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=i;i=i+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;j=b+4|0;k=b;l=kd(a)|0;m=(sd(a,1,0)|0)>>16;n=(sd(a,2,0)|0)>>16;o=(sd(a,3,0)|0)>>16;if(m>>>0>255){i=b;return 0}if((l|0)>3){p=sd(a,4,0)|0;q=p<<3>>16;p=(sd(a,5,0)|0)<<3>>16;if((l|0)>5){r=ud(a,6)|0;if((l|0)>6){s=r;t=ud(a,7)|0;u=p;v=q}else{s=r;t=0;u=p;v=q}}else{s=0;t=0;u=p;v=q}}else{s=0;t=0;u=8;v=8}if((v|0)<1|(u|0)<1){i=b;return 0}q=(v|0)>128?128:v;v=(u|0)>128?128:u;u=n-(c[271601]|0)|0;n=o-(c[271602]|0)|0;o=pl(q,v,8)|0;Ki(c[(c[271814]|0)+4>>2]|0,o,m<<3&120,((m|0)/16|0)<<3,0,0,q,v,s,t,1086240|0);Mi(o,c[247113]|0,0,0,u,n,q,v,1086240|0);ql(o)|0;c[d>>2]=q;c[e>>2]=v;c[g>>2]=0;c[h>>2]=0;c[j>>2]=u;c[k>>2]=n;c[f>>2]=q;c[f+4>>2]=v;sl(f,c[247113]|0,g,h,j,k,d,e);k=aa(c[e>>2]|0,c[d>>2]|0)|0;Tg((k|0)<0?0:k);i=b;return 0}function uh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;b=i;i=i+80|0;d=b+72|0;e=b+68|0;f=b+16|0;g=b+12|0;h=b+8|0;j=b+4|0;k=b;l=kd(a)|0;m=(sd(a,1,0)|0)>>16;n=(sd(a,2,0)|0)>>16;o=(sd(a,3,0)|0)>>16;p=(sd(a,4,0)|0)>>16;q=(sd(a,5,0)|0)>>16;r=(sd(a,6,0)|0)>>16;if((l|0)>6){s=(sd(a,7,0)|0)>>16;t=(sd(a,8,0)|0)>>16;if((l|0)>8){u=ud(a,9)|0;if((l|0)>9){v=u;w=ud(a,10)|0;x=t;y=s}else{v=u;w=0;x=t;y=s}}else{v=0;w=0;x=t;y=s}}else{v=0;w=0;x=p;y=o}s=q-(c[271601]|0)|0;q=r-(c[271602]|0)|0;if((o|0)<1|(p|0)<1|(o|0)>128|(p|0)>128){i=b;return 0}if((y|0)==0|(x|0)==0){i=b;return 0}if((y|0)<0){z=(v|0)==0&1;A=0-y|0;B=s+y|0}else{z=v;A=y;B=s}if((x|0)<0){C=(w|0)==0&1;D=0-x|0;E=q+x|0}else{C=w;D=x;E=q}q=pl(o,p,8)|0;Ki(c[(c[271814]|0)+4>>2]|0,q,m,n,0,0,o,p,z,C,1086240|0);Li(q,c[247113]|0,B,E,A,D,1086240|0);ql(q)|0;c[d>>2]=A;c[e>>2]=D;c[g>>2]=0;c[h>>2]=0;c[j>>2]=B;c[k>>2]=E;c[f>>2]=A;c[f+4>>2]=D;sl(f,c[247113]|0,g,h,j,k,d,e);k=aa(c[e>>2]|0,c[d>>2]|0)|0;Tg((k|0)<0?0:k<<1);i=b;return 0}function vh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;d=c[271596]|0;e=(sd(a,1,0)|0)>>16;f=(sd(a,2,0)|0)>>16;g=(sd(a,3,0)|0)>>16;h=(sd(a,4,0)|0)>>16;if((kd(a)|0)>4){j=(sd(a,5,0)|0)>>16;c[271596]=j&15;k=j}else k=d;d=c[271601]|0;j=e-d|0;e=c[271602]|0;a=f-e|0;f=g-d|0;d=h-e|0;ul(c[247113]|0,j,a,f,d,c[1086240+((k&15)<<2)>>2]&15);k=(j|0)<128?j:128;j=(a|0)<128?a:128;a=(f|0)<128?f:128;f=(d|0)<128?d:128;d=((f|0)<-1?-1:f)-((j|0)<-1?-1:j)|0;j=((a|0)<-1?-1:a)-((k|0)<-1?-1:k)|0;Tg(((d|0)<0?0-d|0:d)+((j|0)<0?0-j|0:j)|0);i=b;return 0}function wh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;d=c[271596]|0;e=kd(a)|0;f=(sd(a,1,0)|0)>>16;g=(sd(a,2,0)|0)>>16;h=(sd(a,3,0)|0)>>16;j=(sd(a,4,0)|0)>>16;if((e|0)>4){e=(sd(a,5,0)|0)>>16;c[271596]=e&15;k=e}else k=d;d=c[271601]|0;e=f-d|0;f=c[271602]|0;a=g-f|0;g=h-d|0;d=j-f|0;ml(c[247113]|0,e,a,g,d,c[1086240+((k&15)<<2)>>2]&15);k=(e|0)<128?e:128;e=(a|0)<128?a:128;a=(g|0)<128?g:128;g=(d|0)<128?d:128;d=((g|0)<-1?-1:g)-((e|0)<-1?-1:e)|0;e=((a|0)<-1?-1:a)-((k|0)<-1?-1:k)|0;Tg((aa((d|0)<0?0-d|0:d,((e|0)<0?0-e|0:e)+2|0)|0)/2|0);i=b;return 0}function xh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;b=i;d=c[271596]&15;e=kd(a)|0;if((e|0)<2){i=b;return 0}f=(sd(a,1,0)|0)>>16;g=(sd(a,2,0)|0)>>16;if((e|0)>2){h=(sd(a,3,0)|0)>>16;if((e|0)>3){e=(sd(a,4,0)|0)>>16;c[271596]=e&15;j=e;k=h}else{j=d;k=h}}else{j=d;k=4}d=f-(c[271601]|0)|0;f=g-(c[271602]|0)|0;Oi(c[247113]|0,d,f,k,c[1086240+((j&15)<<2)>>2]&15);j=d-k|0;if((j|0)<-1)l=-1;else l=(j|0)<128?j:128;j=f-k|0;if((j|0)<-1)m=-1;else m=(j|0)<128?j:128;j=l+k|0;if((j|0)<-1)n=-1;else n=(j|0)<128?j:128;j=m+k|0;if((j|0)<-1)o=-1;else o=(j|0)<128?j:128;j=o-m|0;m=n-l|0;Tg((aa((j|0)<0?0-j|0:j,((m|0)<0?0-m|0:m)+8|0)|0)/2|0);i=b;return 0}function yh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;b=i;d=c[271596]|0;e=kd(a)|0;if((e|0)<2){i=b;return 0}f=(sd(a,1,0)|0)>>16;g=(sd(a,2,0)|0)>>16;if((e|0)>2){h=(sd(a,3,0)|0)>>16;if((e|0)>3){e=(sd(a,4,0)|0)>>16;c[271596]=e&15;j=e;k=h}else{j=d;k=h}}else{j=d;k=4}d=f-(c[271601]|0)|0;f=g-(c[271602]|0)|0;Pi(c[247113]|0,d,f,k,c[1086240+((j&15)<<2)>>2]&15);j=d-k|0;if((j|0)<-1)l=-1;else l=(j|0)<128?j:128;j=f-k|0;if((j|0)<-1)m=-1;else m=(j|0)<128?j:128;j=l+k|0;if((j|0)<-1)n=-1;else n=(j|0)<128?j:128;j=m+k|0;if((j|0)<-1)o=-1;else o=(j|0)<128?j:128;j=o-m|0;m=n-l|0;Tg(aa((j|0)<0?0-j|0:j,((m|0)<0?0-m|0:m)+8|0)|0);i=b;return 0}function zh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;d=c[271596]|0;e=(sd(a,1,0)|0)>>16;f=(sd(a,2,0)|0)>>16;g=(sd(a,3,0)|0)>>16;h=(sd(a,4,0)|0)>>16;if((kd(a)|0)>4){j=(sd(a,5,0)|0)>>16;c[271596]=j&15;k=j}else k=d;d=c[271601]|0;j=e-d|0;e=c[271602]|0;a=f-e|0;f=g-d|0;d=h-e|0;zl(c[247113]|0,j,a,f,d,c[1086240+((k&15)<<2)>>2]&15);k=j-f|0;f=(k|0)<0?0-k|0:k;k=a-d|0;d=(k|0)<0?0-k|0:k;k=((f|0)>(d|0)?f:d)+1|0;Tg((k|0)>128?128:k);i=b;return 0}function Ah(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;d=kd(a)|0;if((d|0)<=1){c[271576]=0;c[271561]=1;c[271577]=1;c[271562]=2;c[271578]=2;c[271563]=3;c[271579]=3;c[271564]=4;c[271580]=4;c[271565]=5;c[271581]=5;c[271566]=6;c[271582]=6;c[271567]=7;c[271583]=7;c[271568]=8;c[271584]=8;c[271569]=9;c[271585]=9;c[271570]=10;c[271586]=10;c[271571]=11;c[271587]=11;c[271572]=12;c[271588]=12;c[271573]=13;c[271589]=13;c[271574]=14;c[271590]=14;c[271575]=15;c[271591]=15;c[271560]=16;Tg(4);i=b;return 0}e=(sd(a,1,0)|0)>>>16;f=(sd(a,2,0)|0)>>>16&15;g=e&15;if((d|0)>2?!((sd(a,3,0)|0)>>>0<65536):0){c[1086304+(g<<2)>>2]=f;Tg(4);i=b;return 0}a=1086240+(g<<2)|0;c[a>>2]=c[a>>2]&16|f;Tg(4);i=b;return 0}function Bh(a){a=a|0;var b=0,d=0,e=0;b=i;if((kd(a)|0)<=1){d=c[271560]&15;c[271561]=c[271561]&15;c[271562]=c[271562]&15;c[271563]=c[271563]&15;c[271564]=c[271564]&15;c[271565]=c[271565]&15;c[271566]=c[271566]&15;c[271567]=c[271567]&15;c[271568]=c[271568]&15;c[271569]=c[271569]&15;c[271570]=c[271570]&15;c[271571]=c[271571]&15;c[271572]=c[271572]&15;c[271573]=c[271573]&15;c[271574]=c[271574]&15;c[271575]=c[271575]&15;c[271560]=d|16;i=b;return 0}d=(sd(a,1,0)|0)>>>16;e=ud(a,2)|0;a=1086240+((d&15)<<2)|0;d=c[a>>2]&15;c[a>>2]=d;if((e|0)==0){i=b;return 0}c[a>>2]=d|16;i=b;return 0}function Ch(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=i;d=(sd(a,1,0)|0)>>16;e=(sd(a,2,0)|0)>>16;f=(sd(a,3,0)|0)>>16;g=(sd(a,4,0)|0)>>16;if((kd(a)|0)>4){h=(sd(a,5,0)|0)>>16;j=(sd(a,6,0)|0)>>16;k=j;l=(sd(a,7,0)|0)>>16;m=h}else{k=32;l=0;m=128}if((m|0)<1|(k|0)<1){i=b;return 0}h=f-(c[271601]|0)|0;f=g-(c[271602]|0)|0;g=c[271814]|0;a=c[g+8>>2]|0;j=c[g+4>>2]|0;if((k|0)>0){g=(m|0)>0;n=(l|0)==0;o=0;do{a:do if(g){p=o+e|0;q=(o<<3)+f|0;if(n){r=0;while(1){s=yl(a,r+d|0,p)|0;if((s|0)!=0)Ni(j,c[247113]|0,s<<3&120,((s|0)/16|0)<<3,(r<<3)+h|0,q,8,8,1086240|0);r=r+1|0;if((r|0)==(m|0))break a}}else t=0;do{r=yl(a,t+d|0,p)|0;if((r|0)!=0?(c[(c[271814]|0)+(r<<2)+43292>>2]&l|0)!=0:0)Ni(j,c[247113]|0,r<<3&120,((r|0)/16|0)<<3,(t<<3)+h|0,q,8,8,1086240|0);t=t+1|0}while((t|0)!=(m|0))}while(0);o=o+1|0}while((o|0)!=(k|0))}o=c[271592]|0;t=c[271594]|0;j=(h|0)<(t|0)?h:t;l=c[271593]|0;d=c[271595]|0;a=(f|0)<(d|0)?f:d;n=h+(m<<3)|0;m=(n|0)<(t|0)?n:t;t=f+(k<<3)|0;k=(t|0)<(d|0)?t:d;d=((o|0)>(m|0)?o:m)-((o|0)>(j|0)?o:j)|0;j=((l|0)>(k|0)?l:k)-((l|0)>(a|0)?l:a)|0;Tg(aa((j|0)<0?0-j|0:j,(d|0)<0?0-d|0:d)|0);i=b;return 0}function Dh(a){a=a|0;var b=0,d=0,e=0;b=i;d=(sd(a,1,0)|0)>>16;e=(sd(a,2,0)|0)>>16;zd(a,(yl(c[(c[271814]|0)+8>>2]|0,d,e)|0)<<16);i=b;return 1}function Eh(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=(sd(a,1,0)|0)>>16;e=(sd(a,2,0)|0)>>16;f=(sd(a,3,0)|0)>>>16;rl(c[(c[271814]|0)+8>>2]|0,d,e,f&255);i=b;return 0}function Fh(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;if((kd(a)|0)==0){d=0;i=b;return d|0}e=(sd(a,1,0)|0)>>16;if((kd(a)|0)==1){zd(a,c[(c[271814]|0)+(e<<2)+43292>>2]<<16&16711680);d=1;i=b;return d|0}f=(sd(a,2,0)|0)>>16;if(e>>>0>255){Hd(a,0);d=1;i=b;return d|0}if(f>>>0>7){Hd(a,0);d=1;i=b;return d|0}else{Hd(a,(c[(c[271814]|0)+(e<<2)+43292>>2]&1<<f|0)!=0&1);d=1;i=b;return d|0}return 0}function Gh(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=kd(a)|0;if((d|0)<2){i=b;return 0}e=(sd(a,1,0)|0)>>16;f=(sd(a,2,0)|0)>>16;if(e>>>0>255){i=b;return 0}if((d|0)==2){c[(c[271814]|0)+(e<<2)+43292>>2]=f&255;i=b;return 0}if(f>>>0>7){i=b;return 0}d=(c[271814]|0)+(e<<2)+43292|0;c[d>>2]=c[d>>2]|1<<f;i=b;return 0}function Hh(a){a=a|0;var b=0,d=0,e=0;b=i;d=(sd(a,1,0)|0)>>16;e=(sd(a,2,0)|0)>>16;zd(a,(yl(c[(c[271814]|0)+4>>2]|0,d,e)|0)<<16);i=b;return 1}function Ih(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=(sd(a,1,0)|0)>>16;e=(sd(a,2,0)|0)>>16;f=(sd(a,3,0)|0)>>16;rl(c[(c[271814]|0)+4>>2]|0,d,e,f);i=b;return 0}function Jh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;d=c[271814]|0;e=(sd(a,1,0)|0)>>16;if((kd(a)|0)>1)f=(sd(a,2,0)|0)>>16;else f=0;if((kd(a)|0)>2)g=(sd(a,3,0)|0)>>16;else g=0;if((e|0)==-1){qk(0,f);Tg(16);i=b;return 0}else{a=(e|0)<63?e:63;lk(d,(a|0)<0?0:a,f);c[271809]=g;Tg(16);i=b;return 0}return 0}function Kh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;if((kd(a)|0)<1){i=b;return 0}d=(sd(a,1,0)|0)>>16;if((kd(a)|0)>1){e=(sd(a,2,0)|0)>>16;if((e+1|0)>>>0>4){i=b;return 0}else f=e}else f=-1;if((kd(a)|0)>2)g=(sd(a,3,0)|0)>>16;else g=0;if((d|0)==-2){jk(f);i=b;return 0}else if((d|0)==-1){ek(0,0,0,0,f)|0;i=b;return 0}else{a=(d|0)<63?d:63;d=(g|0)<31?g:31;ek((c[271814]|0)+(((a|0)<0?0:a)*656|0)+12|0,(d|0)<0?0:d,32,0,f)|0;Tg(16);i=b;return 0}return 0}function Lh(a){a=a|0;var b=0,d=0;b=i;Tg(-3);d=(sd(a,1,0)|0)>>16;zd(a,(Si(988432,c[271814]|0,d)|0)<<16);i=b;return 1}function Mh(a){a=a|0;var b=0,d=0,e=0;b=i;Tg(-3);d=(sd(a,1,0)|0)>>16;e=(sd(a,2,0)|0)>>16;Ri(988432,c[271814]|0,d,e);i=b;return 0}function Nh(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=(sd(a,1,0)|0)>>16;e=(sd(a,2,0)|0)>>16;f=(sd(a,3,0)|0)>>16;Tg(f<<1);Ti(988432,c[271814]|0,d,e,f);i=b;return 0}function Oh(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=(sd(a,1,0)|0)>>16;e=(sd(a,2,0)|0)>>16;f=(sd(a,3,0)|0)>>16;Tg(f);Ui(988432,c[271814]|0,d,e,f);i=b;return 0}function Ph(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+1040|0;d=b;e=b+8|0;if((kd(a)|0)>2){f=(sd(a,1,0)|0)>>16;g=(sd(a,2,0)|0)>>16;h=f;j=g;k=(sd(a,3,0)|0)>>16}else{h=0;j=0;k=17152}Tg((k|0)>4096?32768:k<<3);if((kd(a)|0)!=4){Vi(988432,c[271814]|0,h,j,k);zd(a,k<<16);i=b;return 1}g=vd(a,4,b+4|0)|0;if((c[270974]|0)==0)_k(1080516|0,e,0,0);else tn(297344,e);jp(e|0,g|0)|0;c[d>>2]=e;Za(297376,d|0)|0;if((ed(e,h,j,k)|0)==0){zd(a,k<<16);i=b;return 1}else{zd(a,0);i=b;return 1}return 0}function Qh(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+1040|0;d=b;e=b+8|0;if((kd(a)|0)>2){f=(sd(a,1,0)|0)>>16;g=(sd(a,2,0)|0)>>16;h=f;j=g;k=(sd(a,3,0)|0)>>16}else{h=0;j=0;k=17152}Tg((k|0)>4096?262144:k<<6);if((kd(a)|0)!=4){zd(a,(Wi(0,c[17642]|0,h,j,k)|0)<<16);i=b;return 1}g=vd(a,4,b+4|0)|0;if((cp(g|0)|0)>>>0>511){zd(a,0);i=b;return 1}if((c[270974]|0)==0)_k(1080516|0,e,0,0);else tn(297344,e);jp(e|0,g|0)|0;c[d>>2]=e;Za(297352,d|0)|0;if((fd(e,h,j,k)|0)==0){zd(a,k<<16);i=b;return 1}else{zd(a,0);i=b;return 1}return 0}function Rh(a){a=a|0;var b=0,c=0,d=0;b=i;if((kd(a)|0)>0)c=sd(a,1,0)|0;else c=65536;d=lj(c)|0;Tg(8);zd(a,d);i=b;return 1}function Sh(a){a=a|0;var b=0;b=i;kj((sd(a,1,0)|0)&2147483647);Tg(4);i=b;return 0}function Th(a){a=a|0;var b=0;b=i;zd(a,(sd(a,1,0)|0)&-65536);i=b;return 1}function Uh(a){a=a|0;var b=0;b=i;zd(a,(sd(a,1,0)|0)>>31&-131072|65536);i=b;return 1}function Vh(a){a=a|0;var b=0,c=0;b=i;c=sd(a,1,0)|0;zd(a,(c|0)<0?0-c|0:c);i=b;return 1}function Wh(a){a=a|0;var b=0,c=0,d=0;b=i;c=sd(a,1,0)|0;d=sd(a,2,0)|0;zd(a,(c|0)<(d|0)?c:d);i=b;return 1}function Xh(a){a=a|0;var b=0,c=0,d=0;b=i;c=sd(a,1,0)|0;d=sd(a,2,0)|0;zd(a,(c|0)>(d|0)?c:d);i=b;return 1}function Yh(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0;b=i;c=sd(a,1,0)|0;d=sd(a,2,0)|0;e=sd(a,3,0)|0;f=(c|0)<(d|0);g=(c|0)<(e|0);do if(!(f&g))if((d|0)<(c|0)&(d|0)<(e|0)){h=g?c:e;break}else{h=f?c:d;break}else h=(d|0)<(e|0)?d:e;while(0);Tg(4);zd(a,h);i=b;return 1}function Zh(a){a=a|0;var b=0,c=0;b=i;c=sd(a,1,0)|0;Tg(4);zd(a,vm(c)|0);i=b;return 1}function _h(a){a=a|0;var b=0,c=0;b=i;c=sd(a,1,0)|0;Tg(4);zd(a,wm(c)|0);i=b;return 1}function $h(a){a=a|0;var b=0,c=0;b=i;c=sd(a,1,0)|0;Tg(8);zd(a,ij(c)|0);i=b;return 1}function ai(a){a=a|0;var b=0,c=0,d=0;b=i;c=sd(a,1,0)|0;d=sd(a,2,0)|0;Tg(4);zd(a,jj(c,d)|0);i=b;return 1}function bi(a){a=a|0;var b=0,c=0,d=0;b=i;c=sd(a,1,0)|0;d=sd(a,2,0)|0;Tg(-3);zd(a,d&c);i=b;return 1}function ci(a){a=a|0;var b=0,c=0,d=0;b=i;c=sd(a,1,0)|0;d=sd(a,2,0)|0;Tg(-3);zd(a,d|c);i=b;return 1}function di(a){a=a|0;var b=0,c=0,d=0;b=i;c=sd(a,1,0)|0;d=sd(a,2,0)|0;Tg(-3);zd(a,d^c);i=b;return 1}function ei(a){a=a|0;var b=0,c=0;b=i;c=sd(a,1,0)|0;Tg(-3);zd(a,~c);i=b;return 1}function fi(a){a=a|0;var b=0,c=0,d=0;b=i;c=sd(a,1,0)|0;d=(sd(a,2,0)|0)>>16;Tg(-3);zd(a,c<<d);i=b;return 1}function gi(a){a=a|0;var b=0,c=0,d=0;b=i;c=sd(a,1,0)|0;d=(sd(a,2,0)|0)>>16;Tg(-3);zd(a,c>>d);i=b;return 1}function hi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+4112|0;d=b;e=b+12|0;f=b+1040|0;g=b+16|0;c[e>>2]=255;if((kd(a)|0)<=0){i=b;return 0}h=vd(a,1,e)|0;if((h|0)==0){i=b;return 0}c[d>>2]=1077436;c[d+4>>2]=1078460;c[d+8>>2]=h;Qo(b+3088|0,297096,d)|0;if((dd(h)|0)==0){_k(1080516|0,b+2064|0,f,g);h=cp(c[c[17642]>>2]|0)|0;c[d>>2]=f;c[d+4>>2]=g;c[d+8>>2]=h;Qo(955480,297304,d)|0;Hg(955480);Ng();d=c[269357]|0;h=d+320|0;c[d+312>>2]=0;c[d+308>>2]=0;g=d+344|0;c[h+0>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;h=c[g>>2]|0;c[h+16>>2]=0;c[h+20>>2]=0;h=c[d+340>>2]|0;c[h+16>>2]=0;c[h+20>>2]=0;c[d+348>>2]=0;Fk(d);Vi(988432,c[271814]|0,0,0,17152)}else Hg(297328);Tg(4096);if((c[271492]|0)==0){i=b;return 0}c[271490]=1;c[271494]=30;i=b;return 0}function ii(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+4112|0;e=d;f=d+12|0;g=d+3088|0;h=d+2064|0;j=d+1040|0;k=d+16|0;c[f>>2]=255;if((c[271492]|0)!=0){Fa(297528)|0;i=d;return 0}if((kd(b)|0)>0){l=vd(b,1,f)|0;if((cp(l|0)|0)>>>0>511){Hg(297240);i=d;return 0}if((l|0)!=0?(a[l>>0]|0)!=0:0){c[e>>2]=1077436;c[e+4>>2]=1078460;c[e+8>>2]=l;Qo(g,297096,e)|0;_c(g,g);ad(g)|0;lp(1080516,g|0)|0;Tg(4096);_k(g,h,j,k);c[e>>2]=j;c[e+4>>2]=k;Qo(955480,297288,e)|0;Hg(955480);i=d;return 0}}Hg(297264);i=d;return 0}function ji(a){a=a|0;c[271490]=1;c[271491]=1;return 0}function ki(a){a=a|0;var b=0,d=0;b=i;c[271490]=2;d=Se(a,0,0,0)|0;i=b;return d|0}function li(a){a=a|0;var b=0,d=0;b=i;c[271490]=3;d=Se(a,0,0,0)|0;i=b;return d|0}function mi(a){a=a|0;var b=0,d=0;b=i;c[237482]=1;d=Se(a,0,0,0)|0;i=b;return d|0}function ni(b){b=b|0;var d=0,e=0,f=0;b=i;i=i+3088|0;d=b;e=b+1032|0;f=b+8|0;_k(1080516,b+2056|0,e,f);if((a[1080516]|0)!=0){if((a[f>>0]|0)==0)c[f>>2]=3698734;c[d>>2]=e;c[d+4>>2]=f;Qo(955480,297160,d)|0;Gg(955480,14)}d=c[c[17642]>>2]|0;f=ym(65536)|0;e=nj(d,f,cp(d|0)|0)|0;Am(f);Ig(297176,Zg(d)|0,8192);Ig(297192,cp(d|0)|0,65536);Ig(297216,e,15360);i=b;return 0}function oi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+4112|0;e=d;f=d+12|0;g=d+3088|0;h=d+2064|0;j=d+1040|0;k=d+16|0;c[f>>2]=255;if(((kd(b)|0)>0?(l=vd(b,1,f)|0,(l|0)!=0):0)?(a[l>>0]|0)!=0:0){c[e>>2]=1077436;c[e+4>>2]=1078460;c[e+8>>2]=l;Qo(g,297096,e)|0;uj(g);Tg(4096);_k(g,h,j,k);c[e>>2]=j;c[e+4>>2]=k;Qo(955480,297144,e)|0;Hg(955480);i=d;return 0}Hg(297120);i=d;return 0}function pi(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+4112|0;d=b;e=b+12|0;f=b+3088|0;g=b+1040|0;h=b+16|0;c[e>>2]=255;if((kd(a)|0)>0)j=vd(a,1,e)|0;else j=0;c[d>>2]=1077436;c[d+4>>2]=1078460;c[d+8>>2]=j;Qo(f,297096,d)|0;vj(f);Tg(4096);_k(f,b+2064|0,g,h);c[d>>2]=g;c[d+4>>2]=h;Qo(955480,297104,d)|0;Hg(955480);i=b;return 0}function qi(a){a=a|0;a=i;Hg(296728);Gg(296736,12);Hg(296728);Hg(296752);Hg(296792);Hg(296816);Hg(296840);Hg(296864);Hg(296904);Hg(296936);Hg(296728);Hg(296968);Hg(297e3);Hg(296728);Gg(297032,12);Gg(297064,12);Hg(296728);i=a;return 0}function ri(a){a=a|0;var b=0,d=0;b=i;d=(c[247108]<<16|0)/30|0;Tg(8);zd(a,d);i=b;return 1}function si(a){a=a|0;var b=0;b=i;Hg(296680);Hg(296704);yd(a);i=b;return 1}function ti(a){a=a|0;var b=0;b=i;yd(a);i=b;return 1}function ui(a){a=a|0;var b=0;b=i;yd(a);i=b;return 1}function vi(a){a=a|0;var b=0;b=i;yd(a);zd(a,0);i=b;return 2}function wi(a){a=a|0;var b=0;b=i;yd(a);i=b;return 1}function xi(a){a=a|0;var b=0;b=i;c[30]=1;Ji(a,0);i=b;return 1}function yi(a){a=a|0;var b=0;b=i;c[30]=1;Ji(a,1);i=b;return 1}function zi(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;i=i+16|0;d=b;c[d>>2]=255;if((kd(a)|0)>0?(e=vd(a,1,d)|0,(e|0)!=0):0){Hd(a,(qj(e)|0)==0&1);f=1}else f=0;i=b;return f|0}function Ai(a){a=a|0;var b=0,d=0;b=i;d=(sd(a,1,0)|0)>>16;if(d>>>0>63){zd(a,0);i=b;return 1}else{zd(a,c[1082612+(d<<2)>>2]|0);i=b;return 1}return 0}function Bi(a){a=a|0;var b=0,d=0,e=0;b=i;d=(sd(a,1,0)|0)>>16;e=sd(a,2,0)|0;if(d>>>0>63){i=b;return 0}c[1082612+(d<<2)>>2]=e;c[36]=1;i=b;return 0}function Ci(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,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=i;i=i+16|0;d=b+8|0;e=b+4|0;f=b;do if((kd(a)|0)>0){g=(sd(a,1,0)|0)>>16;if((g|0)==1){h=988448|0;j=1;k=5;break}else if((g|0)==0){l=c[271605]|0;m=(l|0)>1048480?67102720:l<<6;zd(a,m);Tg(16);i=b;return 1}else if((g|0)==2){k=4;break}l=(g|0)==5?458752:0;n=g+ -16|0;if(n>>>0<4){o=ik(n)|0;n=c[271814]|0;p=0;q=-65536;do{q=(o|0)==(n+(p*656|0)+12|0)?p<<16:q;p=p+1|0}while((p|0)!=64);if((q|0)==-65536){p=ik(g+ -12|0)|0;n=c[271814]|0;o=0;r=-65536;while(1){s=(p|0)==(n+(o*656|0)+12|0)?o<<16:r;o=o+1|0;if((o|0)==64){t=s;u=g;break}else r=s}}else{t=q;u=g}}else{t=l;u=g}}else k=4;while(0);if((k|0)==4){h=3648|0;j=2;k=5}if((k|0)==5){t=((c[h>>2]<<8|0)/139810|0)<<8;u=j}j=u+ -20|0;do if(j>>>0<4){h=ik(j)|0;if((h|0)==0){k=ik(u+ -16|0)|0;if((k|0)==0){v=-65536;break}else w=k}else w=h;v=(hk(w)|0)<<16}else v=t;while(0);if(!((u+ -32|0)>>>0<3)){m=v;zd(a,m);Tg(16);i=b;return 1}if((Si(988432,c[271814]|0,24365)|0)!=1){m=v;zd(a,m);Tg(16);i=b;return 1}wn(d,e,f);if((u|0)==32){t=c[280326]|0;w=c[71]|0;x=((((c[c[288546]>>2]|0)/-2|0)+(c[d>>2]|0)+((aa(t<<6,w)|0)/420|0)|0)*420|0)/(aa(w,t)|0)|0}else if((u|0)==33){t=c[280326]|0;x=((((c[(c[288546]|0)+4>>2]|0)/-2|0)+(c[e>>2]|0)+(t<<6)|0)*420|0)/(t*420|0)|0}else x=v;m=((u|0)==34?c[f>>2]|0:x)<<16;zd(a,m);Tg(16);i=b;return 1}function Di(a){a=a|0;a=i;ml(c[247113]|0,45,48,82,56,1);Kn(c[247113]|0,296672,c[247124]|0,64,50,3,7)|0;i=a;return 0}function Ei(a){a=a|0;c[247116]=1;return 0}function Fi(a){a=a|0;var b=0,d=0;b=i;d=c[247117]|0;c[247118]=d;c[247117]=0;zd(a,d<<16);i=b;return 1}function Gi(a){a=a|0;a=i;_i();$i();aj();i=a;return 0}function Hi(a){a=a|0;var b=0;b=i;c[271807]=(sd(a,1,0)|0)>>16;i=b;return 0}function Ii(a){a=a|0;var b=0,d=0;b=i;d=(sd(a,1,0)|0)>>16;c[247120]=d;c[237567]=d;i=b;return 0}function Ji(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;e=(sd(a,1,0)|0)>>16;f=(e|0)<7?e:7;e=(f|0)<0?0:f;if((kd(a)|0)!=0){if((kd(a)|0)>1)g=(sd(a,2,0)|0)>>16;else g=0;if((g|e)>>>0<8){f=c[988432+(g<<5)+(e<<2)+97992>>2]|0;if((b|0)==0)h=f;else h=((c[271806]|0)!=1?(c[988432+(g<<5)+(e<<2)+98248>>2]|0)!=0:0)?0:f}else h=0;Hd(a,h);Tg(4);i=d;return}h=(c[271806]|0)!=1;if((b|0)==0)if(h){b=0;f=0;while(1){if((c[988432+(((b|0)/8|0)<<5)+(((b|0)%8|0)<<2)+97992>>2]|0)==0)j=f;else j=1<<b|f;b=b+1|0;if((b|0)==16){k=j;break}else f=j}}else{j=0;f=0;while(1){if((c[988432+(((j|0)/8|0)<<5)+(((j|0)%8|0)<<2)+97992>>2]|0)==0)l=f;else l=1<<j|f;j=j+1|0;if((j|0)==16){k=l;break}else f=l}}else if(h){h=0;l=0;while(1){f=(h|0)%8|0;j=(h|0)/8|0;if((c[988432+(j<<5)+(f<<2)+98248>>2]|0)!=0?1:(c[988432+(j<<5)+(f<<2)+97992>>2]|0)==0)m=l;else m=1<<h|l;h=h+1|0;if((h|0)==16){k=m;break}else l=m}}else{m=0;l=0;while(1){if((c[988432+(((m|0)/8|0)<<5)+(((m|0)%8|0)<<2)+97992>>2]|0)==0)n=l;else n=1<<m|l;m=m+1|0;if((m|0)==16){k=n;break}else l=n}}Ad(a,k<<16);i=d;return}function Ki(b,e,f,g,h,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var 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;p=i;i=i+32|0;q=p+20|0;r=p+16|0;s=p+12|0;t=p+8|0;u=p+4|0;v=p;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=j;c[u>>2]=k;c[v>>2]=l;sl(b,e,q,r,s,t,u,v);l=(m|0)!=0;m=(n|0)==0;n=c[v>>2]|0;k=(n|0)>0;if(!(m|l^1)){if(!k){i=p;return}j=b+16|0;h=e+16|0;g=c[u>>2]|0;f=n;w=0;while(1){if((g|0)>0){x=~w;y=g;z=f;A=0;while(1){a[(c[(c[h>>2]|0)+((c[t>>2]|0)+w<<2)>>2]|0)+((c[s>>2]|0)+A)>>0]=c[o+(((d[(c[(c[j>>2]|0)+((c[r>>2]|0)+x+z<<2)>>2]|0)+(y+~A+(c[q>>2]|0))>>0]|0)&15)<<2)>>2];A=A+1|0;B=c[u>>2]|0;C=c[v>>2]|0;if((A|0)>=(B|0)){D=B;E=C;break}else{y=B;z=C}}}else{D=g;E=f}w=w+1|0;if((w|0)>=(E|0))break;else{g=D;f=E}}i=p;return}if(!m){if(!k){i=p;return}m=b+16|0;E=e+16|0;f=n;D=c[u>>2]|0;g=0;while(1){if((D|0)>0){w=~g;j=f;h=0;while(1){a[(c[(c[E>>2]|0)+((c[t>>2]|0)+g<<2)>>2]|0)+((c[s>>2]|0)+h)>>0]=c[o+(((d[(c[(c[m>>2]|0)+((c[r>>2]|0)+w+j<<2)>>2]|0)+((c[q>>2]|0)+h)>>0]|0)&15)<<2)>>2];h=h+1|0;z=c[u>>2]|0;y=c[v>>2]|0;if((h|0)>=(z|0)){F=z;G=y;break}else j=y}}else{F=D;G=f}g=g+1|0;if((g|0)>=(G|0))break;else{f=G;D=F}}i=p;return}if(l){if(!k){i=p;return}l=b+16|0;F=e+16|0;D=n;G=c[u>>2]|0;f=0;while(1){if((G|0)>0){g=G;m=0;do{a[(c[(c[F>>2]|0)+((c[t>>2]|0)+f<<2)>>2]|0)+((c[s>>2]|0)+m)>>0]=c[o+(((d[(c[(c[l>>2]|0)+((c[r>>2]|0)+f<<2)>>2]|0)+(g+~m+(c[q>>2]|0))>>0]|0)&15)<<2)>>2];m=m+1|0;g=c[u>>2]|0}while((m|0)<(g|0));H=c[v>>2]|0;I=g}else{H=D;I=G}f=f+1|0;if((f|0)>=(H|0))break;else{D=H;G=I}}i=p;return}else{if(!k){i=p;return}k=b+16|0;b=e+16|0;e=c[u>>2]|0;I=n;n=0;while(1){if((e|0)>0){G=0;do{a[(c[(c[b>>2]|0)+((c[t>>2]|0)+n<<2)>>2]|0)+((c[s>>2]|0)+G)>>0]=c[o+(((d[(c[(c[k>>2]|0)+((c[r>>2]|0)+n<<2)>>2]|0)+((c[q>>2]|0)+G)>>0]|0)&15)<<2)>>2];G=G+1|0;J=c[u>>2]|0}while((G|0)<(J|0));K=c[v>>2]|0;L=J}else{K=I;L=e}n=n+1|0;if((n|0)>=(K|0))break;else{e=L;I=K}}i=p;return}}function Li(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|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;j=i;if((b|0)==0|(d|0)==0|(g|0)==0|(h|0)==0){i=j;return}k=c[b>>2]|0;l=c[b+4>>2]|0;if((k|0)==(g|0)&(l|0)==(h|0)){Mi(b,d,0,0,e,f,g,h,0);i=j;return}m=(k<<16|0)/(g|0)|0;k=(l<<16|0)/(h|0)|0;n=((k|0)<0?l:0)+((k|0)/2|0)|0;l=c[d+36>>2]|0;if((l|0)>(f|0)){o=l-f|0;p=l;q=h-o|0;r=(aa(o,k)|0)+n|0}else{p=f;q=h;r=n}n=(m|0)/2|0;h=c[d+28>>2]|0;if((h|0)>(e|0)){f=h-e|0;s=h;t=g-f|0;u=(aa(f,m)|0)+n|0}else{s=e;t=g;u=n}n=c[d+32>>2]|0;g=n-s|0;e=(c[d+40>>2]|0)-p|0;f=(q|0)<(e|0)?q:e;e=f+p|0;if((f|0)<=0){i=j;return}f=b+16|0;b=d+16|0;if((((t|0)<(g|0)?t:g)|0)<=0){i=j;return}g=~t;t=s+ -1-n|0;n=~((t|0)<(g|0)?g:t);t=r;r=p;while(1){p=c[(c[f>>2]|0)+(t>>16<<2)>>2]|0;g=(c[(c[b>>2]|0)+(r<<2)>>2]|0)+s|0;d=u;q=0;while(1){h=a[p+(d>>16)>>0]|0;if(!((h&255)>15))a[g>>0]=h;q=q+1|0;if((q|0)==(n|0))break;else{g=g+1|0;d=d+m|0}}d=r+1|0;if((d|0)>=(e|0))break;t=t+k|0;r=d}i=j;return}function Mi(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|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;l=i;i=i+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]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;if((b|0)==0|(d|0)==0){i=l;return}sl(b,d,m,n,o,p,q,r);k=c[q>>2]|0;if((k|0)<1){i=l;return}j=c[r>>2]|0;if((j|0)<1){i=l;return}h=b+16|0;b=d+16|0;d=k;k=j;j=0;while(1){if((d|0)==0)s=k;else{g=(c[(c[b>>2]|0)+((c[p>>2]|0)+j<<2)>>2]|0)+(c[o>>2]|0)|0;f=(c[(c[h>>2]|0)+((c[n>>2]|0)+j<<2)>>2]|0)+(c[m>>2]|0)|0;e=d;while(1){t=a[f>>0]|0;if(!((t&255)>15))a[g>>0]=t;e=e+ -1|0;if((e|0)==0)break;else{g=g+1|0;f=f+1|0}}s=c[r>>2]|0}f=j+1|0;if((f|0)>=(s|0))break;d=c[q>>2]|0;k=s;j=f}i=l;return}function Ni(b,e,f,g,h,j,k,l,m){b=b|0;e=e|0;f=f|0;g=g|0;h=h|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;n=i;i=i+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]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=j;c[s>>2]=k;c[t>>2]=l;if((b|0)==0|(e|0)==0){i=n;return}sl(b,e,o,p,q,r,s,t);l=c[s>>2]|0;if((l|0)<1){i=n;return}k=c[t>>2]|0;if((k|0)<1){i=n;return}j=b+16|0;b=e+16|0;e=l;l=k;k=0;while(1){if((e|0)==0)u=l;else{h=(c[(c[b>>2]|0)+((c[r>>2]|0)+k<<2)>>2]|0)+(c[q>>2]|0)|0;g=(c[(c[j>>2]|0)+((c[p>>2]|0)+k<<2)>>2]|0)+(c[o>>2]|0)|0;f=e;while(1){v=c[m+(((d[g>>0]|0)&15)<<2)>>2]|0;if((v&240|0)==0)a[h>>0]=v;f=f+ -1|0;if((f|0)==0)break;else{h=h+1|0;g=g+1|0}}u=c[t>>2]|0}g=k+1|0;if((g|0)>=(u|0))break;e=c[s>>2]|0;l=u;k=g}i=n;return}function Oi(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,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=i;if((d|0)<0){i=f;return}g=1-d|0;h=d;d=0;a:while(1){j=h+b|0;k=h+c|0;l=b-h|0;m=c-h|0;n=g;o=d;while(1){p=o+c|0;rl(a,j,p,e);q=o+b|0;rl(a,q,k,e);rl(a,l,p,e);p=b-o|0;rl(a,p,k,e);r=c-o|0;rl(a,l,r,e);rl(a,p,m,e);rl(a,j,r,e);rl(a,q,m,e);s=o+1|0;if((n|0)>=0)break;if((h|0)<(s|0)){t=7;break a}else{n=(s<<1|1)+n|0;o=s}}o=h+ -1|0;if((h|0)>(s|0)){g=(s-o<<1|1)+n|0;h=o;d=s}else{t=7;break}}if((t|0)==7){i=f;return}}function Pi(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,j=0,k=0,l=0,m=0,n=0,o=0;f=i;if((d|0)<0){i=f;return}g=1-d|0;h=d;d=0;a:while(1){j=b-h|0;k=h+b|0;l=g;m=d;while(1){tl(a,j,k,m+c|0,e);tl(a,j,k,c-m|0,e);if((l|0)>-1)break;n=m+1|0;if((h|0)<(n|0)){o=7;break a}else{l=(n<<1|1)+l|0;m=n}}k=b-m|0;j=m+b|0;tl(a,k,j,h+c|0,e);tl(a,k,j,c-h|0,e);j=m+1|0;k=h+ -1|0;if((h|0)>(j|0)){g=(j-k<<1|1)+l|0;h=k;d=j}else{o=7;break}}if((o|0)==7){i=f;return}}function Qi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;a=i;if((e|0)==0){Am(b);f=0;g=(c[271605]|0)-d|0}else{h=zm(b,e)|0;j=c[271605]|0;if((b|0)==0)k=j;else{b=j-d|0;c[271605]=b;k=b}f=h;g=k+e|0}c[271605]=g;i=a;return f|0}function Ri(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;if(e>>>0>32767){Qc(297544);i=g;return}h=f&255;j=h>>>0>127?f|-256:h;k=(b|0)==0;if(!k)a[b+e+98828>>0]=f;if((e|0)<4096){b=e<<1&126;l=e>>6;m=d+4|0;a[(c[(c[(c[m>>2]|0)+16>>2]|0)+(l<<2)>>2]|0)+b>>0]=f&15;a[(c[(c[(c[m>>2]|0)+16>>2]|0)+(l<<2)>>2]|0)+(b|1)>>0]=f>>>4&15;i=g;return}if((e|0)<8192){b=e<<1&126;l=e>>6;m=d+4|0;a[(c[(c[(c[m>>2]|0)+16>>2]|0)+(l<<2)>>2]|0)+b>>0]=f&15;a[(c[(c[(c[m>>2]|0)+16>>2]|0)+(l<<2)>>2]|0)+(b|1)>>0]=f>>>4&15;a[(c[(c[(c[d+8>>2]|0)+16>>2]|0)+(e>>7<<2)>>2]|0)+(e&127)>>0]=f;i=g;return}if((e|0)<12288){b=e+ -8192|0;a[(c[(c[(c[d+8>>2]|0)+16>>2]|0)+(b>>7<<2)>>2]|0)+(b&127)>>0]=f;i=g;return}if((e|0)<12544){c[d+(e+ -12288<<2)+43292>>2]=h;i=g;return}if((e|0)<12800){b=e+ -12544|0;l=b&3;m=(b|0)/4|0;c[d+(m<<4)+(l<<2)+41996>>2]=f&127;b=1<<l;l=d+(m<<2)+43020|0;m=c[l>>2]&~b;c[l>>2]=m;if((f&128|0)==0){i=g;return}c[l>>2]=m|b;i=g;return}if((e|0)<17152){b=e+ -12800|0;m=(b|0)/68|0;l=(b|0)%68|0;if((l|0)<64){b=(l|0)/2|0;if((l&1|0)==0){c[d+(m*656|0)+(b*20|0)+28>>2]=f&63;n=d+(m*656|0)+(b*20|0)+32|0;c[n>>2]=c[n>>2]&4|f>>>6&3;i=g;return}else{n=d+(m*656|0)+(b*20|0)+32|0;c[n>>2]=c[n>>2]&3|f<<2&4;c[d+(m*656|0)+(b*20|0)+36>>2]=f>>>1&7;c[d+(m*656|0)+(b*20|0)+40>>2]=f>>>4&7;c[d+(m*656|0)+(b*20|0)+44>>2]=f&128;i=g;return}}if((l|0)==65){c[d+(m*656|0)+16>>2]=h;i=g;return}else if((l|0)==64){c[d+(m*656|0)+12>>2]=h;i=g;return}else if((l|0)==66){c[d+(m*656|0)+20>>2]=h;i=g;return}else if((l|0)==67){c[d+(m*656|0)+24>>2]=h;i=g;return}else{i=g;return}}if(k|(e|0)<24064){i=g;return}if((e|0)<24320){k=e+ -24064|0;m=k<<3&24;d=1082612+(((k|0)/4|0)<<2)|0;c[d>>2]=c[d>>2]&~(255<<m)|h<<m;c[36]=1;i=g;return}if((e|0)>=24448)if((e|0)<24576){i=g;return}else{m=e+ -24576|0;d=m<<1&126;k=m>>6;a[(c[(c[(c[247113]|0)+16>>2]|0)+(k<<2)>>2]|0)+d>>0]=f&15;a[(c[(c[(c[247113]|0)+16>>2]|0)+(k<<2)>>2]|0)+(d|1)>>0]=f>>>4&15;i=g;return}d=e+ -24320|0;if((d|0)<16){c[1086240+(d<<2)>>2]=h;i=g;return}if((d|0)<32){c[1086304+(e+ -24336<<2)>>2]=h;i=g;return}if((d|0)<36){c[1086368+(e+ -24352<<2)>>2]=h;nl(c[247113]|0,c[271592]|0,c[271593]|0,c[271594]|0,c[271595]|0);i=g;return}do switch(e|0){case 24360:{c[271601]=c[271601]&-256|j;i=g;return};case 24364:{c[271603]=h;i=g;return};case 24363:{c[271602]=c[271602]&255|j<<8;i=g;return};case 24359:{c[271598]=h;i=g;return};case 24387:{c[271813]=f&15;i=g;return};case 24357:{c[271596]=h;i=g;return};case 24358:{c[271597]=h;i=g;return};case 24384:{c[271810]=f&15;i=g;return};case 24362:{c[271602]=c[271602]&-256|j;i=g;return};case 24385:{c[271811]=f&15;i=g;return};case 24361:{c[271601]=c[271601]&255|j<<8;i=g;return};case 24386:{c[271812]=f&15;i=g;return};default:{i=g;return}}while(0)}function Si(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;if(e>>>0>32767){g=0;i=f;return g|0}h=(a|0)==0;if(h)j=0;else j=d[a+e+98828>>0]|0;do if((e|0)>=8192){if((e|0)<12288){a=e+ -8192|0;k=d[(c[(c[(c[b+8>>2]|0)+16>>2]|0)+(a>>7<<2)>>2]|0)+(a&127)>>0]|0;break}if((e|0)<12544){k=c[b+(e+ -12288<<2)+43292>>2]|0;break}if((e|0)<12800){a=e+ -12544|0;l=a&3;m=(a|0)/4|0;a=c[b+(m<<4)+(l<<2)+41996>>2]&127;k=(c[b+(m<<2)+43020>>2]&1<<l|0)==0?a:a|128;break}if((e|0)<17152){a=e+ -12800|0;l=(a|0)/68|0;m=(a|0)%68|0;if((m|0)<64){a=(m|0)/2|0;if((m&1|0)==0){k=c[b+(l*656|0)+(a*20|0)+32>>2]<<6&192|c[b+(l*656|0)+(a*20|0)+28>>2];break}else{k=c[b+(l*656|0)+(a*20|0)+36>>2]<<1&14|(c[b+(l*656|0)+(a*20|0)+32>>2]|0)>>>2&1|c[b+(l*656|0)+(a*20|0)+40>>2]<<4&112|c[b+(l*656|0)+(a*20|0)+44>>2]&128;break}}if((m|0)==65){k=c[b+(l*656|0)+16>>2]|0;break}else if((m|0)==64){k=c[b+(l*656|0)+12>>2]|0;break}else if((m|0)==66){k=c[b+(l*656|0)+20>>2]|0;break}else if((m|0)==67){k=c[b+(l*656|0)+24>>2]|0;break}else{k=j;break}}if(h){g=0;i=f;return g|0}if((e|0)<24064)k=j;else{if((e|0)<24320){l=e+ -24064|0;k=(c[1082612+(((l|0)/4|0)<<2)>>2]|0)>>>(l<<3&24)&255;break}if((e|0)>=24448)if((e|0)<24576){k=Sj(e+ -24448|0)|0;break}else{l=e+ -24576|0;m=l<<1&126;a=c[(c[(c[247113]|0)+16>>2]|0)+(l>>6<<2)>>2]|0;k=(d[a+(m|1)>>0]|0)<<4&240|(d[a+m>>0]|0)&15;break}m=e+ -24320|0;a:do if((m|0)<16)n=c[1086240+(m<<2)>>2]|0;else{if((m|0)<32){n=c[1086304+(e+ -24336<<2)>>2]|0;break}if((m|0)<36){n=c[1086368+(e+ -24352<<2)>>2]|0;break}switch(e|0){case 24360:{n=c[271601]&255;break a;break};case 24363:{n=c[271602]>>8;break a;break};case 24358:{n=c[271597]|0;break a;break};case 24359:{n=c[271598]|0;break a;break};case 24361:{n=c[271601]>>8;break a;break};case 24362:{n=c[271602]&255;break a;break};case 24364:{n=c[271603]|0;break a;break};case 24357:{n=c[271596]|0;break a;break};default:{n=j;break a}}}while(0);k=n&255}}else{m=e<<1&126;a=c[(c[(c[b+4>>2]|0)+16>>2]|0)+(e>>6<<2)>>2]|0;k=((d[a+(m|1)>>0]|0)<<4)+(d[a+m>>0]|0)|0}while(0);g=k&255;i=f;return g|0}function Ti(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,j=0;f=i;if((e|0)>32767){i=f;return}g=(e|0)>0;if((c|0)<(d|0)){if(g)h=0;else{i=f;return}do{Ri(a,b,h+c|0,Si(a,b,h+d|0)|0);h=h+1|0}while((h|0)!=(e|0));i=f;return}else{if(g)j=e;else{i=f;return}do{j=j+ -1|0;Ri(a,b,j+c|0,Si(a,b,j+d|0)|0)}while((j|0)>0);i=f;return}}function Ui(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;f=i;if((e+ -1|0)>>>0<32767)g=0;else{i=f;return}do{Ri(a,b,g+c|0,d);g=g+1|0}while((g|0)!=(e|0));i=f;return}function Vi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;if((g|0)>32767){i=h;return}if((g|0)>0){j=0;do{Ri(b,d,j+e|0,Si(0,c[17642]|0,j+f|0)|0);j=j+1|0}while((j|0)!=(g|0))}if((a[1084924]|0)==0){i=h;return}a[1084924]=0;c[271494]=30;i=h;return}function Wi(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;b=i;if((g|0)>32767){h=0;i=b;return h|0}if((g|0)>0){j=0;do{Ri(0,d,j+e|0,Si(988432,c[271814]|0,j+f|0)|0);j=j+1|0}while((j|0)!=(g|0))}do if((a[1080516]|0)!=0){j=(uo(1080516,297568)|0)==0;f=c[17642]|0;if(j){k=Wm(f,1080516)|0;break}else{k=Wc(f,1080516)|0;break}}else k=1;while(0);a[1084924]=0;f=(c[271494]|0)+30|0;c[271494]=(f|0)>60?60:f;h=(k|0)!=0?0:g;i=b;return h|0}function Xi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[e>>2]=0;c[f>>2]=0;c[g>>2]=0;do if(!(b>>>0>7)){rn(b-(c[29]|0)|0,e,f,g);if((a|0)>=4)if((a|0)==4){h=(c[g>>2]&9|0)!=0?255:0;break}else if((a|0)==5){h=(c[g>>2]&6|0)!=0?255:0;break}else if((a|0)==6){h=(c[g>>2]&64|0)!=0?255:0;break}else{h=0;break}j=c[e>>2]|0;k=aa((j|0)/2|0,j)|0;l=c[f>>2]|0;if(((aa((l|0)/2|0,l)|0)+k|0)>134217728)if((a|0)==1){k=j<<8;if((k+32767|0)>>>0>8388606){h=(k|0)<-32767?0:255;break}h=(k|0)/32768|0;break}else if((a|0)==3){k=l<<8;if((k+32767|0)>>>0>8388606){h=(k|0)<-32767?0:255;break}h=(k|0)/32768|0;break}else if((a|0)==0){k=0-j<<8;if((k+32767|0)>>>0>8388606){h=(k|0)<-32767?0:255;break}h=(k|0)/32768|0;break}else if((a|0)==2){k=0-l<<8;if((k+32767|0)>>>0>8388606){h=(k|0)<-32767?0:255;break}h=(k|0)/32768|0;break}else{h=0;break}else h=0}else h=0;while(0);i=d;return h|0}function Yi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;d=i;a:do if((b|0)==0){do if((a|0)==0){e=c[38]|0;if((e|0)==0){f=Il(276)|0;break}else{g=Il(e)|0;break a}}else f=0;while(0);if((a|0)==1){e=c[39]|0;if((e|0)==0)h=Il(275)|0;else h=Il(e)|0;j=h|f}else j=f;if((a|0)==2){e=c[40]|0;if((e|0)==0)k=Il(273)|0;else k=Il(e)|0;l=k|j}else l=j;if((a|0)==3){e=c[41]|0;if((e|0)==0)m=Il(274)|0;else m=Il(e)|0;n=m|l}else n=l;if((a|0)==4){e=c[42]|0;if((e|0)==0)o=Il(122)|0;else o=Il(e)|0;p=1;q=o|n}else{p=0;q=n}if((a|0)==5){e=c[43]|0;if((e|0)==0)r=Il(120)|0;else r=Il(e)|0;e=r|q;if(p){s=1;t=e;u=32}else{v=0;w=e;u=36}}else if(p){s=0;t=q;u=32}else x=q;if((u|0)==32){e=c[42]|0;if((e|0)==0)y=Il(99)|0;else y=Il(e)|0;e=y|t;if(s){v=1;w=e;u=36}else{z=0;A=e;u=40}}if((u|0)==36){e=c[43]|0;if((e|0)==0)B=Il(118)|0;else B=Il(e)|0;e=B|w;if(v){z=1;A=e;u=40}else{C=e;u=44}}if((u|0)==40){e=c[42]|0;if((e|0)==0)D=Il(110)|0;else D=Il(e)|0;e=D|A;if(z){C=e;u=44}else x=e}if((u|0)==44){e=c[43]|0;if((e|0)==0)E=Il(109)|0;else E=Il(e)|0;x=E|C}if((a|0)==6){e=c[50]|0;if((e|0)==0)F=Il(112)|0;else F=Il(e)|0;e=c[50]|0;if((e|0)==0)G=Il(13)|0;else G=Il(e)|0;g=F|x|G}else g=x}else g=0;while(0);if((b|0)==1){if((a|0)==0){x=c[44]|0;if((x|0)==0)H=Il(115)|0;else H=Il(x)|0;I=H|g}else I=g;if((a|0)==1){H=c[45]|0;if((H|0)==0)J=Il(102)|0;else J=Il(H)|0;K=J|I}else K=I;if((a|0)==2){I=c[46]|0;if((I|0)==0)L=Il(101)|0;else L=Il(I)|0;M=L|K}else M=K;if((a|0)==3){K=c[47]|0;if((K|0)==0)N=Il(100)|0;else N=Il(K)|0;O=N|M}else O=M;M=(a|0)==4;if(M){N=c[48]|0;if((N|0)==0)P=Il(304)|0;else P=Il(N)|0;Q=P|O}else Q=O;O=(a|0)==5;if(O){P=c[49]|0;if((P|0)==0)R=Il(97)|0;else R=Il(P)|0;S=R|Q}else S=Q;if(M){Q=c[48]|0;if((Q|0)==0)T=Il(9)|0;else T=Il(Q)|0;U=T|S}else U=S;if(O){O=c[49]|0;if((O|0)==0)V=Il(113)|0;else V=Il(O)|0;W=V|U}else W=U;if(M){M=c[48]|0;if((M|0)==0)X=Il(119)|0;else X=Il(M)|0;Y=X|W}else Y=W}else Y=g;g=c[1087192+(b<<2)>>2]|0;if((g|0)==-1){i=d;return Y|0}else{i=d;return(g&1<<a|0)!=0|Y|0}return 0}function Zi(){var a=0,b=0;a=i;b=0;do{c[1086936+(b<<5)>>2]=1;c[1086424+(b<<5)>>2]=0;c[1086940+(b<<5)>>2]=1;c[1086428+(b<<5)>>2]=0;c[1086944+(b<<5)>>2]=1;c[1086432+(b<<5)>>2]=0;c[1086948+(b<<5)>>2]=1;c[1086436+(b<<5)>>2]=0;c[1086952+(b<<5)>>2]=1;c[1086440+(b<<5)>>2]=0;c[1086956+(b<<5)>>2]=1;c[1086444+(b<<5)>>2]=0;c[1086960+(b<<5)>>2]=1;c[1086448+(b<<5)>>2]=0;c[1086964+(b<<5)>>2]=1;c[1086452+(b<<5)>>2]=0;b=b+1|0}while((b|0)!=8);c[271806]=15;i=a;return}function _i(){var a=0,b=0,d=0;a=i;b=0;do{d=1086424+(b<<5)|0;c[1086680+(b<<5)>>2]=c[d>>2];c[d>>2]=0;d=1086428+(b<<5)|0;c[1086684+(b<<5)>>2]=c[d>>2];c[d>>2]=0;d=1086432+(b<<5)|0;c[1086688+(b<<5)>>2]=c[d>>2];c[d>>2]=0;d=1086436+(b<<5)|0;c[1086692+(b<<5)>>2]=c[d>>2];c[d>>2]=0;d=1086440+(b<<5)|0;c[1086696+(b<<5)>>2]=c[d>>2];c[d>>2]=0;d=1086444+(b<<5)|0;c[1086700+(b<<5)>>2]=c[d>>2];c[d>>2]=0;d=1086448+(b<<5)|0;c[1086704+(b<<5)>>2]=c[d>>2];c[d>>2]=0;d=1086452+(b<<5)|0;c[1086708+(b<<5)>>2]=c[d>>2];c[d>>2]=0;b=b+1|0}while((b|0)!=8);i=a;return}function $i(){var a=0,b=0,d=0,e=0;a=i;b=0;do{d=0;do{if((Yi(d,b)|0)==0?(Xi(d,b)|0)<=128:0)c[988432+(b<<5)+(d<<2)+98504>>2]=0;else e=5;if(((e|0)==5?(e=0,(c[988432+(b<<5)+(d<<2)+98504>>2]|0)==0):0)?(c[988432+(b<<5)+(d<<2)+97992>>2]=1,(c[988432+(b<<5)+(d<<2)+98248>>2]|0)==0):0)c[271806]=15;d=d+1|0}while((d|0)!=8);b=b+1|0}while((b|0)!=8);i=a;return}function aj(){var a=0,b=0,d=0;a=i;b=c[271806]|0;if((b|0)<=0){i=a;return}d=b+ -1|0;c[271806]=(d|0)==0?4:d;i=a;return}function bj(a,b){a=a|0;b=b|0;var d=0;d=i;if((b|a)>>>0<8){i=d;return(((c[271806]|0)!=1?(c[988432+(b<<5)+(a<<2)+98248>>2]|0)!=0:0)?0:c[988432+(b<<5)+(a<<2)+97992>>2]|0)|0}else{i=d;return 0}return 0}function cj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;if((b|a)>>>0<8){e=c[988432+(b<<5)+(a<<2)+97992>>2]|0;f=(Xi(a,b)|0)==0;i=d;return(((c[271806]|0)!=1?(c[988432+(b<<5)+(a<<2)+98248>>2]|0)!=0:0)?0:f?0:e)|0}else{i=d;return 0}return 0}function dj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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=i;i=i+32|0;f=e;g=ym(131072)|0;h=ym(131072)|0;j=ym(131072)|0;a[d>>0]=0;if((a[b>>0]|0)==0){Am(g);Am(h);Am(j);i=e;return}k=h+1|0;l=j;m=b;b=0;n=1;while(1){if((b|0)>=65536){o=60;break}b=b+1|0;a[g>>0]=0;a[h>>0]=0;a[j>>0]=0;p=m;q=n;r=0;s=0;a:while(1){t=p;u=q;v=s;while(1){if((t|0)==0){w=0;break a}if(!((v+1e3|0)>>>0>1)){w=t;break a}if((u|0)==0)x=Wg(t)|0;else x=Xg(t)|0;v=Yg()|0;if((v|0)>-999&(v|0)!=-995)break;else{t=x;u=0}}y=x-t|0;hp(j+r|0,t|0,y|0)|0;z=y+r|0;a[j+z>>0]=0;p=x;q=0;r=z;s=v}if((a[j>>0]|0)==63){lp(h|0,j|0)|0;c[f>>2]=k;Qo(j,297576,f)|0}while(1){s=uo(j,297592)|0;if((s|0)==0)A=0;else{a[s>>0]=126;A=1}s=uo(j,297600)|0;if((s|0)==0){r=uo(j,297608)|0;if((r|0)==0){q=uo(j,297616)|0;if((q|0)==0){p=uo(j,297624)|0;if((p|0)==0)B=uo(j,297632)|0;else B=p}else B=q}else B=r}else B=s;if(!((B|0)!=0&B>>>0>j>>>0))if((A|0)==0)break;else continue;else C=B;while(1){D=C+ -1|0;if((a[D>>0]|0)==32&D>>>0>j>>>0)C=D;else{E=D;break}}while(1){if(!(E>>>0>j>>>0))break;v=E+ -1|0;t=a[v>>0]|0;if(t<<24>>24==9|t<<24>>24==41|t<<24>>24==32)break;else E=v}lp(g|0,E|0)|0;a[g+(D+1-E)>>0]=0;v=a[B>>0]|0;a[C>>0]=0;t=B+2|0;Xg(j)|0;s=Wg(t)|0;r=Yg()|0;b:do if((r&-2|0)==-1e3)F=s;else{q=r;p=s;z=t;y=0;G=0;c:while(1){d:do if((G|0)!=1)if(!((q|0)==40|(q|0)==91)){switch(q|0){case 35:case 37:case 42:case 43:case 45:case 46:case 47:case 94:{H=y;I=0;break d;break};case 41:{o=35;break c;break};default:{}}J=(G|0)==2;if(J){K=z;break c}else{H=y;I=J?10:2}}else{H=1;I=1}else{if((q|0)==40|(q|0)==91)L=y+1|0;else L=y;if((q|0)==41|(q|0)==93)M=L+ -1|0;else M=L;H=M;I=(M|0)==0?2:1}while(0);J=Wg(p)|0;q=Yg()|0;if((q&-2|0)==-1e3){F=J;break b}else{N=p;p=J;y=H;G=I;z=N}}if((o|0)==35){o=0;K=z+1|0}a[K>>0]=0;F=K+1|0}while(0);c[f>>2]=j;c[f+4>>2]=g;c[f+8>>2]=v<<24>>24;c[f+12>>2]=t;c[f+16>>2]=F;Qo(h,297640,f)|0;lp(j|0,h|0)|0}s=uo(j,297664)|0;if((s|0)==0){r=uo(j,297672)|0;if((r|0)!=0){O=r;o=43}}else{O=s;o=43}e:do if((o|0)==43?(o=0,(uo(j,297680)|0)==0):0){if((O|0)!=(j|0)?(s=a[O+ -1>>0]|0,!(s<<24>>24==9|s<<24>>24==32)):0)break;s=O+2|0;while(1){r=a[s>>0]|0;if(r<<24>>24==40){P=s;Q=1;break}else if(!(r<<24>>24==9|r<<24>>24==32))break e;s=s+1|0}while(1){R=P+1|0;S=a[R>>0]|0;if(S<<24>>24==10|S<<24>>24==0)break;if((Q|0)<=0)break;P=R;Q=(S<<24>>24==40&1)+Q+((S<<24>>24==41)<<31>>31)|0}if((Q|0)==0){s=h+(R-l)|0;t=S;v=R;while(1){if(t<<24>>24==10|t<<24>>24==0)break e;if((t+ -97<<24>>24&255)<26|t<<24>>24==95)break;r=(v|0)==0;G=r?0:v+1|0;if(r)break e;t=a[G>>0]|0;v=G}lp(h|0,j|0)|0;a[s>>0]=0;c[f>>2]=h;c[f+4>>2]=R;Qo(g,297688,f)|0;lp(j|0,g|0)|0}}while(0);jp(d|0,j|0)|0;v=d+(cp(d|0)|0)|0;a[v>>0]=10;a[v+1>>0]=0;if((a[w>>0]|0)==0){o=60;break}else{m=w;n=u}}if((o|0)==60){Am(g);Am(h);Am(j);i=e;return}}function ej(a,b){a=a|0;b=b|0;var c=0,d=0;c=i;d=sp(b|0,((b|0)<0)<<31>>31|0,a|0,((a|0)<0)<<31>>31|0)|0;a=fp(d|0,E|0,16)|0;i=c;return a|0}function fj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=i;if((b|0)==0){d=(a>>31&2)+2147483647|0;i=c;return d|0}else{e=kp(a|0,((a|0)<0)<<31>>31|0,16)|0;a=qp(e|0,E|0,b|0,((b|0)<0)<<31>>31|0)|0;d=a;i=c;return d|0}return 0}function gj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=i;if((b|0)==0){d=a;i=c;return d|0}e=(b|0)<0?0-b|0:b;if((a|0)<0)f=e-((0-a|0)%(e|0)|0)|0;else f=a;d=(f|0)%(e|0)|0;i=c;return d|0}function hj(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,g=0;c=i;Tg(8);d=b>>16;b=(d|0)<16?d:16;if((b|0)!=0)if((b|0)>=0)if((b|0)>1){b=(d|0)<16?d:16;d=1;e=a;while(1){f=pm(e,a)|0;d=d+1|0;if((d|0)==(b|0)){g=f;break}else e=f}}else g=a;else g=0;else g=65536;i=c;return g|0}function ij(a){a=a|0;var b=0,c=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;if((a|0)==0){c=0;i=b;return c|0}if((a|0)>2147024895){c=11862016;i=b;return c|0}d=(a|0)>65535;if(d){e=d?a:2147483647;f=d&1^1}else{d=qp(0,1,a|0,((a|0)<0)<<31>>31|0)|0;e=d;f=1}d=0;while(1){a=((d|0)<0)<<31>>31;g=sp(d|0,a|0,d|0,a|0)|0;a=fp(g|0,E|0,16)|0;if((a|0)>(e|0))break;else d=d+65536|0}a=d+ -65536|0;d=((a|0)<0)<<31>>31;g=sp(a|0,d|0,a|0,d|0)|0;d=fp(g|0,E|0,16)|0;g=e-d|0;if((a|0)==0)h=(g>>31&2)+2147483647|0;else{d=a<<1;e=kp(g|0,((g|0)<0)<<31>>31|0,16)|0;g=qp(e|0,E|0,d|0,((d|0)<0)<<31>>31|0)|0;h=g}g=h+a|0;a=((h|0)<0)<<31>>31;d=sp(h|0,a|0,h|0,a|0)|0;a=fp(d|0,E|0,16)|0;if((g|0)==0)j=(a>>31&2)+2147483647|0;else{d=g<<1;h=kp(a|0,((a|0)<0)<<31>>31|0,16)|0;a=qp(h|0,E|0,d|0,((d|0)<0)<<31>>31|0)|0;j=a}a=g-j|0;if((f|0)==0){c=a;i=b;return c|0}if((g|0)==(j|0)){c=2147483647;i=b;return c|0}j=qp(0,1,a|0,((a|0)<0)<<31>>31|0)|0;c=j;i=b;return c|0}function jj(a,b){a=a|0;b=b|0;var c=0,d=0;c=i;d=xm(a,b)|0;i=c;return d|0}function kj(a){a=a|0;var b=0,d=0,e=0;b=i;d=(a|0)==0?-559038737:a;c[74428]=d;a=d^-1095947846;c[74426]=a;e=a;a=d;d=0;do{e=(e<<16|e>>>16)+a|0;a=e+a|0;d=d+1|0}while((d|0)!=32);c[74426]=e;c[74428]=a;i=b;return}function lj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;if((a|0)==0){d=0;i=b;return d|0}e=c[74426]|0;f=c[74428]|0;g=(e<<16|e>>>16)+f|0;c[74426]=g;c[74428]=g+f;d=(g>>>0)%(a>>>0)|0;i=b;return d|0}function mj(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=ym(2064)|0;Bm(e,0,2064);c[e>>2]=pl(a,b,8)|0;c[e+12>>2]=pl(a,b,8)|0;c[e+4>>2]=pl(a,b,8)|0;c[e+8>>2]=pl(a,b,8)|0;i=d;return e|0}function nj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,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=i;ip(297792,0,256)|0;h=c[74446]|0;j=1;do{c[297792+(a[h+j>>0]<<2)>>2]=j;j=j+1|0}while((j|0)!=60);a[e>>0]=58;a[e+1>>0]=99;a[e+2>>0]=58;a[e+3>>0]=0;a[e+4>>0]=(f|0)/256|0;a[e+5>>0]=f;a[e+6>>0]=0;a[e+7>>0]=0;j=e+8|0;c[74704]=0;c[74706]=0;ip(298832,0,1024)|0;if((f|0)>0){h=j;k=0;while(1){l=f-k|0;m=(l|0)>17?17:l;l=(k|0)>3120?3120:k;if((l|0)>0&(m|0)>0){n=-1e5;o=0;p=k-l|0;do{a:do if((p|0)<(k|0)){l=k-p|0;q=0;r=p;while(1){if((a[b+r>>0]|0)!=(a[b+(r+l)>>0]|0)){s=q;break a}r=r+1|0;t=r-p|0;if(!((t|0)<(m|0)&(r|0)<(k|0))){s=t;break}else q=t}}else s=0;while(0);q=(s|0)>(o|0);o=q?s:o;n=q?p:n;p=p+1|0}while((p|0)<(k|0));p=k-n|0;if((o|0)>2){a[h>>0]=((p|0)/16|0)+60;a[h+1>>0]=(o<<4)+224+((p|0)%16|0);p=h+2|0;m=o+k|0;c[74704]=(c[74704]|0)+1;if((o|0)>17){c[74964]=(c[74964]|0)+1;u=p;v=m}else{u=p;v=m}}else w=15}else w=15;if((w|0)==15){w=0;m=b+k|0;a[h>>0]=c[297792+(d[m>>0]<<2)>>2];p=h+1|0;q=a[m>>0]|0;if((c[297792+((q&255)<<2)>>2]|0)==0){a[p>>0]=q;x=h+2|0}else x=p;p=k+1|0;c[74706]=(c[74706]|0)+1;q=298832+(d[b+p>>0]<<2)|0;c[q>>2]=(c[q>>2]|0)+1;u=x;v=p}if((v|0)<(f|0)){h=u;k=v}else{y=u;break}}}else y=j;j=y-e|0;y=cp(b|0)|0;if(j>>>0<y>>>0){z=j;i=g;return z|0}hp(e|0,b|0,y|0)|0;z=cp(b|0)|0;i=g;return z|0}function oj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=i;h=(d[b+4>>0]|0)<<8|(d[b+5>>0]|0);if((h|0)>(f|0)){j=1;i=g;return j|0}f=e+h|0;if((h|0)==0)k=e;else{h=b+8|0;b=e;while(1){l=a[h>>0]|0;m=l&255;n=h+1|0;if((l&255)<60){if(l<<24>>24==0){o=h+2|0;p=n}else{o=n;p=(c[74446]|0)+m|0}a[b>>0]=a[p>>0]|0;q=o;r=b+1|0}else{l=d[n>>0]|0;n=(l>>>4)+2|0;hp(b|0,b+(0-(l&15|(m<<4)+ -960))|0,n|0)|0;q=h+2|0;r=b+n|0}if(r>>>0<f>>>0){h=q;b=r}else{k=r;break}}}j=k-e|0;i=g;return j|0}
function qc(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function rc(){return i|0}function sc(a){a=a|0;i=a}function tc(a,b){a=a|0;b=b|0;if((p|0)==0){p=a;q=b}}function uc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function vc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function wc(a){a=a|0;E=a}function xc(){return E|0}function yc(){var a=0,b=0,d=0;a=i;b=c[271598]|0;d=b+6|0;c[271598]=d;if((d|0)<=122){i=a;return}c[271598]=b;b=c[247113]|0;d=0;do{vk(b,b,0,d+6|0,0,d,128,1);d=d+1|0;b=c[247113]|0}while((d|0)!=122);ml(b,0,122,127,127,0);Tg(65536);i=a;return}function zc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+64|0;e=d;if((_o(b,48,9)|0)==0){lp(1077436|0,b+10|0)|0;f=cp(1077436|0)|0;g=1077436+f|0;a:do if((f|0)<0)h=g;else{j=g;while(1){k=a[j>>0]|0;if(k<<24>>24==47|k<<24>>24==92){h=j;break a}k=j+ -1|0;if(k>>>0<(1077436|0)>>>0){h=k;break}else j=k}}while(0);a[h+1>>0]=0}if((_o(b,64,10)|0)==0){lp(1079484|0,b+11|0)|0;h=cp(1079484|0)|0;g=1079484+h|0;b:do if((h|0)<0)l=g;else{f=g;while(1){j=a[f>>0]|0;if(j<<24>>24==47|j<<24>>24==92){l=f;break b}j=f+ -1|0;if(j>>>0<(1079484|0)>>>0){l=j;break}else f=j}}while(0);a[l+1>>0]=0}if((_o(b,80,14)|0)==0){c[e>>2]=116;ko(b+14|0,96,e)|0}if((_o(b,69704,11)|0)==0){c[e>>2]=152;c[e+4>>2]=156;c[e+8>>2]=160;c[e+12>>2]=164;c[e+16>>2]=168;c[e+20>>2]=172;c[e+24>>2]=176;c[e+28>>2]=180;c[e+32>>2]=184;c[e+36>>2]=188;c[e+40>>2]=192;c[e+44>>2]=196;c[e+48>>2]=200;ko(b+11|0,69720,e)|0}if((_o(b,69760,10)|0)==0){c[e>>2]=280;ko(b+10|0,96,e)|0}if((_o(b,69776,6)|0)==0){c[e>>2]=284;ko(b+6|0,96,e)|0}if((_o(b,69784,11)|0)!=0){i=d;return 0}c[e>>2]=292;ko(b+11|0,96,e)|0;i=d;return 0}function Ac(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b;e=a+8|0;a=c[e>>2]|0;c[d>>2]=69816;fb(a|0,69800,d|0)|0;db(69824,37,1,c[e>>2]|0)|0;a=c[e>>2]|0;c[d>>2]=1077436;fb(a|0,69864,d|0)|0;db(69880,36,1,c[e>>2]|0)|0;a=c[e>>2]|0;c[d>>2]=1079484;fb(a|0,69920,d|0)|0;db(69936,65,1,c[e>>2]|0)|0;a=c[e>>2]|0;c[d>>2]=c[29];fb(a|0,70008,d|0)|0;db(70032,12,1,c[e>>2]|0)|0;a=c[e>>2]|0;c[d>>2]=c[38];fb(a|0,70048,d|0)|0;a=c[e>>2]|0;c[d>>2]=c[39];fb(a|0,70048,d|0)|0;a=c[e>>2]|0;c[d>>2]=c[40];fb(a|0,70048,d|0)|0;a=c[e>>2]|0;c[d>>2]=c[41];fb(a|0,70048,d|0)|0;a=c[e>>2]|0;c[d>>2]=c[42];fb(a|0,70048,d|0)|0;a=c[e>>2]|0;c[d>>2]=c[43];fb(a|0,70048,d|0)|0;a=c[e>>2]|0;c[d>>2]=c[44];fb(a|0,70048,d|0)|0;a=c[e>>2]|0;c[d>>2]=c[45];fb(a|0,70048,d|0)|0;a=c[e>>2]|0;c[d>>2]=c[46];fb(a|0,70048,d|0)|0;a=c[e>>2]|0;c[d>>2]=c[47];fb(a|0,70048,d|0)|0;a=c[e>>2]|0;c[d>>2]=c[48];fb(a|0,70048,d|0)|0;a=c[e>>2]|0;c[d>>2]=c[49];fb(a|0,70048,d|0)|0;a=c[e>>2]|0;c[d>>2]=c[50];fb(a|0,70048,d|0)|0;db(70056,2,1,c[e>>2]|0)|0;db(70064,52,1,c[e>>2]|0)|0;a=c[e>>2]|0;c[d>>2]=c[70];fb(a|0,70120,d|0)|0;db(70136,46,1,c[e>>2]|0)|0;a=c[e>>2]|0;c[d>>2]=c[71];fb(a|0,70184,d|0)|0;db(70200,70,1,c[e>>2]|0)|0;a=c[e>>2]|0;c[d>>2]=c[73];fb(a|0,70272,d|0)|0;i=b;return 0}function Bc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;a=i;i=i+1040|0;e=a;f=a+8|0;Fa(73760)|0;g=Xk(b,d)|0;c[e>>2]=g;Za(70296,e|0)|0;d=Yc(g)|0;Wk(g);if((d|0)==0){Ig(71400,c[35]|0,0);i=a;return}Fa(73816)|0;bd(d);Uc(c[17642]|0,1081540|0);tn(71352,f);c[e>>2]=f;c[e+4>>2]=1081540;Qo(1080516|0,71360,e)|0;c[e>>2]=1080516;Za(71368,e|0)|0;e=Um(1080516|0)|0;if((e|0)!=0){Fa(73864)|0;bd(e)}c[271487]=0;c[271596]=6;c[271490]=1;i=a;return}function Cc(a){a=a|0;a=i;Hg(71432);Fa(73792)|0;i=a;return}function Dc(){var b=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+1040|0;e=b;f=b+8|0;g=ym(32768)|0;h=0;while(1){j=Jb(71456)|0;if(!(j>>>0<256)){k=7;break}a[g+h>>0]=j;if((h|0)>32766)break;else h=h+1|0}if((k|0)==7){i=b;return}k=Rm()|0;h=k+44320|0;c[h>>2]=d[g+32769>>0];Xc(k,g);c[h>>2]=7;Fa(73816)|0;bd(k);tn(71352,f);tn(71560,f);c[e>>2]=f;c[e+4>>2]=1081540;Qo(1080516|0,71360,e)|0;c[e>>2]=1080516;Za(71368,e|0)|0;e=Um(1080516|0)|0;if((e|0)!=0){Fa(73864)|0;bd(e)}c[271487]=0;c[271596]=6;c[271490]=1;i=b;return}function Ec(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=i;i=i+16|0;f=e;g=e+4|0;if((b|0)>1){h=1;j=0}else{i=e;return}while(1){k=d+(h<<2)|0;l=c[k>>2]|0;a:do if((a[l>>0]|0)==45){m=l+1|0;n=(Zo(m,71632)|0)==0;o=(Zo(m,71640)|0)==0;p=(Zo(m,71648)|0)==0;q=(Zo(m,71656)|0)==0;if((Zo(m,71672)|0)==0){c[27]=1;r=0}else r=q?4:p?3:o?2:n?1:-1;n=(Zo(m,69776)|0)==0;if((Zo(m,71680)|0)==0){c[28]=1;s=0}else s=n?5:r}else{c[g>>2]=0;c[f>>2]=g;ko(l,71688,f)|0;switch(j|0){case 1:{c[280324]=c[g>>2];s=0;break a;break};case 0:{n=vo((cp(c[k>>2]|0)|0)+1|0)|0;c[6]=n;lp(n|0,c[k>>2]|0)|0;c[f>>2]=c[6];Qo(950312,71696,f)|0;yk(950312);s=0;break a;break};case 2:{c[280325]=c[g>>2];s=0;break a;break};case 3:{c[280326]=c[g>>2];s=0;break a;break};case 4:{c[29]=c[g>>2];s=0;break a;break};case 5:{n=c[g>>2]|0;m=(n|0)<1680?n:1680;c[71]=(m|0)<0?0:m;s=0;break a;break};default:{s=0;break a}}}while(0);h=h+1|0;if((h|0)==(b|0))break;else j=s}i=e;return}function Fc(){var a=0;a=i;ip(1120028|0,0,456)|0;c[280111]=2;c[280106]=0;c[280112]=7;c[280077]=1;c[280095]=8;c[280096]=0;i=a;return}function Gc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+1824|0;f=e;g=e+792|0;ip(104,0,69600)|0;Jb(72264)|0;wk(72552);Lk();Jk(1);Kk(2);Bm(988432,0,132876);Ec(b,d);xk()|0;Ec(b,d);d=c[280324]|0;if((d|0)==0){h=c[238657]|0;j=c[238658]|0}else{b=c[280325]|0;if((b|0)==0){c[280325]=d;k=d}else k=b;c[238657]=d;c[238658]=k;h=d;j=k}if((h|0)==0|(j|0)==0){c[238657]=580;c[238658]=540;l=580;m=540}else{l=h;m=j}if((c[280326]|0)==0){j=(((l|0)<(m|0)?l:m)|0)/128|0;c[280326]=(j|0)<1?1:j}if((c[71]|0)==0)c[71]=420;Pn(l,m,8,256)|0;if(!((a[1077436]|0)!=0?(m=sa(1077436,71720,f|0,-1)|0,ta(f|0)|0,(m|0)==0):0))tn(72560,1077436);if(!((a[1079484]|0)!=0?(m=sa(1079484,71720,f|0,-1)|0,ta(f|0)|0,(m|0)==0):0))tn(72568,1079484);ip(1120028,0,456)|0;c[280111]=2;c[280106]=0;c[280112]=7;c[280077]=1;c[280095]=8;c[280096]=0;c[271814]=Rm()|0;un(72576,g);m=Uk(g)|0;c[247121]=m;if((m|0)==0){Fa(73888)|0;hb(0)}g=c[c[m>>2]>>2]|0;c[g+20>>2]=0;c[247122]=Tm(g)|0;g=c[(c[c[247121]>>2]|0)+4>>2]|0;c[g+20>>2]=0;c[247123]=Sk(71560,g)|0;g=c[(c[c[247121]>>2]|0)+8>>2]|0;c[g+20>>2]=0;c[247124]=Sk(71560,g)|0;Sn(c[(c[c[247123]>>2]|0)+4>>2]|0);c[247113]=pl(128,128,8)|0;c[247114]=pl(128,128,8)|0;c[258209]=mj(128,128)|0;c[258210]=mj(128,128)|0;g=0;do{c[1032844+(g<<2)>>2]=mj(5,32)|0;g=g+1|0}while((g|0)!=64);c[247125]=pl(1,1,8)|0;c[247126]=pl(8,8,8)|0;c[2]=1;ip(70312,0,260)|0;g=Rm()|0;c[17642]=g;zl(c[g+4>>2]|0,2,2,5,5,7);zl(c[(c[17642]|0)+4>>2]|0,5,2,2,5,7);c[271487]=2;c[247108]=-15;Mg();Ng();Hg(71560);c[271596]=7;kl(c[247113]|0);kl(c[247114]|0);g=eb(0)|0;kj((on()|0)+g|0);tk();qk(0,0);c[8]=0;c[10]=0;g=Ek(c[c[17642]>>2]|0,65536)|0;c[269357]=g;c[g+300>>2]=4;c[g+304>>2]=6;Uj(16)|0;c[238676]=1;Gb(71728);i=e;return}function Hc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;if((c[280321]|c[271487]|0)!=0){i=d;return}e=cp(1085980|0)|0;if((e|0)>-1){f=e;e=c[271598]|0;while(1){ml(c[247113]|0,0,e,(f|0)>30?132:(f<<2)+12|0,e+5|0,0);f=f+ -30|0;if(!((f|0)>-1))break;else e=e+6|0}}if((b|0)!=0){Kn(c[247113]|0,72592,c[247124]|0,0,c[271598]|0,17,7)|0;Kn(c[247113]|0,1085980|0,c[247124]|0,8,c[271598]|0,17,7)|0}if((a|0)==0){i=d;return}a=c[271559]<<2;b=a+8|0;c[271599]=b;e=c[271598]|0;c[271600]=e;if((b|0)>124){b=((a+ -117|0)>>>0)/120|0;c[271599]=a+ -112+(aa(b,-120)|0);c[271600]=e+(b*6|0)+6}if((An()|0)==0){i=d;return}if(((on()|0)&256|0)==0){i=d;return}b=c[271599]|0;e=c[271600]|0;ml(c[247113]|0,b,e,b+3|0,e+4|0,8);i=d;return}function Ic(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;f=d&-3;if((f|0)==1){g=b+16|0;h=0;do{j=127;while(1){k=c[(c[g>>2]|0)+(h<<2)>>2]|0;a[k+j>>0]=a[k+((j|0)/2|0)>>0]|0;if((j|0)>0)j=j+ -1|0;else break}h=h+1|0}while((h|0)!=128)}h=d&-2;if((h|0)==2){d=b+16|0;g=127;while(1){j=(g|0)/2|0;k=0;do{l=c[d>>2]|0;a[(c[l+(g<<2)>>2]|0)+k>>0]=a[(c[l+(j<<2)>>2]|0)+k>>0]|0;k=k+1|0}while((k|0)!=128);if((g|0)>0)g=g+ -1|0;else break}}if((f|0)==5){f=b+16|0;g=0;do{d=0;do{k=c[(c[f>>2]|0)+(g<<2)>>2]|0;a[k+(127-d)>>0]=a[k+d>>0]|0;d=d+1|0}while((d|0)!=64);g=g+1|0}while((g|0)!=128)}if((h|0)!=6){i=e;return}h=b+16|0;b=0;do{g=127-b|0;f=0;do{d=c[h>>2]|0;a[(c[d+(g<<2)>>2]|0)+f>>0]=a[(c[d+(b<<2)>>2]|0)+f>>0]|0;f=f+1|0}while((f|0)!=128);b=b+1|0}while((b|0)!=64);i=e;return}function Jc(){var b=0,e=0,f=0,g=0,h=0,j=0,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=i;i=i+16|0;e=b+8|0;f=b+4|0;g=b;h=c[280326]|0;if((c[271491]|0)!=0){i=b;return}j=c[71]|0;k=h<<7;l=(aa(k,j)|0)/420|0;m=c[288546]|0;n=h<<6;h=((c[m>>2]|0)/2|0)-((aa(j,n)|0)/420|0)|0;j=((c[m+4>>2]|0)/2|0)-n|0;n=c[280323]|0;m=(c[271487]|0)==0;do if((n|0)!=0&m){if((n|0)==1){yj();o=c[280323]|0}else o=n;if((o|0)==2)Ej()}else if((c[271488]|0)==0){if(!(m&(c[271490]|0)!=1))break;Hc(1,1);break}else{ml(c[247113]|0,0,0,128,128,5);ml(c[247113]|0,0,0,128,7,8);ml(c[247113]|0,0,121,128,127,8);Fl(7,0);wn(e,f,g);p=(c[f>>2]|0)-j|0;q=c[280326]|0;r=(((c[e>>2]|0)-h|0)*420|0)/(aa(c[71]|0,q)|0)|0;c[e>>2]=r;s=(p|0)/(q|0)|0;c[f>>2]=s;q=c[280122]|0;if((q|0)==0)break;p=c[(c[c[247123]>>2]|0)+(q<<2)>>2]|0;q=c[p>>2]|0;t=c[p+4>>2]|0;ol(p,c[247113]|0,0,0,r-((q|0)/2|0)|0,s-((t|0)/2|0)|0,q,t);break}while(0);do if((c[271494]|0)==0){if(!((c[247116]|0)==0|(c[271487]|0)==0)){c[247117]=1;break}if((c[271490]|0)==0)vk(c[247113]|0,c[247114]|0,0,0,0,0,128,128)}while(0);f=c[18150]|0;if((f|0)==0){e=pl(128,128,8)|0;c[18150]=e;u=e}else u=f;c[271604]=1;if((Si(988432,c[271814]|0,24416)|0)!=173)c[271604]=0;if((Si(988432,c[271814]|0,24417)|0)!=223)c[271604]=0;if((Si(988432,c[271814]|0,24418)|0)!=173)c[271604]=0;if((Si(988432,c[271814]|0,24419)|0)==237)if((c[271604]|0)==0)v=27;else{f=u+12|0;e=0;do{a[(c[f>>2]|0)+e>>0]=c[1086304+(((d[(c[(c[247114]|0)+12>>2]|0)+e>>0]|0)&15)<<2)>>2]&143;e=e+1|0}while((e|0)!=16384)}else{c[271604]=0;v=27}if((v|0)==27){v=u+12|0;e=0;do{a[(c[v>>2]|0)+e>>0]=c[1086304+(((d[(c[(c[247114]|0)+12>>2]|0)+e>>0]|0)&15)<<2)>>2]&15;e=e+1|0}while((e|0)!=16384)}if((c[271487]|0)==1&(c[271492]|0)!=0)Ic(u,c[271603]|0);e=on()|0;if((e|0)<(c[280072]|0)){ml(u,0,121,128,127,8);Kn(u,1120032|0,c[247124]|0,1,122,1,c[280073]|0)|0}e=c[271494]|0;if((e|0)>0?(c[271487]|0)==1&(c[271492]|0)!=0:0)ol(c[(c[c[247123]>>2]|0)+((((e|0)/2|0|0)%12|0)+212<<2)>>2]|0,u,0,0,3,3,12,12);do if((c[237565]|0)!=0){ml(u,32,46,95,82,0);ul(u,32,46,95,82,7);Kn(u,72608,c[247124]|0,44,50,1,7)|0;Kn(u,72624,c[247124]|0,44,58,1,7)|0;Kn(u,72640,c[247124]|0,44,66,1,7)|0;e=c[247124]|0;if((c[280323]|0)==2)Kn(u,71680,e,44,74,1,7)|0;else Kn(u,72656,e,44,74,1,7)|0;ol(c[(c[c[247123]>>2]|0)+732>>2]|0,u,0,0,34,(c[911]<<3)+49|0,7,7);e=(Bj(c[270974]|0,1083900|0)|0)==0;v=c[(c[c[247123]>>2]|0)+752>>2]|0;if(e){Al(v,u,0,0,82,66,7,7,5,0);break}else{ol(v,u,0,0,82,66,7,7);break}}while(0);ml(c[288582]|0,0,0,800,720,0);wl(u,c[288582]|0,h,j,l,k,0);i=b;return}function Kc(a){a=a|0;var b=0;if((a+ -65<<24>>24&255)<26)b=0;else b=a<<24>>24>31&1;return b|0}function Lc(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0;a=i;i=i+1040|0;b=a;d=a+8|0;if((c[280322]|0)==0){i=a;return}c[b>>2]=1077436;c[b+4>>2]=1078460;Qo(d,72672,b)|0;e=c[280321]|0;if((e|0)==2){f=sa(d|0,71720,1120496|0,-16385)|0;c[280321]=3;g=f;h=11}else if((e|0)!=0){e=lb(1120496|0)|0;f=c[280321]|0;if((f|0)==1){j=e;h=6}else if((f|0)==3){g=e;h=11}}else{c[b>>2]=1078460;Qo(955480,72680,b)|0;Gg(955480,12);b=sa(d|0,71720,1120496|0,16384)|0;c[280321]=1;j=b;h=6}do if((h|0)==6){if((j|0)!=0){c[280321]=2;break}if((Zo(1120752|0,72696)|0)!=0?(Zo(1120752|0,72704)|0)!=0:0){Gg(1120752|0,14);c[280322]=(c[280322]|0)+ -1}}else if((h|0)==11){if((g|0)!=0){ta(1120496|0)|0;c[280321]=0;break}if((uo(1120752|0,72712)|0)!=0){Hg(1120752|0);c[280322]=(c[280322]|0)+ -1;break}if((c[280252]&16384|0)==0){Gg(1120752|0,5);c[280322]=(c[280322]|0)+ -1}}while(0);if(!((c[280322]|0)==0&(c[280321]|0)!=0)){i=a;return}Gg(72720,12);i=a;return}function Mc(){var a=0,b=0,d=0,e=0,f=0,g=0;a=i;if((bj(2,0)|0)!=0)c[911]=(c[911]|0)+ -1;b=(bj(3,0)|0)==0;d=c[911]|0;if(b)e=d;else{b=d+1|0;c[911]=b;e=b}b=c[910]|0;if((e|0)>-1)f=e;else f=b-((0-e|0)%(b|0)|0)|0;c[911]=(f|0)%(b|0)|0;if(((bj(4,0)|0)==0?(bj(5,0)|0)==0:0)?(bj(6,0)|0)==0:0)g=14;else g=10;do if((g|0)==10){b=c[911]|0;if((b|0)==0){c[237565]=0;break}else if((b|0)==1){c[237565]=0;c[271490]=1;g=14;break}else if((b|0)==3){c[237565]=0;c[271490]=2;g=14;break}else{g=14;break}}while(0);if((g|0)==14?(c[237565]|0)!=0:0){i=a;return}Zi();i=a;return}function Nc(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;b=i;i=i+16|0;d=b;e=c[247108]|0;f=e+ -10|0;switch(e|0){case 14:{g=0;do{h=0;do{a[(c[(c[(c[247113]|0)+16>>2]|0)+(g<<2)>>2]|0)+h>>0]=(((h+g|0)/8|0)&7)+6;h=h+4|0}while((h|0)<128);g=g+2|0}while((g|0)<128);switch(e|0){case 45:{j=23;break};case 50:{j=24;break};case 25:{j=21;break};case 40:{j=22;break};case 22:{k=0;j=17;break};case 17:{l=0;j=9;break};case 19:{m=0;j=13;break};default:j=25}break};case 11:{g=0;do{h=(g|0)/32|0;n=2;do{o=h+(um(4)|0)&255;a[(c[(c[(c[247113]|0)+16>>2]|0)+(g<<2)>>2]|0)+n>>0]=o;n=n+8|0}while((n|0)<128);g=g+1|0}while((g|0)!=128);j=25;break};case 45:{j=23;break};case 50:{j=24;break};case 25:{j=21;break};case 40:{j=22;break};case 22:{k=0;j=17;break};case 17:{l=0;j=9;break};case 19:{m=0;j=13;break};default:j=25}if((j|0)==9){while(1){j=0;g=2;do{n=(um(4)|0)+10&255;a[(c[(c[(c[247113]|0)+16>>2]|0)+(l<<2)>>2]|0)+g>>0]=n;g=g+4|0}while((g|0)<128);l=l+3|0;if((l|0)>=128)break;else j=9}switch(e|0){case 45:{j=23;break};case 50:{j=24;break};case 25:{j=21;break};case 40:{j=22;break};case 22:{k=0;j=17;break};case 19:{m=0;j=13;break};default:j=25}}if((j|0)==13){while(1){j=0;l=1;do{g=c[(c[(c[247113]|0)+16>>2]|0)+(m<<2)>>2]|0;a[g+l>>0]=a[g+(l+1)>>0]|0;l=l+2|0}while((l|0)<127);m=m+1|0;if((m|0)==128)break;else j=13}switch(e|0){case 45:{j=23;break};case 50:{j=24;break};case 25:{j=21;break};case 40:{j=22;break};case 22:{k=0;j=17;break};default:j=25}}if((j|0)==17){while(1){j=0;if((k&3|0)!=0){m=0;do{a[(c[(c[(c[247113]|0)+16>>2]|0)+(k<<2)>>2]|0)+m>>0]=0;m=m+1|0}while((m|0)!=128)}k=k+1|0;if((k|0)==128)break;else j=17}if((e|0)==45)j=23;else if((e|0)==50)j=24;else if((e|0)==25)j=21;else if((e|0)==40)j=22;else j=25}if((j|0)==21){kl(c[247113]|0);j=25}else if((j|0)==22){kl(c[247113]|0);gk((c[247122]|0)+12|0);Hg(71560);Hg(71560);vk(c[(c[c[247123]>>2]|0)+8>>2]|0,c[247113]|0,0,0,1,1,40,10);c[271596]=6}else if((j|0)==23){Hg(72736);vk(c[(c[c[247123]>>2]|0)+8>>2]|0,c[247113]|0,0,0,1,1,40,10)}else if((j|0)==24){c[271596]=13;Hg(72752);c[271596]=6;Hg(71560);k=955480;m=72792;l=k+20|0;do{a[k>>0]=a[m>>0]|0;k=k+1|0;m=m+1|0}while((k|0)<(l|0));Hg(955480);Hg(71560)}if((j|0)==25?(f|0)==70&(c[28]|0)!=0:0){c[271487]=0;c[271596]=6;Nj();c[280323]=2}j=(c[27]|0)!=0;m=c[26]|0;if((f|0)==100&(m|0)!=0&j)c[271490]=1;if(!((m|0)==0|(f|0)!=60|j))c[271487]=0;if((e|0)==90){yk(71568);c[d>>2]=0;Qo(950312,71592,d)|0;yk(950312);d=c[6]|0;if((d|0)!=0?(a[d>>0]|0)!=0:0){Db(d|0,0,1,1);i=b;return}yk(71600);Dc();i=b;return}else if((e|0)==160){Hg(72816);i=b;return}else if((e|0)==460){Hg(72832);i=b;return}else{i=b;return}}function Oc(a,b){a=a|0;b=b|0;var d=0;d=i;lp(1120032|0,a|0)|0;c[280072]=(on()|0)+b;c[280073]=(c[280073]|0)==15?7:15;i=d;return}function Pc(){var b=0,d=0,e=0;b=i;Sm(c[271814]|0);Sm(c[17642]|0);Gk(c[269357]|0);Bm(1080512|0,0,39980);ip(1120028|0,0,456)|0;c[280111]=2;c[280106]=0;c[280112]=7;c[280077]=1;c[280095]=8;c[280096]=0;a[1078460]=0;c[271814]=Rm()|0;d=Rm()|0;c[17642]=d;e=Ek(c[d>>2]|0,65536)|0;c[269357]=e;c[e+300>>2]=4;c[e+304>>2]=6;c[271487]=2;c[247108]=-15;Mg();Ng();Hg(71560);c[271596]=7;kl(c[247113]|0);kl(c[247114]|0);e=eb(0)|0;kj((on()|0)+e|0);tk();qk(0,0);c[8]=0;c[10]=0;i=b;return}function Qc(a){a=a|0;var b=0;b=i;c[271490]=4;lp(72848,a|0)|0;i=b;return}function Rc(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=i;if(!((c[271487]|0)!=0|(c[271488]|0)>>>0<2))_a();c[4]=1;c[271798]=-1;c[271799]=-1;c[271800]=-1;c[271801]=-1;c[271802]=-1;c[271803]=-1;c[271804]=-1;c[271805]=-1;d=Jb(73368)|0;a:do if((d|0)>0){e=Jb(73472)|0;switch(d|0){case 3:{if((c[238662]|0)==0){c[238662]=256;f=1120032|0;g=73600|0;h=f+9|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));c[280072]=(on()|0)+1e3;c[280073]=(c[280073]|0)==15?7:15;c[238663]=c[238662];break a}else{c[238662]=0;f=1120032|0;g=73584|0;h=f+10|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));c[280072]=(on()|0)+1e3;c[280073]=(c[280073]|0)==15?7:15;c[238663]=c[238662];break a}break};case 5:{c[237565]=e;break a;break};case 2:{j=(e|0)<256?e:256;k=(j|0)<0?0:j;c[238662]=k;c[238663]=k;break a;break};case 4:{c[237565]=(c[237565]|0)==0&1;break a;break};case 1:{c[271490]=1;break a;break};default:break a}}while(0);Jb(73616)|0;c[271798]=Jb(73632)|0;c[271799]=Jb(73632)|0;c[271800]=Jb(73632)|0;c[271801]=Jb(73632)|0;c[271802]=Jb(73632)|0;c[271803]=Jb(73632)|0;c[271804]=Jb(73632)|0;c[271805]=Jb(73632)|0;c[280122]=89;g=c[271490]|0;if((g|0)==1){Qg();l=c[271490]|0;m=14}else if((g|0)!=0){l=g;m=14}if((m|0)==14){if((l|0)==2){Pg();n=c[271490]|0}else n=l;if((n|0)==3){Pc();o=c[271490]|0}else o=n;if((o|0)==4){Pg();Mg();Hg(71560);Hg(72848)}c[271490]=0}if((c[271487]|0)!=1)c[237565]=0;o=on()|0;n=(c[18340]|0)+(((o-(c[18438]|0)<<16|0)/1e3|0)*30|0)|0;c[18438]=o;o=(n|0)<262144?n:262144;n=(o|0)<0?0:o;c[18340]=n;if((c[237565]|0)!=0){if((n|0)>65535){_i();$i();aj();b:do if((Gl()|0)!=0){c:while(1){o=Hl()|0;do if((Il(-5)|0)!=0){l=o<<24>>24;if((l|0)==114)break c;else if((l|0)!=115)break;gd()}while(0);if((Gl()|0)==0)break b}hd();c[271490]=1}while(0);Mc();c[18340]=(c[18340]|0)+ -65536}}else{if((n|0)<65536){i=b;return}do if((c[271487]|0)==1){d:do if((Gl()|0)!=0){e:while(1){n=Hl()|0;do if((Il(-5)|0)!=0){e=n<<24>>24;if((e|0)==114)break e;else if((e|0)!=115)break;gd()}while(0);if((Gl()|0)==0)break d}hd();c[271490]=1}while(0);if((c[271807]|0)<2?(_i(),$i(),(c[30]|0)!=0):0){aj();c[30]=0}n=c[271494]|0;if((n|0)==0){Sg();break}else{c[271494]=n+ -1;break}}else{_i();$i();aj();n=c[280323]|0;if((n|0)==1){xj();p=c[280323]|0}else p=n;if((p|0)==2)Oj()}while(0);if((c[271487]|0)==2)Nc();c[18340]=(c[18340]|0)+ -65536;c[247108]=(c[247108]|0)+1}if((c[271488]|c[271487]|0)==0){p=c[280321]|0;n=c[280322]|0;if((p|0)!=0&(n|0)>0){Lc();q=c[280321]|0;r=c[280322]|0}else{q=p;r=n}if((q|0)!=0&(r|0)>0)Lc()}if((c[271493]|0)!=0)c[271493]=0;if((c[1041]|0)!=0){hp(960392,3652|0,512)|0;c[1041]=0}if((c[271487]|0)==1&(c[271492]|0)!=0){i=b;return}c[271494]=0;i=b;return}function Sc(){var a=0;a=i;pj()|0;if((c[270396]|0)!=0)$c(1080516|0,0)|0;if((c[280321]|0)==0){i=a;return}ta(1120496|0)|0;i=a;return}function Tc(a,b){a=a|0;b=b|0;var c=0,d=0;c=i;d=Dk(a,b)|0;i=c;return d|0}function Uc(b,c){b=b|0;c=c|0;var d=0,e=0;d=i;e=ym(32768)|0;if((Vc(b,e)|0)==0){Dn(e,32768,c)|0;a[c+40>>0]=0;Am(e);i=d;return}else{Am(e);i=d;return}}function Vc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;Bm(d,0,32768);f=0;do{a[d+f>>0]=Si(0,b,f)|0;f=f+1|0}while((f|0)!=17152);f=ym(262144)|0;Bm(f,0,262144);g=c[b>>2]|0;b=nj(g,f,cp(g|0)|0)|0;if((b|0)>15360){Am(f);h=1;i=e;return h|0}else{hp(d+17152|0,f|0,b|0)|0;Am(f);h=0;i=e;return h|0}return 0}function Wc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+32|0;g=f;h=ym(32769)|0;Bm(h,0,32769);j=Vc(b,h)|0;a[h+32768>>0]=7;if((j|0)!=0){Am(h);k=1;i=f;return k|0}j=pl(160,205,32)|0;vk(c[(c[c[247123]>>2]|0)+580>>2]|0,j,0,0,0,0,160,205);l=c[b+44316>>2]|0;if((l|0)!=0)vk(l,j,0,0,16,24,128,128);l=c[b>>2]|0;b=l;while(1){m=a[b>>0]|0;n=m<<24>>24==10;o=b+1|0;if(m<<24>>24!=0&(n^1))b=o;else break}m=n?o:b;b=g+0|0;o=b+32|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(o|0));if((a[l>>0]|0)==45?(a[l+1>>0]|0)==45:0){n=l+2|0;p=(a[n>>0]|0)==32?l+3|0:n;n=0;while(1){l=a[p>>0]|0;if(l<<24>>24==10|l<<24>>24==0)break;if((n|0)>=31)break;a[g+n>>0]=l;p=p+1|0;n=n+1|0}Kn(j,g,c[247124]|0,18,167,1,-1808)|0}b=g+0|0;o=b+32|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(o|0));if((a[m>>0]|0)==45?(a[m+1>>0]|0)==45:0){b=m+2|0;o=(a[b>>0]|0)==32?m+3|0:b;b=0;while(1){m=a[o>>0]|0;if(m<<24>>24==10|m<<24>>24==0)break;if((b|0)>=31)break;a[g+b>>0]=m;o=o+1|0;b=b+1|0}Kn(j,g,c[247124]|0,18,175,1,-1808)|0}Kn(j,73912,c[247124]|0,18,187,1,-6250336)|0;g=0;b=c[j+12>>2]|0;while(1){o=d[b>>0]&252;a[b>>0]=o;if((g|0)<131076)a[b>>0]=(d[h+((g|0)/4|0)>>0]|0)>>>(g<<1&6)&3|o;g=g+1|0;if((g|0)==131200)break;else b=b+1|0}dl(e,j,0)|0;ql(j)|0;Am(h);k=0;i=f;return k|0}function Xc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;g=0;do{Ri(0,b,g,d[e+g>>0]|0);g=g+1|0}while((g|0)!=17152);g=c[b>>2]|0;if((g|0)==0){h=ym(65537)|0;c[b>>2]=h;Bm(h,0,65537);j=c[b>>2]|0}else j=g;g=e+17152|0;if((a[g>>0]|0)==58){oj(g,j,65536)|0;i=f;return}else{hp(j|0,g|0,15360)|0;i=f;return}}function Yc(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+16|0;f=e;c[35]=0;g=bl(b)|0;if((g|0)==0){c[35]=1;h=0;i=e;return h|0}if((c[g>>2]|0)==160?(c[g+4>>2]|0)==205:0){b=Rm()|0;j=c[g+12>>2]|0;k=0;do{l=k<<2;a[j+k>>0]=d[j+(l|1)>>0]<<2&12|d[j+l>>0]&3|d[j+(l|2)>>0]<<4&48|d[j+(l|3)>>0]<<6;k=k+1|0}while((k|0)!=32769);k=j+32768|0;c[b+44320>>2]=d[k>>0];if((d[k>>0]|0)>7){ql(g)|0;c[f>>2]=d[k>>0];Qo(955480,73936,f)|0;Hg(955480);c[35]=3;h=0;i=e;return h|0}else m=0;do{Ri(0,b,m,d[j+m>>0]|0);m=m+1|0}while((m|0)!=17152);m=c[b>>2]|0;if((m|0)==0){f=ym(65537)|0;c[b>>2]=f;Bm(f,0,65537);n=c[b>>2]|0}else n=m;m=j+17152|0;if((a[m>>0]|0)==58)oj(m,n,65536)|0;else hp(n|0,m|0,15360)|0;ql(g)|0;c[35]=0;h=b;i=e;return h|0}ql(g)|0;c[35]=2;h=0;i=e;return h|0}function Zc(a){a=a|0;var b=0,c=0,d=0;b=i;c=Vk(a,73960)|0;if((c|0)==0){d=0;i=b;return d|0}a=Yc(c)|0;Wk(c);d=a;i=b;return d|0}function _c(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;i=i+3088|0;e=d;f=d+2064|0;g=d+1040|0;h=d+16|0;lp(b|0,a|0)|0;if((uo(b,73968)|0)!=0){i=d;return}_k(a,f,g,h);c[e>>2]=f;c[e+4>>2]=g;c[e+8>>2]=h;Qo(b,73976,e)|0;i=d;return}function $c(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+4096|0;f=e+3072|0;g=e+2048|0;h=e;j=e+1024|0;if((a[b>>0]|0)==0){k=g+0|0;l=73992;m=k+9|0;do{a[k>>0]=a[l>>0]|0;k=k+1|0;l=l+1|0}while((k|0)<(m|0));c[h>>2]=3698734}else _k(b,f,g,h);tn(74008,j);jp(j|0,g|0)|0;jp(j|0,h|0)|0;if((d|0)==0){ad(j)|0;i=e;return 0}else{d=ym(1048576)|0;h=Vk(b,73960)|0;b=Mk(d,1,1048576,h)|0;Wk(h);h=Vk(j,74016)|0;Ok(d,1,b,h)|0;Wk(h);Am(d);i=e;return 0}return 0}function ad(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+4112|0;e=d;f=d+3088|0;g=d+2064|0;h=d+1040|0;j=d+16|0;if((uo(j,74024)|0)!=0){if((cp(c[c[17642]>>2]|0)|0)>>>0>65536){Hg(74032);k=1;i=d;return k|0}l=ym(262144)|0;Bm(l,0,262144);m=c[c[17642]>>2]|0;n=nj(m,l,cp(m|0)|0)|0;Am(l);if((n|0)>15360){Hg(74064);Ig(74104,n,15360);k=1;i=d;return k|0}}lp(j|0,b|0)|0;if((uo(j,73968)|0)==0){_k(b,f,g,h);c[e>>2]=f;c[e+4>>2]=g;c[e+8>>2]=h;Qo(j,73976,e)|0}if((Zo(j,1080516|0)|0)!=0?(Sa(j|0)|0)!=0:0)$c(j,1)|0;e=(uo(j,74024)|0)==0;h=c[17642]|0;if(e)o=Wm(h,j)|0;else o=Wc(h,j)|0;if((o|0)!=0){k=o;i=d;return k|0}c[270396]=0;lp(1080516|0,j|0)|0;j=c[17642]|0;o=ym(32768)|0;if((Vc(j,o)|0)==0){Dn(o,32768,1081540|0)|0;a[1081580]=0;Am(o);k=0;i=d;return k|0}else{Am(o);k=0;i=d;return k|0}return 0}function bd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;if((b|0)==0){i=d;return}Sm(c[17642]|0);c[17642]=b;e=c[(c[b+8>>2]|0)+16>>2]|0;f=0;g=32;while(1){h=c[e+(g<<2)>>2]|0;j=f;k=0;do{j=(a[h+k>>0]|0)==0?j:1;k=k+1|0}while((k|0)!=128);g=g+1|0;if((g|0)==64)break;else f=j}if((j|0)==0)$g(b);else ah(b);c[c[269357]>>2]=c[c[17642]>>2];Fc();i=d;return}function cd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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=i;i=i+16|0;d=b;e=a+44320|0;if((c[e>>2]|0)<5)f=0;else{i=b;return}do{g=a+(f<<4)+41996|0;h=c[g>>2]|0;j=h>>>0<64;if(j){k=c[a+(h*656|0)+16>>2]|0;l=(k|0)<1?32:k<<5;k=(c[a+(h*656|0)+24>>2]|0)>(c[a+(h*656|0)+20>>2]|0);m=(l|0)<0?0:l;n=k?0:l;o=k<<31>>31}else{m=0;n=0;o=-1}k=c[a+(f<<4)+42e3>>2]|0;l=k>>>0<64;if(l){p=c[a+(k*656|0)+16>>2]|0;q=(p|0)<1?32:p<<5;p=(m|0)>(q|0)?m:q;if((o|0)==-1){r=(c[a+(k*656|0)+24>>2]|0)>(c[a+(k*656|0)+20>>2]|0);s=p;t=r?n:q;u=r?-1:1}else{s=p;t=n;u=0}}else{s=m;t=n;u=o}p=c[a+(f<<4)+42004>>2]|0;r=p>>>0<64;if(r){q=c[a+(p*656|0)+16>>2]|0;v=(q|0)<1?32:q<<5;q=(s|0)>(v|0)?s:v;if((u|0)==-1){w=(c[a+(p*656|0)+24>>2]|0)>(c[a+(p*656|0)+20>>2]|0);x=q;y=w?t:v;z=w?-1:2}else{x=q;y=t;z=u}}else{x=s;y=t;z=u}q=c[a+(f<<4)+42008>>2]|0;w=q>>>0<64;if(w){v=c[a+(q*656|0)+16>>2]|0;A=(v|0)<1?32:v<<5;v=(x|0)>(A|0)?x:A;if((z|0)==-1){if((c[a+(q*656|0)+24>>2]|0)<=(c[a+(q*656|0)+20>>2]|0)){B=v;C=A;D=3;E=29}}else{B=v;C=y;D=z;E=29}}else{B=x;C=y;D=z;E=29}a:do if((E|0)==29?(E=0,!((B|0)==(C|0)|(D|0)==-1)):0){if((j?(c[a+(h*656|0)+24>>2]|0)<=(c[a+(h*656|0)+20>>2]|0):0)?(v=c[a+(h*656|0)+16>>2]|0,A=(((v|0)<1?32:v<<5)|0)!=(B|0),!A):0){F=A<<31>>31;E=33}else if(l?(c[a+(k*656|0)+24>>2]|0)<=(c[a+(k*656|0)+20>>2]|0):0){A=c[a+(k*656|0)+16>>2]|0;F=(((A|0)<1?32:A<<5)|0)==(B|0)?1:-1;E=33}else E=34;if((E|0)==33){E=0;if((F|0)==-1)E=34;else G=F}do if((E|0)==34){E=0;if((r?(c[a+(p*656|0)+24>>2]|0)<=(c[a+(p*656|0)+20>>2]|0):0)?(A=c[a+(p*656|0)+16>>2]|0,(((A|0)<1?32:A<<5)|0)==(B|0)):0){G=2;break}if(!w)break a;if((c[a+(q*656|0)+24>>2]|0)>(c[a+(q*656|0)+20>>2]|0))break a;A=c[a+(q*656|0)+16>>2]|0;G=(((A|0)<1?32:A<<5)|0)==(B|0)?3:-1}while(0);if((G|0)>0){c[d>>2]=f;c[d+4>>2]=0;c[d+8>>2]=G;Qo(955480,75392,d)|0;Hg(955480);A=c[g>>2]|0;v=a+(f<<4)+(G<<2)+41996|0;c[g>>2]=c[v>>2];c[v>>2]=A}}while(0);f=f+1|0}while((f|0)!=64);if((c[e>>2]|0)<5)H=0;else{i=b;return}do{f=0;do{if((c[a+(H*656|0)+(f*20|0)+32>>2]|0)==6?(G=a+(H*656|0)+(f*20|0)+36|0,(c[G>>2]|0)>5):0)c[G>>2]=5;f=f+1|0}while((f|0)!=32);H=H+1|0}while((H|0)!=64);if((c[e>>2]|0)>=5){i=b;return}e=c[a>>2]|0;if((uo(e,75424)|0)==0){i=b;return}H=vo(65536)|0;lp(H|0,e|0)|0;hp(c[a>>2]|0,74120,1265)|0;jp(c[a>>2]|0,H|0)|0;Hg(75456);i=b;return}function dd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;d=i;i=i+4112|0;e=d;f=d+3088|0;g=d+2064|0;h=d+1040|0;j=d+16|0;do if((uo(b,74024)|0)!=0){k=Vk(b,73960)|0;if((k|0)==0){lp(j|0,b|0)|0;l=7;break}else{m=Yc(k)|0;Wk(k);n=m;l=6;break}}else{n=Um(b)|0;l=6}while(0);if((l|0)==6){lp(j|0,b|0)|0;if((n|0)==0)l=7;else{o=n;l=19}}a:do if((l|0)==7){lp(j|0,b|0)|0;if((uo(j,73968)|0)==0){_k(b,f,g,h);c[e>>2]=f;c[e+4>>2]=g;c[e+8>>2]=h;Qo(j,73976,e)|0}do if((uo(j,74024)|0)==0){n=Um(j)|0;if((n|0)!=0){o=n;l=19;break a}n=j+(cp(j|0)|0)|0;a[n+0>>0]=a[74024]|0;a[n+1>>0]=a[74025]|0;a[n+2>>0]=a[74026]|0;a[n+3>>0]=a[74027]|0;a[n+4>>0]=a[74028]|0;n=Vk(j,73960)|0;if((n|0)!=0?(m=Yc(n)|0,Wk(n),(m|0)!=0):0){o=m;l=19;break a}lp(j|0,b|0)|0;m=j+(cp(j|0)|0)|0;a[m+0>>0]=a[74024]|0;a[m+1>>0]=a[74025]|0;a[m+2>>0]=a[74026]|0;a[m+3>>0]=a[74027]|0;a[m+4>>0]=a[74028]|0;m=Vk(j,73960)|0;if((m|0)==0){p=1;i=d;return p|0}else{n=Yc(m)|0;Wk(m);q=n;break}}else{n=Vk(j,73960)|0;if((n|0)==0){p=1;i=d;return p|0}else{m=Yc(n)|0;Wk(n);q=m;break}}while(0);if((q|0)==0){p=1;i=d;return p|0}else{cd(q);r=q;break}}while(0);if((l|0)==19){cd(o);r=o}Sm(c[17642]|0);c[17642]=r;o=c[(c[r+8>>2]|0)+16>>2]|0;l=0;q=32;while(1){b=c[o+(q<<2)>>2]|0;s=l;e=0;do{s=(a[b+e>>0]|0)==0?s:1;e=e+1|0}while((e|0)!=128);q=q+1|0;if((q|0)==64)break;else l=s}if((s|0)==0)$g(r);else ah(r);c[c[269357]>>2]=c[c[17642]>>2];Fc();c[270396]=0;lp(1080516,j|0)|0;j=c[17642]|0;r=ym(32768)|0;if((Vc(j,r)|0)==0){Dn(r,32768,1081540)|0;a[1081580]=0;Am(r);p=0;i=d;return p|0}else{Am(r);p=0;i=d;return p|0}return 0}function ed(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;if((Zo(a,1084924|0)|0)!=0){lp(1084924|0,a|0)|0;c[271494]=30}do if((uo(a,74024)|0)!=0){g=Vk(a,73960)|0;if((g|0)==0){h=1;i=f;return h|0}else{j=Yc(g)|0;Wk(g);k=j;break}}else k=Um(a)|0;while(0);if((k|0)==0){h=1;i=f;return h|0}if((e|0)>0){a=0;do{j=c[271814]|0;Ri(988432,j,a+b|0,Si(0,k,a+d|0)|0);a=a+1|0}while((a|0)!=(e|0))}Sm(k);h=0;i=f;return h|0}function fd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;i=i+1040|0;h=g;c[h>>2]=b;Qo(g+8|0,75488,h)|0;do if((uo(4168|0,b)|0)==0){h=0;j=0;while(1){k=a[4168+j>>0]|0;if(k<<24>>24==0)break;else if(k<<24>>24==124)l=h+1|0;else l=h;h=l;j=j+1|0}if((h|0)>63){m=3;i=g;return m|0}else{j=4168+(cp(4168|0)|0)|0;a[j>>0]=124;a[j+1>>0]=0;jp(4168|0,b|0)|0;break}}while(0);lp(1084924|0,b|0)|0;c[271494]=30;if((uo(b,74024)|0)!=0){l=Vk(b,73960)|0;if((l|0)==0)n=12;else{j=Yc(l)|0;Wk(l);o=j;n=11}}else{o=Um(b)|0;n=11}if((n|0)==11)if((o|0)==0)n=12;else p=o;if((n|0)==12)p=Rm()|0;if((f|0)>0){n=0;do{Ri(0,p,n+d|0,Si(988432,c[271814]|0,n+e|0)|0);n=n+1|0}while((n|0)!=(f|0))}if((uo(b,74024)|0)==0)q=Wm(p,b)|0;else q=Wc(p,b)|0;Sm(p);m=(q|0)!=0?2:0;i=g;return m|0}function gd(){var b=0,d=0,e=0,f=0;b=i;i=i+3088|0;d=b;e=b+1032|0;f=b+8|0;if((a[1080516]|0)==0){Oc(75496,1500);i=b;return}if((ad(1080516)|0)==0){_k(1080516,b+2056|0,e,f);c[d>>2]=e;c[d+4>>2]=f;Qo(955480,75552,d)|0;Oc(955480,1e3);i=b;return}else{Oc(75528,1500);i=b;return}}function hd(){var b=0,d=0;b=i;i=i+48|0;d=b;if(!((a[1080516]|0)!=0&(c[270396]|0)==0)){i=b;return}lp(d|0,1081540)|0;dd(1080516)|0;if((Zo(d,1081540)|0)==0){i=b;return}Oc(75568,1e3);i=b;return}function id(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,r=0,s=0,t=0,u=0,v=0;f=i;i=i+176|0;g=i;i=i+168|0;c[g>>2]=0;h=f;j=a+38|0;k=b[j>>1]|0;l=h+160|0;c[l>>2]=0;m=a+64|0;c[h>>2]=c[m>>2];c[m>>2]=h;ep(h+4|0,1,g|0)|0;p=0;n=p;p=0;if((n|0)!=0&(q|0)!=0){o=gp(c[n>>2]|0,g)|0;if((o|0)==0)ua(n|0,q|0);E=q}else o=-1;if((o|0)==1)r=E;else r=0;while(1){if((r|0)!=0){s=6;break}p=0;ia(d|0,a|0,e|0);o=p;p=0;if((o|0)!=0&(q|0)!=0){t=gp(c[o>>2]|0,g)|0;if((t|0)==0)ua(o|0,q|0);E=q}else t=-1;if((t|0)==1)r=E;else break}if((s|0)==6){u=c[h>>2]|0;c[m>>2]=u;b[j>>1]=k;v=c[l>>2]|0;i=f;return v|0}u=c[h>>2]|0;c[m>>2]=u;b[j>>1]=k;v=c[l>>2]|0;i=f;return v|0}function jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=c[a+32>>2]|0;if((e|0)>1e6)af(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?1e6:b;b=(e|0)<(f|0)?f:e;if((b|0)>1e6){bf(a,1000200);Ye(a,75904,d)}else{bf(a,b);i=d;return}}function kd(a){a=a|0;return(c[a+8>>2]|0)-((c[c[a+16>>2]>>2]|0)+8)>>3|0}function ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;if(!((b|0)>-1)){e=a+8|0;c[e>>2]=(c[e>>2]|0)+(b+1<<3);i=d;return}e=a+8|0;f=c[e>>2]|0;g=(c[c[a+16>>2]>>2]|0)+(b+1<<3)|0;if(f>>>0<g>>>0){b=f;do{f=b;b=b+8|0;c[f+4>>2]=0}while(b>>>0<g>>>0);c[e>>2]=b}c[e>>2]=g;i=d;return}function md(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;h=b+16|0;j=c[h>>2]|0;do if((e|0)<=0){if(!((e|0)<-1000999)){k=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){k=(c[b+12>>2]|0)+36|0;break}l=-1001e3-e|0;m=c[j>>2]|0;if((c[m+4>>2]|0)!=22?(n=c[m>>2]|0,(l|0)<=(d[n+6>>0]|0|0)):0)k=n+16+(l+ -1<<3)|0;else k=75600}else{l=(c[j>>2]|0)+(e<<3)|0;k=l>>>0<(c[b+8>>2]|0)>>>0?l:75600}while(0);do if((f|0)<=0){if(!((f|0)<-1000999)){o=(c[b+8>>2]|0)+(f<<3)|0;break}if((f|0)==-1001e3){o=(c[b+12>>2]|0)+36|0;break}e=-1001e3-f|0;l=c[j>>2]|0;if((c[l+4>>2]|0)!=22?(n=c[l>>2]|0,(e|0)<=(d[n+6>>0]|0|0)):0)o=n+16+(e+ -1<<3)|0;else o=75600}else{e=(c[j>>2]|0)+(f<<3)|0;o=e>>>0<(c[b+8>>2]|0)>>>0?e:75600}while(0);c[o>>2]=c[k>>2];j=k+4|0;c[o+4>>2]=c[j>>2];if(!((f|0)<-1001e3)){i=g;return}if((c[j>>2]&64|0)==0){i=g;return}j=c[k>>2]|0;if((a[j+5>>0]&3)==0){i=g;return}k=(c[c[c[h>>2]>>2]>>2]|0)+5|0;h=a[k>>0]|0;if((h&4)==0){i=g;return}f=c[b+12>>2]|0;if((d[f+49>>0]|0)<2){rf(f,j);i=g;return}else{a[k>>0]=(d[f+48>>0]|0)&3|h&184;i=g;return}}function nd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;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;j=c[f>>2]|0;if((c[j+4>>2]|0)==22){k=-1;i=e;return k|0}l=c[j>>2]|0;if((h|0)>(d[l+6>>0]|0|0)){k=-1;i=e;return k|0}else{g=l+16+(h+ -1<<3)|0;break}}else{h=(c[f>>2]|0)+(b<<3)|0;g=h>>>0<(c[a+8>>2]|0)>>>0?h:75600}while(0);if((g|0)==75600){k=-1;i=e;return k|0}k=c[g+4>>2]&15;i=e;return k|0}function od(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;g=b+4|0;a:do switch(c[g>>2]&63|0){case 22:{h=(c[b>>2]|0)==(c[e>>2]|0)&1;i=f;return h|0};case 2:{h=(c[b>>2]|0)==(c[e>>2]|0)&1;i=f;return h|0};case 0:{h=1;i=f;return h|0};case 7:{j=c[b>>2]|0;k=c[e>>2]|0;if((j|0)==(k|0)){h=1;i=f;return h|0}if((a|0)==0){h=0;i=f;return h|0}else{l=Tf(a,c[j+8>>2]|0,c[k+8>>2]|0)|0;break a}break};case 1:{h=(c[b>>2]|0)==(c[e>>2]|0)&1;i=f;return h|0};case 5:{k=c[b>>2]|0;j=c[e>>2]|0;if((k|0)==(j|0)){h=1;i=f;return h|0}if((a|0)==0){h=0;i=f;return h|0}else{l=Tf(a,c[k+8>>2]|0,c[j+8>>2]|0)|0;break a}break};case 3:{h=(c[b>>2]|0)==(c[e>>2]|0)&1;i=f;return h|0};case 4:{h=(c[b>>2]|0)==(c[e>>2]|0)&1;i=f;return h|0};case 20:{j=c[b>>2]|0;k=c[e>>2]|0;m=c[j+12>>2]|0;if((j|0)!=(k|0))if((m|0)==(c[k+12>>2]|0))n=(Yo(j+16|0,k+16|0,m)|0)==0;else n=0;else n=1;h=n&1;i=f;return h|0};default:{h=(c[b>>2]|0)==(c[e>>2]|0)&1;i=f;return h|0}}while(0);if((l|0)==0){h=0;i=f;return h|0}n=a+8|0;m=c[n>>2]|0;k=a+28|0;j=m-(c[k>>2]|0)|0;c[n>>2]=m+8;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];l=c[n>>2]|0;c[n>>2]=l+8;c[l>>2]=c[b>>2];c[l+4>>2]=c[g>>2];g=c[n>>2]|0;c[n>>2]=g+8;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];Rd(a,(c[n>>2]|0)+ -24|0,1,(d[(c[a+16>>2]|0)+18>>0]|0)&1);a=c[k>>2]|0;k=c[n>>2]|0;e=k+ -8|0;c[n>>2]=e;c[a+j>>2]=c[e>>2];c[a+(j+4)>>2]=c[k+ -4>>2];k=c[n>>2]|0;n=c[k+4>>2]|0;if((n|0)!=0)if((n|0)==1)o=(c[k>>2]|0)!=0;else o=1;else o=0;h=o&1;i=f;return h|0}function pd(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=i;i=i+32|0;j=h+20|0;k=h+16|0;l=h+8|0;m=h;n=e+4|0;o=c[n>>2]|0;if((o|0)!=3){if((o&15|0)==4?(o=c[e>>2]|0,(Df(o+16|0,c[o+12>>2]|0,k)|0)!=0):0){c[l>>2]=c[k>>2];c[l+4>>2]=3;p=l;q=5}}else{p=e;q=5}do if((q|0)==5){l=c[f+4>>2]|0;if((l|0)==3)if((f|0)==0)break;else r=f;else{if((l&15|0)!=4)break;l=c[f>>2]|0;if((Df(l+16|0,c[l+12>>2]|0,j)|0)==0)break;c[m>>2]=c[j>>2];c[m+4>>2]=3;r=m}l=c[p>>2]|0;k=c[r>>2]|0;switch(g|0){case 7:{s=l-k|0;break};case 9:{s=fj(l,k)|0;break};case 6:{s=k+l|0;break};case 10:{s=gj(l,k)|0;break};case 11:{s=hj(l,k)|0;break};case 12:{s=0-l|0;break};case 8:{s=ej(l,k)|0;break};default:s=0}c[b>>2]=s;c[b+4>>2]=3;i=h;return}while(0);s=c[n>>2]&15;if((s|0)==5)t=(c[e>>2]|0)+8|0;else if((s|0)==7)t=(c[e>>2]|0)+8|0;else t=(c[a+12>>2]|0)+(s<<2)+224|0;s=c[t>>2]|0;a:do if((s|0)==0)u=75600;else{t=c[(c[a+12>>2]|0)+(g<<2)+156>>2]|0;r=(c[s+16>>2]|0)+(((1<<(d[s+7>>0]|0))+ -1&c[t+8>>2])*20|0)|0;while(1){if((c[r+12>>2]|0)==68?(c[r+8>>2]|0)==(t|0):0)break;p=c[r+16>>2]|0;if((p|0)==0){u=75600;break a}else r=p}u=r}while(0);b:do if((c[u+4>>2]|0)==0){s=c[f+4>>2]&15;if((s|0)==7)v=(c[f>>2]|0)+8|0;else if((s|0)==5)v=(c[f>>2]|0)+8|0;else v=(c[a+12>>2]|0)+(s<<2)+224|0;s=c[v>>2]|0;if((s|0)==0)w=75600;else{t=c[(c[a+12>>2]|0)+(g<<2)+156>>2]|0;p=(c[s+16>>2]|0)+(((1<<(d[s+7>>0]|0))+ -1&c[t+8>>2])*20|0)|0;while(1){if((c[p+12>>2]|0)==68?(c[p+8>>2]|0)==(t|0):0)break;s=c[p+16>>2]|0;if((s|0)==0){w=75600;break b}else p=s}w=p}}else w=u;while(0);u=w+4|0;if((c[u>>2]|0)==0)_e(a,e,f);g=a+28|0;v=b-(c[g>>2]|0)|0;b=a+8|0;t=c[b>>2]|0;c[b>>2]=t+8;c[t>>2]=c[w>>2];c[t+4>>2]=c[u>>2];u=c[b>>2]|0;c[b>>2]=u+8;c[u>>2]=c[e>>2];c[u+4>>2]=c[n>>2];n=c[b>>2]|0;c[b>>2]=n+8;c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];Rd(a,(c[b>>2]|0)+ -24|0,1,(d[(c[a+16>>2]|0)+18>>0]|0)&1);a=c[g>>2]|0;g=c[b>>2]|0;f=g+ -8|0;c[b>>2]=f;c[a+v>>2]=c[f>>2];c[a+(v+4)>>2]=c[g+ -4>>2];i=h;return}function qd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;f=i;g=b+4|0;h=c[g>>2]|0;do if((h|0)!=3){j=h&15;if((j|0)==4){if((c[e+4>>2]&15|0)!=4){k=a+8|0;l=c[k>>2]|0;m=k;n=4;o=18;break}k=c[b>>2]|0;p=c[e>>2]|0;q=k+16|0;r=p+16|0;s=fo(q,r)|0;a:do if((s|0)==0){t=q;u=c[k+12>>2]|0;v=c[p+12>>2]|0;w=r;while(1){x=cp(t|0)|0;y=(x|0)==(u|0);if((x|0)==(v|0))break;if(y){z=-1;break a}A=x+1|0;t=t+A|0;w=w+A|0;x=fo(t,w)|0;if((x|0)!=0){z=x;break a}else{u=u-A|0;v=v-A|0}}z=y&1^1}else z=s;while(0);B=z>>>31;i=f;return B|0}else{C=j;o=15}}else{if((c[e+4>>2]|0)!=3){C=h&15;o=15;break}B=(c[b>>2]|0)<(c[e>>2]|0)&1;i=f;return B|0}while(0);do if((o|0)==15){h=a+8|0;z=c[h>>2]|0;if((C|0)==5){D=z;E=h;F=(c[b>>2]|0)+8|0;break}else if((C|0)==7){D=z;E=h;F=(c[b>>2]|0)+8|0;break}else{l=z;m=h;n=C;o=18;break}}while(0);if((o|0)==18){D=l;E=m;F=(c[a+12>>2]|0)+(n<<2)+224|0}n=c[F>>2]|0;b:do if((n|0)==0)G=75600;else{F=c[(c[a+12>>2]|0)+208>>2]|0;m=(c[n+16>>2]|0)+(((1<<(d[n+7>>0]|0))+ -1&c[F+8>>2])*20|0)|0;while(1){if((c[m+12>>2]|0)==68?(c[m+8>>2]|0)==(F|0):0)break;l=c[m+16>>2]|0;if((l|0)==0){G=75600;break b}else m=l}G=m}while(0);c:do if((c[G+4>>2]|0)==0){n=c[e+4>>2]&15;if((n|0)==7)H=(c[e>>2]|0)+8|0;else if((n|0)==5)H=(c[e>>2]|0)+8|0;else H=(c[a+12>>2]|0)+(n<<2)+224|0;n=c[H>>2]|0;if((n|0)==0)I=75600;else{F=c[(c[a+12>>2]|0)+208>>2]|0;j=(c[n+16>>2]|0)+(((1<<(d[n+7>>0]|0))+ -1&c[F+8>>2])*20|0)|0;while(1){if((c[j+12>>2]|0)==68?(c[j+8>>2]|0)==(F|0):0)break;n=c[j+16>>2]|0;if((n|0)==0){I=75600;break c}else j=n}I=j}}else I=G;while(0);G=I+4|0;if((c[G>>2]|0)==0)$e(a,b,e);H=a+28|0;F=D-(c[H>>2]|0)|0;c[E>>2]=D+8;c[D>>2]=c[I>>2];c[D+4>>2]=c[G>>2];G=c[E>>2]|0;c[E>>2]=G+8;c[G>>2]=c[b>>2];c[G+4>>2]=c[g>>2];g=c[E>>2]|0;c[E>>2]=g+8;c[g>>2]=c[e>>2];c[g+4>>2]=c[e+4>>2];Rd(a,(c[E>>2]|0)+ -24|0,1,(d[(c[a+16>>2]|0)+18>>0]|0)&1);a=c[H>>2]|0;H=c[E>>2]|0;e=H+ -8|0;c[E>>2]=e;c[a+F>>2]=c[e>>2];c[a+(F+4)>>2]=c[H+ -4>>2];H=c[E>>2]|0;E=c[H+4>>2]|0;if((E|0)!=0)if((E|0)==1)J=(c[H>>2]|0)!=0;else J=1;else J=0;B=J&1;i=f;return B|0}function rd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;f=i;g=b+4|0;h=c[g>>2]|0;do if((h|0)!=3){j=h&15;if((j|0)==4){if((c[e+4>>2]&15|0)!=4){k=a+8|0;l=c[k>>2]|0;m=k;n=4;o=18;break}k=c[b>>2]|0;p=c[e>>2]|0;q=k+16|0;r=p+16|0;s=fo(q,r)|0;a:do if((s|0)==0){t=q;u=c[k+12>>2]|0;v=c[p+12>>2]|0;w=r;while(1){x=cp(t|0)|0;y=(x|0)==(u|0);if((x|0)==(v|0))break;if(y){z=-1;break a}A=x+1|0;t=t+A|0;w=w+A|0;x=fo(t,w)|0;if((x|0)!=0){z=x;break a}else{u=u-A|0;v=v-A|0}}z=y&1^1}else z=s;while(0);B=(z|0)<1&1;i=f;return B|0}else{C=j;o=15}}else{if((c[e+4>>2]|0)!=3){C=h&15;o=15;break}B=(c[b>>2]|0)<=(c[e>>2]|0)&1;i=f;return B|0}while(0);do if((o|0)==15){h=a+8|0;z=c[h>>2]|0;if((C|0)==5){D=z;E=h;F=5;G=(c[b>>2]|0)+8|0;break}else if((C|0)==7){D=z;E=h;F=7;G=(c[b>>2]|0)+8|0;break}else{l=z;m=h;n=C;o=18;break}}while(0);if((o|0)==18){D=l;E=m;F=n;G=(c[a+12>>2]|0)+(n<<2)+224|0}n=c[G>>2]|0;b:do if((n|0)==0)H=75600;else{G=c[(c[a+12>>2]|0)+212>>2]|0;m=(c[n+16>>2]|0)+(((1<<(d[n+7>>0]|0))+ -1&c[G+8>>2])*20|0)|0;while(1){if((c[m+12>>2]|0)==68?(c[m+8>>2]|0)==(G|0):0)break;l=c[m+16>>2]|0;if((l|0)==0){H=75600;break b}else m=l}H=m}while(0);c:do if((c[H+4>>2]|0)==0){n=c[e+4>>2]&15;if((n|0)==7)I=(c[e>>2]|0)+8|0;else if((n|0)==5)I=(c[e>>2]|0)+8|0;else I=(c[a+12>>2]|0)+(n<<2)+224|0;n=c[I>>2]|0;if((n|0)==0)J=75600;else{G=c[(c[a+12>>2]|0)+212>>2]|0;j=(c[n+16>>2]|0)+(((1<<(d[n+7>>0]|0))+ -1&c[G+8>>2])*20|0)|0;while(1){if((c[j+12>>2]|0)==68?(c[j+8>>2]|0)==(G|0):0)break;n=c[j+16>>2]|0;if((n|0)==0){J=75600;break c}else j=n}J=j}}else J=H;while(0);H=J+4|0;if((c[H>>2]|0)!=0){I=a+28|0;G=D-(c[I>>2]|0)|0;c[E>>2]=D+8;c[D>>2]=c[J>>2];c[D+4>>2]=c[H>>2];H=c[E>>2]|0;c[E>>2]=H+8;c[H>>2]=c[b>>2];c[H+4>>2]=c[g>>2];H=c[E>>2]|0;c[E>>2]=H+8;c[H>>2]=c[e>>2];c[H+4>>2]=c[e+4>>2];Rd(a,(c[E>>2]|0)+ -24|0,1,(d[(c[a+16>>2]|0)+18>>0]|0)&1);H=c[I>>2]|0;I=c[E>>2]|0;J=I+ -8|0;c[E>>2]=J;c[H+G>>2]=c[J>>2];c[H+(G+4)>>2]=c[I+ -4>>2];I=c[E>>2]|0;G=c[I+4>>2]|0;if((G|0)!=0)if((G|0)==1)K=(c[I>>2]|0)!=0;else K=1;else K=0;B=K&1;i=f;return B|0}K=e+4|0;I=c[K>>2]&15;if((I|0)==5)L=(c[e>>2]|0)+8|0;else if((I|0)==7)L=(c[e>>2]|0)+8|0;else L=(c[a+12>>2]|0)+(I<<2)+224|0;I=c[L>>2]|0;d:do if((I|0)==0)M=75600;else{L=c[(c[a+12>>2]|0)+208>>2]|0;G=(c[I+16>>2]|0)+(((1<<(d[I+7>>0]|0))+ -1&c[L+8>>2])*20|0)|0;while(1){if((c[G+12>>2]|0)==68?(c[G+8>>2]|0)==(L|0):0)break;H=c[G+16>>2]|0;if((H|0)==0){M=75600;break d}else G=H}M=G}while(0);e:do if((c[M+4>>2]|0)==0){if((F|0)==5)N=(c[b>>2]|0)+8|0;else if((F|0)==7)N=(c[b>>2]|0)+8|0;else N=(c[a+12>>2]|0)+(F<<2)+224|0;I=c[N>>2]|0;if((I|0)==0)O=75600;else{L=c[(c[a+12>>2]|0)+208>>2]|0;j=(c[I+16>>2]|0)+(((1<<(d[I+7>>0]|0))+ -1&c[L+8>>2])*20|0)|0;while(1){if((c[j+12>>2]|0)==68?(c[j+8>>2]|0)==(L|0):0)break;I=c[j+16>>2]|0;if((I|0)==0){O=75600;break e}else j=I}O=j}}else O=M;while(0);M=O+4|0;if((c[M>>2]|0)==0)$e(a,b,e);N=a+28|0;F=D-(c[N>>2]|0)|0;c[E>>2]=D+8;c[D>>2]=c[O>>2];c[D+4>>2]=c[M>>2];M=c[E>>2]|0;c[E>>2]=M+8;c[M>>2]=c[e>>2];c[M+4>>2]=c[K>>2];K=c[E>>2]|0;c[E>>2]=K+8;c[K>>2]=c[b>>2];c[K+4>>2]=c[g>>2];Rd(a,(c[E>>2]|0)+ -24|0,1,(d[(c[a+16>>2]|0)+18>>0]|0)&1);a=c[N>>2]|0;N=c[E>>2]|0;g=N+ -8|0;c[E>>2]=g;c[a+F>>2]=c[g>>2];c[a+(F+4)>>2]=c[N+ -4>>2];N=c[E>>2]|0;E=c[N+4>>2]|0;if((E|0)!=0)if((E|0)==1)P=(c[N>>2]|0)!=0;else P=1;else P=0;B=P&1^1;i=f;return B|0}function sd(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+16|0;g=f+8|0;h=f;j=c[a+16>>2]|0;do if((b|0)<=0){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[j>>2]|0;if((c[m+4>>2]|0)!=22?(n=c[m>>2]|0,(l|0)<=(d[n+6>>0]|0|0)):0)k=n+16+(l+ -1<<3)|0;else k=75600}else{l=(c[j>>2]|0)+(b<<3)|0;k=l>>>0<(c[a+8>>2]|0)>>>0?l:75600}while(0);a=c[k+4>>2]|0;do if((a|0)==3)o=k;else{if((a&15|0)==4?(b=c[k>>2]|0,(Df(b+16|0,c[b+12>>2]|0,g)|0)!=0):0){c[h>>2]=c[g>>2];c[h+4>>2]=3;o=h;break}if((e|0)==0){p=0;i=f;return p|0}c[e>>2]=0;p=0;i=f;return p|0}while(0);if((e|0)!=0)c[e>>2]=1;p=c[o>>2]|0;i=f;return p|0}function td(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+16|0;g=f+8|0;h=f;j=c[a+16>>2]|0;do if((b|0)<=0){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[j>>2]|0;if((c[m+4>>2]|0)!=22?(n=c[m>>2]|0,(l|0)<=(d[n+6>>0]|0|0)):0)k=n+16+(l+ -1<<3)|0;else k=75600}else{l=(c[j>>2]|0)+(b<<3)|0;k=l>>>0<(c[a+8>>2]|0)>>>0?l:75600}while(0);a=c[k+4>>2]|0;do if((a|0)==3)o=k;else{if((a&15|0)==4?(b=c[k>>2]|0,(Df(b+16|0,c[b+12>>2]|0,g)|0)!=0):0){c[h>>2]=c[g>>2];c[h+4>>2]=3;o=h;break}if((e|0)==0){p=0;i=f;return p|0}c[e>>2]=0;p=0;i=f;return p|0}while(0);h=c[o>>2]>>16;if((e|0)==0){p=h;i=f;return p|0}c[e>>2]=1;p=h;i=f;return p|0}function ud(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;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;j=c[f>>2]|0;if((c[j+4>>2]|0)!=22?(k=c[j>>2]|0,(h|0)<=(d[k+6>>0]|0|0)):0)g=k+16+(h+ -1<<3)|0;else g=75600}else{h=(c[f>>2]|0)+(b<<3)|0;g=h>>>0<(c[a+8>>2]|0)>>>0?h:75600}while(0);a=c[g+4>>2]|0;if((a|0)==0){l=0;m=l&1;i=e;return m|0}if((a|0)!=1){l=1;m=l&1;i=e;return m|0}l=(c[g>>2]|0)!=0;m=l&1;i=e;return m|0}function vd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=i;h=b+16|0;j=c[h>>2]|0;k=(e|0)>0;do if(!k){if(!((e|0)<-1000999)){l=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){l=(c[b+12>>2]|0)+36|0;break}m=-1001e3-e|0;n=c[j>>2]|0;if((c[n+4>>2]|0)!=22?(o=c[n>>2]|0,(m|0)<=(d[o+6>>0]|0)):0)l=o+16+(m+ -1<<3)|0;else l=75600}else{m=(c[j>>2]|0)+(e<<3)|0;l=m>>>0<(c[b+8>>2]|0)>>>0?m:75600}while(0);do if((c[l+4>>2]&15|0)!=4){if((wd(b,l)|0)==0){if((f|0)==0){p=0;i=g;return p|0}c[f>>2]=0;p=0;i=g;return p|0}j=b+12|0;m=c[j>>2]|0;o=m+12|0;n=c[o>>2]|0;do if((n|0)>0)if((a[m+51>>0]|0)==0){q=m+8|0;c[q>>2]=n+1600+(c[q>>2]|0);c[o>>2]=-1600;break}else{_d(b);break}while(0);o=c[h>>2]|0;if(k){n=(c[o>>2]|0)+(e<<3)|0;r=n>>>0<(c[b+8>>2]|0)>>>0?n:75600;break}if(!((e|0)<-1000999)){r=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){r=(c[j>>2]|0)+36|0;break}n=-1001e3-e|0;m=c[o>>2]|0;if((c[m+4>>2]|0)!=22?(o=c[m>>2]|0,(n|0)<=(d[o+6>>0]|0)):0)r=o+16+(n+ -1<<3)|0;else r=75600}else r=l;while(0);l=c[r>>2]|0;if((f|0)!=0)c[f>>2]=c[l+12>>2];p=l+16|0;i=g;return p|0}function wd(a,e){a=a|0;e=e|0;var f=0,g=0,j=0,l=0,m=0,n=0,o=0.0,p=0.0,q=0.0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0;f=i;i=i+64|0;g=f;j=f+40|0;l=f+8|0;m=e+4|0;if((c[m>>2]|0)!=3){n=0;i=f;return n|0}o=+(c[e>>2]|0);do if(!(o==0.0)){p=(o+.5)*152587890625.0e-16;if(p<0.0)q=-p;else q=p;if(q<10.0)r=4;else{s=0;t=10.0;while(1){t=t*10.0;if((s|0)>4|q<t)break;else s=s+1|0}r=s+5|0}c[g>>2]=r;Qo(j,75672,g)|0;h[k>>3]=p;c[g>>2]=c[k>>2];c[g+4>>2]=c[k+4>>2];u=Qo(l,j,g)|0;if(!(u>>>0<41))if((u+1|0)>>>0>4294967277)cf(a);else{v=Lf(a,l,u,20,c[(c[a+12>>2]|0)+44>>2]|0,0)|0;break}else{w=u;x=10}}else{b[l>>1]=48;w=1;x=10}while(0);if((x|0)==10)v=Kf(a,l,w)|0;c[e>>2]=v;c[m>>2]=d[v+4>>0]|0|64;n=1;i=f;return n|0}function xd(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;b=i;e=c[a+28>>2]|0;if((e|0)!=0?(f=c[a+12>>2]|0,(c[f+(e+ -1<<3)+4>>2]|0)==0):0){if(e>>>0>1){g=0;h=e}else{j=0;i=b;return j|0}while(1){k=(g+h|0)>>>1;l=(c[f+(k+ -1<<3)+4>>2]|0)==0;h=l?k:h;m=l?g:k;if(!((h-m|0)>>>0>1)){j=m;break}else g=m}i=b;return j|0}g=c[a+16>>2]|0;if((g|0)==77456){j=e;i=b;return j|0}h=a+12|0;f=a+7|0;a=e+1|0;m=e;while(1){k=a+ -1|0;a:do if(k>>>0<e>>>0)n=(c[h>>2]|0)+(k<<3)|0;else{l=a<<16;if((l|0)<0){o=0-l|0;p=(l|0)==(o|0)?0:o}else p=l;o=g+(((p|0)%((1<<(d[f>>0]|0))+ -1|1|0)|0)*20|0)|0;while(1){if((c[o+12>>2]|0)==3?(c[o+8>>2]|0)==(l|0):0)break;q=c[o+16>>2]|0;if((q|0)==0){n=75600;break a}else o=q}n=o}while(0);if((c[n+4>>2]|0)==0)break;k=a<<1;if(k>>>0>2147483645){r=1;s=19;break}else{l=a;a=k;m=l}}if((s|0)==19){while(1){s=0;n=r+ -1|0;b:do if(n>>>0<e>>>0)t=(c[h>>2]|0)+(n<<3)|0;else{p=r<<16;if((p|0)<0){l=0-p|0;u=(p|0)==(l|0)?0:l}else u=p;l=g+(((u|0)%((1<<(d[f>>0]|0))+ -1|1|0)|0)*20|0)|0;while(1){if((c[l+12>>2]|0)==3?(c[l+8>>2]|0)==(p|0):0)break;k=c[l+16>>2]|0;if((k|0)==0){t=75600;break b}else l=k}t=l}while(0);if((c[t+4>>2]|0)==0){j=n;break}else{r=r+1|0;s=19}}i=b;return j|0}if((a-m|0)>>>0>1){v=a;w=m}else{j=m;i=b;return j|0}while(1){m=(v+w|0)>>>1;a=m+ -1|0;c:do if(a>>>0<e>>>0)x=(c[h>>2]|0)+(a<<3)|0;else{s=m<<16;if((s|0)<0){r=0-s|0;y=(s|0)==(r|0)?0:r}else y=s;r=g+(((y|0)%((1<<(d[f>>0]|0))+ -1|1|0)|0)*20|0)|0;while(1){if((c[r+12>>2]|0)==3?(c[r+8>>2]|0)==(s|0):0)break;t=c[r+16>>2]|0;if((t|0)==0){x=75600;break c}else r=t}x=r}while(0);a=(c[x+4>>2]|0)==0;v=a?m:v;n=a?w:m;if(!((v-n|0)>>>0>1)){j=n;break}else w=n}i=b;return j|0}function yd(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 zd(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]=a+8;return}function Ad(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]=a+8;return}function Bd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;h=b+12|0;j=c[h>>2]|0;k=j+12|0;l=c[k>>2]|0;do if((l|0)>0)if((a[j+51>>0]|0)==0){m=j+8|0;c[m>>2]=l+1600+(c[m>>2]|0);c[k>>2]=-1600;break}else{_d(b);break}while(0);do if(!(f>>>0<41))if((f+1|0)>>>0>4294967277)cf(b);else{n=Lf(b,e,f,20,c[(c[h>>2]|0)+44>>2]|0,0)|0;break}else n=Kf(b,e,f)|0;while(0);f=b+8|0;b=c[f>>2]|0;c[b>>2]=n;c[b+4>>2]=d[n+4>>0]|64;c[f>>2]=(c[f>>2]|0)+8;i=g;return n+16|0}function Cd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;if((e|0)==0){g=b+8|0;h=c[g>>2]|0;c[h+4>>2]=0;c[g>>2]=h+8;j=0;i=f;return j|0}h=b+12|0;g=c[h>>2]|0;k=g+12|0;l=c[k>>2]|0;do if((l|0)>0)if((a[g+51>>0]|0)==0){m=g+8|0;c[m>>2]=l+1600+(c[m>>2]|0);c[k>>2]=-1600;break}else{_d(b);break}while(0);k=cp(e|0)|0;do if(!(k>>>0<41))if((k+1|0)>>>0>4294967277)cf(b);else{n=Lf(b,e,k,20,c[(c[h>>2]|0)+44>>2]|0,0)|0;break}else n=Kf(b,e,k)|0;while(0);k=b+8|0;b=c[k>>2]|0;c[b>>2]=n;c[b+4>>2]=d[n+4>>0]|64;c[k>>2]=(c[k>>2]|0)+8;j=n+16|0;i=f;return j|0}function Dd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;g=i;i=i+48|0;h=g;j=g+32|0;k=g+8|0;l=qo(e,37)|0;m=b+24|0;n=b+8|0;o=c[n>>2]|0;p=o;q=(c[m>>2]|0)-p|0;a:do if((l|0)!=0){r=b+32|0;s=b+28|0;t=b+12|0;u=e;v=q;w=o;x=p;y=l;z=0;b:while(1){if((v|0)<24){A=c[r>>2]|0;if((A|0)>1e6){B=5;break}C=(x-(c[s>>2]|0)>>3)+7|0;D=A<<1;A=(D|0)>1e6?1e6:D;D=(A|0)<(C|0)?C:A;if((D|0)>1e6){B=7;break}bf(b,D);E=c[n>>2]|0}else E=w;D=y-u|0;c[n>>2]=E+8;if(D>>>0<41)F=Kf(b,u,D)|0;else{if((D+1|0)>>>0>4294967277){B=12;break}F=Lf(b,u,D,20,c[(c[t>>2]|0)+44>>2]|0,0)|0}c[E>>2]=F;c[E+4>>2]=d[F+4>>0]|64;G=a[y+1>>0]|0;switch(G|0){case 99:{D=c[f>>2]|0;A=c[D>>2]|0;c[f>>2]=D+4;a[j>>0]=A;A=c[n>>2]|0;c[n>>2]=A+8;D=Kf(b,j,1)|0;c[A>>2]=D;c[A+4>>2]=d[D+4>>0]|64;break};case 100:{D=c[n>>2]|0;c[n>>2]=D+8;A=c[f>>2]|0;C=c[A>>2]|0;c[f>>2]=A+4;c[D>>2]=C;c[D+4>>2]=3;break};case 102:{D=c[n>>2]|0;c[n>>2]=D+8;C=c[f>>2]|0;A=c[C>>2]|0;c[f>>2]=C+4;c[D>>2]=A;c[D+4>>2]=3;break};case 112:{D=c[f>>2]|0;A=c[D>>2]|0;c[f>>2]=D+4;c[h>>2]=A;A=Qo(k,77312,h)|0;D=c[n>>2]|0;c[n>>2]=D+8;if(A>>>0<41)H=Kf(b,k,A)|0;else{if((A+1|0)>>>0>4294967277){B=27;break b}H=Lf(b,k,A,20,c[(c[t>>2]|0)+44>>2]|0,0)|0}c[D>>2]=H;c[D+4>>2]=d[H+4>>0]|64;break};case 115:{D=c[f>>2]|0;A=c[D>>2]|0;c[f>>2]=D+4;D=(A|0)==0?77304:A;A=cp(D|0)|0;C=c[n>>2]|0;c[n>>2]=C+8;if(A>>>0<41)I=Kf(b,D,A)|0;else{if((A+1|0)>>>0>4294967277){B=18;break b}I=Lf(b,D,A,20,c[(c[t>>2]|0)+44>>2]|0,0)|0}c[C>>2]=I;c[C+4>>2]=d[I+4>>0]|64;break};case 37:{C=c[n>>2]|0;c[n>>2]=C+8;A=Kf(b,77320,1)|0;c[C>>2]=A;c[C+4>>2]=d[A+4>>0]|64;break};default:{B=31;break b}}A=z+2|0;C=y+2|0;y=qo(C,37)|0;D=c[n>>2]|0;J=D;K=(c[m>>2]|0)-J|0;if((y|0)==0){L=C;M=J;N=K;O=D;P=A;break a}else{u=C;v=K;w=D;x=J;z=A}}if((B|0)==5)af(b,6);else if((B|0)==7){bf(b,1000200);Ye(b,75904,h)}else if((B|0)==12)cf(b);else if((B|0)==18)cf(b);else if((B|0)==27)cf(b);else if((B|0)==31){c[h>>2]=G;Ye(b,77328,h)}}else{L=e;M=p;N=q;O=o;P=0}while(0);do if((N|0)<16){o=c[b+32>>2]|0;if((o|0)>1e6)af(b,6);q=(M-(c[b+28>>2]|0)>>3)+6|0;p=o<<1;o=(p|0)>1e6?1e6:p;p=(o|0)<(q|0)?q:o;if((p|0)>1e6){bf(b,1000200);Ye(b,75904,h)}else{bf(b,p);Q=c[n>>2]|0;break}}else Q=O;while(0);O=cp(L|0)|0;c[n>>2]=Q+8;do if(!(O>>>0<41))if((O+1|0)>>>0>4294967277)cf(b);else{R=Lf(b,L,O,20,c[(c[b+12>>2]|0)+44>>2]|0,0)|0;break}else R=Kf(b,L,O)|0;while(0);c[Q>>2]=R;c[Q+4>>2]=d[R+4>>0]|64;if((P|0)<=0){S=c[n>>2]|0;T=S+ -8|0;U=c[T>>2]|0;V=U+16|0;i=g;return V|0}ce(b,P|1);S=c[n>>2]|0;T=S+ -8|0;U=c[T>>2]|0;V=U+16|0;i=g;return V|0}function Ed(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;g=f;h=c[b+12>>2]|0;j=h+12|0;k=c[j>>2]|0;do if((k|0)>0)if((a[h+51>>0]|0)==0){l=h+8|0;c[l>>2]=k+1600+(c[l>>2]|0);c[j>>2]=-1600;break}else{_d(b);break}while(0);c[g>>2]=e;e=Dd(b,d,g)|0;i=f;return e|0}function Fd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;if((e|0)==0){g=c[b+8>>2]|0;c[g>>2]=d;c[g+4>>2]=22;h=b+8|0;j=c[h>>2]|0;k=j+8|0;c[h>>2]=k;i=f;return}g=c[b+12>>2]|0;l=g+12|0;m=c[l>>2]|0;do if((m|0)>0)if((a[g+51>>0]|0)==0){n=g+8|0;c[n>>2]=m+1600+(c[n>>2]|0);c[l>>2]=-1600;break}else{_d(b);break}while(0);l=Gd(b,e)|0;c[l+12>>2]=d;d=b+8|0;m=(c[d>>2]|0)+(0-e<<3)|0;c[d>>2]=m;g=e;e=m;do{g=g+ -1|0;c[l+(g<<3)+16>>2]=c[e+(g<<3)>>2];c[l+(g<<3)+20>>2]=c[e+(g<<3)+4>>2];e=c[d>>2]|0}while((g|0)!=0);c[e>>2]=l;c[e+4>>2]=102;h=b+8|0;j=c[h>>2]|0;k=j+8|0;c[h>>2]=k;i=f;return}function Gd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;g=(e<<3)+16|0;h=c[b+12>>2]|0;j=h+4|0;k=oc[c[h>>2]&1](c[j>>2]|0,0,6,g)|0;if(!((k|0)!=0|(g|0)==0)){if((a[h+51>>0]|0)==0)af(b,4);Zd(b,1);l=oc[c[h>>2]&1](c[j>>2]|0,0,6,g)|0;if((l|0)==0)af(b,4);else m=l}else m=k;k=h+12|0;c[k>>2]=(c[k>>2]|0)+g;g=h+56|0;a[m+5>>0]=d[h+48>>0]&3;a[m+4>>0]=38;c[m>>2]=c[g>>2];c[g>>2]=m;a[m+6>>0]=e;i=f;return m|0}function Hd(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]=a+8;return}function Id(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;f=c[a+12>>2]|0;g=c[f+36>>2]|0;a:do if((c[g+28>>2]|0)>>>0>1)h=(c[g+12>>2]|0)+8|0;else{j=(c[g+16>>2]|0)+((131072%((1<<(d[g+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|0)==0){h=75600;break a}else j=k}h=j}while(0);g=a+8|0;k=c[g>>2]|0;c[g>>2]=k+8;l=cp(b|0)|0;do if(!(l>>>0<41))if((l+1|0)>>>0>4294967277)cf(a);else{m=Lf(a,b,l,20,c[f+44>>2]|0,0)|0;break}else m=Kf(a,b,l)|0;while(0);c[k>>2]=m;c[k+4>>2]=d[m+4>>0]|0|64;m=(c[g>>2]|0)+ -8|0;Jd(a,h,m,m);i=e;return}function Jd(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;h=i;i=i+16|0;j=h;k=b+12|0;l=e;m=c[e+4>>2]|0;e=0;while(1){n=l+4|0;if((m|0)==69){o=c[l>>2]|0;p=Kd(o,f)|0;q=p+4|0;if((c[q>>2]|0)!=0)break;r=c[o+8>>2]|0;if((r|0)==0)break;s=r+6|0;t=a[s>>0]|0;if(!((t&1)==0))break;o=c[(c[k>>2]|0)+156>>2]|0;u=(c[r+16>>2]|0)+(((1<<(d[r+7>>0]|0))+ -1&c[o+8>>2])*20|0)|0;while(1){if((c[u+12>>2]|0)==68?(c[u+8>>2]|0)==(o|0):0){v=10;break}r=c[u+16>>2]|0;if((r|0)==0){w=75600;break}else u=r}if((v|0)==10){v=0;w=u}o=c[w+4>>2]|0;if((o|0)==0){v=13;break}if((w|0)==0)break;else{x=o;y=w}}else{o=m&15;if((o|0)==5)z=(c[l>>2]|0)+8|0;else if((o|0)==7)z=(c[l>>2]|0)+8|0;else z=(c[k>>2]|0)+(o<<2)+224|0;o=c[z>>2]|0;a:do if((o|0)==0)A=75600;else{r=c[(c[k>>2]|0)+156>>2]|0;B=(c[o+16>>2]|0)+(((1<<(d[o+7>>0]|0))+ -1&c[r+8>>2])*20|0)|0;while(1){if((c[B+12>>2]|0)==68?(c[B+8>>2]|0)==(r|0):0)break;C=c[B+16>>2]|0;if((C|0)==0){A=75600;break a}else B=C}A=B}while(0);o=c[A+4>>2]|0;if((o|0)==0){v=27;break}else{x=o;y=A}}e=e+1|0;if((x&15|0)==6){v=29;break}if((e|0)>=100){v=30;break}else{l=y;m=x}}if((v|0)==13)a[s>>0]=t&255|1;else if((v|0)==27)We(b,l,77848);else if((v|0)==29){t=b+28|0;s=g-(c[t>>2]|0)|0;x=b+8|0;m=c[x>>2]|0;c[x>>2]=m+8;c[m>>2]=c[y>>2];c[m+4>>2]=c[y+4>>2];y=c[x>>2]|0;c[x>>2]=y+8;c[y>>2]=c[l>>2];c[y+4>>2]=c[n>>2];n=c[x>>2]|0;c[x>>2]=n+8;c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];Rd(b,(c[x>>2]|0)+ -24|0,1,(d[(c[b+16>>2]|0)+18>>0]|0)&1);f=c[t>>2]|0;t=c[x>>2]|0;n=t+ -8|0;c[x>>2]=n;c[f+s>>2]=c[n>>2];c[f+(s+4)>>2]=c[t+ -4>>2];i=h;return}else if((v|0)==30)Ye(b,77856,j);c[g>>2]=c[p>>2];c[g+4>>2]=c[q>>2];i=h;return}function Kd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;f=b+4|0;g=c[f>>2]|0;h=g&63;if((h|0)==4){j=c[b>>2]|0;k=(c[a+16>>2]|0)+(((1<<(d[a+7>>0]|0))+ -1&c[j+8>>2])*20|0)|0;while(1){if((c[k+12>>2]|0)==68?(c[k+8>>2]|0)==(j|0):0)break;l=c[k+16>>2]|0;if((l|0)==0){m=75600;n=23;break}else k=l}if((n|0)==23){i=e;return m|0}m=k;i=e;return m|0}else if((h|0)==0){m=75600;i=e;return m|0}else if(((h|0)==3?(h=c[b>>2]|0,(g|0)==3):0)?!((h&-65536|0)==-65536|((h&65535|0)!=0|(h+ -65536|0)>>>0>2147352576)):0){g=h>>16;h=g+ -1|0;if(h>>>0<(c[a+28>>2]|0)>>>0){m=(c[a+12>>2]|0)+(h<<3)|0;i=e;return m|0}h=g<<16;if((g|0)<0){g=0-h|0;o=(h|0)==(g|0)?0:g}else o=h;g=(c[a+16>>2]|0)+(((o|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)==(h|0):0)break;o=c[g+16>>2]|0;if((o|0)==0){m=75600;n=23;break}else g=o}if((n|0)==23){i=e;return m|0}m=g;i=e;return m|0}g=Pf(a,b)|0;while(1){if((c[g+12>>2]|0)==(c[f>>2]|0)?(od(0,g+8|0,b)|0)!=0:0)break;a=c[g+16>>2]|0;if((a|0)==0){m=75600;n=23;break}else g=a}if((n|0)==23){i=e;return m|0}m=g;i=e;return m|0}function Ld(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;f=c[b+12>>2]|0;g=f+4|0;h=oc[c[f>>2]&1](c[g>>2]|0,0,5,32)|0;if((h|0)==0){if((a[f+51>>0]|0)==0)af(b,4);Zd(b,1);j=oc[c[f>>2]&1](c[g>>2]|0,0,5,32)|0;if((j|0)==0)af(b,4);else k=j}else k=h;h=f+12|0;c[h>>2]=(c[h>>2]|0)+32;h=f+56|0;a[k+5>>0]=d[f+48>>0]&3;a[k+4>>0]=5;c[k>>2]=c[h>>2];c[h>>2]=k;c[k+8>>2]=0;a[k+6>>0]=-1;c[k+12>>2]=0;c[k+28>>2]=0;c[k+16>>2]=77456;a[k+7>>0]=0;c[k+20>>2]=77456;i=e;return k|0}function Md(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;h=i;i=i+16|0;j=h;k=e+28|0;l=c[k>>2]|0;m=e+7|0;n=d[m>>0]|0;o=e+16|0;p=c[o>>2]|0;if((l|0)<(f|0)){if((f+1|0)>>>0>536870911)cf(b);q=e+12|0;r=c[q>>2]|0;s=l<<3;t=f<<3;u=c[b+12>>2]|0;v=(r|0)!=0;w=u+4|0;x=oc[c[u>>2]&1](c[w>>2]|0,r,s,t)|0;if(!((x|0)!=0|(t|0)==0)){if((a[u+51>>0]|0)==0)af(b,4);Zd(b,1);y=oc[c[u>>2]&1](c[w>>2]|0,r,s,t)|0;if((y|0)==0)af(b,4);else z=y}else z=x;x=u+12|0;c[x>>2]=(v?0-s|0:0)+t+(c[x>>2]|0);c[q>>2]=z;q=c[k>>2]|0;if((q|0)<(f|0)){x=q;do{c[z+(x<<3)+4>>2]=0;x=x+1|0}while((x|0)!=(f|0))}c[k>>2]=f}if((g|0)==0){c[o>>2]=77456;A=0;B=77456;C=0}else{x=g+ -1|0;if(x>>>0>255){g=x;z=0;while(1){q=z+8|0;t=g>>>8;if(g>>>0>65535){g=t;z=q}else{D=t;E=q;break}}}else{D=x;E=0}x=(d[77032+D>>0]|0)+E|0;if((x|0)>30)Ye(b,78160,j);E=1<<x;if((E+1|0)>>>0>214748364)cf(b);D=20<<x;z=c[b+12>>2]|0;g=z+4|0;q=oc[c[z>>2]&1](c[g>>2]|0,0,0,D)|0;if(!((q|0)!=0|(D|0)==0)){if((a[z+51>>0]|0)==0)af(b,4);Zd(b,1);t=oc[c[z>>2]&1](c[g>>2]|0,0,0,D)|0;if((t|0)==0)af(b,4);else F=t}else F=q;q=z+12|0;c[q>>2]=(c[q>>2]|0)+D;c[o>>2]=F;if((E|0)>0){D=F;q=0;while(1){c[D+(q*20|0)+16>>2]=0;c[D+(q*20|0)+12>>2]=0;c[D+(q*20|0)+4>>2]=0;q=q+1|0;z=c[o>>2]|0;if((q|0)==(E|0)){G=z;break}else D=z}}else G=F;A=E;B=G;C=x&255}a[m>>0]=C;c[e+20>>2]=B+(A*20|0);if((l|0)>(f|0)){c[k>>2]=f;A=e+12|0;B=j+4|0;C=f;while(1){x=c[A>>2]|0;G=x+(C<<3)+4|0;if((c[G>>2]|0)==0)H=C+1|0;else{E=x+(C<<3)|0;x=C+1|0;a:do if(C>>>0<(c[k>>2]|0)>>>0){I=E;J=38}else{F=x<<16;if((F|0)<0){D=0-F|0;K=(F|0)==(D|0)?0:D}else K=F;D=(c[o>>2]|0)+(((K|0)%((1<<d[m>>0])+ -1|1|0)|0)*20|0)|0;while(1){if((c[D+12>>2]|0)==3?(c[D+8>>2]|0)==(F|0):0)break;q=c[D+16>>2]|0;if((q|0)==0){J=39;break a}else D=q}I=D;J=38}while(0);if((J|0)==38){J=0;if((I|0)==75600)J=39;else L=I}if((J|0)==39){J=0;c[j>>2]=x;c[B>>2]=3;L=Of(b,e,j)|0}c[L>>2]=c[E>>2];c[L+4>>2]=c[G>>2];H=x}if((H|0)==(l|0))break;else C=H}if((f+1|0)>>>0>536870911)cf(b);H=e+12|0;C=c[H>>2]|0;L=l<<3;l=f<<3;f=c[b+12>>2]|0;j=(C|0)!=0;B=f+4|0;J=oc[c[f>>2]&1](c[B>>2]|0,C,L,l)|0;if(!((J|0)!=0|(l|0)==0)){if((a[f+51>>0]|0)==0)af(b,4);Zd(b,1);I=oc[c[f>>2]&1](c[B>>2]|0,C,L,l)|0;if((I|0)==0)af(b,4);else M=I}else M=J;J=f+12|0;c[J>>2]=(j?0-L|0:0)+l+(c[J>>2]|0);c[H>>2]=M}M=1<<n;if((M|0)>0){H=M;do{H=H+ -1|0;M=p+(H*20|0)+4|0;if((c[M>>2]|0)!=0){J=p+(H*20|0)+8|0;l=Kd(e,J)|0;if((l|0)==75600)N=Of(b,e,J)|0;else N=l;c[N>>2]=c[p+(H*20|0)>>2];c[N+4>>2]=c[M>>2]}}while((H|0)>0)}if((p|0)==77456){i=h;return}H=20<<n;n=c[b+12>>2]|0;oc[c[n>>2]&1](c[n+4>>2]|0,p,H,0)|0;b=n+12|0;c[b>>2]=(c[b>>2]|0)-((p|0)!=0?H:0);i=h;return}function Nd(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;f=c[a+12>>2]|0;g=c[f+36>>2]|0;a:do if((c[g+28>>2]|0)>>>0>1)h=(c[g+12>>2]|0)+8|0;else{j=(c[g+16>>2]|0)+((131072%((1<<(d[g+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|0)==0){h=75600;break a}else j=k}h=j}while(0);g=a+8|0;k=c[g>>2]|0;c[g>>2]=k+8;l=cp(b|0)|0;do if(!(l>>>0<41))if((l+1|0)>>>0>4294967277)cf(a);else{m=Lf(a,b,l,20,c[f+44>>2]|0,0)|0;break}else m=Kf(a,b,l)|0;while(0);c[k>>2]=m;c[k+4>>2]=d[m+4>>0]|0|64;m=c[g>>2]|0;Od(a,h,m+ -8|0,m+ -16|0);c[g>>2]=(c[g>>2]|0)+ -16;i=e;return}function Od(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;h=i;i=i+16|0;j=h;k=b+12|0;l=e;m=c[e+4>>2]|0;e=0;while(1){n=l+4|0;if((m|0)==69){o=c[l>>2]|0;p=Kd(o,f)|0;if((c[p+4>>2]|0)!=0){q=p;break}r=c[o+8>>2]|0;if((r|0)==0){s=15;break}t=r+6|0;u=a[t>>0]|0;if(!((u&2)==0)){s=15;break}v=c[(c[k>>2]|0)+160>>2]|0;w=(c[r+16>>2]|0)+(((1<<(d[r+7>>0]|0))+ -1&c[v+8>>2])*20|0)|0;while(1){if((c[w+12>>2]|0)==68?(c[w+8>>2]|0)==(v|0):0){s=10;break}r=c[w+16>>2]|0;if((r|0)==0){x=75600;break}else w=r}if((s|0)==10){s=0;x=w}v=c[x+4>>2]|0;if((v|0)==0){s=13;break}if((x|0)==0){s=15;break}else{y=v;z=x}}else{v=m&15;if((v|0)==5)A=(c[l>>2]|0)+8|0;else if((v|0)==7)A=(c[l>>2]|0)+8|0;else A=(c[k>>2]|0)+(v<<2)+224|0;v=c[A>>2]|0;a:do if((v|0)==0)B=75600;else{r=c[(c[k>>2]|0)+160>>2]|0;C=(c[v+16>>2]|0)+(((1<<(d[v+7>>0]|0))+ -1&c[r+8>>2])*20|0)|0;while(1){if((c[C+12>>2]|0)==68?(c[C+8>>2]|0)==(r|0):0)break;D=c[C+16>>2]|0;if((D|0)==0){B=75600;break a}else C=D}B=C}while(0);v=c[B+4>>2]|0;if((v|0)==0){s=32;break}else{y=v;z=B}}e=e+1|0;if((y&15|0)==6){s=34;break}if((e|0)>=100){s=35;break}else{l=z;m=y}}if((s|0)==13){a[t>>0]=u&255|2;s=15}else if((s|0)==32)We(b,l,77848);else if((s|0)==34){u=b+8|0;t=c[u>>2]|0;c[u>>2]=t+8;c[t>>2]=c[z>>2];c[t+4>>2]=c[z+4>>2];z=c[u>>2]|0;c[u>>2]=z+8;c[z>>2]=c[l>>2];c[z+4>>2]=c[n>>2];n=c[u>>2]|0;c[u>>2]=n+8;c[n>>2]=c[f>>2];c[n+4>>2]=c[f+4>>2];n=c[u>>2]|0;c[u>>2]=n+8;c[n>>2]=c[g>>2];c[n+4>>2]=c[g+4>>2];Rd(b,(c[u>>2]|0)+ -32|0,0,(d[(c[b+16>>2]|0)+18>>0]|0)&1);i=h;return}else if((s|0)==35)Ye(b,77880,j);if((s|0)==15)if((p|0)==75600)q=Of(b,o,f)|0;else q=p;c[q>>2]=c[g>>2];p=g+4|0;c[q+4>>2]=c[p>>2];a[o+6>>0]=0;if((c[p>>2]&64|0)==0){i=h;return}if((a[(c[g>>2]|0)+5>>0]&3)==0){i=h;return}g=o+5|0;p=a[g>>0]|0;if((p&4)==0){i=h;return}q=c[k>>2]|0;a[g>>0]=p&251;p=q+76|0;c[o+24>>2]=c[p>>2];c[p>>2]=o;i=h;return}function Pd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;g=c[b+16>>2]|0;do if((e|0)<=0){if(!((e|0)<-1000999)){h=(c[b+8>>2]|0)+(e<<3)|0;break}if((e|0)==-1001e3){h=(c[b+12>>2]|0)+36|0;break}j=-1001e3-e|0;k=c[g>>2]|0;if((c[k+4>>2]|0)!=22?(l=c[k>>2]|0,(j|0)<=(d[l+6>>0]|0|0)):0)h=l+16+(j+ -1<<3)|0;else h=75600}else{j=(c[g>>2]|0)+(e<<3)|0;h=j>>>0<(c[b+8>>2]|0)>>>0?j:75600}while(0);e=b+8|0;g=c[e>>2]|0;if((c[g+ -4>>2]|0)==0)m=0;else m=c[g+ -8>>2]|0;g=c[h+4>>2]&15;if((g|0)==5){c[(c[h>>2]|0)+8>>2]=m;if((m|0)==0){n=c[e>>2]|0;o=n+ -8|0;c[e>>2]=o;i=f;return 1}if(!((a[m+5>>0]&3)==0)?(j=c[h>>2]|0,l=j+5|0,k=a[l>>0]|0,!((k&4)==0)):0){p=c[b+12>>2]|0;a[l>>0]=k&251;k=p+76|0;c[j+24>>2]=c[k>>2];c[k>>2]=j}Qd(b,c[h>>2]|0,m);n=c[e>>2]|0;o=n+ -8|0;c[e>>2]=o;i=f;return 1}else if((g|0)==7){c[(c[h>>2]|0)+8>>2]=m;if((m|0)==0){n=c[e>>2]|0;o=n+ -8|0;c[e>>2]=o;i=f;return 1}do if(!((a[m+5>>0]&3)==0)?(j=(c[h>>2]|0)+5|0,k=a[j>>0]|0,!((k&4)==0)):0){p=c[b+12>>2]|0;if((d[p+49>>0]|0)<2){rf(p,m);break}else{a[j>>0]=(d[p+48>>0]|0)&3|k&184;break}}while(0);Qd(b,c[h>>2]|0,m);n=c[e>>2]|0;o=n+ -8|0;c[e>>2]=o;i=f;return 1}else{c[(c[b+12>>2]|0)+(g<<2)+224>>2]=m;n=c[e>>2]|0;o=n+ -8|0;c[e>>2]=o;i=f;return 1}return 0}function Qd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=i;h=c[b+12>>2]|0;j=e+5|0;if((a[j>>0]&24)!=0|(f|0)==0){i=g;return}k=f+6|0;l=a[k>>0]|0;if(!((l&4)==0)){i=g;return}m=c[h+164>>2]|0;n=(c[f+16>>2]|0)+(((1<<(d[f+7>>0]|0))+ -1&c[m+8>>2])*20|0)|0;while(1){if((c[n+12>>2]|0)==68?(c[n+8>>2]|0)==(m|0):0){o=6;break}f=c[n+16>>2]|0;if((f|0)==0){p=75600;break}else n=f}if((o|0)==6)p=n;if((c[p+4>>2]|0)==0){a[k>>0]=l&255|4;i=g;return}if((p|0)==0){i=g;return}p=h+64|0;l=c[p>>2]|0;if((l|0)==(e|0)){do q=tf(b,l,1)|0;while((q|0)==(l|0));c[p>>2]=q}q=h+56|0;p=c[q>>2]|0;if((p|0)==(e|0))r=q;else{q=p;while(1){p=c[q>>2]|0;if((p|0)==(e|0)){r=q;break}else q=p}}c[r>>2]=c[e>>2];r=h+60|0;c[e>>2]=c[r>>2];c[r>>2]=e;e=d[j>>0]|0|16;a[j>>0]=e;if((d[h+49>>0]|0)<2){a[j>>0]=e&191;i=g;return}else{a[j>>0]=(d[h+48>>0]|0)&3|e&184;i=g;return}}function Rd(a,c,d,e){a=a|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;g=f;h=a+38|0;j=(b[h>>1]|0)+1<<16>>16;b[h>>1]=j;if((j&65535)>199){if(j<<16>>16==200)Ye(a,76656,g);if((j&65535)>224)af(a,6)}j=(e|0)!=0;if(!j){e=a+36|0;b[e>>1]=(b[e>>1]|0)+1<<16>>16}if((ff(a,c,d)|0)==0)hf(a);if(j){k=b[h>>1]|0;l=k+ -1<<16>>16;b[h>>1]=l;i=f;return}j=a+36|0;b[j>>1]=(b[j>>1]|0)+ -1<<16>>16;k=b[h>>1]|0;l=k+ -1<<16>>16;b[h>>1]=l;i=f;return}function Sd(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;l=i;i=i+16|0;m=l;n=l+8|0;if((h|0)==0)o=0;else{p=c[e+16>>2]|0;do if((h|0)<=0){if(!((h|0)<-1000999)){q=(c[e+8>>2]|0)+(h<<3)|0;break}if((h|0)==-1001e3){q=(c[e+12>>2]|0)+36|0;break}r=-1001e3-h|0;s=c[p>>2]|0;if((c[s+4>>2]|0)!=22?(t=c[s>>2]|0,(r|0)<=(d[t+6>>0]|0)):0)q=t+16+(r+ -1<<3)|0;else q=75600}else{r=(c[p>>2]|0)+(h<<3)|0;q=r>>>0<(c[e+8>>2]|0)>>>0?r:75600}while(0);o=q-(c[e+28>>2]|0)|0}q=e+8|0;h=(c[q>>2]|0)+(~f<<3)|0;c[n>>2]=h;if((k|0)!=0?(b[e+36>>1]|0)==0:0){f=c[e+16>>2]|0;c[f+28>>2]=k;c[f+24>>2]=j;c[f+20>>2]=(c[n>>2]|0)-(c[e+28>>2]|0);a[f+36>>0]=a[e+41>>0]|0;j=e+68|0;k=f+32|0;c[k>>2]=c[j>>2];c[j>>2]=o;p=f+18|0;a[p>>0]=d[p>>0]|16;f=c[n>>2]|0;r=e+38|0;t=(b[r>>1]|0)+1<<16>>16;b[r>>1]=t;if((t&65535)>199){if(t<<16>>16==200)Ye(e,76656,m);if((t&65535)>224)af(e,6)}if((ff(e,f,g)|0)==0)hf(e);b[r>>1]=(b[r>>1]|0)+ -1<<16>>16;a[p>>0]=d[p>>0]&239;c[j>>2]=c[k>>2];u=0}else{c[n+4>>2]=g;u=Td(e,1,n,h-(c[e+28>>2]|0)|0,o)|0}if(!((g|0)==-1)){i=l;return u|0}g=(c[e+16>>2]|0)+4|0;e=c[q>>2]|0;if(!((c[g>>2]|0)>>>0<e>>>0)){i=l;return u|0}c[g>>2]=e;i=l;return u|0}function Td(e,f,g,h,j){e=e|0;f=f|0;g=g|0;h=h|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;k=i;l=e+16|0;m=c[l>>2]|0;n=e+41|0;o=a[n>>0]|0;p=e+36|0;q=b[p>>1]|0;r=e+68|0;s=c[r>>2]|0;c[r>>2]=j;j=id(e,f,g)|0;if((j|0)==0){c[r>>2]=s;i=k;return j|0}g=e+28|0;f=c[g>>2]|0;t=f+h|0;mf(e,t);if((j|0)==4){u=c[(c[e+12>>2]|0)+152>>2]|0;c[t>>2]=u;c[f+(h+4)>>2]=d[u+4>>0]|0|64}else if((j|0)==6){u=Kf(e,79656,23)|0;c[t>>2]=u;c[f+(h+4)>>2]=d[u+4>>0]|0|64}else{u=c[e+8>>2]|0;c[t>>2]=c[u+ -8>>2];c[f+(h+4)>>2]=c[u+ -4>>2]}u=f+(h+8)|0;c[e+8>>2]=u;c[l>>2]=m;a[n>>0]=o;b[p>>1]=q;if((m|0)==0)v=u;else{q=m;m=u;while(1){u=c[q+4>>2]|0;p=m>>>0<u>>>0?u:m;q=c[q+8>>2]|0;if((q|0)==0){v=p;break}else m=p}}m=v-(c[g>>2]|0)|0;g=(m>>3)+1|0;v=((g|0)/8|0)+10+g|0;g=(v|0)>1e6?1e6:v;if((m|0)>7999992){c[r>>2]=s;i=k;return j|0}if((g|0)>=(c[e+32>>2]|0)){c[r>>2]=s;i=k;return j|0}bf(e,g);c[r>>2]=s;i=k;return j|0}function Ud(a,b){a=a|0;b=b|0;var d=0;d=i;Rd(a,c[b>>2]|0,c[b+4>>2]|0,0);i=d;return}function Vd(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;j=i;i=i+32|0;k=j;c[k+16>>2]=b;c[k+8>>2]=e;c[k+12>>2]=f;c[k>>2]=0;c[k+4>>2]=0;f=Wd(b,k,(g|0)==0?75656:g,h)|0;if((f|0)!=0){i=j;return f|0}h=c[(c[b+8>>2]|0)+ -8>>2]|0;if((a[h+6>>0]|0)!=1){i=j;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)l=(c[b+12>>2]|0)+8|0;else{k=(c[b+16>>2]|0)+((131072%((1<<d[b+7>>0])+ -1|1|0)|0)*20|0)|0;while(1){if((c[k+12>>2]|0)==3?(c[k+8>>2]|0)==131072:0)break;e=c[k+16>>2]|0;if((e|0)==0){l=75600;break a}else k=e}l=k}while(0);b=h+16|0;h=c[(c[b>>2]|0)+8>>2]|0;c[h>>2]=c[l>>2];e=l+4|0;c[h+4>>2]=c[e>>2];if((c[e>>2]&64|0)==0){i=j;return f|0}e=c[l>>2]|0;if((a[e+5>>0]&3)==0){i=j;return f|0}l=(c[b>>2]|0)+5|0;b=a[l>>0]|0;if((b&4)==0){i=j;return f|0}h=c[g>>2]|0;if((d[h+49>>0]|0)<2){rf(h,e);i=j;return f|0}else{a[l>>0]=d[h+48>>0]&3|b&184;i=j;return f|0}return 0}function Wd(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=i;i=i+64|0;h=g;j=a+36|0;b[j>>1]=(b[j>>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;k=h+36|0;c[k>>2]=0;l=h+40|0;c[l>>2]=0;m=h+48|0;c[m>>2]=0;n=h+4|0;c[n>>2]=0;o=h+12|0;c[o>>2]=0;p=Td(a,2,h,(c[a+8>>2]|0)-(c[a+28>>2]|0)|0,c[a+68>>2]|0)|0;h=c[n>>2]|0;q=c[o>>2]|0;r=a+12|0;a=c[r>>2]|0;s=oc[c[a>>2]&1](c[a+4>>2]|0,h,q,0)|0;t=a+12|0;c[t>>2]=(c[t>>2]|0)+((h|0)!=0?0-q|0:0);c[n>>2]=s;c[o>>2]=0;o=c[f>>2]|0;f=c[e>>2]<<1;e=c[r>>2]|0;oc[c[e>>2]&1](c[e+4>>2]|0,o,f,0)|0;s=e+12|0;c[s>>2]=(c[s>>2]|0)+((o|0)!=0?0-f|0:0);f=c[d>>2]|0;d=c[k>>2]<<4;k=c[r>>2]|0;oc[c[k>>2]&1](c[k+4>>2]|0,f,d,0)|0;o=k+12|0;c[o>>2]=(c[o>>2]|0)+((f|0)!=0?0-d|0:0);d=c[l>>2]|0;l=c[m>>2]<<4;m=c[r>>2]|0;oc[c[m>>2]&1](c[m+4>>2]|0,d,l,0)|0;r=m+12|0;c[r>>2]=(c[r>>2]|0)+((d|0)!=0?0-l|0:0);b[j>>1]=(b[j>>1]|0)+ -1<<16>>16;i=g;return p|0}function Xd(b){b=b|0;a[b+6>>0]=0;c[b+16>>2]=b+72;return}function Yd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;h=b+12|0;j=c[h>>2]|0;do switch(e|0){case 3:{k=((c[j+12>>2]|0)+(c[j+8>>2]|0)|0)>>>10;i=g;return k|0};case 10:{l=j+50|0;if((a[l>>0]|0)==2){k=0;i=g;return k|0}m=j+49|0;if((a[m>>0]|0)!=0)do uf(b)|0;while((a[m>>0]|0)!=0);c[j+20>>2]=(c[j+12>>2]|0)+(c[j+8>>2]|0);a[l>>0]=2;k=0;i=g;return k|0};case 4:{k=(c[j+12>>2]|0)+(c[j+8>>2]|0)&1023;i=g;return k|0};case 9:{k=d[j+51>>0]|0;i=g;return k|0};case 11:{m=j+50|0;if((a[m>>0]|0)==0){k=0;i=g;return k|0}a[m>>0]=0;m=c[h>>2]|0;a[m+49>>0]=2;c[m+52>>2]=0;n=m+60|0;do o=tf(b,n,1)|0;while((o|0)==(n|0));c[m+68>>2]=o;n=m+56|0;do p=tf(b,n,1)|0;while((p|0)==(n|0));c[m+64>>2]=p;n=(c[h>>2]|0)+49|0;if((1<<d[n>>0]&-29|0)!=0){k=0;i=g;return k|0}do uf(b)|0;while((1<<d[n>>0]&-29|0)==0);k=0;i=g;return k|0};case 0:{a[j+51>>0]=0;k=0;i=g;return k|0};case 8:{n=j+132|0;m=c[n>>2]|0;c[n>>2]=f;k=m;i=g;return k|0};case 2:{Zd(b,0);k=0;i=g;return k|0};case 6:{m=j+128|0;n=c[m>>2]|0;c[m>>2]=f;k=n;i=g;return k|0};case 1:{n=j+12|0;m=j+8|0;c[m>>2]=(c[m>>2]|0)+(c[n>>2]|0);c[n>>2]=0;a[j+51>>0]=1;k=0;i=g;return k|0};case 5:{if((a[j+50>>0]|0)!=2){n=c[j+12>>2]|0;m=(f<<10)+ -1600+((a[j+51>>0]|0)==0?0:n)|0;l=j+8|0;c[l>>2]=n-m+(c[l>>2]|0);c[j+12>>2]=m;_d(b);i=g;return(a[j+49>>0]|0)==5|0}m=(c[j+20>>2]|0)==0&1;_d(b);k=m;i=g;return k|0};case 7:{m=j+136|0;l=c[m>>2]|0;c[m>>2]=f;k=l;i=g;return k|0};default:{k=-1;i=g;return k|0}}while(0);return 0}function Zd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;f=i;g=b+12|0;h=c[g>>2]|0;j=h+50|0;k=a[j>>0]|0;l=(e|0)!=0;if(!l){a[j>>0]=0;e=(c[g>>2]|0)+92|0;m=c[e>>2]|0;if((m|0)!=0){n=m;do{m=n+5|0;a[m>>0]=d[m>>0]&191;vf(b,1);n=c[e>>2]|0}while((n|0)!=0);if((a[j>>0]|0)==2)o=7;else o=6}else o=6}else{a[j>>0]=1;o=6}if((o|0)==6?(d[h+49>>0]|0)<2:0)o=7;if((o|0)==7){o=c[g>>2]|0;a[o+49>>0]=2;c[o+52>>2]=0;n=o+60|0;do p=tf(b,n,1)|0;while((p|0)==(n|0));c[o+68>>2]=p;p=o+56|0;do q=tf(b,p,1)|0;while((q|0)==(p|0));c[o+64>>2]=q}q=c[g>>2]|0;o=q+49|0;if((a[o>>0]|0)==5){r=q;s=5}else{do uf(b)|0;while((a[o>>0]|0)!=5);o=c[g>>2]|0;r=o;s=a[o+49>>0]|0}o=r+49|0;if((1<<(s&255)&-33|0)==0){do uf(b)|0;while((1<<d[o>>0]&-33|0)==0);o=c[g>>2]|0;t=o;u=a[o+49>>0]|0}else{t=r;u=s}s=t+49|0;if(!(u<<24>>24==5))do uf(b)|0;while((a[s>>0]|0)!=5);if(k<<24>>24==2?(s=(c[g>>2]|0)+49|0,(a[s>>0]|0)!=0):0)do uf(b)|0;while((a[s>>0]|0)!=0);a[j>>0]=k;k=h+8|0;j=c[k>>2]|0;s=h+12|0;u=c[s>>2]|0;t=(u+j|0)/100|0;r=c[h+128>>2]|0;if((r|0)<(2147483644/(t|0)|0|0))v=aa(r,t)|0;else v=2147483644;c[k>>2]=v;c[s>>2]=j-v+u;if(l){i=f;return}l=(c[g>>2]|0)+92|0;g=c[l>>2]|0;if((g|0)==0){i=f;return}else w=g;do{g=w+5|0;a[g>>0]=d[g>>0]&191;vf(b,1);w=c[l>>2]|0}while((w|0)!=0);i=f;return}function _d(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,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=i;e=c[b+12>>2]|0;do if((a[e+50>>0]|0)==2){f=e+20|0;g=c[f>>2]|0;do if((g|0)!=0){h=e+49|0;if((a[h>>0]|0)!=5)do uf(b)|0;while((a[h>>0]|0)!=5);a[h>>0]=0;j=c[e+8>>2]|0;k=c[e+12>>2]|0;if((k+j|0)>>>0>(aa(c[e+132>>2]|0,(g>>>0)/100|0)|0)>>>0){c[f>>2]=0;l=j;m=k;break}else{c[f>>2]=g;l=j;m=k;break}}else{Zd(b,0);k=c[e+8>>2]|0;j=c[e+12>>2]|0;c[f>>2]=j+k;l=k;m=j}while(0);f=(m+l|0)/100|0;g=c[e+128>>2]|0;if((g|0)<(2147483644/(f|0)|0|0))n=aa(g,f)|0;else n=2147483644;c[e+8>>2]=n;c[e+12>>2]=l-n+m;o=e+49|0}else{f=e+12|0;g=c[e+136>>2]|0;j=(g|0)<40?40:g;g=((c[f>>2]|0)/200|0)+1|0;if((g|0)<(2147483644/(j|0)|0|0))p=aa(g,j)|0;else p=2147483644;g=e+49|0;k=p;do{k=k-(uf(b)|0)|0;q=(a[g>>0]|0)==5;if(!((k|0)>-1600)){r=17;break}}while(!q);if((r|0)==17?!q:0){s=((k|0)/(j|0)|0)*200|0;t=e+8|0;c[t>>2]=(c[f>>2]|0)-s+(c[t>>2]|0);c[f>>2]=s;o=g;break}s=(c[e+20>>2]|0)/100|0;t=c[e+128>>2]|0;if((t|0)<(2147483644/(s|0)|0|0))u=aa(t,s)|0;else u=2147483644;s=e+8|0;t=(c[s>>2]|0)-u+(c[f>>2]|0)|0;c[s>>2]=u;c[f>>2]=t;o=g}while(0);u=e+92|0;if((c[u>>2]|0)==0){i=d;return}else v=0;while(1){if((v|0)>=4?(a[o>>0]|0)!=5:0){r=26;break}vf(b,1);if((c[u>>2]|0)==0){r=26;break}else v=v+1|0}if((r|0)==26){i=d;return}}function $d(a){a=a|0;ae(a);return 0}function ae(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=c[a+68>>2]|0;if((b|0)==0)af(a,2);d=c[a+28>>2]|0;e=d+(b+4)|0;if((c[e>>2]&15|0)!=6)af(a,6);f=a+8|0;g=c[f>>2]|0;c[g>>2]=c[g+ -8>>2];c[g+4>>2]=c[g+ -4>>2];g=c[f>>2]|0;c[g+ -8>>2]=c[d+b>>2];c[g+ -4>>2]=c[e>>2];e=c[f>>2]|0;c[f>>2]=e+8;Rd(a,e+ -8|0,1,0);af(a,2)}function be(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;g=Nf(a,b,e)|0;a=c[b+28>>2]|0;h=b+12|0;j=g;while(1){k=j+1|0;if((k|0)>=(a|0))break;l=c[h>>2]|0;m=l+(k<<3)+4|0;if((c[m>>2]|0)==0)j=k;else{n=4;break}}if((n|0)==4){c[e>>2]=(j<<16)+131072;c[e+4>>2]=3;c[e+8>>2]=c[l+(k<<3)>>2];c[e+12>>2]=c[m>>2];o=1;i=f;return o|0}m=k-a|0;a=1<<(d[b+7>>0]|0);if((m|0)>=(a|0)){o=0;i=f;return o|0}k=b+16|0;b=c[k>>2]|0;l=m;while(1){m=l+1|0;if((c[b+(l*20|0)+4>>2]|0)!=0)break;if((m|0)<(a|0))l=m;else{o=0;n=10;break}}if((n|0)==10){i=f;return o|0}c[e>>2]=c[b+(l*20|0)+8>>2];c[e+4>>2]=c[b+(l*20|0)+12>>2];b=c[k>>2]|0;c[e+8>>2]=c[b+(l*20|0)>>2];c[e+12>>2]=c[b+(l*20|0)+4>>2];o=1;i=f;return o|0}function ce(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;f=i;i=i+16|0;g=f;h=b+8|0;j=b+12|0;k=b+28|0;l=b+16|0;m=e;e=c[h>>2]|0;a:while(1){n=e+ -16|0;o=e+ -12|0;p=c[o>>2]|0;q=e+ -8|0;do if((p&15|0)==4|(p|0)==3){r=e+ -4|0;if((c[r>>2]&15|0)!=4){s=(wd(b,q)|0)==0;t=c[o>>2]|0;if(s){u=t;v=5;break}else w=t}else w=p;t=c[q>>2]|0;s=c[t+12>>2]|0;x=(w&15|0)==4;if((s|0)==0){if(x){y=2;break}wd(b,n)|0;y=2;break}if(x?(c[(c[n>>2]|0)+12>>2]|0)==0:0){c[n>>2]=t;c[o>>2]=c[r>>2];y=2;break}b:do if((m|0)>1){r=1;t=s;while(1){x=~r;z=e+(x<<3)|0;if((c[e+(x<<3)+4>>2]&15|0)!=4?(wd(b,z)|0)==0:0){A=r;B=t;break b}x=c[(c[z>>2]|0)+12>>2]|0;if(!(x>>>0<(-3-t|0)>>>0)){v=39;break a}z=x+t|0;x=r+1|0;if((x|0)<(m|0)){r=x;t=z}else{A=x;B=z;break}}}else{A=1;B=s}while(0);s=c[j>>2]|0;t=s+116|0;r=s+124|0;z=c[r>>2]|0;if(z>>>0<B>>>0){x=B>>>0<32?32:B;if((x+1|0)>>>0>4294967293){v=44;break a}C=c[t>>2]|0;D=(C|0)!=0;E=s+4|0;F=oc[c[s>>2]&1](c[E>>2]|0,C,z,x)|0;if(!((F|0)!=0|(x|0)==0)){if((a[s+51>>0]|0)==0){v=48;break a}Zd(b,1);G=oc[c[s>>2]&1](c[E>>2]|0,C,z,x)|0;if((G|0)==0){v=48;break a}else H=G}else H=F;F=s+12|0;c[F>>2]=(D?0-z|0:0)+x+(c[F>>2]|0);c[t>>2]=H;c[r>>2]=x;I=H}else I=c[t>>2]|0;t=A;x=0;do{r=c[e+(0-t<<3)>>2]|0;F=c[r+12>>2]|0;hp(I+x|0,r+16|0,F|0)|0;x=F+x|0;t=t+ -1|0}while((t|0)>0);t=0-A|0;if(x>>>0<41)J=Kf(b,I,x)|0;else{if((x+1|0)>>>0>4294967277){v=55;break a}J=Lf(b,I,x,20,c[(c[j>>2]|0)+44>>2]|0,0)|0}c[e+(t<<3)>>2]=J;c[e+(t<<3)+4>>2]=d[J+4>>0]|64;y=A}else{u=p;v=5}while(0);if((v|0)==5){v=0;p=u&15;if((p|0)==5)K=(c[n>>2]|0)+8|0;else if((p|0)==7)K=(c[n>>2]|0)+8|0;else K=(c[j>>2]|0)+(p<<2)+224|0;p=c[K>>2]|0;c:do if((p|0)==0)L=75600;else{t=c[(c[j>>2]|0)+216>>2]|0;F=(c[p+16>>2]|0)+(((1<<d[p+7>>0])+ -1&c[t+8>>2])*20|0)|0;while(1){if((c[F+12>>2]|0)==68?(c[F+8>>2]|0)==(t|0):0)break;r=c[F+16>>2]|0;if((r|0)==0){L=75600;break c}else F=r}L=F}while(0);d:do if((c[L+4>>2]|0)==0){p=c[e+ -4>>2]&15;if((p|0)==5)M=(c[q>>2]|0)+8|0;else if((p|0)==7)M=(c[q>>2]|0)+8|0;else M=(c[j>>2]|0)+(p<<2)+224|0;p=c[M>>2]|0;if((p|0)==0)N=75600;else{t=c[(c[j>>2]|0)+216>>2]|0;x=(c[p+16>>2]|0)+(((1<<d[p+7>>0])+ -1&c[t+8>>2])*20|0)|0;while(1){if((c[x+12>>2]|0)==68?(c[x+8>>2]|0)==(t|0):0)break;p=c[x+16>>2]|0;if((p|0)==0){N=75600;break d}else x=p}N=x}}else N=L;while(0);t=N+4|0;if((c[t>>2]|0)==0){v=28;break}F=n-(c[k>>2]|0)|0;p=c[h>>2]|0;c[h>>2]=p+8;c[p>>2]=c[N>>2];c[p+4>>2]=c[t>>2];t=c[h>>2]|0;c[h>>2]=t+8;c[t>>2]=c[n>>2];c[t+4>>2]=c[o>>2];t=c[h>>2]|0;c[h>>2]=t+8;c[t>>2]=c[q>>2];c[t+4>>2]=c[e+ -4>>2];Rd(b,(c[h>>2]|0)+ -24|0,1,d[(c[l>>2]|0)+18>>0]&1);t=c[k>>2]|0;p=c[h>>2]|0;r=p+ -8|0;c[h>>2]=r;c[t+F>>2]=c[r>>2];c[t+(F+4)>>2]=c[p+ -4>>2];y=2}m=m+1-y|0;e=(c[h>>2]|0)+(1-y<<3)|0;c[h>>2]=e;if((m|0)<=1){v=59;break}}if((v|0)==28)Ze(b,n,q);else if((v|0)==39)Ye(b,77904,g);else if((v|0)==44)cf(b);else if((v|0)==48)af(b,4);else if((v|0)==55)cf(b);else if((v|0)==59){i=f;return}}function de(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,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=i;h=f+4|0;j=c[h>>2]&15;a:do if((j|0)==5){k=c[f>>2]|0;l=c[k+8>>2]|0;do if((l|0)!=0?(m=l+6|0,n=a[m>>0]|0,(n&16)==0):0){o=c[(c[b+12>>2]|0)+172>>2]|0;p=(c[l+16>>2]|0)+(((1<<(d[l+7>>0]|0))+ -1&c[o+8>>2])*20|0)|0;while(1){if((c[p+12>>2]|0)==68?(c[p+8>>2]|0)==(o|0):0){q=7;break}r=c[p+16>>2]|0;if((r|0)==0){s=75600;break}else p=r}if((q|0)==7)s=p;if((c[s+4>>2]|0)!=0)if((s|0)==0)break;else{t=s;break a}else{a[m>>0]=n&255|16;break}}while(0);c[e>>2]=(xd(k)|0)<<16;c[e+4>>2]=3;i=g;return}else if((j|0)==7){u=(c[f>>2]|0)+8|0;q=16}else if((j|0)==4){c[e>>2]=c[(c[f>>2]|0)+12>>2]<<16;c[e+4>>2]=3;i=g;return}else{u=(c[b+12>>2]|0)+(j<<2)+224|0;q=16}while(0);if((q|0)==16){q=c[u>>2]|0;b:do if((q|0)==0)v=75600;else{u=c[(c[b+12>>2]|0)+172>>2]|0;j=(c[q+16>>2]|0)+(((1<<(d[q+7>>0]|0))+ -1&c[u+8>>2])*20|0)|0;while(1){if((c[j+12>>2]|0)==68?(c[j+8>>2]|0)==(u|0):0)break;s=c[j+16>>2]|0;if((s|0)==0){v=75600;break b}else j=s}v=j}while(0);if((c[v+4>>2]|0)==0)We(b,f,77928);else t=v}v=b+28|0;q=e-(c[v>>2]|0)|0;e=b+8|0;u=c[e>>2]|0;c[e>>2]=u+8;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];t=c[e>>2]|0;c[e>>2]=t+8;c[t>>2]=c[f>>2];c[t+4>>2]=c[h>>2];t=c[e>>2]|0;c[e>>2]=t+8;c[t>>2]=c[f>>2];c[t+4>>2]=c[h>>2];Rd(b,(c[e>>2]|0)+ -24|0,1,(d[(c[b+16>>2]|0)+18>>0]|0)&1);b=c[v>>2]|0;v=c[e>>2]|0;h=v+ -8|0;c[e>>2]=h;c[b+q>>2]=c[h>>2];c[b+(q+4)>>2]=c[v+ -4>>2];i=g;return}function ee(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;h=i;i=i+112|0;j=h;k=h+8|0;l=b+8|0;m=b+16|0;n=(c[l>>2]|0)-((c[c[m>>2]>>2]|0)+8)>>3;o=e+16|0;p=c[o>>2]|0;q=e+72|0;r=1;s=1;a:while(1){if((r|0)>0){t=r;u=p;do{if((u|0)==(q|0)){v=r;w=s;break a}t=t+ -1|0;u=c[u+8>>2]|0}while((t|0)>0);if((t|0)==0)x=u;else{v=r;w=s;break}}else x=p;y=r<<1;if((x|0)==(q|0)){v=r;w=s;break}if((r|0)<0){v=y;w=r;break}else{z=r;r=y;s=z}}if((w|0)<(v|0)){s=v;r=w;while(1){w=s+r|0;x=(w|0)/2|0;b:do if((w|0)<-1)A=1;else{if((w|0)>1){z=x;y=p;do{if((y|0)==(q|0)){A=1;break b}z=z+ -1|0;y=c[y+8>>2]|0}while((z|0)>0);if((z|0)==0)B=y;else{A=1;break}}else B=p;A=(B|0)==(q|0)}while(0);w=A?x:s;r=A?r:x+1|0;if((r|0)>=(w|0)){C=w;break}else s=w}}else C=v;v=(C+ -1|0)>22?12:0;if((f|0)!=0){c[j>>2]=f;Ed(b,75680,j)|0}f=b+12|0;s=c[f>>2]|0;r=s+12|0;A=c[r>>2]|0;do if((A|0)>0)if((a[s+51>>0]|0)==0){B=s+8|0;c[B>>2]=A+1600+(c[B>>2]|0);c[r>>2]=-1600;break}else{_d(b);break}while(0);r=Kf(b,75688,16)|0;A=c[l>>2]|0;c[A>>2]=r;c[A+4>>2]=d[r+4>>0]|64;c[l>>2]=(c[l>>2]|0)+8;c:do if((g|0)>=0){r=k+96|0;A=C+ -11|0;s=k+36|0;B=k+20|0;p=k+8|0;w=k+12|0;u=k+24|0;t=k+35|0;D=k+4|0;E=g;while(1){F=E+1|0;G=c[o>>2]|0;if((E|0)>0){H=E;I=G;do{if((I|0)==(q|0))break c;H=H+ -1|0;I=c[I+8>>2]|0}while((H|0)>0);if((H|0)==0)J=I;else break c}else J=G;if((J|0)==(q|0))break c;c[r>>2]=J;do if((F|0)==(v|0)){y=c[f>>2]|0;z=y+12|0;K=c[z>>2]|0;do if((K|0)>0)if((a[y+51>>0]|0)==0){L=y+8|0;c[L>>2]=K+1600+(c[L>>2]|0);c[z>>2]=-1600;break}else{_d(b);break}while(0);z=Kf(b,75712,5)|0;K=c[l>>2]|0;c[K>>2]=z;c[K+4>>2]=d[z+4>>0]|64;c[l>>2]=(c[l>>2]|0)+8;M=A}else{fe(e,75720,k)|0;c[j>>2]=s;Ed(b,75728,j)|0;z=c[B>>2]|0;if((z|0)>0){c[j>>2]=z;Ed(b,75736,j)|0}z=c[f>>2]|0;K=z+12|0;y=c[K>>2]|0;do if((y|0)>0)if((a[z+51>>0]|0)==0){L=z+8|0;c[L>>2]=y+1600+(c[L>>2]|0);c[K>>2]=-1600;break}else{_d(b);break}while(0);K=Kf(b,75744,4)|0;y=c[l>>2]|0;c[y>>2]=K;c[y+4>>2]=d[K+4>>0]|64;c[l>>2]=(c[l>>2]|0)+8;do if((a[c[p>>2]>>0]|0)==0){K=a[c[w>>2]>>0]|0;if(K<<24>>24==67){if((ie(b,k)|0)==0){y=c[f>>2]|0;z=y+12|0;L=c[z>>2]|0;do if((L|0)>0)if((a[y+51>>0]|0)==0){N=y+8|0;c[N>>2]=L+1600+(c[N>>2]|0);c[z>>2]=-1600;break}else{_d(b);break}while(0);z=Kf(b,75656,1)|0;L=c[l>>2]|0;c[L>>2]=z;c[L+4>>2]=d[z+4>>0]|64;c[l>>2]=(c[l>>2]|0)+8;break}z=c[l>>2]|0;L=z+ -8|0;if((c[z+ -4>>2]&15|0)!=4)if((wd(b,L)|0)==0)O=0;else{z=c[f>>2]|0;y=z+12|0;N=c[y>>2]|0;do if((N|0)>0)if((a[z+51>>0]|0)==0){P=z+8|0;c[P>>2]=N+1600+(c[P>>2]|0);c[y>>2]=-1600;break}else{_d(b);break}while(0);Q=(c[l>>2]|0)+ -8|0;R=58}else{Q=L;R=58}if((R|0)==58){R=0;O=(c[Q>>2]|0)+16|0}c[j>>2]=O;Ed(b,80096,j)|0;y=c[l>>2]|0;N=y+ -8|0;z=y+ -16|0;while(1){c[z>>2]=c[N>>2];c[z+4>>2]=c[z+12>>2];y=N+8|0;S=c[l>>2]|0;if(y>>>0<S>>>0){P=N;N=y;z=P}else break}c[l>>2]=S+ -8;break}else if(K<<24>>24==109){z=c[f>>2]|0;N=z+12|0;L=c[N>>2]|0;do if((L|0)>0)if((a[z+51>>0]|0)==0){P=z+8|0;c[P>>2]=L+1600+(c[P>>2]|0);c[N>>2]=-1600;break}else{_d(b);break}while(0);N=Kf(b,80112,10)|0;L=c[l>>2]|0;c[L>>2]=N;c[L+4>>2]=d[N+4>>0]|64;c[l>>2]=(c[l>>2]|0)+8;break}else{N=c[u>>2]|0;c[j>>2]=s;c[j+4>>2]=N;Ed(b,80128,j)|0;break}}else{c[j>>2]=c[D>>2];Ed(b,80096,j)|0}while(0);if((a[t>>0]|0)==0)T=c[l>>2]|0;else{N=c[f>>2]|0;L=N+12|0;z=c[L>>2]|0;do if((z|0)>0)if((a[N+51>>0]|0)==0){K=N+8|0;c[K>>2]=z+1600+(c[K>>2]|0);c[L>>2]=-1600;break}else{_d(b);break}while(0);L=Kf(b,75752,20)|0;z=c[l>>2]|0;c[z>>2]=L;c[z+4>>2]=d[L+4>>0]|64;L=(c[l>>2]|0)+8|0;c[l>>2]=L;T=L}L=T-((c[c[m>>2]>>2]|0)+8)>>3;z=L-n|0;if((z|0)<=1){if((L|0)!=(n|0)){M=F;break}L=Kf(b,75664,0)|0;c[T>>2]=L;c[T+4>>2]=d[L+4>>0]|64;c[l>>2]=(c[l>>2]|0)+8;M=F;break}L=c[f>>2]|0;N=L+12|0;K=c[N>>2]|0;do if((K|0)>0)if((a[L+51>>0]|0)==0){P=L+8|0;c[P>>2]=K+1600+(c[P>>2]|0);c[N>>2]=-1600;break}else{_d(b);break}while(0);ce(b,z);M=F}while(0);if((M|0)<0)break;else E=M}}while(0);M=c[l>>2]|0;T=M-((c[c[m>>2]>>2]|0)+8)>>3;m=T-n|0;if((m|0)<=1){if((T|0)!=(n|0)){i=h;return}n=Kf(b,75664,0)|0;c[M>>2]=n;c[M+4>>2]=d[n+4>>0]|64;c[l>>2]=(c[l>>2]|0)+8;i=h;return}l=c[f>>2]|0;f=l+12|0;n=c[f>>2]|0;do if((n|0)>0)if((a[l+51>>0]|0)==0){M=l+8|0;c[M>>2]=n+1600+(c[M>>2]|0);c[f>>2]=-1600;break}else{_d(b);break}while(0);ce(b,m);i=h;return}function fe(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;g=i;i=i+16|0;h=g;if((a[e>>0]|0)==62){j=b+8|0;k=(c[j>>2]|0)+ -8|0;c[j>>2]=k;l=e+1|0;m=0;n=k}else{k=c[f+96>>2]|0;l=e;m=k;n=c[k>>2]|0}k=n+4|0;if((c[k>>2]&31|0)==6)o=c[n>>2]|0;else o=0;e=a[l>>0]|0;a:do if(e<<24>>24==0)p=1;else{j=(o|0)==0;q=f+16|0;r=f+24|0;s=f+28|0;t=f+12|0;u=f+36|0;v=f+45|0;w=f+95|0;x=f+39|0;y=o+4|0;z=o+12|0;A=(m|0)==0;B=f+20|0;C=m+18|0;D=m+28|0;E=f+32|0;F=f+34|0;G=f+33|0;H=o+6|0;I=f+35|0;J=f+8|0;K=f+4|0;L=m+8|0;M=b+12|0;N=l;O=e;P=1;while(1){b:do switch(O<<24>>24|0){case 102:case 76:{Q=P;break};case 117:{if(!j){a[E>>0]=a[H>>0]|0;if((a[y>>0]|0)!=38){a[F>>0]=a[(c[z>>2]|0)+77>>0]|0;a[G>>0]=a[(c[z>>2]|0)+76>>0]|0;Q=P;break b}}else a[E>>0]=0;a[F>>0]=1;a[G>>0]=0;Q=P;break};case 116:{if(A)R=0;else R=d[C>>0]&64;a[I>>0]=R;Q=P;break};case 83:{if(!j?(a[y>>0]|0)!=38:0){S=c[z>>2]|0;T=c[S+36>>2]|0;if((T|0)==0)U=79864;else U=T+16|0;c[q>>2]=U;T=c[S+64>>2]|0;c[r>>2]=T;c[s>>2]=c[S+68>>2];V=U;W=(T|0)==0?79872:79880}else{c[q>>2]=79848;c[r>>2]=-1;c[s>>2]=-1;V=79848;W=79856}c[t>>2]=W;T=cp(V|0)|0;S=a[V>>0]|0;if(S<<24>>24==61){X=V+1|0;if(T>>>0>60){Y=u+0|0;Z=X+0|0;_=Y+59|0;do{a[Y>>0]=a[Z>>0]|0;Y=Y+1|0;Z=Z+1|0}while((Y|0)<(_|0));a[w>>0]=0;Q=P;break b}else{hp(u|0,X|0,T|0)|0;Q=P;break b}}else if(S<<24>>24==64)if(T>>>0>60){a[u+0>>0]=a[77376]|0;a[u+1>>0]=a[77377]|0;a[u+2>>0]=a[77378]|0;Y=x+0|0;Z=V+(T+ -56)+0|0;_=Y+57|0;do{a[Y>>0]=a[Z>>0]|0;Y=Y+1|0;Z=Z+1|0}while((Y|0)<(_|0));Q=P;break b}else{hp(u|0,V+1|0,T|0)|0;Q=P;break b}else{S=qo(V,10)|0;Y=u+0|0;Z=77384;_=Y+9|0;do{a[Y>>0]=a[Z>>0]|0;Y=Y+1|0;Z=Z+1|0}while((Y|0)<(_|0));X=(S|0)==0;if(T>>>0<45&X){hp(v|0,V|0,T|0)|0;$=T+9|0}else{if(X)aa=T;else aa=S-V|0;X=aa>>>0>45?45:aa;hp(v|0,V|0,X|0)|0;ba=f+(X+9)+36|0;a[ba+0>>0]=a[77376]|0;a[ba+1>>0]=a[77377]|0;a[ba+2>>0]=a[77378]|0;$=X+12|0}X=f+$+36|0;a[X+0>>0]=a[77400]|0;a[X+1>>0]=a[77401]|0;a[X+2>>0]=a[77402]|0;Q=P;break b}break};case 110:{c:do if((!A?(a[C>>0]&64)==0:0)?(X=c[L>>2]|0,!((a[X+18>>0]&1)==0)):0){ba=c[(c[c[X>>2]>>2]|0)+12>>2]|0;ca=c[ba+12>>2]|0;da=((c[X+28>>2]|0)-ca>>2)+ -1|0;X=c[ca+(da<<2)>>2]|0;do switch(X&63|0){case 30:case 29:{ca=Xe(ba,da,X>>>6&255,K)|0;c[J>>2]=ca;if((ca|0)==0)break c;else{Q=P;break b}break};case 14:{ea=7;fa=58;break};case 15:{ea=8;fa=58;break};case 16:{ea=9;fa=58;break};case 10:case 8:{ea=1;fa=58;break};case 24:{ea=5;fa=58;break};case 13:{ea=6;fa=58;break};case 26:{ea=14;fa=58;break};case 22:{ea=15;fa=58;break};case 7:case 6:case 12:{ea=0;fa=58;break};case 34:{ga=79816;ha=79816;break};case 17:{ea=10;fa=58;break};case 18:{ea=11;fa=58;break};case 19:{ea=12;fa=58;break};case 21:{ea=4;fa=58;break};case 25:{ea=13;fa=58;break};default:{fa=59;break c}}while(0);if((fa|0)==58){fa=0;ga=(c[(c[M>>2]|0)+(ea<<2)+156>>2]|0)+16|0;ha=79832}c[K>>2]=ga;c[J>>2]=ha;Q=P;break b}else fa=59;while(0);if((fa|0)==59){fa=0;c[J>>2]=0}c[J>>2]=75664;c[K>>2]=0;Q=P;break};case 108:{if(!A?!((a[C>>0]&1)==0):0){S=c[(c[c[m>>2]>>2]|0)+12>>2]|0;T=c[S+20>>2]|0;if((T|0)==0)ia=0;else ia=c[T+(((c[D>>2]|0)-(c[S+12>>2]|0)>>2)+ -1<<2)>>2]|0}else ia=-1;c[B>>2]=ia;Q=P;break};default:Q=0}while(0);N=N+1|0;O=a[N>>0]|0;if(O<<24>>24==0){p=Q;break a}else P=Q}}while(0);if((qo(l,102)|0)!=0){Q=b+8|0;ia=c[Q>>2]|0;c[ia>>2]=c[n>>2];c[ia+4>>2]=c[k>>2];c[Q>>2]=(c[Q>>2]|0)+8}if((qo(l,76)|0)==0){i=g;return p|0}if((o|0)!=0?(a[o+4>>0]|0)!=38:0){l=o+12|0;o=c[(c[l>>2]|0)+20>>2]|0;Q=Ld(b)|0;k=b+8|0;ia=c[k>>2]|0;c[ia>>2]=Q;c[ia+4>>2]=69;c[k>>2]=(c[k>>2]|0)+8;if((c[(c[l>>2]|0)+52>>2]|0)<=0){i=g;return p|0}k=Q+28|0;ia=Q+12|0;n=h+4|0;m=Q+7|0;ha=Q+16|0;ga=0;do{ea=c[o+(ga<<2)>>2]|0;$=ea+ -1|0;d:do if($>>>0<(c[k>>2]|0)>>>0){ja=(c[ia>>2]|0)+($<<3)|0;fa=82}else{f=ea<<16;if((f|0)<0){V=0-f|0;ka=(f|0)==(V|0)?0:V}else ka=f;V=(c[ha>>2]|0)+(((ka|0)%((1<<d[m>>0])+ -1|1|0)|0)*20|0)|0;while(1){if((c[V+12>>2]|0)==3?(c[V+8>>2]|0)==(f|0):0)break;aa=c[V+16>>2]|0;if((aa|0)==0){fa=83;break d}else V=aa}ja=V;fa=82}while(0);if((fa|0)==82){fa=0;if((ja|0)==75600)fa=83;else la=ja}if((fa|0)==83){fa=0;c[h>>2]=ea;c[n>>2]=3;la=Of(b,Q,h)|0}c[la>>2]=1;c[la+4>>2]=1;ga=ga+1|0}while((ga|0)<(c[(c[l>>2]|0)+52>>2]|0));i=g;return p|0}l=b+8|0;b=c[l>>2]|0;c[b+4>>2]=0;c[l>>2]=b+8;i=g;return p|0}function ge(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=i;i=i+112|0;g=f;h=f+12|0;f=c[b+16>>2]|0;if((f|0)==(b+72|0)){c[g>>2]=d;c[g+4>>2]=e;he(b,75776,g)|0}c[h+96>>2]=f;fe(b,75800,h)|0;if((Zo(c[h+8>>2]|0,75808)|0)==0){f=d+ -1|0;if((f|0)==0){c[g>>2]=c[h+4>>2];c[g+4>>2]=e;he(b,75816,g)|0}else j=f}else j=d;d=h+4|0;f=c[d>>2]|0;if((f|0)!=0){k=f;c[g>>2]=j;l=g+4|0;c[l>>2]=k;m=g+8|0;c[m>>2]=e;he(b,75848,g)|0}do if((ie(b,h)|0)==0)n=75656;else{f=b+8|0;o=c[f>>2]|0;p=o+ -8|0;if((c[o+ -4>>2]&15|0)==4)q=p;else{if((wd(b,p)|0)==0){n=0;break}p=c[b+12>>2]|0;o=p+12|0;r=c[o>>2]|0;do if((r|0)>0)if((a[p+51>>0]|0)==0){s=p+8|0;c[s>>2]=r+1600+(c[s>>2]|0);c[o>>2]=-1600;break}else{_d(b);break}while(0);q=(c[f>>2]|0)+ -8|0}n=(c[q>>2]|0)+16|0}while(0);c[d>>2]=n;k=n;c[g>>2]=j;l=g+4|0;c[l>>2]=k;m=g+8|0;c[m>>2]=e;he(b,75848,g)|0;return 0}function he(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f;c[g>>2]=e;je(b,1);e=b+12|0;f=c[e>>2]|0;h=f+12|0;j=c[h>>2]|0;do if((j|0)>0)if((a[f+51>>0]|0)==0){k=f+8|0;c[k>>2]=j+1600+(c[k>>2]|0);c[h>>2]=-1600;break}else{_d(b);break}while(0);Dd(b,d,g)|0;g=c[e>>2]|0;e=g+12|0;d=c[e>>2]|0;if((d|0)<=0){ce(b,2);$d(b)|0}if((a[g+51>>0]|0)==0){h=g+8|0;c[h>>2]=d+1600+(c[h>>2]|0);c[e>>2]=-1600;ce(b,2);$d(b)|0}else{_d(b);ce(b,2);$d(b)|0}return 0}function ie(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;f=a+8|0;g=a+16|0;h=(c[f>>2]|0)-((c[c[g>>2]>>2]|0)+8)|0;j=h>>3;fe(a,80088,b)|0;b=c[(c[a+12>>2]|0)+36>>2]|0;a:do if((c[b+28>>2]|0)>>>0>1)k=(c[b+12>>2]|0)+8|0;else{l=(c[b+16>>2]|0)+((131072%((1<<(d[b+7>>0]|0))+ -1|1|0)|0)*20|0)|0;while(1){if((c[l+12>>2]|0)==3?(c[l+8>>2]|0)==131072:0)break;m=c[l+16>>2]|0;if((m|0)==0){k=75600;break a}else l=m}k=l}while(0);b=c[f>>2]|0;c[b>>2]=c[k>>2];c[b+4>>2]=c[k+4>>2];c[f>>2]=(c[f>>2]|0)+8;k=j+1|0;if((Fg(a,k,2)|0)!=0){md(a,-1,k);c[f>>2]=(c[f>>2]|0)+ -16;n=1;i=e;return n|0}if(!((h|0)>-8)){c[f>>2]=(c[f>>2]|0)+(k<<3);n=0;i=e;return n|0}h=c[f>>2]|0;a=(c[c[g>>2]>>2]|0)+(k<<3)|0;if(h>>>0<a>>>0){k=h;do{h=k;k=k+8|0;c[h+4>>2]=0}while(k>>>0<a>>>0);c[f>>2]=k}c[f>>2]=a;n=0;i=e;return n|0}function je(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+112|0;g=f;h=f+8|0;a:do if((e|0)>=0){j=c[b+16>>2]|0;k=b+72|0;if((e|0)>0){l=e;m=j;do{if((m|0)==(k|0))break a;l=l+ -1|0;m=c[m+8>>2]|0}while((l|0)>0);if((l|0)==0)n=m;else break}else n=j;if((n|0)!=(k|0)?(c[h+96>>2]=n,fe(b,75880,h)|0,o=h+20|0,p=c[o>>2]|0,(p|0)>0):0){c[g>>2]=h+36;c[g+4>>2]=p;Ed(b,75888,g)|0;c[18974]=c[o>>2];i=f;return}}while(0);g=c[b+12>>2]|0;h=g+12|0;n=c[h>>2]|0;do if((n|0)>0)if((a[g+51>>0]|0)==0){e=g+8|0;c[e>>2]=n+1600+(c[e>>2]|0);c[h>>2]=-1600;break}else{_d(b);break}while(0);h=Kf(b,75664,0)|0;n=b+8|0;b=c[n>>2]|0;c[b>>2]=h;c[b+4>>2]=d[h+4>>0]|64;c[n>>2]=(c[n>>2]|0)+8;i=f;return}function ke(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+16|0;g=f;h=c[a+16>>2]|0;do if((b|0)<=0){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}l=-1001e3-b|0;m=c[h>>2]|0;if((c[m+4>>2]|0)!=22?(n=c[m>>2]|0,(l|0)<=(d[n+6>>0]|0|0)):0){j=n+16+(l+ -1<<3)|0;k=10}else o=0}else{l=(c[h>>2]|0)+(b<<3)|0;j=l>>>0<(c[a+8>>2]|0)>>>0?l:75600;k=10}while(0);if((k|0)==10)if((j|0)==75600)o=0;else o=(c[j+4>>2]&15)+1|0;j=c[75608+(o<<2)>>2]|0;c[g>>2]=e;c[g+4>>2]=j;ge(a,b,Ed(a,80064,g)|0)|0;i=f;return}function le(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;i=i+16|0;g=f;h=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[h>>2]|0;if((c[l+4>>2]|0)==22){m=e;i=f;return m|0}n=c[l>>2]|0;if((k|0)>(d[n+6>>0]|0|0)){m=e;i=f;return m|0}else{j=n+16+(k+ -1<<3)|0;break}}else{k=(c[h>>2]|0)+(b<<3)|0;j=k>>>0<(c[a+8>>2]|0)>>>0?k:75600}while(0);if((j|0)==75600){m=e;i=f;return m|0}if((c[j+4>>2]&15|0)==0){m=e;i=f;return m|0}e=td(a,b,g)|0;if((c[g>>2]|0)!=0){m=e;i=f;return m|0}ke(a,b,77544);m=e;i=f;return m|0}function me(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;a=i;e=b+4|0;f=c[e>>2]|0;if((f|0)==0){g=0;i=a;return g|0}c[d>>2]=f;c[e>>2]=0;g=c[b>>2]|0;i=a;return g|0}function ne(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=cp(b|0)|0;c[e>>2]=b;c[e+4>>2]=f;f=Vd(a,2,e,b,0)|0;i=d;return f|0}function oe(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;g=c[a+16>>2]|0;do if((b|0)<=0){if(!((b|0)<-1000999)){h=(c[a+8>>2]|0)+(b<<3)|0;break}if((b|0)==-1001e3){h=(c[a+12>>2]|0)+36|0;break}j=-1001e3-b|0;k=c[g>>2]|0;if((c[k+4>>2]|0)!=22?(l=c[k>>2]|0,(j|0)<=(d[l+6>>0]|0|0)):0)h=l+16+(j+ -1<<3)|0;else h=75600}else{j=(c[g>>2]|0)+(b<<3)|0;h=j>>>0<(c[a+8>>2]|0)>>>0?j:75600}while(0);b=c[h+4>>2]&15;if((b|0)==5)m=(c[h>>2]|0)+8|0;else if((b|0)==7)m=(c[h>>2]|0)+8|0;else m=(c[a+12>>2]|0)+(b<<2)+224|0;b=c[m>>2]|0;if((b|0)==0){n=0;i=f;return n|0}m=a+8|0;h=c[m>>2]|0;c[h>>2]=b;c[h+4>>2]=69;c[m>>2]=(c[m>>2]|0)+8;Cd(a,e)|0;e=c[m>>2]|0;a=Kd(c[e+ -16>>2]|0,e+ -8|0)|0;e=c[m>>2]|0;c[e+ -8>>2]=c[a>>2];c[e+ -4>>2]=c[a+4>>2];a=c[m>>2]|0;e=a+ -8|0;if((e|0)!=75600?(c[a+ -4>>2]&15|0)==0:0){c[m>>2]=a+ -16;n=0;i=f;return n|0}h=e;e=a+ -16|0;while(1){c[e>>2]=c[h>>2];c[e+4>>2]=c[e+12>>2];a=h+8|0;o=c[m>>2]|0;if(a>>>0<o>>>0){b=h;h=a;e=b}else break}c[m>>2]=o+ -8;n=1;i=f;return n|0}function pe(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;i=i+32|0;h=g+8|0;j=g;k=oc[e&1](f,0,8,372)|0;if((k|0)==0){l=0;i=g;return l|0}m=k+112|0;c[k>>2]=0;a[k+4>>0]=8;a[k+160>>0]=33;a[k+5>>0]=1;a[k+162>>0]=0;c[k+12>>2]=m;c[k+28>>2]=0;c[k+16>>2]=0;c[k+32>>2]=0;c[k+64>>2]=0;b[k+38>>1]=0;c[k+52>>2]=0;a[k+40>>0]=0;c[k+44>>2]=0;a[k+41>>0]=1;c[k+48>>2]=0;c[k+56>>2]=0;b[k+36>>1]=1;a[k+6>>0]=0;c[k+68>>2]=0;c[m>>2]=e;c[k+116>>2]=f;c[k+256>>2]=k;f=eb(0)|0;c[j>>2]=f;c[h>>2]=k;c[h+4>>2]=j;c[h+8>>2]=75600;c[h+12>>2]=1;j=f^16;f=16;do{f=f+ -1|0;j=(j<<5)+(j>>>2)+(d[h+f>>0]|0)^j}while((f|0)!=0);c[k+156>>2]=j;j=k+208|0;c[k+220>>2]=j;c[k+224>>2]=j;a[k+163>>0]=0;j=k+132|0;c[k+152>>2]=0;c[k+228>>2]=0;c[k+236>>2]=0;c[k+252>>2]=0;c[k+260>>2]=0;f=k+161|0;c[j+0>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;a[f>>0]=5;f=k+120|0;j=k+168|0;h=j+40|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(h|0));c[f>>2]=372;c[k+124>>2]=0;c[k+240>>2]=200;c[k+244>>2]=200;c[k+248>>2]=200;j=k+336|0;h=j+36|0;do{c[j>>2]=0;j=j+4|0}while((j|0)<(h|0));if((id(k,3,0)|0)==0){l=k;i=g;return l|0}Hf(k);l=0;i=g;return l|0}function qe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;b=i;i=i+16|0;d=b;e=a+16|0;f=c[c[e>>2]>>2]|0;g=f+16|0;h=a+8|0;j=c[h>>2]|0;k=g>>>0<j>>>0?g:75600;if((k|0)==75600)l=-1;else l=c[k+4>>2]&15;k=f+8|0;f=k>>>0<j>>>0?k:75600;if((f|0)!=75600){if((c[f+4>>2]&15|0)!=5){m=(c[f+4>>2]&15)+1|0;n=6}}else{m=0;n=6}if((n|0)==6){n=c[75608+(m<<2)>>2]|0;c[d>>2]=77560;c[d+4>>2]=n;ge(a,1,Ed(a,80064,d)|0)|0}if(!((l|0)==0|(l|0)==5))ge(a,2,75960)|0;if((oe(a,1,75984)|0)!=0)he(a,76e3,d)|0;d=c[h>>2]|0;l=(c[c[e>>2]>>2]|0)+24|0;if(d>>>0<l>>>0)o=d;else{c[h>>2]=l;Pd(a,1)|0;i=b;return 1}do{d=o;o=o+8|0;c[d+4>>2]=0}while(o>>>0<l>>>0);c[h>>2]=o;c[h>>2]=l;Pd(a,1)|0;i=b;return 1}function re(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;b=i;d=a+16|0;e=c[c[d>>2]>>2]|0;f=e+8|0;g=a+8|0;h=c[g>>2]|0;if((f|0)==75600|f>>>0>=h>>>0){ge(a,1,75920)|0;j=c[g>>2]|0;k=c[c[d>>2]>>2]|0}else{j=h;k=e}e=k+8|0;k=e>>>0<j>>>0?e:75600;if((k|0)==75600){l=0;m=75608+(l<<2)|0;n=c[m>>2]|0;Cd(a,n)|0;i=b;return 1}l=(c[k+4>>2]&15)+1|0;m=75608+(l<<2)|0;n=c[m>>2]|0;Cd(a,n)|0;i=b;return 1}function se(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=i;i=i+16|0;d=b;e=a+16|0;f=c[e>>2]|0;g=c[f>>2]|0;h=g+8|0;j=a+8|0;k=c[j>>2]|0;l=h>>>0<k>>>0?h:75600;if((l|0)!=75600)if((c[l+4>>2]&15|0)==5){m=g;n=k;o=f}else{p=(c[l+4>>2]&15)+1|0;q=4}else{p=0;q=4}if((q|0)==4){q=c[75608+(p<<2)>>2]|0;c[d>>2]=77560;c[d+4>>2]=q;ge(a,1,Ed(a,80064,d)|0)|0;d=c[e>>2]|0;m=c[d>>2]|0;n=c[j>>2]|0;o=d}d=m+24|0;if(n>>>0<d>>>0){e=n;do{n=e;e=e+8|0;c[n+4>>2]=0}while(e>>>0<d>>>0);c[j>>2]=e}c[j>>2]=d;e=(c[o>>2]|0)+8|0;o=(be(a,c[(e>>>0<d>>>0?e:75600)>>2]|0,m+16|0)|0)==0;m=c[j>>2]|0;e=o?m+ -8|0:m+8|0;c[j>>2]=e;if(!o){r=2;i=b;return r|0}c[e+4>>2]=0;c[j>>2]=e+8;r=1;i=b;return r|0}function te(a){a=a|0;var b=0;b=i;ue(a,76040,0,3);i=b;return 3}function ue(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;i=i+16|0;g=f;h=(oe(a,1,b)|0)==0;b=a+16|0;j=(c[c[b>>2]>>2]|0)+8|0;k=a+8|0;l=c[k>>2]|0;m=j>>>0<l>>>0?j:75600;if(!h){c[l>>2]=c[m>>2];c[l+4>>2]=c[m+4>>2];h=c[k>>2]|0;c[k>>2]=h+8;Rd(a,h+ -8|0,3,0);i=f;return}if((m|0)!=75600)if((c[m+4>>2]&15|0)==5)n=l;else{o=(c[m+4>>2]&15)+1|0;p=5}else{o=0;p=5}if((p|0)==5){p=c[75608+(o<<2)>>2]|0;c[g>>2]=77560;c[g+4>>2]=p;ge(a,1,Ed(a,80064,g)|0)|0;n=c[k>>2]|0}c[n>>2]=e;c[n+4>>2]=22;n=c[k>>2]|0;e=n+8|0;c[k>>2]=e;g=c[c[b>>2]>>2]|0;b=(g|0)<(n|0)?g+8|0:75600;c[e>>2]=c[b>>2];c[n+12>>2]=c[b+4>>2];b=c[k>>2]|0;n=b+8|0;c[k>>2]=n;if((d|0)==0){c[b+12>>2]=0;c[k>>2]=b+16;i=f;return}else{c[n>>2]=0;c[b+12>>2]=3;c[k>>2]=b+16;i=f;return}}function ve(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,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=i;i=i+16|0;e=d;f=b+16|0;g=c[c[f>>2]>>2]|0;h=g+8|0;j=b+8|0;k=c[j>>2]|0;l=h>>>0<k>>>0?h:75600;m=c[l+4>>2]|0;if((m|0)==1)n=2;else if((m|0)!=0){o=k;p=h;q=o-p|0;r=q>>3;i=d;return r|0}if((n|0)==2?(c[l>>2]|0)!=0:0){o=k;p=h;q=o-p|0;r=q>>3;i=d;return r|0}r=g+16|0;g=r>>>0<k>>>0?r:75600;if((g|0)==75600){s=76056;c[e>>2]=s;he(b,76048,e)|0}k=c[g+4>>2]&15;if((k|0)==4)t=r;else if((k|0)==0){s=76056;c[e>>2]=s;he(b,76048,e)|0}else n=5;if((n|0)==5){if((wd(b,g)|0)==0){g=(c[c[f>>2]>>2]|0)+16|0;n=g>>>0<(c[j>>2]|0)>>>0?g:75600;if((n|0)==75600)u=0;else u=(c[n+4>>2]&15)+1|0;n=c[75608+(u<<2)>>2]|0;c[e>>2]=77552;c[e+4>>2]=n;ge(b,2,Ed(b,80064,e)|0)|0;s=0;c[e>>2]=s;he(b,76048,e)|0}n=c[b+12>>2]|0;u=n+12|0;g=c[u>>2]|0;do if((g|0)>0)if((a[n+51>>0]|0)==0){k=n+8|0;c[k>>2]=g+1600+(c[k>>2]|0);c[u>>2]=-1600;break}else{_d(b);break}while(0);u=(c[c[f>>2]>>2]|0)+16|0;t=u>>>0<(c[j>>2]|0)>>>0?u:75600}s=(c[t>>2]|0)+16|0;c[e>>2]=s;he(b,76048,e)|0;return 0}function we(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;if((c[a+20>>2]|0)==(d|0)){c[a+24>>2]=d;f=a+28|0;if((b|0)==-1){i=e;return}g=c[f>>2]|0;if((g|0)==-1){c[f>>2]=b;i=e;return}f=c[(c[a>>2]|0)+12>>2]|0;h=g;while(1){j=f+(h<<2)|0;k=c[j>>2]|0;g=(k>>>14)+ -131071|0;if((g|0)==-1)break;l=h+1+g|0;if((l|0)==-1)break;else h=l}f=~h+b|0;if((((f|0)>-1?f:0-f|0)|0)>131071)ye(c[a+12>>2]|0,80032);c[j>>2]=(f<<14)+2147467264|k&16383;i=e;return}if((b|0)==-1){i=e;return}k=c[(c[a>>2]|0)+12>>2]|0;f=b;while(1){b=k+(f<<2)|0;j=c[b>>2]|0;h=(j>>>14)+ -131071|0;if((h|0)==-1)m=-1;else m=f+1+h|0;if((f|0)>0?(h=k+(f+ -1<<2)|0,l=c[h>>2]|0,((l&63)+ -24|0)>>>0<5):0){n=h;o=l}else{n=b;o=j}if((o&63|0)==28){c[n>>2]=o&8372224|o>>>23<<6|27;l=~f+d|0;if((((l|0)>-1?l:0-l|0)|0)>131071){p=20;break}q=c[b>>2]&16383|(l<<14)+2147467264}else{l=~f+d|0;if((((l|0)>-1?l:0-l|0)|0)>131071){p=23;break}q=j&16383|(l<<14)+2147467264}c[b>>2]=q;if((m|0)==-1){p=26;break}else f=m}if((p|0)==20)ye(c[a+12>>2]|0,80032);else if((p|0)==23)ye(c[a+12>>2]|0,80032);else if((p|0)==26){i=e;return}}function xe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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=i;e=c[a>>2]|0;f=a+28|0;g=c[f>>2]|0;h=a+20|0;j=c[h>>2]|0;do if(!((g|0)==-1)){k=c[e+12>>2]|0;l=g;while(1){m=k+(l<<2)|0;n=c[m>>2]|0;o=(n>>>14)+ -131071|0;if((o|0)==-1)p=-1;else p=l+1+o|0;if((l|0)>0?(o=k+(l+ -1<<2)|0,q=c[o>>2]|0,((q&63)+ -24|0)>>>0<5):0){r=o;s=q}else{r=m;s=n}if((s&63|0)==28){c[r>>2]=s&8372224|s>>>23<<6|27;q=j+~l|0;if((((q|0)>-1?q:0-q|0)|0)>131071){t=10;break}u=c[m>>2]&16383|(q<<14)+2147467264}else{q=j+~l|0;if((((q|0)>-1?q:0-q|0)|0)>131071){t=13;break}u=(q<<14)+2147467264|n&16383}c[m>>2]=u;if((p|0)==-1){t=16;break}else l=p}if((t|0)==10)ye(c[a+12>>2]|0,80032);else if((t|0)==13)ye(c[a+12>>2]|0,80032);else if((t|0)==16){v=c[h>>2]|0;break}}else v=j;while(0);c[f>>2]=-1;f=e+48|0;if((v|0)<(c[f>>2]|0)){w=e+12|0;x=v}else{v=e+12|0;c[v>>2]=Cf(c[(c[a+12>>2]|0)+32>>2]|0,c[v>>2]|0,f,4,2147483645,80024)|0;w=v;x=c[h>>2]|0}c[(c[w>>2]|0)+(x<<2)>>2]=b;b=c[h>>2]|0;x=e+52|0;w=a+12|0;if((b|0)<(c[x>>2]|0)){y=e+20|0;z=b;A=c[w>>2]|0;B=A+8|0;C=c[B>>2]|0;D=c[y>>2]|0;E=D+(z<<2)|0;c[E>>2]=C;F=c[h>>2]|0;G=F+1|0;c[h>>2]=G;i=d;return F|0}else{b=e+20|0;c[b>>2]=Cf(c[(c[w>>2]|0)+32>>2]|0,c[b>>2]|0,x,4,2147483645,80024)|0;y=b;z=c[h>>2]|0;A=c[w>>2]|0;B=A+8|0;C=c[B>>2]|0;D=c[y>>2]|0;E=D+(z<<2)|0;c[E>>2]=C;F=c[h>>2]|0;G=F+1|0;c[h>>2]=G;i=d;return F|0}return 0}function ye(a,b){a=a|0;b=b|0;yf(a,b,c[a+12>>2]|0)}function ze(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;g=i;h=c[(c[b+12>>2]|0)+32>>2]|0;j=c[b>>2]|0;k=c[b+4>>2]|0;l=Kd(k,e)|0;if((l|0)==75600)m=Of(h,k,e)|0;else m=l;l=m+4|0;if(((c[l>>2]|0)==3?(e=c[m>>2]>>16,k=c[j+8>>2]|0,(c[k+(e<<3)+4>>2]|0)==(c[f+4>>2]|0)):0)?(od(0,k+(e<<3)|0,f)|0)!=0:0){n=e;i=g;return n|0}e=j+44|0;k=c[e>>2]|0;o=b+32|0;b=c[o>>2]|0;c[m>>2]=b;c[l>>2]=3;l=c[e>>2]|0;if((b|0)<(l|0))p=l;else{l=j+8|0;c[l>>2]=Cf(h,c[l>>2]|0,e,8,67108863,80008)|0;p=c[e>>2]|0}l=c[j+8>>2]|0;if((k|0)<(p|0)){p=k;do{c[l+(p<<3)+4>>2]=0;p=p+1|0}while((p|0)<(c[e>>2]|0))}c[l+(b<<3)>>2]=c[f>>2];e=f+4|0;c[l+(b<<3)+4>>2]=c[e>>2];c[o>>2]=(c[o>>2]|0)+1;if((c[e>>2]&64|0)==0){n=b;i=g;return n|0}e=c[f>>2]|0;if((a[e+5>>0]&3)==0){n=b;i=g;return n|0}f=j+5|0;j=a[f>>0]|0;if((j&4)==0){n=b;i=g;return n|0}o=c[h+12>>2]|0;if((d[o+49>>0]|0)<2){rf(o,e);n=b;i=g;return n|0}else{a[f>>0]=(d[o+48>>0]|0)&3|j&184;n=b;i=g;return n|0}return 0}function Ae(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;h=c[e>>2]|0;if((h|0)==12){j=(c[(c[b>>2]|0)+12>>2]|0)+(c[e+4>>2]<<2)|0;c[j>>2]=c[j>>2]&-8372225|(f<<14)+16384&8372224;i=g;return}else if((h|0)==13){h=e+4|0;e=c[b>>2]|0;j=c[e+12>>2]|0;k=j+(c[h>>2]<<2)|0;c[k>>2]=c[k>>2]&8388607|(f<<23)+8388608;f=j+(c[h>>2]<<2)|0;h=b+48|0;c[f>>2]=(d[h>>0]|0)<<6|c[f>>2]&-16321;f=a[h>>0]|0;j=(f&255)+1|0;k=e+78|0;do if(j>>>0>(d[k>>0]|0)>>>0)if(j>>>0>249)ye(c[b+12>>2]|0,76080);else{a[k>>0]=j;l=a[h>>0]|0;break}else l=f;while(0);a[h>>0]=(l&255)+1;i=g;return}else{i=g;return}}function Be(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;switch(c[f>>2]|0){case 9:{h=f+4|0;j=b[h>>1]|0;if((j&256|0)==0?(d[e+46>>0]|0)<=(j|0):0){j=e+48|0;a[j>>0]=(a[j>>0]|0)+ -1<<24>>24}j=h+2|0;if((a[h+3>>0]|0)==7)if((d[e+46>>0]|0)>(d[j>>0]|0))k=7;else{l=e+48|0;a[l>>0]=(a[l>>0]|0)+ -1<<24>>24;k=7}else k=6;c[h>>2]=xe(e,d[j>>0]<<23|k|b[h>>1]<<14)|0;c[f>>2]=11;i=g;return};case 7:{c[f>>2]=6;i=g;return};case 13:{h=(c[(c[e>>2]|0)+12>>2]|0)+(c[f+4>>2]<<2)|0;c[h>>2]=c[h>>2]&8388607|16777216;c[f>>2]=11;i=g;return};case 8:{h=f+4|0;c[h>>2]=xe(e,c[h>>2]<<23|5)|0;c[f>>2]=11;i=g;return};case 12:{c[f>>2]=6;h=f+4|0;c[h>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+(c[h>>2]<<2)>>2]|0)>>>6&255;i=g;return};default:{i=g;return}}}function Ce(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;Be(b,e);if(((c[e>>2]|0)==6?(g=c[e+4>>2]|0,(g&256|0)==0):0)?(d[b+46>>0]|0|0)<=(g|0):0){g=b+48|0;a[g>>0]=(a[g>>0]|0)+ -1<<24>>24}g=b+48|0;h=a[g>>0]|0;j=(h&255)+1|0;k=(c[b>>2]|0)+78|0;if(!(j>>>0>(d[k>>0]|0)>>>0)){l=h;m=l&255;n=m+1|0;o=n&255;a[g>>0]=o;p=n&255;q=p+ -1|0;De(b,e,q);i=f;return}if(j>>>0>249)ye(c[b+12>>2]|0,76080);a[k>>0]=j;l=a[g>>0]|0;m=l&255;n=m+1|0;o=n&255;a[g>>0]=o;p=n&255;q=p+ -1|0;De(b,e,q);i=f;return}function De(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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=i;Eg(a,b,d);f=b+8|0;do if((c[b>>2]|0)==10?(g=c[b+4>>2]|0,!((g|0)==-1)):0){h=c[f>>2]|0;if((h|0)==-1){c[f>>2]=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;if((h|0)==-1)break;n=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)ye(c[a+12>>2]|0,80032);else{c[l>>2]=(j<<14)+2147467264|m&16383;break}}while(0);m=c[f>>2]|0;l=b+12|0;j=c[l>>2]|0;if((m|0)==(j|0)){c[f>>2]=-1;c[l>>2]=-1;o=b+4|0;c[o>>2]=d;c[b>>2]=6;i=e;return}a:do if((m|0)==-1)p=20;else{n=c[(c[a>>2]|0)+12>>2]|0;h=m;while(1){q=n+(h<<2)|0;if((h|0)>0?(r=c[n+(h+ -1<<2)>>2]|0,((r&63)+ -24|0)>>>0<5):0)s=r;else s=c[q>>2]|0;if((s&63|0)!=28){p=28;break a}r=((c[q>>2]|0)>>>14)+ -131071|0;if((r|0)==-1){p=20;break a}h=h+1+r|0;if((h|0)==-1){p=20;break}}}while(0);b:do if((p|0)==20)if((j|0)==-1){t=-1;u=-1}else{s=c[(c[a>>2]|0)+12>>2]|0;m=j;while(1){h=s+(m<<2)|0;if((m|0)>0?(n=c[s+(m+ -1<<2)>>2]|0,((n&63)+ -24|0)>>>0<5):0)v=n;else v=c[h>>2]|0;if((v&63|0)!=28){p=28;break b}n=((c[h>>2]|0)>>>14)+ -131071|0;if((n|0)==-1){t=-1;u=-1;break b}m=m+1+n|0;if((m|0)==-1){t=-1;u=-1;break}}}while(0);do if((p|0)==28){v=a+28|0;do if((c[b>>2]|0)!=10){j=c[v>>2]|0;c[v>>2]=-1;m=xe(a,2147450903)|0;if(!((j|0)==-1))if(!((m|0)==-1)){s=c[(c[a>>2]|0)+12>>2]|0;n=m;while(1){w=s+(n<<2)|0;x=c[w>>2]|0;h=(x>>>14)+ -131071|0;if((h|0)==-1)break;k=n+1+h|0;if((k|0)==-1)break;else n=k}s=j+~n|0;if((((s|0)>-1?s:0-s|0)|0)>131071)ye(c[a+12>>2]|0,80032);else{c[w>>2]=(s<<14)+2147467264|x&16383;y=m;break}}else y=j;else y=m}else y=-1;while(0);s=a+20|0;k=a+24|0;c[k>>2]=c[s>>2];h=d<<6;g=xe(a,h|16387)|0;c[k>>2]=c[s>>2];r=xe(a,h|8388611)|0;c[k>>2]=c[s>>2];if(!((y|0)==-1)){s=c[v>>2]|0;if((s|0)==-1){c[v>>2]=y;t=g;u=r;break}k=c[(c[a>>2]|0)+12>>2]|0;h=s;while(1){z=k+(h<<2)|0;A=c[z>>2]|0;s=(A>>>14)+ -131071|0;if((s|0)==-1)break;q=h+1+s|0;if((q|0)==-1)break;else h=q}k=y+~h|0;if((((k|0)>-1?k:0-k|0)|0)>131071)ye(c[a+12>>2]|0,80032);else{c[z>>2]=(k<<14)+2147467264|A&16383;t=g;u=r;break}}else{t=g;u=r}}while(0);A=c[a+20>>2]|0;c[a+24>>2]=A;z=c[l>>2]|0;c:do if(!((z|0)==-1)){y=c[(c[a>>2]|0)+12>>2]|0;x=(d|0)==255;w=d<<6&16320;k=z;while(1){v=y+(k<<2)|0;q=c[v>>2]|0;s=(q>>>14)+ -131071|0;if((s|0)==-1)B=-1;else B=k+1+s|0;if((k|0)>0?(s=y+(k+ -1<<2)|0,C=c[s>>2]|0,((C&63)+ -24|0)>>>0<5):0){D=s;E=C}else{D=v;E=q}if((E&63|0)==28){C=E>>>23;if(x|(C|0)==(d|0))F=E&8372224|C<<6|27;else F=E&-16321|w;c[D>>2]=F;C=A+~k|0;if((((C|0)>-1?C:0-C|0)|0)>131071){p=58;break}G=c[v>>2]&16383|(C<<14)+2147467264}else{C=t+~k|0;if((((C|0)>-1?C:0-C|0)|0)>131071){p=61;break}G=q&16383|(C<<14)+2147467264}c[v>>2]=G;if((B|0)==-1)break c;else k=B}if((p|0)==58)ye(c[a+12>>2]|0,80032);else if((p|0)==61)ye(c[a+12>>2]|0,80032)}while(0);B=c[f>>2]|0;if((B|0)==-1){c[f>>2]=-1;c[l>>2]=-1;o=b+4|0;c[o>>2]=d;c[b>>2]=6;i=e;return}G=c[(c[a>>2]|0)+12>>2]|0;t=(d|0)==255;F=d<<6&16320;D=B;while(1){B=G+(D<<2)|0;E=c[B>>2]|0;z=(E>>>14)+ -131071|0;if((z|0)==-1)H=-1;else H=D+1+z|0;if((D|0)>0?(z=G+(D+ -1<<2)|0,k=c[z>>2]|0,((k&63)+ -24|0)>>>0<5):0){I=z;J=k}else{I=B;J=E}if((J&63|0)==28){k=J>>>23;if(t|(k|0)==(d|0))K=J&8372224|k<<6|27;else K=J&-16321|F;c[I>>2]=K;k=A+~D|0;if((((k|0)>-1?k:0-k|0)|0)>131071){p=76;break}L=c[B>>2]&16383|(k<<14)+2147467264}else{k=u+~D|0;if((((k|0)>-1?k:0-k|0)|0)>131071){p=79;break}L=E&16383|(k<<14)+2147467264}c[B>>2]=L;if((H|0)==-1){p=82;break}else D=H}if((p|0)==76)ye(c[a+12>>2]|0,80032);else if((p|0)==79)ye(c[a+12>>2]|0,80032);else if((p|0)==82){c[f>>2]=-1;c[l>>2]=-1;o=b+4|0;c[o>>2]=d;c[b>>2]=6;i=e;return}}function Ee(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=i;i=i+16|0;f=e+8|0;g=e;h=b+8|0;j=b+12|0;k=(c[h>>2]|0)==(c[j>>2]|0);Be(a,b);do if(!k){if((c[b>>2]|0)==6){l=c[b+4>>2]|0;if((c[h>>2]|0)==(c[j>>2]|0))break;if((l|0)>=(d[a+46>>0]|0|0)){De(a,b,l);break}}Ce(a,b)}while(0);k=c[b>>2]|0;switch(k|0){case 4:{m=c[b+4>>2]|0;n=18;break};case 1:case 3:case 2:{if((c[a+32>>2]|0)<256){if((k|0)==1){c[g+4>>2]=0;c[f>>2]=c[a+4>>2];c[f+4>>2]=69;o=ze(a,f,g)|0}else{c[f>>2]=(k|0)==2&1;c[f+4>>2]=1;o=ze(a,f,f)|0}c[b+4>>2]=o;c[b>>2]=4;p=o|256;i=e;return p|0}break};case 5:{o=b+4|0;k=c[o>>2]|0;c[f>>2]=k;l=c[(c[a+12>>2]|0)+32>>2]|0;c[g>>2]=k;c[g+4>>2]=3;if((k|0)==0){k=l+8|0;q=c[k>>2]|0;c[k>>2]=q+8;r=Kf(l,f,4)|0;c[q>>2]=r;c[q+4>>2]=d[r+4>>0]|0|64;r=ze(a,(c[k>>2]|0)+ -8|0,g)|0;c[k>>2]=(c[k>>2]|0)+ -8;s=r}else s=ze(a,g,g)|0;c[o>>2]=s;c[b>>2]=4;m=s;n=18;break};default:{}}if((n|0)==18?(m|0)<256:0){p=m|256;i=e;return p|0}Be(a,b);if((c[b>>2]|0)==6){m=b+4|0;n=c[m>>2]|0;if((c[h>>2]|0)==(c[j>>2]|0)){p=n;i=e;return p|0}if((n|0)<(d[a+46>>0]|0|0))t=m;else{De(a,b,n);p=c[m>>2]|0;i=e;return p|0}}else t=b+4|0;Ce(a,b);p=c[t>>2]|0;i=e;return p|0}function Fe(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=i;j=c[f>>2]|0;if((j|0)==9){k=f+4|0;l=(a[k+3>>0]|0)==7?10:8;m=Ee(b,g)|0;xe(b,m<<14|l|d[k+2>>0]<<6|e[k>>1]<<23)|0}else if((j|0)==7){if(((c[g>>2]|0)==6?(k=c[g+4>>2]|0,(k&256|0)==0):0)?(d[b+46>>0]|0)<=(k|0):0){k=b+48|0;a[k>>0]=(a[k>>0]|0)+ -1<<24>>24}De(b,g,c[f+4>>2]|0);i=h;return}else if((j|0)==8){Be(b,g);if((c[g>>2]|0)==6){j=g+4|0;k=c[j>>2]|0;if((c[g+8>>2]|0)!=(c[g+12>>2]|0))if((k|0)<(d[b+46>>0]|0)){n=j;o=12}else{De(b,g,k);p=c[j>>2]|0}else p=k}else{n=g+4|0;o=12}if((o|0)==12){Ce(b,g);p=c[n>>2]|0}xe(b,p<<6|c[f+4>>2]<<23|9)|0}if((c[g>>2]|0)!=6){i=h;return}f=c[g+4>>2]|0;if((f&256|0)!=0){i=h;return}if((d[b+46>>0]|0)>(f|0)){i=h;return}f=b+48|0;a[f>>0]=(a[f>>0]|0)+ -1<<24>>24;i=h;return}function Ge(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;Be(b,e);if((c[e>>2]|0)==6){h=e+4|0;j=c[h>>2]|0;if((c[e+8>>2]|0)!=(c[e+12>>2]|0))if((j|0)<(d[b+46>>0]|0|0)){k=h;l=6}else{De(b,e,j);m=h}else m=h}else{k=e+4|0;l=6}if((l|0)==6){Ce(b,e);m=k}k=c[m>>2]|0;if(((c[e>>2]|0)==6?(k&256|0)==0:0)?(d[b+46>>0]|0|0)<=(k|0):0){l=b+48|0;a[l>>0]=(a[l>>0]|0)+ -1<<24>>24}l=b+48|0;c[m>>2]=d[l>>0];c[e>>2]=6;e=a[l>>0]|0;h=(e&255)+2|0;j=(c[b>>2]|0)+78|0;do if(h>>>0>(d[j>>0]|0)>>>0)if(h>>>0>249)ye(c[b+12>>2]|0,76080);else{a[j>>0]=h;n=a[l>>0]|0;break}else n=e;while(0);a[l>>0]=(n&255)+2;n=c[m>>2]|0;xe(b,k<<23|n<<6|(Ee(b,f)|0)<<14|12)|0;if((c[f>>2]|0)!=6){i=g;return}n=c[f+4>>2]|0;if((n&256|0)!=0){i=g;return}if((d[b+46>>0]|0|0)>(n|0)){i=g;return}a[l>>0]=(a[l>>0]|0)+ -1<<24>>24;i=g;return}function He(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,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=i;Be(b,e);g=c[e>>2]|0;do if((g|0)==10){h=e+4|0;j=c[h>>2]|0;k=c[(c[b>>2]|0)+12>>2]|0;l=k+(j<<2)|0;if((j|0)>0?(m=k+(j+ -1<<2)|0,j=c[m>>2]|0,((j&63)+ -24|0)>>>0<5):0){n=m;o=j}else{n=l;o=c[l>>2]|0}c[n>>2]=((o&16320|0)==0&1)<<6|o&-16321;p=c[h>>2]|0;q=18}else if(!((g|0)==2|(g|0)==5|(g|0)==4)){h=e+4|0;if((g|0)==11){l=c[(c[(c[b>>2]|0)+12>>2]|0)+(c[h>>2]<<2)>>2]|0;if((l&63|0)==20){j=b+20|0;c[j>>2]=(c[j>>2]|0)+ -1;p=Dg(b,27,l>>>23,0,1)|0;q=18;break}else q=9}else if((g|0)==6)q=14;else q=9;if((q|0)==9){l=b+48|0;j=a[l>>0]|0;m=(j&255)+1|0;k=(c[b>>2]|0)+78|0;do if(m>>>0>(d[k>>0]|0)>>>0)if(m>>>0>249)ye(c[b+12>>2]|0,76080);else{a[k>>0]=m;r=a[l>>0]|0;break}else r=j;while(0);j=(r&255)+1|0;a[l>>0]=j;Eg(b,e,(j&255)+ -1|0);if((c[e>>2]|0)==6)q=14}if(((q|0)==14?(j=c[h>>2]|0,(j&256|0)==0):0)?(d[b+46>>0]|0|0)<=(j|0):0){j=b+48|0;a[j>>0]=(a[j>>0]|0)+ -1<<24>>24}p=Dg(b,28,255,c[h>>2]|0,0)|0;q=18}while(0);do if((q|0)==18?(r=e+12|0,!((p|0)==-1)):0){g=c[r>>2]|0;if((g|0)==-1){c[r>>2]=p;break}r=c[(c[b>>2]|0)+12>>2]|0;o=g;while(1){s=r+(o<<2)|0;t=c[s>>2]|0;g=(t>>>14)+ -131071|0;if((g|0)==-1)break;n=o+1+g|0;if((n|0)==-1)break;else o=n}r=p+~o|0;if((((r|0)>-1?r:0-r|0)|0)>131071)ye(c[b+12>>2]|0,80032);else{c[s>>2]=(r<<14)+2147467264|t&16383;break}}while(0);t=e+8|0;e=c[t>>2]|0;c[b+24>>2]=c[b+20>>2];s=b+28|0;if((e|0)==-1){c[t>>2]=-1;i=f;return}p=c[s>>2]|0;if((p|0)==-1){c[s>>2]=e;c[t>>2]=-1;i=f;return}s=c[(c[b>>2]|0)+12>>2]|0;q=p;while(1){u=s+(q<<2)|0;v=c[u>>2]|0;p=(v>>>14)+ -131071|0;if((p|0)==-1)break;r=q+1+p|0;if((r|0)==-1)break;else q=r}s=e+~q|0;if((((s|0)>-1?s:0-s|0)|0)>131071)ye(c[b+12>>2]|0,80032);c[u>>2]=(s<<14)+2147467264|v&16383;c[t>>2]=-1;i=f;return}function Ie(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=i;Be(b,e);g=c[e>>2]|0;do if((g|0)==10){h=c[e+4>>2]|0;j=15}else if(!((g|0)==3|(g|0)==1)){k=e+4|0;if((g|0)==6)j=11;else if((g|0)==11?(l=c[(c[(c[b>>2]|0)+12>>2]|0)+(c[k>>2]<<2)>>2]|0,(l&63|0)==20):0){m=b+20|0;c[m>>2]=(c[m>>2]|0)+ -1;h=Dg(b,27,l>>>23,0,0)|0;j=15;break}else j=6;if((j|0)==6){l=b+48|0;m=a[l>>0]|0;n=(m&255)+1|0;o=(c[b>>2]|0)+78|0;do if(n>>>0>(d[o>>0]|0)>>>0)if(n>>>0>249)ye(c[b+12>>2]|0,76080);else{a[o>>0]=n;p=a[l>>0]|0;break}else p=m;while(0);m=(p&255)+1|0;a[l>>0]=m;Eg(b,e,(m&255)+ -1|0);if((c[e>>2]|0)==6)j=11}if(((j|0)==11?(m=c[k>>2]|0,(m&256|0)==0):0)?(d[b+46>>0]|0|0)<=(m|0):0){m=b+48|0;a[m>>0]=(a[m>>0]|0)+ -1<<24>>24}h=Dg(b,28,255,c[k>>2]|0,1)|0;j=15}while(0);do if((j|0)==15?(p=e+8|0,!((h|0)==-1)):0){g=c[p>>2]|0;if((g|0)==-1){c[p>>2]=h;break}p=c[(c[b>>2]|0)+12>>2]|0;m=g;while(1){q=p+(m<<2)|0;r=c[q>>2]|0;g=(r>>>14)+ -131071|0;if((g|0)==-1)break;n=m+1+g|0;if((n|0)==-1)break;else m=n}p=h+~m|0;if((((p|0)>-1?p:0-p|0)|0)>131071)ye(c[b+12>>2]|0,80032);else{c[q>>2]=(p<<14)+2147467264|r&16383;break}}while(0);r=e+12|0;e=c[r>>2]|0;c[b+24>>2]=c[b+20>>2];q=b+28|0;if((e|0)==-1){c[r>>2]=-1;i=f;return}h=c[q>>2]|0;if((h|0)==-1){c[q>>2]=e;c[r>>2]=-1;i=f;return}q=c[(c[b>>2]|0)+12>>2]|0;j=h;while(1){s=q+(j<<2)|0;t=c[s>>2]|0;h=(t>>>14)+ -131071|0;if((h|0)==-1)break;p=j+1+h|0;if((p|0)==-1)break;else j=p}q=e+~j|0;if((((q|0)>-1?q:0-q|0)|0)>131071)ye(c[b+12>>2]|0,80032);c[s>>2]=(q<<14)+2147467264|t&16383;c[r>>2]=-1;i=f;return}function Je(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,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=i;i=i+16|0;j=h;c[j+12>>2]=-1;c[j+8>>2]=-1;c[j>>2]=5;c[j+4>>2]=0;if((e|0)==1){Be(b,f);switch(c[f>>2]|0){case 6:{k=25;break};case 11:{l=b+48|0;m=a[l>>0]|0;n=(m&255)+1|0;o=(c[b>>2]|0)+78|0;do if(n>>>0>(d[o>>0]|0)>>>0)if(n>>>0>249)ye(c[b+12>>2]|0,76080);else{a[o>>0]=n;p=a[l>>0]|0;break}else p=m;while(0);m=(p&255)+1|0;a[l>>0]=m;Eg(b,f,(m&255)+ -1|0);if((c[f>>2]|0)==6)k=25;else{q=f+4|0;k=28}break};case 10:{m=c[f+4>>2]|0;l=c[(c[b>>2]|0)+12>>2]|0;p=l+(m<<2)|0;if((m|0)>0?(n=l+(m+ -1<<2)|0,m=c[n>>2]|0,((m&63)+ -24|0)>>>0<5):0){r=n;s=m}else{r=p;s=c[p>>2]|0}c[r>>2]=((s&16320|0)==0&1)<<6|s&-16321;break};case 3:case 1:{c[f>>2]=2;break};case 2:case 5:case 4:{c[f>>2]=3;break};default:{}}if((k|0)==25){s=f+4|0;r=c[s>>2]|0;if((r&256|0)==0?(d[b+46>>0]|0|0)<=(r|0):0){r=b+48|0;a[r>>0]=(a[r>>0]|0)+ -1<<24>>24;q=s;k=28}else{q=s;k=28}}if((k|0)==28){c[q>>2]=xe(b,c[q>>2]<<23|20)|0;c[f>>2]=11}q=f+12|0;s=c[q>>2]|0;r=f+8|0;p=c[r>>2]|0;c[q>>2]=p;c[r>>2]=s;if((p|0)==-1)t=s;else{s=c[(c[b>>2]|0)+12>>2]|0;q=p;do{p=s+(q<<2)|0;if((q|0)>0?(m=s+(q+ -1<<2)|0,n=c[m>>2]|0,((n&63)+ -24|0)>>>0<5):0){u=m;v=n}else{u=p;v=c[p>>2]|0}if((v&63|0)==28)c[u>>2]=v&8372224|v>>>23<<6|27;n=((c[p>>2]|0)>>>14)+ -131071|0;if((n|0)==-1)break;q=q+1+n|0}while(!((q|0)==-1));t=c[r>>2]|0}if((t|0)==-1){i=h;return}r=c[(c[b>>2]|0)+12>>2]|0;q=t;while(1){t=r+(q<<2)|0;if((q|0)>0?(v=r+(q+ -1<<2)|0,u=c[v>>2]|0,((u&63)+ -24|0)>>>0<5):0){w=v;x=u}else{w=t;x=c[t>>2]|0}if((x&63|0)==28)c[w>>2]=x&8372224|x>>>23<<6|27;u=((c[t>>2]|0)>>>14)+ -131071|0;if((u|0)==-1){k=54;break}q=q+1+u|0;if((q|0)==-1){k=54;break}}if((k|0)==54){i=h;return}}else if((e|0)==0){if(((c[f>>2]|0)==5?(c[f+8>>2]|0)==-1:0)?(c[f+12>>2]|0)==-1:0){q=f+4|0;c[q>>2]=0-(c[q>>2]|0);i=h;return}Be(b,f);if((c[f>>2]|0)==6){q=c[f+4>>2]|0;if((c[f+8>>2]|0)!=(c[f+12>>2]|0))if((q|0)<(d[b+46>>0]|0|0))k=10;else De(b,f,q)}else k=10;if((k|0)==10)Ce(b,f);Ke(b,19,f,j,g);i=h;return}else if((e|0)==2){Be(b,f);if((c[f>>2]|0)==6){e=c[f+4>>2]|0;if((c[f+8>>2]|0)!=(c[f+12>>2]|0))if((e|0)<(d[b+46>>0]|0|0))k=52;else De(b,f,e)}else k=52;if((k|0)==52)Ce(b,f);Ke(b,21,f,j,g);i=h;return}else{i=h;return}}function Ke(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=i;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)?(k=c[g+4>>2]|0,!((e&-2|0)==16&(k|0)==0)):0){l=f+4|0;m=c[l>>2]|0;switch(e|0){case 16:{n=fj(m,k)|0;break};case 15:{n=ej(m,k)|0;break};case 13:{n=m+k|0;break};case 17:{n=gj(m,k)|0;break};case 19:{n=0-m|0;break};case 14:{n=m-k|0;break};case 18:{n=hj(m,k)|0;break};default:n=0}c[l>>2]=n;i=j;return}if((e|0)==19|(e|0)==21)o=0;else o=Ee(b,g)|0;n=Ee(b,f)|0;if((n|0)>(o|0)){if(((c[f>>2]|0)==6?(l=c[f+4>>2]|0,(l&256|0)==0):0)?(d[b+46>>0]|0|0)<=(l|0):0){l=b+48|0;a[l>>0]=(a[l>>0]|0)+ -1<<24>>24}if(((c[g>>2]|0)==6?(l=c[g+4>>2]|0,(l&256|0)==0):0)?(d[b+46>>0]|0|0)<=(l|0):0){l=b+48|0;a[l>>0]=(a[l>>0]|0)+ -1<<24>>24}}else{if(((c[g>>2]|0)==6?(l=c[g+4>>2]|0,(l&256|0)==0):0)?(d[b+46>>0]|0|0)<=(l|0):0){l=b+48|0;a[l>>0]=(a[l>>0]|0)+ -1<<24>>24}if(((c[f>>2]|0)==6?(l=c[f+4>>2]|0,(l&256|0)==0):0)?(d[b+46>>0]|0|0)<=(l|0):0){l=b+48|0;a[l>>0]=(a[l>>0]|0)+ -1<<24>>24}}c[f+4>>2]=xe(b,o<<14|e|n<<23)|0;c[f>>2]=11;c[(c[(c[b>>2]|0)+20>>2]|0)+((c[b+20>>2]|0)+ -1<<2)>>2]=h;i=j;return}function Le(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|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=i;switch(e|0){case 14:{Be(b,g);k=g+8|0;l=c[f+8>>2]|0;do if(!((l|0)==-1)){m=c[k>>2]|0;if((m|0)==-1){c[k>>2]=l;break}n=c[(c[b>>2]|0)+12>>2]|0;o=m;while(1){p=n+(o<<2)|0;q=c[p>>2]|0;m=(q>>>14)+ -131071|0;if((m|0)==-1)break;r=o+1+m|0;if((r|0)==-1)break;else o=r}n=l+~o|0;if((((n|0)>-1?n:0-n|0)|0)>131071)ye(c[b+12>>2]|0,80032);else{c[p>>2]=(n<<14)+2147467264|q&16383;break}}while(0);c[f+0>>2]=c[g+0>>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];i=j;return};case 6:{q=g+8|0;p=g+12|0;l=(c[q>>2]|0)==(c[p>>2]|0);Be(b,g);do if(!l){if((c[g>>2]|0)==6){k=c[g+4>>2]|0;if((c[q>>2]|0)==(c[p>>2]|0))break;if((k|0)>=(d[b+46>>0]|0|0)){De(b,g,k);break}}Ce(b,g)}while(0);if((c[g>>2]|0)==11?(p=g+4|0,q=c[p>>2]|0,l=(c[b>>2]|0)+12|0,k=c[l>>2]|0,n=c[k+(q<<2)>>2]|0,(n&63|0)==22):0){r=f+4|0;if(((c[f>>2]|0)==6?(m=c[r>>2]|0,(m&256|0)==0):0)?(d[b+46>>0]|0|0)<=(m|0):0){m=b+48|0;a[m>>0]=(a[m>>0]|0)+ -1<<24>>24;m=c[p>>2]|0;s=c[l>>2]|0;t=s;u=m;v=c[s+(m<<2)>>2]|0}else{t=k;u=q;v=n}c[t+(u<<2)>>2]=c[r>>2]<<23|v&8388607;c[f>>2]=11;c[r>>2]=c[p>>2];i=j;return}Ce(b,g);Ke(b,22,f,g,h);i=j;return};case 13:{Be(b,g);p=g+12|0;r=c[f+12>>2]|0;do if(!((r|0)==-1)){v=c[p>>2]|0;if((v|0)==-1){c[p>>2]=r;break}u=c[(c[b>>2]|0)+12>>2]|0;t=v;while(1){w=u+(t<<2)|0;x=c[w>>2]|0;v=(x>>>14)+ -131071|0;if((v|0)==-1)break;n=t+1+v|0;if((n|0)==-1)break;else t=n}u=r+~t|0;if((((u|0)>-1?u:0-u|0)|0)>131071)ye(c[b+12>>2]|0,80032);else{c[w>>2]=(u<<14)+2147467264|x&16383;break}}while(0);c[f+0>>2]=c[g+0>>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];i=j;return};case 12:case 11:case 10:{x=e+14|0;w=Ee(b,f)|0;r=Ee(b,g)|0;if(((c[g>>2]|0)==6?(p=c[g+4>>2]|0,(p&256|0)==0):0)?(d[b+46>>0]|0|0)<=(p|0):0){p=b+48|0;a[p>>0]=(a[p>>0]|0)+ -1<<24>>24}p=f+4|0;if(((c[f>>2]|0)==6?(u=c[p>>2]|0,(u&256|0)==0):0)?(d[b+46>>0]|0|0)<=(u|0):0){u=b+48|0;a[u>>0]=(a[u>>0]|0)+ -1<<24>>24}u=(x|0)==24;c[p>>2]=Dg(b,x,u&1^1,u?w:r,u?r:w)|0;c[f>>2]=10;i=j;return};case 9:case 8:case 7:{w=e+17|0;r=Ee(b,f)|0;u=Ee(b,g)|0;if(((c[g>>2]|0)==6?(x=c[g+4>>2]|0,(x&256|0)==0):0)?(d[b+46>>0]|0|0)<=(x|0):0){x=b+48|0;a[x>>0]=(a[x>>0]|0)+ -1<<24>>24}x=f+4|0;if(((c[f>>2]|0)==6?(p=c[x>>2]|0,(p&256|0)==0):0)?(d[b+46>>0]|0|0)<=(p|0):0){p=b+48|0;a[p>>0]=(a[p>>0]|0)+ -1<<24>>24}c[x>>2]=Dg(b,w,1,r,u)|0;c[f>>2]=10;i=j;return};case 5:case 4:case 3:case 2:case 1:case 0:{Ke(b,e+13|0,f,g,h);i=j;return};default:{i=j;return}}}function Me(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;h=((e+ -1|0)/50|0)+1|0;e=(f|0)==-1?0:f;if((h|0)<512){xe(b,d<<6|e<<23|h<<14|36)|0;j=d+1|0;k=j&255;l=b+48|0;a[l>>0]=k;i=g;return}if((h|0)>=67108864)ye(c[b+12>>2]|0,76120);xe(b,d<<6|e<<23|36)|0;xe(b,h<<6|39)|0;j=d+1|0;k=j&255;l=b+48|0;a[l>>0]=k;i=g;return}function Ne(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=i;e=a+16|0;f=c[c[e>>2]>>2]|0;g=f+8|0;h=a+8|0;j=c[h>>2]|0;k=g>>>0<j>>>0?g:75600;if((c[k+4>>2]|0)==72?(g=c[k>>2]|0,(g|0)!=0):0){l=f;m=j;n=g}else{ge(a,1,76144)|0;l=c[c[e>>2]>>2]|0;m=c[h>>2]|0;n=0}g=Oe(a,n,(m-(l+8)>>3)+ -1|0)|0;l=c[h>>2]|0;if((g|0)<0){c[l>>2]=0;c[l+4>>2]=1;m=l+8|0;c[h>>2]=m;n=m;do{m=n;n=n+ -8|0;c[m>>2]=c[n>>2];c[m+4>>2]=c[m+ -4>>2]}while((m|0)>(l|0));n=c[h>>2]|0;c[l+ -8>>2]=c[n>>2];c[l+ -4>>2]=c[n+4>>2];o=2;i=b;return o|0}c[l>>2]=1;c[l+4>>2]=1;n=l+8|0;c[h>>2]=n;m=g+1|0;j=c[e>>2]|0;do if((g|0)>1000998){if((g|0)==1000999){p=(c[a+12>>2]|0)+36|0;break}e=c[j>>2]|0;if((c[e+4>>2]|0)!=22?(f=c[e>>2]|0,(g+ -1000999|0)<=(d[f+6>>0]|0|0)):0)p=f+16+(g+ -1001e3<<3)|0;else p=75600}else p=l+(0-g<<3)|0;while(0);if(n>>>0>p>>>0){g=n;do{l=g;g=g+ -8|0;c[l>>2]=c[g>>2];c[l+4>>2]=c[l+ -4>>2]}while(g>>>0>p>>>0);q=c[h>>2]|0}else q=n;c[p>>2]=c[q>>2];c[p+4>>2]=c[q+4>>2];o=m;i=b;return o|0}function Oe(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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=i;i=i+16|0;h=g+4|0;j=g;c[j>>2]=f;k=e+16|0;l=c[k>>2]|0;m=e+8|0;n=c[m>>2]|0;o=n;do if(((c[e+24>>2]|0)-o>>3|0)>(f|0)){p=n;q=f}else{if(((o-(c[e+28>>2]|0)>>3)+5|0)<=(1e6-f|0)?(id(e,4,j)|0)==0:0){p=c[m>>2]|0;q=c[j>>2]|0;break}r=c[b+12>>2]|0;s=r+12|0;t=c[s>>2]|0;do if((t|0)>0)if((a[r+51>>0]|0)==0){u=r+8|0;c[u>>2]=t+1600+(c[u>>2]|0);c[s>>2]=-1600;break}else{_d(b);break}while(0);s=Kf(b,79888,37)|0;t=b+8|0;r=c[t>>2]|0;c[r>>2]=s;c[r+4>>2]=d[s+4>>0]|64;c[t>>2]=(c[t>>2]|0)+8;v=-1;i=g;return v|0}while(0);j=l+4|0;l=p+(q<<3)|0;if((c[j>>2]|0)>>>0<l>>>0)c[j>>2]=l;if((a[e+6>>0]|0)==0?(c[m>>2]|0)==((c[c[k>>2]>>2]|0)+8|0):0){l=c[b+12>>2]|0;j=l+12|0;q=c[j>>2]|0;do if((q|0)>0)if((a[l+51>>0]|0)==0){p=l+8|0;c[p>>2]=q+1600+(c[p>>2]|0);c[j>>2]=-1600;break}else{_d(b);break}while(0);j=Kf(b,79928,37)|0;q=b+8|0;l=c[q>>2]|0;c[l>>2]=j;c[l+4>>2]=d[j+4>>0]|64;c[q>>2]=(c[q>>2]|0)+8;v=-1;i=g;return v|0}q=(b|0)==(e|0);if((!q?(j=b+8|0,l=c[j>>2]|0,p=0-f|0,o=l+(p<<3)|0,c[j>>2]=o,(f|0)>0):0)?(n=c[m>>2]|0,c[m>>2]=n+8,c[n>>2]=c[o>>2],c[n+4>>2]=c[l+(p<<3)+4>>2],(f|0)!=1):0){p=1;do{l=c[j>>2]|0;n=c[m>>2]|0;c[m>>2]=n+8;c[n>>2]=c[l+(p<<3)>>2];c[n+4>>2]=c[l+(p<<3)+4>>2];p=p+1|0}while((p|0)!=(f|0))}if(!((jf(e,b,f)|0)>>>0<2)){if(q){v=-1;i=g;return v|0}f=c[m>>2]|0;e=f+ -8|0;c[m>>2]=e;p=b+8|0;j=c[p>>2]|0;c[p>>2]=j+8;c[j>>2]=c[e>>2];c[j+4>>2]=c[f+ -4>>2];v=-1;i=g;return v|0}f=(c[m>>2]|0)-((c[c[k>>2]>>2]|0)+8)|0;j=f>>3;e=j+1|0;c[h>>2]=e;p=c[b+16>>2]|0;l=b+8|0;n=c[l>>2]|0;o=n;do if(((c[b+24>>2]|0)-o>>3|0)>(e|0)){w=n;x=e}else{if(((o-(c[b+28>>2]|0)>>3)+5|0)<=(999999-j|0)?(id(b,4,h)|0)==0:0){w=c[l>>2]|0;x=c[h>>2]|0;break}if((f|0)<0){t=c[m>>2]|0;s=(c[c[k>>2]>>2]|0)+(0-j<<3)|0;if(t>>>0<s>>>0){r=t;do{t=r;r=r+8|0;c[t+4>>2]=0}while(r>>>0<s>>>0);c[m>>2]=r;y=s}else y=s}else y=(c[m>>2]|0)+(0-j<<3)|0;c[m>>2]=y;t=c[b+12>>2]|0;u=t+12|0;z=c[u>>2]|0;do if((z|0)>0)if((a[t+51>>0]|0)==0){A=t+8|0;c[A>>2]=z+1600+(c[A>>2]|0);c[u>>2]=-1600;break}else{_d(b);break}while(0);u=Kf(b,79968,35)|0;z=c[l>>2]|0;c[z>>2]=u;c[z+4>>2]=d[u+4>>0]|64;c[l>>2]=(c[l>>2]|0)+8;v=-1;i=g;return v|0}while(0);b=p+4|0;p=w+(x<<3)|0;if((c[b>>2]|0)>>>0<p>>>0)c[b>>2]=p;if(q){v=j;i=g;return v|0}q=c[m>>2]|0;p=0-j|0;b=q+(p<<3)|0;c[m>>2]=b;if((f|0)<=0){v=j;i=g;return v|0}f=c[l>>2]|0;c[l>>2]=f+8;c[f>>2]=c[b>>2];c[f+4>>2]=c[q+(p<<3)+4>>2];if((j|0)==1){v=1;i=g;return v|0}else B=1;do{p=c[m>>2]|0;q=c[l>>2]|0;c[l>>2]=q+8;c[q>>2]=c[p+(B<<3)>>2];c[q+4>>2]=c[p+(B<<3)+4>>2];B=B+1|0}while((B|0)!=(j|0));v=j;i=g;return v|0}function Pe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+16|0;d=b;e=a+16|0;f=(c[c[e>>2]>>2]|0)+8|0;g=a+8|0;h=f>>>0<(c[g>>2]|0)>>>0?f:75600;if((h|0)!=75600){if((c[h+4>>2]&15|0)!=6){j=(c[h+4>>2]&15)+1|0;k=4}}else{j=0;k=4}if((k|0)==4){k=c[75608+(j<<2)>>2]|0;c[d>>2]=77568;c[d+4>>2]=k;ge(a,1,Ed(a,80064,d)|0)|0}d=Qe(a)|0;k=(c[c[e>>2]>>2]|0)+8|0;e=c[g>>2]|0;j=k>>>0<e>>>0?k:75600;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];j=c[g>>2]|0;c[g>>2]=j+8;if((d|0)==(a|0)){i=b;return 1}c[g>>2]=j;g=d+8|0;d=c[g>>2]|0;c[g>>2]=d+8;c[d>>2]=c[j>>2];c[d+4>>2]=c[j+4>>2];i=b;return 1}function Qe(e){e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;g=e+12|0;h=c[g>>2]|0;j=h+12|0;k=c[j>>2]|0;do if((k|0)>0)if((a[h+51>>0]|0)==0){l=h+8|0;c[l>>2]=k+1600+(c[l>>2]|0);c[j>>2]=-1600;m=h;break}else{_d(e);m=c[g>>2]|0;break}else m=h;while(0);h=m+4|0;j=oc[c[m>>2]&1](c[h>>2]|0,0,8,112)|0;if((j|0)==0){if((a[m+51>>0]|0)==0)af(e,4);Zd(e,1);k=oc[c[m>>2]&1](c[h>>2]|0,0,8,112)|0;if((k|0)==0)af(e,4);else n=k}else n=j;j=m+12|0;c[j>>2]=(c[j>>2]|0)+112;j=m+56|0;a[n+5>>0]=d[m+48>>0]&3;a[n+4>>0]=8;c[n>>2]=c[j>>2];c[j>>2]=n;j=e+8|0;m=c[j>>2]|0;c[m>>2]=n;c[m+4>>2]=72;c[j>>2]=(c[j>>2]|0)+8;c[n+12>>2]=c[g>>2];j=n+28|0;c[j>>2]=0;m=n+16|0;c[m>>2]=0;k=n+32|0;c[k>>2]=0;c[n+64>>2]=0;b[n+38>>1]=0;h=n+52|0;c[h>>2]=0;l=n+40|0;a[l>>0]=0;o=n+44|0;c[o>>2]=0;a[n+41>>0]=1;p=n+48|0;c[p>>2]=0;c[n+56>>2]=0;b[n+36>>1]=1;a[n+6>>0]=0;c[n+68>>2]=0;a[l>>0]=a[e+40>>0]|0;l=c[e+44>>2]|0;c[o>>2]=l;c[h>>2]=c[e+52>>2];c[p>>2]=l;l=c[g>>2]|0;g=l+4|0;p=oc[c[l>>2]&1](c[g>>2]|0,0,0,320)|0;if((p|0)==0){if((a[l+51>>0]|0)==0)af(e,4);Zd(e,1);h=oc[c[l>>2]&1](c[g>>2]|0,0,0,320)|0;if((h|0)==0)af(e,4);else q=h}else q=p;p=l+12|0;c[p>>2]=(c[p>>2]|0)+320;c[j>>2]=q;c[k>>2]=40;j=0;do{c[q+(j<<3)+4>>2]=0;j=j+1|0}while((j|0)!=40);c[n+24>>2]=q+((c[k>>2]|0)+ -5<<3);k=n+72|0;c[n+80>>2]=0;c[n+84>>2]=0;a[n+90>>0]=0;c[k>>2]=q;c[n+8>>2]=q+8;c[q+4>>2]=0;c[n+76>>2]=q+168;c[m>>2]=k;i=f;return n|0}function Re(d){d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+16|0;f=e;g=d+8|0;h=c[d+16>>2]|0;j=(c[g>>2]|0)-((c[h>>2]|0)+8)>>3;if((b[d+36>>1]|0)==0){a[d+6>>0]=1;c[h+20>>2]=(c[h>>2]|0)-(c[d+28>>2]|0);if((a[h+18>>0]&1)==0){c[h+28>>2]=0;c[h>>2]=(c[g>>2]|0)+(~j<<3);af(d,1)}else{i=e;return 0}}else if((c[(c[d+12>>2]|0)+144>>2]|0)==(d|0))Ye(d,76728,f);else Ye(d,76680,f);return 0}function Se(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;i=i+16|0;j=h;k=c[d+16>>2]|0;if((b[d+36>>1]|0)!=0)if((c[(c[d+12>>2]|0)+144>>2]|0)==(d|0))Ye(d,76728,j);else Ye(d,76680,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)==0)){i=h;return 0}c[k+28>>2]=g;if((g|0)==0){l=d+8|0;m=c[l>>2]|0;n=~e;o=m+(n<<3)|0;c[k>>2]=o;af(d,1)}c[k+24>>2]=f;l=d+8|0;m=c[l>>2]|0;n=~e;o=m+(n<<3)|0;c[k>>2]=o;af(d,1);return 0}function Te(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;f=(c[c[b+16>>2]>>2]|0)+8|0;g=b+8|0;h=f>>>0<(c[g>>2]|0)>>>0?f:75600;if((c[h+4>>2]|0)==72?(f=c[h>>2]|0,(f|0)!=0):0)j=f;else{ge(b,1,76144)|0;j=0}if((j|0)==(b|0)){f=c[b+12>>2]|0;h=f+12|0;k=c[h>>2]|0;do if((k|0)>0)if((a[f+51>>0]|0)==0){l=f+8|0;c[l>>2]=k+1600+(c[l>>2]|0);c[h>>2]=-1600;break}else{_d(b);break}while(0);h=Kf(b,76168,7)|0;k=c[g>>2]|0;c[k>>2]=h;c[k+4>>2]=d[h+4>>0]|64;c[g>>2]=(c[g>>2]|0)+8;i=e;return 1}h=d[j+6>>0]|0;if((h|0)==1){k=c[b+12>>2]|0;f=k+12|0;l=c[f>>2]|0;do if((l|0)>0)if((a[k+51>>0]|0)==0){m=k+8|0;c[m>>2]=l+1600+(c[m>>2]|0);c[f>>2]=-1600;break}else{_d(b);break}while(0);f=Kf(b,76176,9)|0;l=c[g>>2]|0;c[l>>2]=f;c[l+4>>2]=d[f+4>>0]|64;c[g>>2]=(c[g>>2]|0)+8;i=e;return 1}else if((h|0)==0){h=c[j+16>>2]|0;if((h|0)!=(j+72|0)){f=c[b+12>>2]|0;l=f+12|0;k=c[l>>2]|0;do if((k|0)>0)if((a[f+51>>0]|0)==0){m=f+8|0;c[m>>2]=k+1600+(c[m>>2]|0);c[l>>2]=-1600;break}else{_d(b);break}while(0);l=Kf(b,76192,6)|0;k=c[g>>2]|0;c[k>>2]=l;c[k+4>>2]=d[l+4>>0]|64;c[g>>2]=(c[g>>2]|0)+8;i=e;return 1}l=c[b+12>>2]|0;k=l+12|0;f=c[k>>2]|0;m=(f|0)>0;if((c[j+8>>2]|0)==((c[h>>2]|0)+8|0)){do if(m)if((a[l+51>>0]|0)==0){h=l+8|0;c[h>>2]=f+1600+(c[h>>2]|0);c[k>>2]=-1600;break}else{_d(b);break}while(0);h=Kf(b,76200,4)|0;j=c[g>>2]|0;c[j>>2]=h;c[j+4>>2]=d[h+4>>0]|64;c[g>>2]=(c[g>>2]|0)+8;i=e;return 1}else{do if(m)if((a[l+51>>0]|0)==0){h=l+8|0;c[h>>2]=f+1600+(c[h>>2]|0);c[k>>2]=-1600;break}else{_d(b);break}while(0);k=Kf(b,76176,9)|0;f=c[g>>2]|0;c[f>>2]=k;c[f+4>>2]=d[k+4>>0]|64;c[g>>2]=(c[g>>2]|0)+8;i=e;return 1}}else{k=c[b+12>>2]|0;f=k+12|0;l=c[f>>2]|0;do if((l|0)>0)if((a[k+51>>0]|0)==0){m=k+8|0;c[m>>2]=l+1600+(c[m>>2]|0);c[f>>2]=-1600;break}else{_d(b);break}while(0);f=Kf(b,76200,4)|0;b=c[g>>2]|0;c[b>>2]=f;c[b+4>>2]=d[f+4>>0]|64;c[g>>2]=(c[g>>2]|0)+8;i=e;return 1}return 0}function Ue(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;d=a+16|0;e=(c[c[d>>2]>>2]|0)+8|0;f=a+8|0;g=e>>>0<(c[f>>2]|0)>>>0?e:75600;if((g|0)!=75600?(e=c[g+4>>2]|0,(e&15|0)==8):0)if((e|0)==72){h=c[g>>2]|0;j=1}else{h=0;j=1}else{h=a;j=0}g=j+1|0;e=vd(a,g,0)|0;if(((e|0)==0?(k=(c[c[d>>2]>>2]|0)+(g<<3)|0,g=c[f>>2]|0,d=k>>>0<g>>>0?k:75600,(d|0)!=75600):0)?(k=d+4|0,(c[k>>2]&15|0)!=0):0){c[g>>2]=c[d>>2];c[g+4>>2]=c[k>>2];c[f>>2]=(c[f>>2]|0)+8;i=b;return 1}ee(a,h,e,le(a,j|2,(h|0)==(a|0)&1)|0);i=b;return 1}function Ve(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=(d|0)==0|(e|0)==0;h=c[b+16>>2]|0;if(!((a[h+18>>0]&1)==0))c[b+20>>2]=c[h+28>>2];c[b+52>>2]=g?0:d;c[b+44>>2]=f;c[b+48>>2]=f;a[b+40>>0]=g?0:e&255;return 1}function We(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,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=i;i=i+32|0;g=f;h=f+16|0;f=c[b+16>>2]|0;c[h>>2]=0;j=c[75608+((c[d+4>>2]&15)+1<<2)>>2]|0;a:do if(!((a[f+18>>0]&1)==0)){k=c[c[f>>2]>>2]|0;l=a[k+6>>0]|0;b:do if(!(l<<24>>24==0)){m=k+16|0;n=l&255;o=0;while(1){p=o+1|0;if((c[(c[m+(o<<2)>>2]|0)+8>>2]|0)==(d|0))break;if((p|0)<(n|0))o=p;else break b}n=c[(c[(c[k+12>>2]|0)+28>>2]|0)+(o<<3)>>2]|0;if((n|0)==0)q=75656;else q=n+16|0;c[h>>2]=q;r=q;s=79792;c[g>>2]=e;t=g+4|0;c[t>>2]=s;u=g+8|0;c[u>>2]=r;v=g+12|0;c[v>>2]=j;Ye(b,76472,g)}while(0);l=c[f+24>>2]|0;n=c[f+4>>2]|0;if(l>>>0<n>>>0){m=l;while(1){if((m|0)==(d|0))break;m=m+8|0;if(!(m>>>0<n>>>0))break a}n=c[k+12>>2]|0;m=Xe(n,((c[f+28>>2]|0)-(c[n+12>>2]|0)>>2)+ -1|0,d-l>>3,h)|0;if((m|0)!=0){r=c[h>>2]|0;s=m;c[g>>2]=e;t=g+4|0;c[t>>2]=s;u=g+8|0;c[u>>2]=r;v=g+12|0;c[v>>2]=j;Ye(b,76472,g)}}}while(0);c[g>>2]=e;c[g+4>>2]=j;Ye(b,76512,g)}function Xe(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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=i;h=b+24|0;j=b+12|0;k=c[b+60>>2]|0;l=d;d=e;a:while(1){m=(k|0)>0;b:do if(m){n=c[h>>2]|0;e=d+1|0;o=0;while(1){if((c[n+(o*12|0)+4>>2]|0)>(l|0))break b;if((c[n+(o*12|0)+8>>2]|0)>(l|0)){p=e+ -1|0;if((p|0)==0){q=9;break a}else r=p}else r=e;p=o+1|0;if((p|0)<(k|0)){e=r;o=p}else break}}while(0);c[f>>2]=0;if((l|0)<=0){s=0;q=59;break}t=c[j>>2]|0;e=0;p=0;u=-1;while(1){v=c[t+(p<<2)>>2]|0;w=v&63;x=v>>>6&255;switch(w|0){case 4:{if((x|0)<=(d|0)?(x+(v>>>23)|0)>=(d|0):0){y=e;z=(p|0)<(e|0)?-1:p}else{y=e;z=u}break};case 30:case 29:{if((x|0)>(d|0)){y=e;z=u}else{y=e;z=(p|0)<(e|0)?-1:p}break};case 23:{A=p+ -131070+(v>>>14)|0;y=(A|0)<=(l|0)&(p|0)<(A|0)&(A|0)>(e|0)?A:e;z=u;break};case 27:{if((x|0)==(d|0)){y=e;z=(p|0)<(e|0)?-1:p}else{y=e;z=u}break};case 34:{if((x+2|0)>(d|0)){y=e;z=u}else{y=e;z=(p|0)<(e|0)?-1:p}break};default:if((a[77408+w>>0]&64)!=0&(x|0)==(d|0)){y=e;z=(p|0)<(e|0)?-1:p}else{y=e;z=u}}p=p+1|0;if((p|0)==(l|0))break;else{e=y;u=z}}if((z|0)==-1){s=0;q=59;break}B=c[t+(z<<2)>>2]|0;C=B&63;switch(C|0){case 0:break;case 7:case 6:{q=28;break a;break};case 5:{q=46;break a;break};case 12:{q=53;break a;break};case 2:{q=50;break a;break};case 1:{q=49;break a;break};default:{s=0;q=59;break a}}d=B>>>23;if(!(d>>>0<(B>>>6&255)>>>0)){s=0;q=59;break}else l=z}if((q|0)==9){c[f>>2]=(c[n+(o*12|0)>>2]|0)+16;s=79384;i=g;return s|0}else if((q|0)==28){o=B>>>14;n=o&511;l=B>>>23;c:do if((C|0)==7)if(m){d=c[h>>2]|0;y=l+1|0;j=0;while(1){if((c[d+(j*12|0)+4>>2]|0)>(z|0)){D=0;break c}if((c[d+(j*12|0)+8>>2]|0)>(z|0)){r=y+ -1|0;if((r|0)==0)break;else E=r}else E=y;r=j+1|0;if((r|0)<(k|0)){y=E;j=r}else{D=0;break c}}D=(c[d+(j*12|0)>>2]|0)+16|0}else D=0;else{y=c[(c[b+28>>2]|0)+(l<<3)>>2]|0;if((y|0)==0)D=75656;else D=y+16|0}while(0);if((o&256|0)==0){l=Xe(b,z,n,f)|0;if(!((l|0)!=0?(a[l>>0]|0)==99:0))q=43}else{l=o&255;o=c[b+8>>2]|0;if((c[o+(l<<3)+4>>2]&15|0)==4)c[f>>2]=(c[o+(l<<3)>>2]|0)+16;else q=43}if((q|0)==43)c[f>>2]=75656;if((D|0)==0){s=79784;i=g;return s|0}l=(Zo(D,76944)|0)==0;s=l?79776:79784;i=g;return s|0}else if((q|0)==46){l=c[(c[b+28>>2]|0)+(B>>>23<<3)>>2]|0;if((l|0)==0)F=75656;else F=l+16|0;c[f>>2]=F;s=79792;i=g;return s|0}else if((q|0)==49)G=B>>>14;else if((q|0)==50)G=(c[t+(z+1<<2)>>2]|0)>>>6;else if((q|0)==53){t=B>>>14;if((t&256|0)==0){B=Xe(b,z,t&511,f)|0;if((B|0)!=0?(a[B>>0]|0)==99:0){s=75808;i=g;return s|0}}else{B=t&255;t=c[b+8>>2]|0;if((c[t+(B<<3)+4>>2]&15|0)==4){c[f>>2]=(c[t+(B<<3)>>2]|0)+16;s=75808;i=g;return s|0}}c[f>>2]=75656;s=75808;i=g;return s|0}else if((q|0)==59){i=g;return s|0}q=c[b+8>>2]|0;if((c[q+(G<<3)+4>>2]&15|0)!=4){s=0;i=g;return s|0}c[f>>2]=(c[q+(G<<3)>>2]|0)+16;s=79800;i=g;return s|0}function Ye(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+32|0;g=f;h=f+8|0;c[h>>2]=e;e=Dd(b,d,h)|0;h=c[b+16>>2]|0;if((a[h+18>>0]&1)==0)ae(b);d=c[(c[c[h>>2]>>2]|0)+12>>2]|0;f=c[d+20>>2]|0;if((f|0)==0)j=0;else j=c[f+(((c[h+28>>2]|0)-(c[d+12>>2]|0)>>2)+ -1<<2)>>2]|0;c[g>>2]=(j<<16)+ -131072;c[g+4>>2]=e;xf(b,79760,g)|0;c[18974]=j;ae(b)}function Ze(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b+4>>2]|0;We(a,(e&15|0)==4|(e|0)==3?d:b,76544)}function _e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e+8|0;g=e;e=c[b+4>>2]|0;if((e|0)!=3)if((e&15|0)==4?(e=c[b>>2]|0,(Df(e+16|0,c[e+12>>2]|0,f)|0)!=0):0){c[g>>2]=c[f>>2];c[g+4>>2]=3;h=g}else h=0;else h=b;We(a,(h|0)==0?b:d,76560)}function $e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;e=c[75608+((c[b+4>>2]&15)+1<<2)>>2]|0;b=c[75608+((c[d+4>>2]&15)+1<<2)>>2]|0;if((e|0)==(b|0)){c[f>>2]=e;Ye(a,76584,f)}else{c[f>>2]=e;c[f+4>>2]=b;Ye(a,76624,f)}}function af(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=b+64|0;f=c[e>>2]|0;if((f|0)!=0){c[f+160>>2]=d;ua((c[e>>2]|0)+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)!=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];af(c[(c[e>>2]|0)+144>>2]|0,d)}d=c[f+140>>2]|0;if((d|0)==0)Cb();lc[d&127](b)|0;Cb()}function bf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=i;f=b+28|0;g=c[f>>2]|0;h=b+32|0;j=c[h>>2]|0;if((d+1|0)>>>0>536870911)cf(b);k=j<<3;l=d<<3;m=c[b+12>>2]|0;n=(g|0)!=0;o=m+4|0;p=oc[c[m>>2]&1](c[o>>2]|0,g,k,l)|0;if(!((p|0)!=0|(l|0)==0)){if((a[m+51>>0]|0)==0)af(b,4);Zd(b,1);q=oc[c[m>>2]&1](c[o>>2]|0,g,k,l)|0;if((q|0)==0)af(b,4);else r=q}else r=p;p=m+12|0;c[p>>2]=(n?0-k|0:0)+l+(c[p>>2]|0);c[f>>2]=r;if((j|0)<(d|0)){p=j;do{c[r+(p<<3)+4>>2]=0;p=p+1|0}while((p|0)!=(d|0))}c[h>>2]=d;c[b+24>>2]=r+(d+ -5<<3);d=b+8|0;h=g;c[d>>2]=r+((c[d>>2]|0)-h>>3<<3);d=c[b+56>>2]|0;if((d|0)!=0?(g=d+8|0,c[g>>2]=r+((c[g>>2]|0)-h>>3<<3),g=c[d>>2]|0,(g|0)!=0):0){d=g;do{g=d+8|0;c[g>>2]=(c[f>>2]|0)+((c[g>>2]|0)-h>>3<<3);d=c[d>>2]|0}while((d|0)!=0)}d=c[b+16>>2]|0;if((d|0)==0){i=e;return}else s=d;do{d=s+4|0;c[d>>2]=(c[f>>2]|0)+((c[d>>2]|0)-h>>3<<3);c[s>>2]=(c[f>>2]|0)+((c[s>>2]|0)-h>>3<<3);if(!((a[s+18>>0]&1)==0)){d=s+24|0;c[d>>2]=(c[f>>2]|0)+((c[d>>2]|0)-h>>3<<3)}s=c[s+8>>2]|0}while((s|0)!=0);i=e;return}function cf(a){a=a|0;var b=0;b=i;i=i+16|0;Ye(a,76984,b)}function df(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;h=c[b+12>>2]|0;j=(d|0)!=0;k=h+4|0;l=oc[c[h>>2]&1](c[k>>2]|0,d,e,f)|0;if(!((l|0)!=0|(f|0)==0)){if((a[h+51>>0]|0)==0)af(b,4);Zd(b,1);m=oc[c[h>>2]&1](c[k>>2]|0,d,e,f)|0;if((m|0)==0)af(b,4);else n=m}else n=l;l=h+12|0;c[l>>2]=(j?0-e|0:0)+f+(c[l>>2]|0);i=g;return n|0}function ef(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,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=i;i=i+112|0;h=g;j=g+4|0;k=c[b+52>>2]|0;if((k|0)==0){i=g;return}l=b+41|0;if((a[l>>0]|0)==0){i=g;return}m=c[b+16>>2]|0;n=b+8|0;o=c[n>>2]|0;p=b+28|0;q=o;r=c[p>>2]|0;s=q-r|0;t=m+4|0;u=(c[t>>2]|0)-r|0;c[j>>2]=e;c[j+20>>2]=f;c[j+96>>2]=m;do if(((c[b+24>>2]|0)-q|0)<168){f=c[b+32>>2]|0;if((f|0)>1e6)af(b,6);e=(s>>3)+25|0;r=f<<1;f=(r|0)>1e6?1e6:r;r=(f|0)<(e|0)?e:f;if((r|0)>1e6){bf(b,1000200);Ye(b,75904,h)}else{bf(b,r);v=c[n>>2]|0;break}}else v=o;while(0);c[t>>2]=v+160;a[l>>0]=0;v=m+18|0;a[v>>0]=d[v>>0]|2;kc[k&15](b,j);a[l>>0]=1;c[t>>2]=(c[p>>2]|0)+u;c[n>>2]=(c[p>>2]|0)+s;a[v>>0]=d[v>>0]&253;i=g;return}
function pj(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+1568|0;d=b;e=b+536|0;f=b+8|0;c[36]=0;ip(f|0,0,521)|0;if((c[271492]|0)==0|(c[271487]|0)!=1|(a[1081588]|0)==0){g=0;i=b;return g|0}if((cp(1081588)|0)>>>0>64){g=0;i=b;return g|0}c[d>>2]=1079484;c[d+4>>2]=1081588;Qo(e,299864,d)|0;h=Vk(e,299880)|0;if((h|0)==0){g=1;i=b;return g|0}else j=0;do{e=j*65|0;k=j<<3;l=f+(e+64)|0;c[d>>2]=c[1082612+(k<<2)>>2];Qo(f+e|0,299888,d)|0;a[l>>0]=10;c[d>>2]=c[1082612+((k|1)<<2)>>2];Qo(f+(e+8)|0,299888,d)|0;a[l>>0]=10;c[d>>2]=c[1082612+((k|2)<<2)>>2];Qo(f+(e+16)|0,299888,d)|0;a[l>>0]=10;c[d>>2]=c[1082612+((k|3)<<2)>>2];Qo(f+(e+24)|0,299888,d)|0;a[l>>0]=10;c[d>>2]=c[1082612+((k|4)<<2)>>2];Qo(f+(e+32)|0,299888,d)|0;a[l>>0]=10;c[d>>2]=c[1082612+((k|5)<<2)>>2];Qo(f+(e+40)|0,299888,d)|0;a[l>>0]=10;c[d>>2]=c[1082612+((k|6)<<2)>>2];Qo(f+(e+48)|0,299888,d)|0;a[l>>0]=10;c[d>>2]=c[1082612+((k|7)<<2)>>2];Qo(f+(e+56)|0,299888,d)|0;a[l>>0]=10;j=j+1|0}while((j|0)!=8);Ok(f,1,520,h)|0;Wk(h);g=0;i=b;return g|0}function qj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;d=i;i=i+2576|0;e=d;f=d+1552|0;g=d+528|0;h=d+8|0;if((b|0)==0){j=3;i=d;return j|0}if(!((c[271487]|0)==1&(c[271492]|0)!=0)){j=1;i=d;return j|0}if((a[1081588]|0)!=0){Qc(299896);j=2;i=d;return j|0}k=a[b>>0]|0;if(!(k<<24>>24==0)?!((cp(b|0)|0)>>>0>64):0){l=k;k=1;while(1){m=l<<24>>24;if(!((m+ -97|0)>>>0<26|(m+ -48|0)>>>0<10|l<<24>>24==95)){n=11;break}if(!(k>>>0<(cp(b|0)|0)>>>0))break;l=a[b+k>>0]|0;k=k+1|0}if((n|0)==11){Qc(299960);j=2;i=d;return j|0}lp(1081588,b|0)|0;ip(1082612,0,256)|0;c[e>>2]=1079484;c[e+4>>2]=1081588;Qo(f,299864,e)|0;c[e>>2]=f;Za(299984,e|0)|0;b=Vk(f,300008)|0;if((b|0)==0){j=1;i=d;return j|0}Bm(g,0,1024);Mk(g,1,1024,b)|0;Wk(b);Bm(h,0,513);b=0;f=0;while(1){n=a[g+b>>0]|0;if((n+ -48<<24>>24&255)<10|(n+ -97<<24>>24&255)<6|(n+ -65<<24>>24&255)<6){a[h+f>>0]=n;o=f+1|0}else o=f;b=b+1|0;if(!((b|0)<1024&(o|0)<512)){p=0;break}else f=o}do{c[e>>2]=1082612+(p<<2);ko(h+(p<<3)|0,299888,e)|0;p=p+1|0}while((p|0)!=64);j=0;i=d;return j|0}Qc(299936);j=2;i=d;return j|0}function rj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;d=i;e=Cm(1048576)|0;f=c[e+16>>2]|0;g=Vk(b,300064)|0;if((g|0)==0){Hg(300072);i=d;return}else{b=f+36|0;a[300020]=b;a[300021]=b>>>8;a[300022]=b>>>16;a[300023]=b>>>24;a[300056]=f;a[300057]=f>>>8;a[300058]=f>>>16;a[300059]=f>>>24;Ok(300016,1,44,g)|0;Ok(c[e+12>>2]|0,1,f,g)|0;Wk(g);i=d;return}}function sj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+4112|0;d=b;e=b+3080|0;f=b+2056|0;g=b+8|0;_k(a,e,f,b+1032|0);c[d>>2]=e;c[d+4>>2]=f;Qo(g,300096,d)|0;c[d>>2]=g;Za(300112,d|0)|0;d=pl(128,128,32)|0;Bl(c[(c[17642]|0)+4>>2]|0,d,c[288550]|0);f=0;do{e=0;do{rl(d,e,f,yl(d,e,f)|0|-16777216);e=e+1|0}while((e|0)!=128);f=f+1|0}while((f|0)!=128);dl(g,d,0)|0;ql(d)|0;i=b;return}function tj(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;i=i+4112|0;f=e;g=e+3080|0;h=e+2056|0;j=e+8|0;_k(b,g,h,e+1032|0);c[f>>2]=g;c[f+4>>2]=h;Qo(j,300136,f)|0;c[f>>2]=b;c[f+4>>2]=j;Za(300144,f|0)|0;g=ym(2097152)|0;Bm(g,0,2097152);k=c[(c[c[247121]>>2]|0)+16>>2]|0;c[k+20>>2]=0;l=Sk(300168,k)|0;k=c[(c[l>>2]|0)+4>>2]|0;c[k+20>>2]=0;m=Vk(b,300176)|0;Bm(g,0,2097152);Mk(g,2097152,1,k)|0;b=uo(g,300184)|0;if((b|0)==0){Hg(300200);i=e;return}a[b>>0]=0;n=b+8|0;Ok(g,cp(g|0)|0,1,m)|0;Ok(h,cp(h|0)|0,1,m)|0;Ok(300232,3,1,m)|0;Ok(n,cp(n|0)|0,1,m)|0;Wk(m);Wk(k);k=c[c[l>>2]>>2]|0;c[k+20>>2]=0;m=Vk(j,300176)|0;j=ym(32769)|0;Bm(j,0,32769);if((Vc(c[17642]|0,j)|0)!=0){Hg(300240);Wk(m);i=e;return}n=m+8|0;db(300272,28,1,c[n>>2]|0)|0;h=0;do{if((h&255|0)==0)Zb(10,c[n>>2]|0)|0;b=c[n>>2]|0;c[f>>2]=d[j+h>>0];fb(b|0,300304,f|0)|0;h=h+1|0}while((h|0)!=32767);h=c[n>>2]|0;c[f>>2]=d[j+32767>>0];fb(h|0,300312,f|0)|0;Am(j);Bm(g,0,2097152);j=Mk(g,2097152,1,k)|0;c[f>>2]=j;Za(300320,f|0)|0;Ok(g,j,1,m)|0;Wk(m);Wk(k);Am(l);Am(g);i=e;return}function uj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;b=i;i=i+1040|0;d=b;e=b+8|0;if((uo(a,300336)|0)!=0){tj(a);i=b;return}if((uo(a,300344)|0)!=0){sj(a);i=b;return}if((uo(a,300352)|0)==0?(uo(a,300360)|0)==0:0){i=b;return}f=c[280105]|0;c[d>>2]=a;Za(300368,d|0)|0;g=(uo(a,300384)|0)==0;h=g?f:0;j=g?f:63;if((h|0)>(j|0)){i=b;return}else k=h;while(1){c[d>>2]=k;Qo(e,a,d)|0;if((uo(e,300360)|0)!=0){h=Vk(e,300064)|0;if((h|0)==0)break;else l=h}else l=0;if((uo(e,300352)|0)!=0)rj(e,0);if((l|0)!=0)Wk(l);if((k|0)<(j|0))k=k+1|0;else{m=16;break}}if((m|0)==16){i=b;return}Hg(300072);i=b;return}function vj(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,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=i;if((uo(a,300344)|0)==0){i=b;return}e=cl(a,0)|0;a=c[288550]|0;if((e|0)==0){i=b;return}f=e+4|0;g=c[f>>2]|0;if((g|0)>0){h=g;g=c[e>>2]|0;j=0;k=0;while(1){if((g|0)>0){l=j;m=0;while(1){n=l;o=-1;p=0;do{q=yl(e,m,k)|0;r=(q>>>16&255)-(d[a+(p*3|0)>>0]|0)|0;s=(r|0)<0?0-r|0:r;r=aa(s,s)|0;s=(q>>>8&255)-(d[a+(p*3|0)+1>>0]|0)|0;t=(s|0)<0?0-s|0:s;s=(aa(t,t)|0)+r|0;r=(q&255)-(d[a+(p*3|0)+2>>0]|0)|0;q=(r|0)<0?0-r|0:r;r=s+(aa(q,q)|0)|0;q=(o|0)==-1|(r|0)<(n|0);n=q?r:n;o=q?p:o;p=p+1|0}while((p|0)!=16);rl(c[(c[17642]|0)+4>>2]|0,m,k,o);m=m+1|0;u=c[e>>2]|0;if((m|0)>=(((u|0)>128?128:u)|0))break;else l=n}v=c[f>>2]|0;w=u;x=n}else{v=h;w=g;x=j}k=k+1|0;if((k|0)>=(((v|0)>128?128:v)|0))break;else{h=v;g=w;j=x}}}ql(e)|0;$g(c[17642]|0);i=b;return}function wj(){var a=0,b=0,d=0,e=0;a=i;c[75098]=0;c[75100]=0;b=216|0;d=152|0;e=b+64|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));i=a;return}function xj(){var a=0,b=0,d=0,e=0;a=i;if((c[75100]|0)==0){c[75100]=1;b=0;do{if((Il(b)|0)!=0)c[75100]=0;b=b+1|0}while((b|0)!=512);if((c[75098]|0)<=12){i=a;return}c[75100]=0;i=a;return}else d=0;do{if((Il(d)|0)!=0){if((d|0)==8|(d|0)==127){b=c[75098]|0;c[152+(b<<2)>>2]=0;e=b}else{b=c[75098]|0;c[152+(b<<2)>>2]=d;e=b}c[75100]=0;c[75098]=e+1;if((e|0)>11?(Gl()|0)!=0:0)do Hl()|0;while((Gl()|0)!=0)}d=d+1|0}while((d|0)!=512);i=a;return}function yj(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+16|0;d=b;ml(c[247113]|0,0,0,127,127,1);ml(c[247113]|0,4,41,123,124,6);ml(c[247113]|0,0,0,127,6,7);Kn(c[247113]|0,300408,c[247124]|0,6,1,1,12)|0;e=c[75098]|0;f=c[c[247123]>>2]|0;g=c[((e|0)==13?f+672|0:(e|0)==12?f+700|0:f+(((e|0)%6|0)+169<<2)|0)>>2]|0;ol(g,c[247113]|0,0,0,6,8,c[g>>2]|0,c[g+4>>2]|0);g=c[247113]|0;e=c[247124]|0;if((c[75098]|0)>12){Kn(g,300432,e,60,12,1,11)|0;Kn(c[247113]|0,300448,c[247124]|0,60,22,1,12)|0;h=0;j=44}else{Kn(g,300464,e,60,12,1,6)|0;Kn(c[247113]|0,c[300480+(c[75098]<<2)>>2]|0,c[247124]|0,60,19,1,7)|0;Kn(c[247113]|0,300536,c[247124]|0,60,26,1,13)|0;Kn(c[247113]|0,300552,c[247124]|0,60,33,1,13)|0;h=0;j=44}while(1){e=c[152+(h<<2)>>2]|0;g=c[300480+(h<<2)>>2]|0;if((e|0)==0){f=c[300576+(h<<2)>>2]|0;c[d>>2]=g;c[d+4>>2]=f;Qo(955480,300568,d)|0}else{if((e|0)<0)k=0;else k=(e|0)<255?e:255;e=c[1148160+(k<<2)>>2]|0;c[d>>2]=g;c[d+4>>2]=e;Qo(955480,300568,d)|0}e=a[955480]|0;if(!(e<<24>>24==0)){g=e;e=955480;do{if((g+ -65<<24>>24&255)<26)a[e>>0]=(g&255)+32;e=e+1|0;g=a[e>>0]|0}while(!(g<<24>>24==0))}if((h|0)==(c[75098]|0)){ml(c[247113]|0,7,j+ -1|0,120,j+5|0,14);l=1}else l=5;Kn(c[247113]|0,955480,c[247124]|0,10,j,1,l)|0;h=h+1|0;if((h|0)==13)break;else j=j+6|0}i=b;return}function zj(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;c=i;d=a[b>>0]|0;a:do if(!(d<<24>>24==0)){e=d;while(1){f=b+((cp(b|0)|0)+ -1)|0;if((a[f>>0]|0)!=32)break;a[f>>0]=0;f=a[b>>0]|0;if(f<<24>>24==0)break a;else e=f}if(!(e<<24>>24==0)){f=e;g=b;do{if((f+ -65<<24>>24&255)<26)a[g>>0]=(f&255)+32;g=g+1|0;f=a[g>>0]|0}while(!(f<<24>>24==0));f=a[b>>0]|0;if(!(f<<24>>24==0)){g=f;f=b;do{if(!((g+ -97<<24>>24&255)<26|(g+ -48<<24>>24&255)<10))a[f>>0]=95;f=f+1|0;g=a[f>>0]|0}while(!(g<<24>>24==0))}}}while(0);if(!((cp(b|0)|0)>>>0>16)){i=c;return}a[b+16>>0]=0;i=c;return}function Aj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;g=c[b+1072>>2]|0;if((g|0)<=0){h=-1;i=e;return h|0}j=c[b+4>>2]|0;b=(f|0)==0;if((d|0)==0){if(b){k=0;do k=k+1|0;while((k|0)<(g|0));h=-1;i=e;return h|0}else l=0;while(1){if((((a[f>>0]|0)!=0?(c[j+(l*412|0)+388>>2]|0)==0:0)?(c[j+(l*412|0)+392>>2]|0)==0:0)?(Zo(f,j+(l*412|0)+260|0)|0)==0:0){h=l;m=19;break}l=l+1|0;if((l|0)>=(g|0)){h=-1;m=19;break}}if((m|0)==19){i=e;return h|0}}if(b){b=0;while(1){if((c[j+(b*412|0)+388>>2]|0)==(d|0)){h=b;m=19;break}b=b+1|0;if((b|0)>=(g|0)){h=-1;m=19;break}}if((m|0)==19){i=e;return h|0}}else n=0;while(1){if((c[j+(n*412|0)+388>>2]|0)==(d|0)){h=n;m=19;break}if((((a[f>>0]|0)!=0?(c[j+(n*412|0)+388>>2]|0)==0:0)?(c[j+(n*412|0)+392>>2]|0)==0:0)?(Zo(f,j+(n*412|0)+260|0)|0)==0:0){h=n;m=19;break}n=n+1|0;if((n|0)>=(g|0)){h=-1;m=19;break}}if((m|0)==19){i=e;return h|0}return 0}function Bj(a,b){a=a|0;b=b|0;var c=0,d=0;c=i;d=(Aj(302124|0,a,0,b)|0)!=-1&1;i=c;return d|0}function Cj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+64|0;e=d;if((b|0)==0){f=0;i=d;return f|0}if((a[b>>0]|0)==0){f=0;i=d;return f|0}if((uo(b,300952)|0)!=0){g=cl(b,0)|0;if((g|0)==0){f=0;i=d;return f|0}if((c[g>>2]|0)!=160){f=0;i=d;return f|0}if((c[g+4>>2]|0)!=205){f=0;i=d;return f|0}h=pl(128,128,32)|0;j=pl(128,128,8)|0;vk(g,h,16,24,0,0,128,128);Bl(h,j,c[288550]|0);ql(g)|0;ql(h)|0;f=j;i=d;return f|0}j=Vk(b,320720)|0;a[e>>0]=0;al(e,63,j)|0;if((_o(e,320728,16)|0)==0?(al(e,63,j)|0,al(e,63,j)|0,(_o(e,320752,7)|0)==0):0){b=pl(128,128,8)|0;ml(b,0,0,127,127,5);h=e+1|0;g=0;do{if((Rk(j)|0)!=0)break;k=e+0|0;l=k+63|0;do{a[k>>0]=0;k=k+1|0}while((k|0)<(l|0));al(e,63,j)|0;if((a[e>>0]|0)!=45)break;if((a[h>>0]|0)!=45)break;Kn(b,e,c[247124]|0,0,(g*6|0)+22|0,1,6)|0;g=g+1|0}while((g|0)<5);Wk(j);f=b;i=d;return f|0}Wk(j);f=0;i=d;return f|0}function Dj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;i=i+4112|0;d=b;e=b+3080|0;f=b+2056|0;g=b+1032|0;h=b+8|0;tn(319664,f);vn(f)|0;c[d>>2]=(a|0)/1e4|0;Qo(e,319672,d)|0;tn(e,f);vn(f)|0;c[d>>2]=f;c[d+4>>2]=a;Qo(319680,320704,d)|0;f=Cj(319680)|0;if((f|0)!=0){j=f;i=b;return j|0}tn(320760,g);c[d>>2]=g;c[d+4>>2]=a;Qo(h,320776,d)|0;d=cl(h,0)|0;if((d|0)==0){j=0;i=b;return j|0}h=pl(128,128,8)|0;Bl(d,h,c[288550]|0);ql(d)|0;j=h;i=b;return j|0}function Ej(){var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;b=i;i=i+1040|0;e=b;f=b+8|0;g=c[79896]|0;h=c[302032+(g*1164|0)>>2]|0;do if((h|0)==0){ml(c[247113]|0,0,0,127,127,5);j=0}else{k=c[302036+(g*1164|0)>>2]|0;do if((((k|0)>-1&(h|0)>(k|0)?(l=k*412|0,m=c[(c[300960+(g*1164|0)>>2]|0)+12>>2]|0,n=m+l|0,(n|0)!=0):0)?(c[m+(l+404)>>2]|0)==1:0)?(c[m+(l+400)>>2]|0)==0:0){o=c[m+(l+388)>>2]|0;if((o|0)!=0){l=Dj(o)|0;o=c[79896]|0;m=c[302036+(o*1164|0)>>2]|0;c[(c[(c[300960+(o*1164|0)>>2]|0)+12>>2]|0)+((m*412|0)+400)>>2]=l;p=m;q=o;break}if((k|0)<0)r=0;else r=n;c[e>>2]=1077436;c[e+4>>2]=r+260;Qo(f,320792,e)|0;n=Cj(f)|0;o=c[79896]|0;m=c[302036+(o*1164|0)>>2]|0;c[(c[(c[300960+(o*1164|0)>>2]|0)+12>>2]|0)+((m*412|0)+400)>>2]=n;p=m;q=o}else{p=k;q=g}while(0);if((((p|0)>=0?(c[302032+(q*1164|0)>>2]|0)>(p|0):0)?(k=p*412|0,o=c[(c[300960+(q*1164|0)>>2]|0)+12>>2]|0,(o+k|0)!=0):0)?(m=c[o+(k+400)>>2]|0,(m|0)!=0):0){vk(m,c[247113]|0,0,0,0,0,128,128);j=0;break}ml(c[247113]|0,0,0,127,127,5);m=c[79896]|0;k=c[(c[(c[300960+(m*1164|0)>>2]|0)+12>>2]|0)+(((c[302036+(m*1164|0)>>2]|0)*412|0)+404)>>2]|0;if((k|0)!=3?!((k|0)==2?1:(c[302032+(m*1164|0)>>2]|0)==0):0){j=0;break}wl(c[(c[c[247123]>>2]|0)+(c[301996+(m*1164|0)>>2]<<2)>>2]|0,c[247113]|0,57,30,14,14,1);j=0}while(0);do{if((j+10|0)>>>0>81){q=10;do{p=(c[(c[(c[247113]|0)+16>>2]|0)+(j<<2)>>2]|0)+q|0;a[p>>0]=c[319592+((d[p>>0]&15)<<2)>>2];q=q+1|0}while((q|0)!=118)}j=j+1|0}while((j|0)!=128);j=c[79896]|0;if((c[302032+(j*1164|0)>>2]|0)>0){q=j;p=0;g=86-(c[302048+(j*1164|0)>>2]>>16)|0;while(1){j=p*412|0;f=c[(c[300960+(q*1164|0)>>2]|0)+12>>2]|0;r=f+j|0;h=f+(j+404)|0;if((c[h>>2]|0)==1)if((c[f+(j+388)>>2]|0)==0?(c[f+(j+392)>>2]|0)==0:0){m=(uo(f+(j+260)|0,300952)|0)!=0;s=m?180:177;t=30}else{s=176;t=30}else if((r|0)==0){u=q;v=g}else{s=c[r>>2]|0;t=30}if((t|0)==30){t=0;nl(c[247113]|0,12,84,116,127);if((p|0)==(c[302036+((c[79896]|0)*1164|0)>>2]|0)){if((Xi(4,0)|0)==0?(Xi(5,0)|0)==0:0)w=0;else w=1;ml(c[247113]|0,12,g+ -1+w|0,115,g+5+w|0,(s|0)==178?6:14);x=1;y=w}else{x=7;y=0}r=c[h>>2]|0;if((r|0)==6){h=c[79896]|0;if((c[302052+(h*1164|0)>>2]|0)==0)t=50;else{m=c[302120+(h*1164|0)>>2]<<2;if(((on()|0)&256|0)!=0)ml(c[247113]|0,m+23|0,g+ -1|0,m+27|0,g+5|0,14);Kn(c[247113]|0,302056+((c[79896]|0)*1164|0)|0,c[247124]|0,24,y+g|0,1,x)|0;z=14}}else if((r|0)==1){r=f+(j+4)|0;if((p|0)==(c[302036+((c[79896]|0)*1164|0)>>2]|0)){m=cp(r|0)|0;h=((cp(f+(j+132)|0)|0)+m<<2)+ -82|0;m=(h|0)<0?0:h;h=on()|0;if((h+ -500-(c[80200]|0)|0)<0)A=0;else{h=on()|0;A=(h+ -500-(c[80200]|0)|0)/20|0}if((m|0)>=(A|0)){h=on()|0;if((h+ -500-(c[80200]|0)|0)<0)B=0;else{h=on()|0;B=(h+ -500-(c[80200]|0)|0)/20|0}}else B=m;C=14-B|0}else C=14;m=y+g|0;Kn(c[247113]|0,r,c[247124]|0,C+10|0,m,1,x)|0;if((p|0)==(c[302036+((c[79896]|0)*1164|0)>>2]|0)?(h=f+(j+132)|0,(a[h>>0]|0)!=0):0){k=c[247113]|0;ml(k,C+13+((cp(r|0)|0)<<2)|0,g+ -1+y|0,127,g+5+y|0,15);c[e>>2]=h;Qo(955480,320808,e)|0;h=c[247113]|0;k=c[247124]|0;Kn(h,955480,k,C+9+((cp(r|0)|0)<<2)|0,m,1,5)|0;z=C}else z=C}else t=50;if((t|0)==50){t=0;Kn(c[247113]|0,f+(j+4)|0,c[247124]|0,24,y+g|0,1,x)|0;z=14}ol(c[(c[c[247123]>>2]|0)+(s<<2)>>2]|0,c[247113]|0,0,0,z+ -1|0,g+ -1+y|0,7,7);m=c[79896]|0;if((m|0)==1?1:(c[f+(j+408)>>2]|0)==0)D=m;else{nl(c[247113]|0,8,84,116,127);ol(c[(c[c[247123]>>2]|0)+804>>2]|0,c[247113]|0,0,0,z+ -6|0,g+ -3+y|0,7,7);D=c[79896]|0}u=D;v=g+7|0}p=p+1|0;if((p|0)>=(c[302032+(u*1164|0)>>2]|0))break;else{q=u;g=v}}}vl(c[247113]|0);zl(c[247113]|0,12,81,115,81,6);Al(c[(c[c[247123]>>2]|0)+728>>2]|0,c[247113]|0,0,0,11,73,7,7,(c[80204]|0)!=0?7:6,0);Al(c[(c[c[247123]>>2]|0)+732>>2]|0,c[247113]|0,0,0,110,73,7,7,(c[80204]|0)!=0?7:6,0);v=c[79896]|0;if((v|0)==0){c[e>>2]=1078460;Qo(955480,320824,e)|0}else{e=302e3+(v*1164|0)|0;hp(955480,e|0,(cp(e|0)|0)+1|0)|0}e=48-((cp(955480)|0)<<1)|0;v=((aa(e,c[80208]|0)|0)>>16)+32|0;Kn(c[247113]|0,955480,c[247124]|0,v,74,1,7)|0;v=c[80208]|0;e=c[75236]|0;if((v|0)>4096){if((e|0)>0){E=e;F=v;G=0;t=61}}else{E=e;F=v;G=e+ -1|0;t=61}a:do if((t|0)==61)while(1){t=0;e=c[320840+(G<<2)>>2]|0;v=(((e<<16)-(c[80218]&65535)|0)/(E|0)|0)+49152&65535;g=pm(F,vm(v)|0)|0;u=c[80208]|0;q=(((u+g|0)*10|0)+32768>>16)+20|0;g=(pm(u,wm(v)|0)|0)*3|0;u=(g+32768-(c[80208]<<1)>>16)+73|0;g=c[(c[c[247123]>>2]|0)+(c[301996+(((e+7+(c[80218]>>16)|0)%(c[75236]|0)|0)*1164|0)>>2]<<2)>>2]|0;e=c[247113]|0;if((v+ -36864|0)>>>0>24576)Al(g,e,0,0,q,u,7,7,v>>>0<32768?1:(v+ -33792|0)>>>0>30720?1:5,0);else ol(g,e,0,0,q,u,7,7);u=G+1|0;q=c[75236]|0;if((u|0)>=(q|0))break a;E=q;F=c[80208]|0;G=u;t=61}while(0);do if((c[75]|0)>0){t=(uo(1592,320880)|0)==0;G=c[80222]|0;if(t){ol(c[(c[c[247123]>>2]|0)+((((G|0)/2|0|0)%12|0)+212<<2)>>2]|0,c[247113]|0,0,0,3,3,12,12);break}else{ol(c[(c[c[247123]>>2]|0)+(((G|0)%8|0)+204<<2)>>2]|0,c[247113]|0,0,0,2,2,8,8);break}}while(0);if((c[80224]|0)<=0){i=b;return}ol(c[(c[c[247123]>>2]|0)+((((c[80222]|0)/2|0|0)%12|0)+212<<2)>>2]|0,c[247113]|0,0,0,3,3,12,12);i=b;return}function Fj(a){a=a|0;var b=0;if((c[75]|0)==0)b=1;else{c[75]=2;b=0}return b|0}function Gj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+3088|0;g=f;h=f+2056|0;j=f+1032|0;k=f+8|0;if((e|0)==0){c[g>>2]=b;Qo(j,320928,g)|0;tn(j,h);c[g>>2]=b;Qo(j,320952,g)|0;tn(j,2616|0)}else{c[g>>2]=b;Qo(j,320904,g)|0;tn(j,h);a[2616]=0}c[g>>2]=e;c[g+4>>2]=d;Qo(k,320968,g)|0;if((c[75]|0)!=0){i=f;return}lp(568|0,k|0)|0;lp(1592|0,h|0)|0;c[75]=1;c[76]=on()|0;c[74]=zn(101)|0;c[80222]=0;i=f;return}function Hj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,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=i;i=i+1824|0;f=e;g=e+8|0;h=e+800|0;c[b+1080>>2]=0;if((a[1078460]|0)!=0){j=b+1072|0;Dm(c[b>>2]|0,((c[j>>2]|0)*412|0)+412|0)|0;k=(c[b>>2]|0)+12|0;c[b+4>>2]=c[k>>2];l=c[j>>2]|0;c[j>>2]=l+1;j=l*412|0;l=c[k>>2]|0;k=l+j|0;ip(k|0,0,412)|0;c[k>>2]=185;c[l+(j+388)>>2]=0;k=l+(j+4)|0;a[k+0>>0]=a[321032]|0;a[k+1>>0]=a[321033]|0;a[k+2>>0]=a[321034]|0;c[l+(j+400)>>2]=0;c[l+(j+404)>>2]=2}c[f>>2]=1077436;c[f+4>>2]=d;Qo(h,320792,f)|0;if((sa(h|0,321040,g|0,-1)|0)==0){d=g+256|0;j=b+1072|0;l=b+4|0;k=g+512|0;do if((a[d>>0]|0)!=46){Dm(c[b>>2]|0,((c[j>>2]|0)*412|0)+412|0)|0;m=(c[b>>2]|0)+12|0;c[l>>2]=c[m>>2];n=c[j>>2]|0;c[j>>2]=n+1;o=n*412|0;n=c[m>>2]|0;m=n+o|0;ip(m|0,0,412)|0;c[f>>2]=1078460;c[f+4>>2]=d;Qo(h,320792,f)|0;p=n+(o+260)|0;dp(p|0,h|0,128)|0;c[n+(o+400)>>2]=0;q=n+(o+404)|0;c[q>>2]=1;c[n+(o+388)>>2]=0;if((c[k>>2]&16384|0)==0)r=n+(o+4)|0;else{c[m>>2]=181;s=n+(o+4)|0;lp(s|0,d|0)|0;c[q>>2]=2;r=s}if(((a[r>>0]|0)==0?(_k(p,0,r,0),p=cp(r|0)|0,p>>>0>3):0)?(s=m+(p+ -3)+4|0,(a[s>>0]|0)==46):0)a[s>>0]=0}while((lb(g|0)|0)==0);t=j;u=l}else{t=b+1072|0;u=b+4|0}oo(c[u>>2]|0,c[t>>2]|0,412,2);if((b|0)==302124){i=e;return}if((c[t>>2]|0)<=0){i=e;return}b=c[u>>2]|0;u=0;do{l=b+(u*412|0)+408|0;c[l>>2]=0;c[l>>2]=(Aj(302124,c[b+(u*412|0)+388>>2]|0,0,b+(u*412|0)+260|0)|0)!=-1&1;u=u+1|0}while((u|0)<(c[t>>2]|0));i=e;return}function Ij(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;e=Zo(a+4|0,b+4|0)|0;f=(c[b+404>>2]|0)==2;if((c[a+404>>2]|0)==2)if(f)g=4;else h=-1;else if(f)h=1;else g=4;if((g|0)==4)if((e|0)==0)h=a>>>0<b>>>0?1:-1;else h=e;i=d;return h|0}function Jj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;f=i;i=i+32|0;g=f;h=f+20|0;j=f+16|0;k=f+12|0;l=cl(d,0)|0;d=(Zo(c[b+8>>2]|0,322072)|0)==0;m=b+1080|0;c[m>>2]=0;n=(e|0)!=0;a:do if(n)o=16;else{do if((l|0)==0)if((c[b+1072>>2]|0)!=0|d){p=1;i=f;return p|0}else{q=b+1072|0;o=7;break}else{if(d)break a;e=c[b+1072>>2]|0;r=b+1072|0;if((e|0)>0){s=b+4|0;t=e;e=0;while(1){u=c[(c[s>>2]|0)+(e*412|0)+400>>2]|0;if((u|0)==0)v=t;else{ql(u)|0;v=c[r>>2]|0}e=e+1|0;if((e|0)>=(v|0)){w=s;x=r;break}else t=v}}else{q=r;o=7}}while(0);if((o|0)==7){w=b+4|0;x=q}c[x>>2]=0;Dm(c[b>>2]|0,412)|0;t=(c[b>>2]|0)+12|0;c[w>>2]=c[t>>2];s=c[x>>2]|0;c[x>>2]=s+1;e=s*412|0;s=c[t>>2]|0;t=s+e|0;ip(t|0,0,412)|0;c[t>>2]=178;c[s+(e+388)>>2]=0;t=s+(e+4)|0;if((Zo(b+1040|0,319656)|0)==0){y=t+0|0;z=322080;A=y+9|0;do{a[y>>0]=a[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));c[m>>2]=1;c[s+(e+404)>>2]=6}else{y=t+0|0;z=322096;A=y+9|0;do{a[y>>0]=a[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));c[m>>2]=1;c[s+(e+404)>>2]=3}c[s+(e+400)>>2]=0;o=16}while(0);if((o|0)==16?(l|0)==0:0){p=1;i=f;return p|0}if((n?(n=b+1072|0,o=c[n>>2]|0,(o|0)>0):0)?(m=o+ -1|0,o=c[b+4>>2]|0,(c[o+(m*412|0)+404>>2]|0)==5):0){ip(o+(m*412|0)|0,0,412)|0;c[n>>2]=(c[n>>2]|0)+ -1}if((c[l>>2]|0)==1024?(c[l+4>>2]|0)==544:0){n=l+16|0;m=b+1072|0;o=b+4|0;x=0;w=0;while(1){q=(x|0)%8|0;v=((x|0)/8|0)*136|0;d=c[(c[n>>2]|0)+(v+128<<2)>>2]|0;t=q<<9|1;c[k>>2]=0;c[j>>2]=0;c[h>>2]=0;ip(321048,0,1024)|0;u=0;do{a[321048+u>>0]=a[d+((u<<2)+t)>>0]|0;u=u+1|0}while((u|0)!=128);c[g>>2]=h;c[g+4>>2]=j;c[g+8>>2]=k;ko(321048,322112,g)|0;if((c[h>>2]|0)==0)B=1;else{Dm(c[b>>2]|0,((c[m>>2]|0)*412|0)+412|0)|0;u=(c[b>>2]|0)+12|0;c[o>>2]=c[u>>2];e=c[m>>2]|0;c[m>>2]=e+1;s=e*412|0;e=c[u>>2]|0;ip(e+s|0,0,412)|0;c[e+(s+388)>>2]=c[h>>2];c[e+(s+392)>>2]=c[j>>2];c[e+(s+396)>>2]=c[k>>2];u=s+4|0;C=c[l>>2]|0;ip(321048,0,1024)|0;D=0;do{a[321048+D>>0]=a[d+((D+C<<2)+t)>>0]|0;D=D+1|0}while((D|0)!=128);D=e+u|0;dp(D|0,321048,128)|0;C=s+132|0;E=(c[l>>2]<<3)+t|0;ip(321048,0,1024)|0;F=0;do{a[321048+F>>0]=a[d+(E+(F<<2))>>0]|0;F=F+1|0}while((F|0)!=128);F=q<<7;E=e+C|0;dp(E|0,321048,128)|0;d=a[D>>0]|0;b:do if(!(d<<24>>24==0)){t=s|3;u=d;while(1){G=e+(t+(cp(D|0)|0))|0;if((a[G>>0]|0)!=32)break;a[G>>0]=0;G=a[D>>0]|0;if(G<<24>>24==0)break b;else u=G}if(!(u<<24>>24==0)){t=u;r=D;do{if((t+ -65<<24>>24&255)<26)a[r>>0]=(t&255)+32;r=r+1|0;t=a[r>>0]|0}while(!(t<<24>>24==0));t=a[D>>0]|0;if(!(t<<24>>24==0)){r=t;t=D;do{if((Kc(r)|0)!=0){if((a[t>>0]|0)==124)a[t>>0]=95}else a[t>>0]=32;t=t+1|0;r=a[t>>0]|0}while(!(r<<24>>24==0))}}}while(0);zj(E);c[e+(s+404)>>2]=1;D=pl(128,128,32)|0;d=e+(s+400)|0;c[d>>2]=pl(128,128,8)|0;vk(l,D,F,v,0,0,128,128);Bl(D,c[d>>2]|0,c[288550]|0);ql(D)|0;B=w}x=x+1|0;if((x|0)==32)break;else w=B}w=c[m>>2]|0;if((w|0)>1&(B|0)==0){Dm(c[b>>2]|0,(w*412|0)+412|0)|0;w=(c[b>>2]|0)+12|0;c[o>>2]=c[w>>2];B=c[m>>2]|0;c[m>>2]=B+1;x=B*412|0;B=c[w>>2]|0;w=B+x|0;ip(w|0,0,412)|0;c[w>>2]=178;c[B+(x+388)>>2]=0;y=B+(x+4)+0|0;z=322128;A=y+12|0;do{a[y>>0]=a[z>>0]|0;y=y+1|0;z=z+1|0}while((y|0)<(A|0));z=B+(x+400)|0;c[z>>2]=0;c[z>>2]=pl(128,128,8)|0;c[B+(x+404)>>2]=5}ql(l)|0;c[b+1084>>2]=0;if((b|0)==302124){p=0;i=f;return p|0}if((c[m>>2]|0)<=0){p=0;i=f;return p|0}b=c[o>>2]|0;o=0;do{x=b+(o*412|0)+408|0;c[x>>2]=0;c[x>>2]=(Aj(302124,c[b+(o*412|0)+388>>2]|0,0,b+(o*412|0)+260|0)|0)!=-1&1;o=o+1|0}while((o|0)<(c[m>>2]|0));p=0;i=f;return p|0}ql(l)|0;p=2;i=f;return p|0}function Kj(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;if((c[75]|0)==1?(d=on()|0,(d|0)>((c[76]|0)+3e4|0)):0){c[75]=0;Oc(322144,1500);i=b;return}d=on()|0;if(!((d|0)>=((c[76]|0)+500|0)&(c[75]|0)==2)){i=b;return}c[75]=0;if((uo(1592,320880)|0)==0){if((uo(1592,322192)|0)==0){i=b;return}d=Zc(1592)|0;if((d|0)!=0){cd(d);bd(d);c[270396]=0;lp(1080516,1592)|0;Uc(c[17642]|0,1081540);c[80224]=1;i=b;return}d=c[35]|0;if((d|0)==1){Oc(322160,1500);e=c[35]|0}else e=d;if((e|0)==2){Oc(322200,1500);f=c[35]|0}else f=e;if((f|0)!=3){i=b;return}Oc(322216,1500);i=b;return}f=c[75236]|0;if((f|0)>1){g=1;h=0}else{i=b;return}while(1){if((uo(1592,c[300968+(g*1164|0)>>2]|0)|0)==0)j=h;else j=300960+(g*1164|0)|0;g=g+1|0;if((g|0)>=(f|0))break;else h=j}if((j|0)==0){i=b;return}h=(uo(1592,322152)|0)!=0;if((Jj(j,1592,h&1)|0)==0){if((a[2616]|0)!=0)gl(1592,2616)|0;j=c[79896]|0;f=c[302032+(j*1164|0)>>2]|0;if((f|0)<2|h){k=j;l=f}else{c[302036+(j*1164|0)>>2]=1;k=j;l=f}}else{Oc(322160,1500);f=c[79896]|0;k=f;l=c[302032+(f*1164|0)>>2]|0}f=302036+(k*1164|0)|0;k=c[f>>2]|0;j=(l|0)<1?0:l+ -1|0;l=(k|0)<(j|0)?k:j;c[f>>2]=(l|0)<0?0:l;c[80200]=on()|0;i=b;return}function Lj(){var a=0;a=i;c[80200]=on()|0;i=a;return}function Mj(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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=i;i=i+6160|0;d=b;e=b+5136|0;f=b+4112|0;g=b+3088|0;h=b+2064|0;j=b+1040|0;k=b+16|0;l=c[79896]|0;m=c[302036+(l*1164|0)>>2]|0;if((c[75]|0)>0){if((bj(6,0)|0)==0){i=b;return}c[75]=0;Oc(322728,1e3);i=b;return}if((c[302052+(l*1164|0)>>2]|0)!=0){if((cj(6,0)|0)!=0){c[302052+((c[79896]|0)*1164|0)>>2]=0;Oc(322752,1e3)}if(!((cj(4,0)|0)==0?(cj(5,0)|0)==0:0)){n=c[79896]|0;c[d>>2]=302056+(n*1164|0);Qo(300972+(n*1164|0)|0,322664,d)|0;n=c[79896]|0;Gj(c[300968+(n*1164|0)>>2]|0,300972+(n*1164|0)|0,0);n=c[79896]|0;lp(302e3+(n*1164|0)|0,302056+(n*1164|0)|0)|0;c[302052+((c[79896]|0)*1164|0)>>2]=0;Zi()}if((cj(2,0)|0)!=0){n=c[79896]|0;o=c[302120+(n*1164|0)>>2]|0;p=300960+(n*1164|0)+o+1096|0;q=a[p>>0]|0;r=0;s=-1;do{s=q<<24>>24==(a[322688+r>>0]|0)?r:s;r=r+1|0}while((r|0)!=37);if(q<<24>>24==0){a[o+1+(300960+(n*1164|0))+1096>>0]=0;t=97}else t=a[322688+((s+38|0)%37|0)>>0]|0;a[p>>0]=t}if((cj(3,0)|0)!=0){t=c[79896]|0;p=c[302120+(t*1164|0)>>2]|0;s=300960+(t*1164|0)+p+1096|0;n=a[s>>0]|0;o=0;q=-1;do{q=n<<24>>24==(a[322688+o>>0]|0)?o:q;o=o+1|0}while((o|0)!=37);if(n<<24>>24==0){a[p+1+(300960+(t*1164|0))+1096>>0]=0;u=57}else u=a[322688+((q+36|0)%37|0)>>0]|0;a[s>>0]=u}if((cj(0,0)|0)!=0){u=c[79896]|0;s=cp(302056+(u*1164|0)|0)|0;q=302120+(u*1164|0)|0;u=(c[q>>2]|0)+ -1|0;t=(u|0)<(s|0)?u:s;c[q>>2]=(t|0)<0?0:t}if((cj(1,0)|0)==0){i=b;return}t=c[79896]|0;q=cp(302056+(t*1164|0)|0)|0;s=302120+(t*1164|0)|0;u=c[s>>2]|0;if((u|0)<21&(u|0)==(q|0)){a[300960+(t*1164|0)+q+1096>>0]=32;p=(c[s>>2]|0)+1|0;c[s>>2]=p;a[300960+(t*1164|0)+p+1096>>0]=0;v=c[s>>2]|0;w=q+1|0}else{v=u;w=q}q=v+1|0;v=(q|0)<(w|0)?q:w;c[s>>2]=(v|0)<0?0:v;i=b;return}if((bj(2,0)|0)!=0){v=302036+((c[79896]|0)*1164|0)|0;c[v>>2]=(c[v>>2]|0)+ -1}if((bj(3,0)|0)!=0){v=302036+((c[79896]|0)*1164|0)|0;c[v>>2]=(c[v>>2]|0)+1}if((bj(0,0)|0)!=0){v=c[79896]|0;if((v|0)>0)x=(v+ -1|0)%(c[75236]|0)|0;else{s=c[75236]|0;x=(s-((1-v|0)%(s|0)|0)|0)%(s|0)|0}c[79896]=x}if((bj(1,0)|0)!=0){x=c[79896]|0;if((x|0)>-2)y=(x+1|0)%(c[75236]|0)|0;else{s=c[75236]|0;y=(s-((~x|0)%(s|0)|0)|0)%(s|0)|0}c[79896]=y}if(!((bj(0,0)|0)==0?(bj(1,0)|0)==0:0))z=46;if(((z|0)==46?(c[80204]=1,c[80692]=0,y=c[79896]|0,(y|0)!=1):0)?(s=302032+(y*1164|0)|0,(c[s>>2]|0)>0):0){x=c[300964+(y*1164|0)>>2]|0;y=0;do{v=x+(y*412|0)+408|0;c[v>>2]=0;c[v>>2]=(Aj(302124,c[x+(y*412|0)+388>>2]|0,0,x+(y*412|0)+260|0)|0)!=-1&1;y=y+1|0}while((y|0)<(c[s>>2]|0))}if(!(((((bj(2,0)|0)==0?(bj(3,0)|0)==0:0)?(bj(4,0)|0)==0:0)?(bj(5,0)|0)==0:0)?(bj(6,0)|0)==0:0))c[80204]=0;if(!((((bj(0,0)|0)==0?(bj(1,0)|0)==0:0)?(bj(2,0)|0)==0:0)?(bj(3,0)|0)==0:0)){s=c[79896]|0;y=302036+(s*1164|0)|0;x=c[y>>2]|0;v=c[302032+(s*1164|0)>>2]|0;s=(v|0)<1?0:v+ -1|0;v=(x|0)<(s|0)?x:s;c[y>>2]=(v|0)<0?0:v}if(!(((bj(4,0)|0)==0?(bj(5,0)|0)==0:0)?(bj(6,0)|0)==0:0))z=64;do if((((z|0)==64?(v=c[79896]|0,y=c[302036+(v*1164|0)>>2]|0,(y|0)>=0):0)?(s=c[302032+(v*1164|0)>>2]|0,(s|0)>(y|0)):0)?(x=y*412|0,y=(c[300960+(v*1164|0)>>2]|0)+12|0,w=c[y>>2]|0,q=w+x|0,(q|0)!=0):0){u=c[w+(x+404)>>2]|0;if((u|0)==1){p=c[w+(x+388)>>2]|0;hp(322248,q|0,412)|0;c[80662]=0;if((p|0)==0){q=(c[y>>2]|0)+(x+260)|0;c[d>>2]=1077436;c[d+4>>2]=q;Qo(h,320792,d)|0;if((dd(h)|0)==0){c[80224]=1;break}else{Oc(322200,1500);break}}tn(319664,f);vn(f)|0;q=(p|0)/1e4|0;c[d>>2]=q;Qo(e,319672,d)|0;tn(e,f);vn(f)|0;c[d>>2]=f;c[d+4>>2]=p;Qo(319680,320704,d)|0;if((dd(319680)|0)==0){c[80224]=1;break}c[d>>2]=q;c[d+4>>2]=p;Qo(g,322792,d)|0;tn(319664,f);vn(f)|0;c[d>>2]=q;Qo(e,319672,d)|0;tn(e,f);vn(f)|0;c[d>>2]=f;c[d+4>>2]=p;Qo(319680,320704,d)|0;lp(1592,319680)|0;tn(319664,f);vn(f)|0;c[d>>2]=q;Qo(e,319672,d)|0;tn(e,f);vn(f)|0;c[d>>2]=f;c[d+4>>2]=p;Qo(319680,320704,d)|0;if((c[75]|0)!=0)break;lp(568,g|0)|0;lp(1592,319680)|0;c[75]=1;c[76]=on()|0;c[74]=zn(101)|0;c[80222]=0;break}else if((u|0)==2){c[d>>2]=1077436;c[d+4>>2]=1078460;c[d+8>>2]=w+(x+4);Qo(j,322776,d)|0;$k(j,k);if((uo(k,1077436)|0)==0)break;lp(1078460,k+(cp(1077436)|0)|0)|0;if((Zo(1078460,322784)|0)==0)a[1078460]=0;p=c[79896]|0;q=302032+(p*1164|0)|0;y=c[q>>2]|0;if((y|0)>0){t=300964+(p*1164|0)|0;n=y;y=0;while(1){o=c[(c[t>>2]|0)+(y*412|0)+400>>2]|0;if((o|0)==0)A=n;else{ql(o)|0;A=c[q>>2]|0}y=y+1|0;if((y|0)>=(A|0))break;else n=A}B=c[79896]|0}else B=p;c[q>>2]=0;Hj(300960+(B*1164|0)|0,1078460);n=c[79896]|0;y=c[302040+(n*1164|0)>>2]|0;t=c[302032+(n*1164|0)>>2]|0;c[302036+(n*1164|0)>>2]=(y|0)<(t|0)?y:t;c[302048+(n*1164|0)>>2]=0;break}else{if((c[w+(x+404)>>2]|0)==3){Gj(c[300968+(v*1164|0)>>2]|0,300972+(v*1164|0)|0,0);break}if((u|0)==5){Gj(c[300968+(v*1164|0)>>2]|0,300972+(v*1164|0)|0,s+ -1|0);break}else if((u|0)!=6)break;a[302056+(v*1164|0)>>0]=0;c[302052+(v*1164|0)>>2]=1;c[302120+(v*1164|0)>>2]=0;if((Gl()|0)==0)break;do Hl()|0;while((Gl()|0)!=0)}}while(0);B=c[79896]|0;if((l|0)==(B|0)?(m|0)==(c[302036+(B*1164|0)>>2]|0):0){i=b;return}c[80200]=on()|0;i=b;return}function Nj(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;a=i;b=c[75508]|0;if((b|0)>0){d=b;b=0;while(1){e=c[(c[75241]|0)+(b*412|0)+400>>2]|0;if((e|0)==0)f=d;else{ql(e)|0;f=c[75508]|0}b=b+1|0;if((b|0)>=(f|0))break;else d=f}}c[75508]=0;Hj(300960,1078460|0);f=c[79896]|0;d=302036+(f*1164|0)|0;b=c[d>>2]|0;e=302032+(f*1164|0)|0;g=c[e>>2]|0;h=(g|0)<1?0:g+ -1|0;j=(b|0)<(h|0)?b:h;c[d>>2]=(j|0)<0?0:j;if(!((f|0)!=1&(g|0)>0)){k=on()|0;c[80200]=k;i=a;return}g=c[300964+(f*1164|0)>>2]|0;f=0;do{j=g+(f*412|0)+408|0;c[j>>2]=0;c[j>>2]=(Aj(302124|0,c[g+(f*412|0)+388>>2]|0,0,g+(f*412|0)+260|0)|0)!=-1&1;f=f+1|0}while((f|0)<(c[e>>2]|0));k=on()|0;c[80200]=k;i=a;return}function Oj(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;a=i;Mj();Kj();b=c[79896]|0;d=c[302036+(b*1164|0)>>2]|0;e=c[302040+(b*1164|0)>>2]|0;f=(d|0)<(e|0)?d:e;e=d+ -2|0;d=(c[302032+(b*1164|0)>>2]|0)+ -6+(c[302044+(b*1164|0)>>2]|0)|0;g=(e|0)<(d|0)?e:d;d=((f|0)>(g|0)?f:g)*458752|32768;g=302048+(b*1164|0)|0;f=(d+((c[g>>2]|0)*7|0)|0)/8|0;c[g>>2]=f;if((f|0)>=(d|0)){if((f|0)>(d|0)){e=f+ -4096|0;c[g>>2]=(e|0)>(d|0)?e:d}}else{e=f+4096|0;c[g>>2]=(e|0)<(d|0)?e:d}d=c[80204]|0;c[80208]=((d|0)!=0?24576:0)+(((c[80208]|0)*5|0)/8|0);e=c[80218]|0;g=c[75236]<<16;f=(g|0)/2|0;h=e-f|0;j=b<<16|2048;while(1)if((j|0)<(h|0))j=g+j|0;else break;h=f+e|0;f=j;while(1)if((f|0)>(h|0))f=f-g|0;else break;h=((f|0)/8|0)+((e*7|0)/8|0)|0;if((d|0)==0)k=((f*3|0)/4|0)+((h|0)/4|0)|0;else k=h;c[80218]=k;if((k|0)>-1)l=k;else l=g-((0-k|0)%(g|0)|0)|0;c[80218]=(l|0)%(g|0)|0;c[80692]=(c[80692]|0)+1;c[80222]=(c[80222]|0)+1;g=c[80224]|0;if((g|0)<=0){i=a;return}c[80224]=g+1;if((g|0)<=19){i=a;return}c[80224]=0;c[271490]=1;c[271598]=0;c[271597]=0;vl(c[247113]|0);kl(c[247113]|0);i=a;return}function Pj(){return}function Qj(){return}function Rj(a,b){a=a|0;b=b|0;return}function Sj(a){a=a|0;return 0}function Tj(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+512|0;d=b;e=c[(c[c[247121]>>2]|0)+12>>2]|0;c[e+20>>2]=0;f=Sk(323024,e)|0;Gg(323032,14);e=c[80744]|0;if((e|0)==0){$m(f);i=b;return}g=e;e=322976;h=0;do{j=c[(c[f>>2]|0)+(h<<2)>>2]|0;a[d>>0]=0;jp(d|0,g|0)|0;k=Vk(d,323072)|0;Ok(c[j+12>>2]|0,1,c[j+16>>2]|0,k)|0;Wk(k);Hg(c[e>>2]|0);h=h+1|0;e=322976+(h<<2)|0;g=c[e>>2]|0}while((g|0)!=0);$m(f);i=b;return}function Uj(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;Bm(323144,0,8192);c[82834]=0;Bm(856944,0,92704);c[d>>2]=c[238669];Qo(950312,949648,d)|0;yk(950312);d=fn(a)|0;i=b;return d|0}function Vj(){var a=0,b=0;a=i;b=gn()|0;i=a;return b|0}function Wj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;f=c[80782]|0;if((c[214235]|0)==0|(c[82834]|0)==0|(f|0)==0){i=e;return}g=(aa(c[238663]|0,f)|0)>>16;if((c[80784]|0)!=0)Xn(331336,323144,d);f=(d|0)>0;if(f)h=0;else{i=e;return}do{j=323144+(h<<1)|0;b[j>>1]=(aa(b[j>>1]|0,g)|0)>>>8;h=h+1|0}while((h|0)!=(d|0));if(f)k=0;else{i=e;return}do{f=a+(k<<1)|0;h=(b[323144+(k<<1)>>1]|0)+(b[f>>1]|0)|0;if((h|0)<=24575)if((h|0)<-24575)l=((h+24576|0)/5|0)+ -24576|0;else l=h;else l=((h+ -24576|0)/5|0)+24576|0;b[f>>1]=l;k=k+1|0}while((k|0)!=(d|0));i=e;return}function Xj(a,d,e,f,g,h,j){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|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;k=i;l=c[h+4>>2]|0;if((e|0)<=0){m=g;i=k;return m|0}n=(l|0)==6;o=(f<<3)+1120|0;p=a+11560|0;q=(o|0)/-2|0;r=a+11552|0;a=(f+500|0)/3|0;s=(l|0)==7;t=g;u=0;v=g;while(1){g=v&65535;if((l|0)==0)w=(((v&32768|0)!=0?49152-g|0:g+ -16384|0)*3|0)/4|0;else if((l|0)==1){if(g>>>0>57343)x=((g^65535)*24572|0)>>>13;else x=((g*24572|0)>>>0)/57344|0;y=x+ -12286|0;z=9}else{y=0;z=9}do if((z|0)==9){z=0;if((l|0)==5){A=(v&16384|0)!=0;if((v&32768|0)==0)B=((A?32768-g|0:g)|0)/2|0;else B=((A?65536-g|0:g+ -32768|0)|0)/3|0;C=(B<<1)+ -8192|0}else if((l|0)==3){w=(v&32768|0)!=0?6143:-6143;break}else if((l|0)==4){w=g>>>0>45055?6143:-6143;break}else if((l|0)==2){w=(g+ -32768|0)/4|0;break}else C=y;if(n){A=c[p>>2]&1;c[p>>2]=A^1;if((A|0)==0){A=q+(um(o)|0)|0;c[r>>2]=A+(c[r>>2]|0)}if(((aa(g+101|0,g+317|0)|0)&8191|0)<(a|0)){A=(um(12286)|0)+ -6143|0;D=c[r>>2]|0;E=((aa(A-D|0,j)|0)/1792|0)+D|0;c[r>>2]=E;F=E}else F=c[r>>2]|0;E=(2048/((c[h>>2]|0)+16|0)|0)+48|0;D=aa((E|0)<64?64:E,F>>6)|0;if((F|0)<-6143)G=-6143;else G=(F|0)<6143?F:6143;c[r>>2]=G;H=D}else H=C;if(s){D=(t*127|0)/128|0;E=D&65535;w=(((v&32768|0)!=0?g^65534:g)>>>1)+ -16384+(((D&32768|0)!=0?E^65532:E)>>>2)|0}else w=H}while(0);E=w*3|0;if((E|0)<-1048575)I=-524287;else I=(E|0)<1048574?(E|0)/2|0:524287;b[d+(u<<1)>>1]=(aa(I,j)|0)/2048|0;E=t+f&1073741823;u=u+1|0;if((u|0)==(e|0)){m=E;break}else{t=E;v=g+f|0}}i=k;return m|0}function Yj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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,ba=0;e=i;ip(d|0,0,366)|0;f=a+8224|0;g=c[f>>2]|0;h=(g|0)!=0;if(h){j=c[g+4>>2]|0;k=(j|0)<1?1:j;l=(j|0)<9;j=l?2:4;m=l?4:8;l=a+8228|0;n=c[l>>2]|0;o=(n|0)/(k|0)|0;p=(n|0)%(k|0)|0;if(o>>>0<32){q=g+(o*20|0)+16|0;r=c[q>>2]|0;s=(r|0)/12|0;t=(c[949696+(((r|0)%12|0)<<2)>>2]<<16|0)/22050|0;if((r|0)<36){r=s+1|0;u=t;v=s;do{v=v+1|0;u=(u|0)/2|0}while((v|0)<3);w=u;x=(r|0)>3?r:3}else{w=t;x=s}if((x|0)>3){s=w;t=x;while(1){t=t+ -1|0;x=s<<1;if((t|0)<=3){y=x;break}else s=x}}else y=w;w=c[g+(o*20|0)+24>>2]<<8;s=c[g+(o*20|0)+28>>2]|0;if((s|0)==1){t=(o|0)>0;if(t){x=c[g+((o+ -1|0)*20|0)+16>>2]|0;r=(x|0)/12|0;u=(c[949696+(((x|0)%12|0)<<2)>>2]<<16|0)/22050|0;if((x|0)<36){x=r+1|0;v=u;z=r;do{z=z+1|0;v=(v|0)/2|0}while((z|0)<3);A=v;B=(x|0)>3?x:3}else{A=u;B=r}if((B|0)>3){r=A;u=B;while(1){u=u+ -1|0;B=r<<1;if((u|0)<=3){C=B;break}else r=B}}else C=A;A=k-p|0;r=((aa(C,A)|0)+(aa(y,p)|0)|0)/(k|0)|0;if(t){D=r;E=A;F=c[g+((o+ -1|0)*20|0)+24>>2]<<8}else{D=r;E=A;F=w}}else{A=k-p|0;D=((aa((c[237424]<<16|0)/44100|0,A)|0)+(aa(y,p)|0)|0)/(k|0)|0;E=A;F=w}G=D;H=((aa(F,E)|0)+(aa(w,p)|0)|0)/(k|0)|0}else{G=y;H=w}a:do switch(s|0){case 3:{I=(aa(G,k-p|0)|0)/(k|0)|0;J=H;break};case 2:{switch(n>>>1&7|0){case 7:{I=(G*127|0)/128|0;J=H;break a;break};case 3:{I=(G*129|0)/128|0;J=H;break a;break};case 1:{I=(G*129|0)/128|0;J=H;break a;break};case 6:{I=(G*126|0)/128|0;J=H;break a;break};case 5:{I=(G*127|0)/128|0;J=H;break a;break};case 2:{I=(G*130|0)/128|0;J=H;break a;break};default:{I=G;J=H;break a}}break};case 5:{I=G;J=(aa(H,k-p|0)|0)/(k|0)|0;break};case 6:{w=c[g+(((((n|0)/(j|0)|0|0)%4|0)+(o&28)|0)*20|0)+16>>2]|0;y=(w|0)/12|0;E=(c[949696+(((w|0)%12|0)<<2)>>2]<<16|0)/22050|0;if((w|0)<36){w=y+1|0;F=E;D=y;do{D=D+1|0;F=(F|0)/2|0}while((D|0)<3);K=F;L=(w|0)>3?w:3}else{K=E;L=y}if((L|0)>3){D=K;A=L;while(1){A=A+ -1|0;r=D<<1;if((A|0)<=3){M=r;N=39;break}else D=r}}else{M=K;N=39}break};case 4:{I=G;J=(aa(H,p+1|0)|0)/(k|0)|0;break};default:{M=G;N=39}}while(0);if((N|0)==39)if((s|0)==7){s=c[g+(((((n|0)/(m|0)|0|0)%4|0)+(o&28)|0)*20|0)+16>>2]|0;m=(s|0)/12|0;n=(c[949696+(((s|0)%12|0)<<2)>>2]<<16|0)/22050|0;if((s|0)<36){s=m+1|0;G=n;p=m;do{p=p+1|0;G=(G|0)/2|0}while((p|0)<3);O=G;P=(s|0)>3?s:3}else{O=n;P=m}if((P|0)>3){m=O;n=P;while(1){n=n+ -1|0;P=m<<1;if((n|0)<=3){I=P;J=H;break}else m=P}}else{I=O;J=H}}else{I=M;J=H}if((c[a+11564>>2]|0)==0)Q=J;else{H=(aa(c[80782]>>8,J)|0)/256|0;Q=(aa(c[238663]|0,H)|0)/256|0}H=a+8232|0;J=c[H>>2]|0;c[H>>2]=Xj(a,d,183,I,J,q,Q)|0;if((c[g+(o*20|0)+20>>2]|0)==6){R=l;S=o;T=I;U=q;V=k;W=Q}else{H=949744;M=H+128|0;do{b[H>>1]=0;H=H+2|0}while((H|0)<(M|0));H=c[a+11572>>2]|0;if((H|0)!=0?(M=c[a+11580>>2]|0,(M|0)>0):0){Xj(a,949744,64,c[a+11576>>2]|0,J,H,M)|0;X=0}else X=0;do{M=d+(X<<1)|0;H=aa(b[M>>1]|0,X)|0;b[M>>1]=((aa(b[949744+(X<<1)>>1]|0,64-X|0)|0)+H|0)/64|0;X=X+1|0}while((X|0)!=64);R=l;S=o;T=I;U=q;V=k;W=Q}}else{R=l;S=o;T=0;U=0;V=k;W=0}}else{k=a+8228|0;o=c[k>>2]|0;ip(d|0,0,366)|0;R=k;S=o;T=0;U=0;V=1;W=0}c[a+11572>>2]=U;c[a+11576>>2]=T;c[a+11580>>2]=W;c[R>>2]=(c[R>>2]|0)+1;W=a+11584|0;c[W>>2]=(c[W>>2]|0)+ -1;if((((h?(c[a+8236>>2]|0)!=0:0)?(h=g+8|0,T=c[h>>2]|0,U=c[g+12>>2]|0,(T|0)<(U|0)):0)?(c[R>>2]|0)>=(aa(U,V)|0):0)?(c[R>>2]=aa(T,V)|0,(c[a+11564>>2]|0)==0):0)c[W>>2]=aa(32-(c[h>>2]|0)|0,V)|0;do if((c[f>>2]|0)!=0?(c[a+11564>>2]|0)==0:0){if((c[W>>2]|0)==0){c[f>>2]=0;Y=1;break}if((c[g+12>>2]|0)<=(aa(c[g+8>>2]|0,V)|0)){if((S|0)<32){h=0;T=S;do{h=(c[g+(T*20|0)+24>>2]|0)>0?1:h;T=T+1|0}while((T|0)!=32);if((h|0)!=0){Y=0;break}}c[f>>2]=0;Y=1}else Y=0}else Y=0;while(0);g=a+8220|0;S=c[g>>2]|0;do if((((S|0)!=0?(V=a+11564|0,(c[V>>2]|0)!=0):0)?(c[W>>2]|0)==0:0)?(T=a+11568|0,U=c[T>>2]|0,U>>>0<64):0){o=c[S+(U<<2)+43020>>2]|0;if((o&4|0)==0){b:do if((o&2|0)!=0)if((U|0)>0){k=o;l=U;while(1){if((k&1|0)!=0){Z=l;break b}Q=l+ -1|0;c[T>>2]=Q;if((Q|0)<=0){Z=Q;break b}k=c[S+(Q<<2)+43020>>2]|0;l=Q}}else Z=U;else{l=U+1|0;c[T>>2]=l;Z=l}while(0);if(!(Z>>>0>63)){if((((c[S+(Z<<4)+41996>>2]|0)>63?(c[S+(Z<<4)+42e3>>2]|0)>63:0)?(c[S+(Z<<4)+42004>>2]|0)>63:0)?(c[S+(Z<<4)+42008>>2]|0)>63:0){c[V>>2]=0;c[a+8208>>2]=0;c[a+8236>>2]=0;U=g;c[U>>2]=0;c[U+4>>2]=0;_=1;break}U=c[S+(Z<<4)+(c[a+8240>>2]<<2)+41996>>2]|0;if((U|0)>63)$=0;else{if((U|0)<0)ba=0;else ba=(U|0)<63?U:63;$=S+(ba*656|0)+12|0}c[f>>2]=$;c[R>>2]=0;c[a+8232>>2]=0;b[a+11544>>1]=183;c[W>>2]=Zj(S,S+(c[T>>2]<<4)+41996|0)|0;N=92;break}}else c[T>>2]=-1;c[V>>2]=0;c[a+8208>>2]=0;c[a+8236>>2]=0;U=g;c[U>>2]=0;c[U+4>>2]=0;_=1}else N=92;while(0);if((N|0)==92)if((Y|0)==0){i=e;return}else _=1;do{Y=d+(183-_<<1)|0;b[Y>>1]=(aa(b[Y>>1]|0,_)|0)/64|0;_=_+1|0}while((_|0)!=64);i=e;return}function Zj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;e=0;do{f=c[b+(e<<2)>>2]|0;if(f>>>0<64?(c[a+(f*656|0)+24>>2]|0)<=(c[a+(f*656|0)+20>>2]|0):0){g=5;break}e=e+1|0}while((e|0)<4);if((g|0)==5){g=c[a+(f*656|0)+16>>2]|0;h=(g|0)<1?32:g<<5;i=d;return h|0}g=c[b>>2]|0;if(g>>>0<64){f=c[a+(g*656|0)+16>>2]|0;g=(f|0)<1?32:f<<5;j=(g|0)<0?0:g}else j=0;g=c[b+4>>2]|0;if(g>>>0<64){f=c[a+(g*656|0)+16>>2]|0;g=(f|0)<1?32:f<<5;k=(j|0)>(g|0)?j:g}else k=j;j=c[b+8>>2]|0;if(j>>>0<64){g=c[a+(j*656|0)+16>>2]|0;j=(g|0)<1?32:g<<5;l=(k|0)>(j|0)?k:j}else l=k;k=c[b+12>>2]|0;if(!(k>>>0<64)){h=l;i=d;return h|0}b=c[a+(k*656|0)+16>>2]|0;k=(b|0)<1?32:b<<5;h=(l|0)>(k|0)?l:k;i=d;return h|0}function _j(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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=i;if((d|0)<=0){i=e;return}f=a+11544|0;g=a+11546|0;h=a+8244|0;j=a+8608|0;k=a+8240|0;l=a+11540|0;m=d;d=b[f>>1]|0;n=a;while(1){if(d<<16>>16<183){o=d<<16>>16;p=183-o|0;q=(p|0)<(m|0)?p:m;if((q|0)>0){p=~m;r=o+ -184|0;o=(r|0)<(p|0)?p:r;r=~o;p=d;s=n;t=0;while(1){u=((b[a+((p<<16>>16)+t<<1)+8244>>1]|0)+(b[g>>1]|0)|0)>>>1&65535;b[g>>1]=u;b[s>>1]=u;u=t+1|0;if((u|0)==(r|0))break;p=b[f>>1]|0;s=s+2|0;t=u}v=b[f>>1]|0;w=n+(~o<<1)|0}else{v=d;w=n}b[f>>1]=(v&65535)+q;x=m-q|0;y=w}else{x=m;y=n}t=(x|0)>0;if(!t){z=25;break}s=b[j>>1]|0;if((1<<c[k>>2]&c[271811]|0)==0)Yj(a,h);else{hp(a+(((c[l>>2]|0)%8|0)*366|0)+8610|0,h|0,366)|0;c[l>>2]=((c[l>>2]|0)+1|0)%8|0;Yj(a,h);p=0;do{r=a+(p<<1)+8244|0;b[r>>1]=((b[a+((((c[l>>2]|0)+4|0)%8|0)*366|0)+(p<<1)+8610>>1]<<1)+((b[r>>1]|0)*3|0)|0)/4|0;p=p+1|0}while((p|0)!=183)}p=c[k>>2]|0;if((1<<p&c[271812]|0)==0)A=p;else{p=0;do{q=a+(p<<1)+8244|0;o=b[q>>1]|0;r=o<<16>>16;if(o<<16>>16>-1)B=r&-4096;else B=0-(0-r&61440)|0;b[q>>1]=B;p=p+1|0}while((p|0)!=183);A=c[k>>2]|0}if((1<<A&c[271813]|0)!=0){p=((b[h>>1]|0)+((s<<16>>16)*3|0)|0)/4|0;b[h>>1]=p;q=p;p=1;do{r=a+(p<<1)+8244|0;q=(((q<<16>>16)*7|0)+(b[r>>1]|0)|0)/8|0;b[r>>1]=q;p=p+1|0}while((p|0)!=183)}b[f>>1]=0;if(t){m=x;d=0;n=y}else{z=25;break}}if((z|0)==25){i=e;return}}function $j(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,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=i;Bm(a,0,8192);do if((c[238676]|0)!=0){if((1<<c[a+8240>>2]&c[271810]|0)==0){_j(a,d);break}_j(a,((d|0)/2|0)+1|0);if((d|0)>0){f=d;do{f=f+ -1|0;b[a+(f<<1)>>1]=b[a+(((f|0)/2|0)<<1)>>1]|0}while((f|0)>0)}}while(0);f=a+8208|0;g=c[f>>2]|0;if((g|0)==0){if((c[a+8224>>2]|0)!=0){i=e;return}if((c[a+11564>>2]|0)==0){i=e;return}}if(!((g|0)!=0&(d|0)>0)){i=e;return}h=a+8216|0;j=~d;k=g;g=c[h>>2]|0;l=0;while(1){m=d-l|0;n=c[k>>2]|0;o=n-g|0;if((((m|0)<(o|0)?m:o)|0)<1)break;o=g+ -1-n|0;m=l+j|0;p=(o|0)>(m|0)?o:m;m=~p;o=k;q=g;r=1;s=l;while(1){b[a+(s<<1)>>1]=b[(c[o+20>>2]|0)+(q<<1)>>1]|0;t=(c[h>>2]|0)+1|0;c[h>>2]=t;if((r|0)==(m|0))break;o=c[f>>2]|0;q=t;r=r+1|0;s=s+1|0}l=l+ -1-p|0;k=c[f>>2]|0;if((c[k+28>>2]|0)!=0?(t|0)>=(c[k>>2]|0):0){c[h>>2]=0;u=0}else u=t;if(!((k|0)!=0&(l|0)<(d|0))){v=21;break}else g=u}if((v|0)==21){i=e;return}if((g|0)<(n|0)){i=e;return}c[a+11564>>2]=0;c[f>>2]=0;c[a+8236>>2]=0;f=a+8220|0;c[f>>2]=0;c[f+4>>2]=0;i=e;return}function ak(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,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=i;f=c[237566]|0;c[237566]=f+1;if((f|0)>1){ip(d|0,0,e|0)|0;i=a;return}if((c[237567]|c[237565]|0)!=0){ip(d|0,0,e|0)|0;i=a;return}c[237470]=1;f=(e|0)/2|0;g=(c[237468]|0)==-1;h=on()|0;if(!g){g=(h-(c[237468]|0)|0)>500;c[237468]=on()|0;if(g){if((e|0)<=1){i=a;return}ip(d|0,0,((e|0)>3?f<<1:2)|0)|0;i=a;return}}else c[237468]=h;$j(856944,f);$j(868532,f);$j(880120,f);$j(891708,f);$j(903296,f);$j(914884,f);$j(926472,f);$j(938060,f);if((c[238676]|0)!=0){h=f<<1;if((c[216292]|0)!=0)ip(903296,0,h|0)|0;if((c[219189]|0)!=0)ip(914884,0,h|0)|0;if((c[222086]|0)!=0)ip(926472,0,h|0)|0;if((c[224983]|0)!=0)ip(938060,0,h|0)|0}h=(e|0)>1;if(h){e=0;do{g=856944+(e<<1)|0;j=(b[868532+(e<<1)>>1]|0)+(b[g>>1]|0)|0;if((j|0)<=24575)if((j|0)<-24575)k=((j+24576|0)/5|0)+ -24576|0;else k=j;else k=((j+ -24576|0)/5|0)+24576|0;b[g>>1]=k;e=e+1|0}while((e|0)!=(f|0));l=0;do{e=880120+(l<<1)|0;k=(b[891708+(l<<1)>>1]|0)+(b[e>>1]|0)|0;if((k|0)<=24575)if((k|0)<-24575)m=((k+24576|0)/5|0)+ -24576|0;else m=k;else m=((k+ -24576|0)/5|0)+24576|0;b[e>>1]=m;l=l+1|0}while((l|0)!=(f|0));n=0;do{l=856944+(n<<1)|0;m=(b[880120+(n<<1)>>1]|0)+(b[l>>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[l>>1]=o;n=n+1|0}while((n|0)!=(f|0));p=0;do{n=903296+(p<<1)|0;o=(b[914884+(p<<1)>>1]|0)+(b[n>>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[n>>1]=q;p=p+1|0}while((p|0)!=(f|0));r=0;do{p=926472+(r<<1)|0;q=(b[938060+(r<<1)>>1]|0)+(b[p>>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[p>>1]=s;r=r+1|0}while((r|0)!=(f|0));t=0;do{r=903296+(t<<1)|0;s=(b[926472+(t<<1)>>1]|0)+(b[r>>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[r>>1]=u;t=t+1|0}while((t|0)!=(f|0));v=0;do{t=856944+(v<<1)|0;u=(b[903296+(v<<1)>>1]|0)+(b[t>>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[t>>1]=w;v=v+1|0}while((v|0)!=(f|0))}v=c[238662]|0;if(!((v|0)==256|h^1)){w=0;do{t=856944+(w<<1)|0;b[t>>1]=(aa(b[t>>1]|0,v)|0)>>>8;w=w+1|0}while((w|0)<(f|0))}Wj(856944,f);w=c[237422]|0;if((w|0)!=0)kc[w&15](856944,f);if(h){h=0;do{b[d+(h<<1)>>1]=b[856944+(h<<1)>>1]|0;h=h+1|0}while((h|0)<(f|0))}c[237470]=0;i=a;return}function bk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;e=ym(40)|0;if((e|0)==0){f=0;i=d;return f|0}c[e>>2]=a;c[e+8>>2]=c[80772];c[e+4>>2]=b;c[e+12>>2]=0;c[e+28>>2]=0;c[e+32>>2]=256;g=ym(aa((b|0)/8|0,a)|0)|0;c[e+16>>2]=g;c[e+20>>2]=g;c[e+36>>2]=-1;c[237478]=(c[237478]|0)+1;f=e;i=d;return f|0}function ck(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;if((a|0)==0){i=b;return}hn();if((c[80770]|0)!=0){hn();d=a+36|0;e=c[d>>2]|0;if(e>>>0<8?(f=865152+(e*11588|0)|0,(c[f>>2]|0)==(a|0)):0){c[868508+(e*11588|0)>>2]=0;c[f>>2]=0;c[865180+(e*11588|0)>>2]=0;f=865164+(e*11588|0)|0;c[f>>2]=0;c[f+4>>2]=0;c[d>>2]=-1}jn()}Am(c[a+16>>2]|0);Am(a);c[237478]=(c[237478]|0)+ -1;jn();i=b;return}function dk(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;if(!((a|0)!=0&(c[80770]|0)!=0)){i=b;return}hn();d=a+36|0;e=c[d>>2]|0;if(e>>>0<8?(f=865152+(e*11588|0)|0,(c[f>>2]|0)==(a|0)):0){c[868508+(e*11588|0)>>2]=0;c[f>>2]=0;c[865180+(e*11588|0)>>2]=0;f=865164+(e*11588|0)|0;c[f>>2]=0;c[f+4>>2]=0;c[d>>2]=-1}jn();i=b;return}function ek(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;h=i;if((a|0)==0){if(!((g|0)==-1)){c[868508+(g*11588|0)>>2]=0;c[865152+(g*11588|0)>>2]=0;c[865180+(g*11588|0)>>2]=0;j=865164+(g*11588|0)|0;c[j>>2]=0;c[j+4>>2]=0;k=-1;i=h;return k|0}j=(c[238676]|0)!=0?4:8;l=0;do{c[868508+(l*11588|0)>>2]=0;c[865152+(l*11588|0)>>2]=0;c[865180+(l*11588|0)>>2]=0;m=865164+(l*11588|0)|0;c[m>>2]=0;c[m+4>>2]=0;l=l+1|0}while((l|0)<(j|0));k=-1;i=h;return k|0}if((f|0)==0){if((c[216292]|0)==(a|0)){c[217127]=0;c[216288]=0;c[216295]=0;j=865164|0;c[j>>2]=0;c[j+4>>2]=0}if((c[219189]|0)==(a|0)){c[220024]=0;c[219185]=0;c[219192]=0;j=876752|0;c[j>>2]=0;c[j+4>>2]=0}if((c[222086]|0)==(a|0)){c[222921]=0;c[222082]=0;c[222089]=0;j=888340|0;c[j>>2]=0;c[j+4>>2]=0}if((c[224983]|0)==(a|0)){c[225818]=0;c[224979]=0;c[224986]=0;j=899928|0;c[j>>2]=0;c[j+4>>2]=0}if((c[227880]|0)==(a|0)){c[228715]=0;c[227876]=0;c[227883]=0;j=911516|0;c[j>>2]=0;c[j+4>>2]=0}if((c[230777]|0)==(a|0)){c[231612]=0;c[230773]=0;c[230780]=0;j=923104|0;c[j>>2]=0;c[j+4>>2]=0}if((c[233674]|0)==(a|0)){c[234509]=0;c[233670]=0;c[233677]=0;j=934692|0;c[j>>2]=0;c[j+4>>2]=0}if((c[236571]|0)==(a|0)){c[237406]=0;c[236567]=0;c[236574]=0;j=946280|0;c[j>>2]=0;c[j+4>>2]=0}}j=(g|0)==-1;do if((c[238676]|0)==0)if(j){l=0;while(1){if(((c[865152+(l*11588|0)>>2]|0)==0?(c[865168+(l*11588|0)>>2]|0)==0:0)?(c[868508+(l*11588|0)>>2]|0)==0:0){n=45;break}m=l+1|0;if((m|0)<8)l=m;else{o=-1;p=256;q=0;break}}if((n|0)==45)if((l|0)==-1){o=-1;p=256;q=0}else{r=l;n=50;break}while(1){m=c[865168+(q*11588|0)>>2]|0;if((m|0)!=0?(c[868508+(q*11588|0)>>2]|0)==0:0){s=c[m+4>>2]|0;m=(o|0)==-1|(s|0)<(p|0);t=m?q:o;u=m?s:p}else{t=o;u=p}q=q+1|0;if((q|0)>=8){r=t;n=50;break}else{o=t;p=u}}}else{r=g;n=50}else if(j){l=0;while(1){if((((((c[865152+(l*11588|0)>>2]|0)==0?(c[865168+(l*11588|0)>>2]|0)==0:0)?(c[868508+(l*11588|0)>>2]|0)==0:0)?(s=l+4|0,(c[865152+(s*11588|0)>>2]|0)==0):0)?(c[865168+(s*11588|0)>>2]|0)==0:0)?(c[868508+(s*11588|0)>>2]|0)==0:0){n=19;break}s=l+1|0;if((s|0)<4)l=s;else break}if((n|0)==19?!((l|0)==-1):0){r=l;n=50;break}s=c[271809]|0;m=0;while(1){if((((((c[865152+(m*11588|0)>>2]|0)==0?(c[865168+(m*11588|0)>>2]|0)==0:0)?(c[868508+(m*11588|0)>>2]|0)==0:0)?(v=m+4|0,(c[865152+(v*11588|0)>>2]|0)==0):0)?(c[865168+(v*11588|0)>>2]|0)==0:0)?(s&1<<m|0)==0:0){n=28;break}v=m+1|0;if((v|0)<4)m=v;else{w=0;break}}if((n|0)==28)if((m|0)==-1)w=0;else{r=m;n=50;break}while(1){if((((c[865152+(w*11588|0)>>2]|0)==0?(c[865168+(w*11588|0)>>2]|0)==0:0)?(c[868508+(w*11588|0)>>2]|0)==0:0)?(s&1<<w|0)==0:0){n=34;break}l=w+1|0;if((l|0)<4)w=l;else break}if((n|0)==34?!((w|0)==-1):0){r=w;n=50;break}if((s&1|0)!=0?!((c[227876]|0)==0&(c[227880]|0)==0&(c[228715]|0)==0):0){x=-1;y=256}else{m=c[216292]|0;if((m|0)==0){x=-1;y=256}else{x=0;y=c[m+4>>2]|0}}if((s&2|0)!=0?!((c[230773]|0)==0&(c[230777]|0)==0&(c[231612]|0)==0):0){z=x;A=y}else{m=c[219189]|0;if((m|0)==0){z=x;A=y}else{l=c[m+4>>2]|0;m=(x|0)!=-1&(l|0)>(y|0);z=m?x:1;A=m?y:l}}if((s&4|0)!=0?!((c[233670]|0)==0&(c[233674]|0)==0&(c[234509]|0)==0):0){B=z;C=A}else{l=c[222086]|0;if((l|0)==0){B=z;C=A}else{m=c[l+4>>2]|0;l=(z|0)!=-1&(m|0)>(A|0);B=l?z:2;C=l?A:m}}if((s&8|0)!=0?!((c[236567]|0)==0&(c[236571]|0)==0&(c[237406]|0)==0):0){r=B;n=50;break}m=c[224983]|0;if((m|0)!=0)if(!((B|0)==-1)?(c[m+4>>2]|0)>(C|0):0){r=B;n=50}else D=3;else{r=B;n=50}}else{r=g;n=50}while(0);if((n|0)==50)if(r>>>0>7){k=-1;i=h;return k|0}else D=r;r=865168+(D*11588|0)|0;if((c[r>>2]|0)==0)c[868524+(D*11588|0)>>2]=0;n=c[a+4>>2]|0;g=(n|0)<1?1:n;c[r>>2]=a;c[865184+(D*11588|0)>>2]=(D|0)%4|0;c[865172+(D*11588|0)>>2]=aa(g,d)|0;c[865176+(D*11588|0)>>2]=0;b[868488+(D*11588|0)>>1]=183;b[868490+(D*11588|0)>>1]=0;c[868528+(D*11588|0)>>2]=aa(g,e)|0;c[865164+(D*11588|0)>>2]=f;c[868508+(D*11588|0)>>2]=0;c[865180+(D*11588|0)>>2]=1;k=D;i=h;return k|0}function fk(a){a=a|0;var b=0,d=0,e=0;b=i;if((a|0)==0){d=0;do{e=868508+(d*11588|0)|0;if((c[e>>2]|0)==0){c[e>>2]=0;c[865152+(d*11588|0)>>2]=0;c[865180+(d*11588|0)>>2]=0;e=865164+(d*11588|0)|0;c[e>>2]=0;c[e+4>>2]=0}d=d+1|0}while((d|0)!=8);i=b;return}else{d=0;do{if((c[865168+(d*11588|0)>>2]|0)==(a|0)){c[868508+(d*11588|0)>>2]=0;c[865152+(d*11588|0)>>2]=0;c[865180+(d*11588|0)>>2]=0;e=865164+(d*11588|0)|0;c[e>>2]=0;c[e+4>>2]=0}d=d+1|0}while((d|0)!=8);i=b;return}}function gk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;if((a|0)==0){if((c[217127]|0)==0){c[217127]=0;c[216288]=0;c[216295]=0;d=865164|0;c[d>>2]=0;c[d+4>>2]=0}if((c[220024]|0)==0){c[220024]=0;c[219185]=0;c[219192]=0;d=876752|0;c[d>>2]=0;c[d+4>>2]=0}if((c[222921]|0)==0){c[222921]=0;c[222082]=0;c[222089]=0;d=888340|0;c[d>>2]=0;c[d+4>>2]=0}if((c[225818]|0)==0){c[225818]=0;c[224979]=0;c[224986]=0;d=899928|0;c[d>>2]=0;c[d+4>>2]=0}if((c[228715]|0)==0){c[228715]=0;c[227876]=0;c[227883]=0;d=911516|0;c[d>>2]=0;c[d+4>>2]=0}if((c[231612]|0)==0){c[231612]=0;c[230773]=0;c[230780]=0;d=923104|0;c[d>>2]=0;c[d+4>>2]=0}if((c[234509]|0)==0){c[234509]=0;c[233670]=0;c[233677]=0;d=934692|0;c[d>>2]=0;c[d+4>>2]=0}if((c[237406]|0)!=0){e=a+12|0;f=c[e>>2]|0;g=a+8|0;h=c[g>>2]|0;j=(f|0)>(h|0);k=j?f:32;ek(a,0,k,0,-1)|0;i=b;return}c[237406]=0;c[236567]=0;c[236574]=0;d=946280|0;c[d>>2]=0;c[d+4>>2]=0;e=a+12|0;f=c[e>>2]|0;g=a+8|0;h=c[g>>2]|0;j=(f|0)>(h|0);k=j?f:32;ek(a,0,k,0,-1)|0;i=b;return}else{if((c[216292]|0)==(a|0)){c[217127]=0;c[216288]=0;c[216295]=0;d=865164|0;c[d>>2]=0;c[d+4>>2]=0}if((c[219189]|0)==(a|0)){c[220024]=0;c[219185]=0;c[219192]=0;d=876752|0;c[d>>2]=0;c[d+4>>2]=0}if((c[222086]|0)==(a|0)){c[222921]=0;c[222082]=0;c[222089]=0;d=888340|0;c[d>>2]=0;c[d+4>>2]=0}if((c[224983]|0)==(a|0)){c[225818]=0;c[224979]=0;c[224986]=0;d=899928|0;c[d>>2]=0;c[d+4>>2]=0}if((c[227880]|0)==(a|0)){c[228715]=0;c[227876]=0;c[227883]=0;d=911516|0;c[d>>2]=0;c[d+4>>2]=0}if((c[230777]|0)==(a|0)){c[231612]=0;c[230773]=0;c[230780]=0;d=923104|0;c[d>>2]=0;c[d+4>>2]=0}if((c[233674]|0)==(a|0)){c[234509]=0;c[233670]=0;c[233677]=0;d=934692|0;c[d>>2]=0;c[d+4>>2]=0}if((c[236571]|0)!=(a|0)){e=a+12|0;f=c[e>>2]|0;g=a+8|0;h=c[g>>2]|0;j=(f|0)>(h|0);k=j?f:32;ek(a,0,k,0,-1)|0;i=b;return}c[237406]=0;c[236567]=0;c[236574]=0;d=946280|0;c[d>>2]=0;c[d+4>>2]=0;e=a+12|0;f=c[e>>2]|0;g=a+8|0;h=c[g>>2]|0;j=(f|0)>(h|0);k=j?f:32;ek(a,0,k,0,-1)|0;i=b;return}}function hk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;d=0;while(1){e=d+1|0;if((c[865168+(d*11588|0)>>2]|0)==(a|0))break;if((e|0)<8)d=e;else{f=-1;g=5;break}}if((g|0)==5){i=b;return f|0}g=c[a+4>>2]|0;f=(c[865172+(d*11588|0)>>2]|0)/(((g|0)<1?1:g)|0)|0;i=b;return f|0}function ik(a){a=a|0;var b=0;if(a>>>0>7)b=0;else b=c[865168+(a*11588|0)>>2]|0;return b|0}function jk(a){a=a|0;var b=0;b=i;if(a>>>0>7){i=b;return}c[865180+(a*11588|0)>>2]=0;i=b;return}function kk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;if((a|0)==0){d=0;do{e=868508+(d*11588|0)|0;if((c[e>>2]|0)!=0){c[e>>2]=0;c[865152+(d*11588|0)>>2]=0;c[865180+(d*11588|0)>>2]=0;e=865164+(d*11588|0)|0;c[e>>2]=0;c[e+4>>2]=0}d=d+1|0}while((d|0)!=8);i=b;return}else f=0;do{d=868508+(f*11588|0)|0;if((c[d>>2]|0)!=0?(e=865164+(f*11588|0)|0,g=c[e>>2]|0,(g|0)!=0&(g|0)==(a|0)):0){c[d>>2]=0;c[865152+(f*11588|0)>>2]=0;c[865180+(f*11588|0)>>2]=0;d=e;c[d>>2]=0;c[d+4>>2]=0}f=f+1|0}while((f|0)!=8);i=b;return}function lk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;f=(a|0)==0;if(f){if((c[217127]|0)!=0){c[217127]=0;c[216288]=0;c[216295]=0;g=865164|0;c[g>>2]=0;c[g+4>>2]=0}if((c[220024]|0)!=0){c[220024]=0;c[219185]=0;c[219192]=0;g=876752|0;c[g>>2]=0;c[g+4>>2]=0}if((c[222921]|0)!=0){c[222921]=0;c[222082]=0;c[222089]=0;g=888340|0;c[g>>2]=0;c[g+4>>2]=0}if((c[225818]|0)!=0){c[225818]=0;c[224979]=0;c[224986]=0;g=899928|0;c[g>>2]=0;c[g+4>>2]=0}if((c[228715]|0)!=0){c[228715]=0;c[227876]=0;c[227883]=0;g=911516|0;c[g>>2]=0;c[g+4>>2]=0}if((c[231612]|0)!=0){c[231612]=0;c[230773]=0;c[230780]=0;g=923104|0;c[g>>2]=0;c[g+4>>2]=0}if((c[234509]|0)!=0){c[234509]=0;c[233670]=0;c[233677]=0;g=934692|0;c[g>>2]=0;c[g+4>>2]=0}if((c[237406]|0)!=0){c[237406]=0;c[236567]=0;c[236574]=0;g=946280|0;c[g>>2]=0;c[g+4>>2]=0}}else{g=0;do{h=868508+(g*11588|0)|0;if((c[h>>2]|0)!=0?(j=865164+(g*11588|0)|0,k=c[j>>2]|0,(k|0)!=0&(k|0)==(a|0)):0){c[h>>2]=0;c[865152+(g*11588|0)>>2]=0;c[865180+(g*11588|0)>>2]=0;h=j;c[h>>2]=0;c[h+4>>2]=0}g=g+1|0}while((g|0)!=8)}if(b>>>0>63){i=e;return}if(f){Fa(949888)|0;i=e;return}f=a+(b<<4)+41996|0;if((Zj(a,f)|0)==0){i=e;return}else l=0;do{g=a+(b<<4)+(l<<2)+41996|0;h=c[g>>2]|0;if((h|0)<0)m=0;else m=(h|0)<63?h:63;h=ek(a+(m*656|0)+12|0,0,32,a,l+4|0)|0;if(!((h|0)==-1)){if((c[g>>2]|0)>63)c[865168+(h*11588|0)>>2]=0;c[868508+(h*11588|0)>>2]=1;c[865164+(h*11588|0)>>2]=a;c[868512+(h*11588|0)>>2]=b;c[865184+(h*11588|0)>>2]=l;c[868528+(h*11588|0)>>2]=Zj(a,f)|0}l=l+1|0}while((l|0)!=4);c[80776]=d;c[80774]=on()|0;c[80778]=0;c[80780]=65536;sk();i=e;return}function mk(a){a=a|0;return c[a+16>>2]|0}function nk(a){a=a|0;return}function ok(a,b){a=a|0;b=b|0;if((a|0)!=0)c[a+8>>2]=b;return}function pk(a){a=a|0;if((c[80770]|0)!=0)c[238662]=a;return}function qk(a,b){a=a|0;b=b|0;a=i;c[80778]=c[80782];c[80780]=0;c[80774]=on()|0;c[80776]=b;sk();i=a;return}function rk(a){a=a|0;c[238663]=a;return}function sk(){var a=0,b=0,d=0,e=0,f=0;a=i;b=c[80782]|0;d=c[80780]|0;if((b|0)==(d|0)){if((b|0)!=0){i=a;return}uk();i=a;return}if((c[80776]|0)==0){c[80782]=d;if((d|0)!=0){i=a;return}uk();i=a;return}d=on()|0;b=d-(c[80774]|0)|0;d=c[80776]|0;if((b|0)<(d|0)){e=aa(c[80778]|0,d-b|0)|0;f=((aa(c[80780]|0,b)|0)+e|0)/(d|0)|0;d=(f|0)<65536?f:65536;c[80782]=(d|0)<0?0:d;i=a;return}d=c[80780]|0;c[80782]=d;if((d|0)!=0){i=a;return}uk();i=a;return}function tk(){var a=0;c[217127]=0;c[216288]=0;c[216295]=0;a=865164|0;c[a>>2]=0;c[a+4>>2]=0;c[220024]=0;c[219185]=0;c[219192]=0;a=876752|0;c[a>>2]=0;c[a+4>>2]=0;c[222921]=0;c[222082]=0;c[222089]=0;a=888340|0;c[a>>2]=0;c[a+4>>2]=0;c[225818]=0;c[224979]=0;c[224986]=0;a=899928|0;c[a>>2]=0;c[a+4>>2]=0;c[228715]=0;c[227876]=0;c[227883]=0;a=911516|0;c[a>>2]=0;c[a+4>>2]=0;c[231612]=0;c[230773]=0;c[230780]=0;a=923104|0;c[a>>2]=0;c[a+4>>2]=0;c[234509]=0;c[233670]=0;c[233677]=0;a=934692|0;c[a>>2]=0;c[a+4>>2]=0;c[237406]=0;c[236567]=0;c[236574]=0;a=946280|0;c[a>>2]=0;c[a+4>>2]=0;return}function uk(){var a=0,b=0;a=i;c[214235]=0;if((c[217127]|0)!=0){c[217127]=0;c[216288]=0;c[216295]=0;b=865164|0;c[b>>2]=0;c[b+4>>2]=0}if((c[220024]|0)!=0){c[220024]=0;c[219185]=0;c[219192]=0;b=876752|0;c[b>>2]=0;c[b+4>>2]=0}if((c[222921]|0)!=0){c[222921]=0;c[222082]=0;c[222089]=0;b=888340|0;c[b>>2]=0;c[b+4>>2]=0}if((c[225818]|0)!=0){c[225818]=0;c[224979]=0;c[224986]=0;b=899928|0;c[b>>2]=0;c[b+4>>2]=0}if((c[228715]|0)!=0){c[228715]=0;c[227876]=0;c[227883]=0;b=911516|0;c[b>>2]=0;c[b+4>>2]=0}if((c[231612]|0)!=0){c[231612]=0;c[230773]=0;c[230780]=0;b=923104|0;c[b>>2]=0;c[b+4>>2]=0}if((c[234509]|0)!=0){c[234509]=0;c[233670]=0;c[233677]=0;b=934692|0;c[b>>2]=0;c[b+4>>2]=0}if((c[237406]|0)==0){i=a;return}c[237406]=0;c[236567]=0;c[236574]=0;b=946280|0;c[b>>2]=0;c[b+4>>2]=0;i=a;return}function vk(a,b,e,f,g,h,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;l=i;i=i+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]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=j;c[r>>2]=k;if((a|0)==0|(b|0)==0){i=l;return}k=b+8|0;j=a+8|0;if((c[288546]|0)==(a|0)?1:(c[k>>2]|0)<(c[j>>2]|0)){i=l;return}sl(a,b,m,n,o,p,q,r);h=c[q>>2]|0;if((h|0)<1){i=l;return}g=c[k>>2]|0;k=g>>3;if((c[288546]|0)==(b|0)){nn(a,b,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,h,c[r>>2]|0,0);i=l;return}f=c[j>>2]|0;if((g|0)==(f|0)){if((c[r>>2]|0)<=0){i=l;return}j=b+16|0;e=a+16|0;s=h;t=0;while(1){u=aa(c[o>>2]|0,k)|0;v=aa(c[m>>2]|0,k)|0;hp((c[(c[j>>2]|0)+((c[p>>2]|0)+t<<2)>>2]|0)+u|0,(c[(c[e>>2]|0)+((c[n>>2]|0)+t<<2)>>2]|0)+v|0,aa(s,k)|0)|0;v=t+1|0;if((v|0)>=(c[r>>2]|0))break;s=c[q>>2]|0;t=v}i=l;return}if(!((g|0)==32&(f|0)==8)){i=l;return}f=c[288550]|0;g=c[r>>2]|0;if((g|0)<=0){i=l;return}t=a+16|0;a=b+16|0;b=h;h=g;g=0;while(1){if((b|0)>0){s=c[t>>2]|0;k=c[a>>2]|0;e=0;do{j=d[(c[s+((c[n>>2]|0)+g<<2)>>2]|0)+((c[m>>2]|0)+e)>>0]|0;c[(c[k+((c[p>>2]|0)+g<<2)>>2]|0)+((c[o>>2]|0)+e<<2)>>2]=(d[f+(j*3|0)>>0]|0)<<16|(d[f+(j*3|0)+1>>0]|0)<<8|(d[f+(j*3|0)+2>>0]|0)|-16777216;e=e+1|0;w=c[q>>2]|0}while((e|0)<(w|0));x=c[r>>2]|0;y=w}else{x=h;y=b}g=g+1|0;if((g|0)>=(x|0))break;else{b=y;h=x}}i=l;return}function wk(a){a=a|0;var b=0;b=i;lp(949960,a|0)|0;i=b;return}function xk(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,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;b=i;i=i+16|0;d=b;e=b+4|0;if((c[237572]|0)!=0){i=b;return 0}c[237478]=0;c[d>>2]=950296;Za(954936,d|0)|0;f=c[o>>2]|0;Kb(f|0)|0;c[d>>2]=954424;Qo(950312,954408,d)|0;c[d>>2]=950312;Za(954936,d|0)|0;Kb(f|0)|0;Yk();g=c[238610]|0;h=c[238612]|0;if((g|0)>0&(h|0)!=0?(g|0)>1:0){j=1;k=0;while(1){l=c[h+(j<<2)>>2]|0;a:do if((a[l>>0]|0)==45){m=l+1|0;n=cp(m|0)|0;p=(_o(m,959576,n)|0)==0;q=(_o(m,959592,n)|0)==0;r=(_o(m,959608,n)|0)==0;s=(_o(m,959624,n)|0)==0;t=(_o(m,959640,n)|0)==0;u=(_o(m,959656,n)|0)==0;v=(_o(m,959672,n)|0)==0;w=(_o(m,959688,n)|0)==0;x=(_o(m,959712,n)|0)==0;y=(_o(m,959728,n)|0)==0;z=(_o(m,959744,n)|0)==0;A=(_o(m,959760,n)|0)==0;B=(_o(m,959768,n)|0)==0;C=(_o(m,959776,n)|0)==0;D=(_o(m,959792,n)|0)==0;E=w?15:D?14:C?12:B?11:A?10:z?11:y?10:x?9:w?8:v?7:u?6:t?5:s?4:r?3:q?2:p?1:k}else{c[e>>2]=0;c[d>>2]=e;ko(l,959808,d)|0;do switch(k|0){case 15:{c[238679]=c[e>>2];E=0;break a;break};case 8:{c[238679]=c[e>>2];E=0;break a;break};case 3:{c[238672]=c[e>>2];E=0;break a;break};case 2:{c[238658]=c[e>>2];E=0;break a;break};case 10:{c[238662]=c[e>>2];E=0;break a;break};case 5:{c[238667]=c[e>>2];E=0;break a;break};case 9:{c[238664]=c[e>>2];E=0;break a;break};case 7:{c[238666]=c[e>>2];E=0;break a;break};case 6:{c[238668]=c[e>>2];E=0;break a;break};case 4:{c[238660]=c[e>>2];E=0;break a;break};case 11:{c[238663]=c[e>>2];E=0;break a;break};case 1:{c[238657]=c[e>>2];E=0;break a;break};case 14:{c[238680]=c[e>>2];E=0;break a;break};case 12:{c[238669]=c[e>>2];E=0;break a;break};default:{E=0;break a}}while(0)}while(0);j=j+1|0;if((j|0)==(g|0))break;else k=E}}if((c[237488]|0)==0){c[d>>2]=954456;Za(954936,d|0)|0;Kb(f|0)|0;bn()|0;c[d>>2]=954480;Za(954936,d|0)|0;Kb(f|0)|0;c[238864]=on()|0;c[d>>2]=954504;Za(954936,d|0)|0;Kb(f|0)|0;Cl();c[d>>2]=954520;Za(954936,d|0)|0;Kb(f|0)|0;Jl();c[d>>2]=954536;Za(954936,d|0)|0;Kb(f|0)|0;In();c[d>>2]=954552;Za(954936,d|0)|0;Kb(f|0)|0;Qn()|0;c[d>>2]=954576;Za(954936,d|0)|0;Kb(f|0)|0;Qm();c[d>>2]=954600;Za(954936,d|0)|0;Kb(f|0)|0}tm(0);c[238681]=(c[238681]|0)+1;c[d>>2]=954728;Za(954936,d|0)|0;Kb(f|0)|0;c[237572]=1;i=b;return 0}function yk(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=a;Za(954936,d|0)|0;Kb(c[o>>2]|0)|0;i=b;return}function zk(){var a=0,b=0,d=0;a=i;i=i+16|0;b=a;if((c[237572]|0)==0){i=a;return 0}c[237572]=0;c[b>>2]=954736;Za(954936,b|0)|0;d=c[o>>2]|0;Kb(d|0)|0;c[b>>2]=954752;Za(954936,b|0)|0;Kb(d|0)|0;qk(0,0);c[b>>2]=954768;Za(954936,b|0)|0;Kb(d|0)|0;Sc();c[b>>2]=954784;Za(954936,b|0)|0;Kb(d|0)|0;c[b>>2]=954808;Za(954936,b|0)|0;Kb(d|0)|0;Vj()|0;c[b>>2]=954832;Za(954936,b|0)|0;Kb(d|0)|0;Rn()|0;c[b>>2]=954856;Za(954936,b|0)|0;Kb(d|0)|0;c[b>>2]=954880;Za(954936,b|0)|0;Kb(d|0)|0;if((c[237488]|0)==0){Jn();Kl();Dl()}c[b>>2]=c[237478];Qo(950312,954904,b)|0;c[b>>2]=950312;Za(954936,b|0)|0;Kb(d|0)|0;c[b>>2]=954728;Za(954936,b|0)|0;Kb(d|0)|0;if((c[237476]|0)!=0)Wk(c[237554]|0);c[237476]=0;c[237572]=0;i=a;return 0}function Ak(a){a=a|0;return}function Bk(){var a=0,b=0;a=i;if((c[237480]|0)==0){sn()|0;sn()|0;sn()|0;sn()|0;sn()|0;sn()|0;sn()|0;sn()|0;sn()|0;sn()|0}b=sn()|0;if((c[238732]|0)!=0){wn(949936,949944,0);sk();i=a;return b|0}c[238732]=1;El();c[238732]=0;wn(949936,949944,0);sk();i=a;return b|0}function Ck(){var a=0;a=i;c[238866]=0;if((c[238868]|0)==0){Rc();if((c[238866]|0)==0)c[238868]=1}else{Jc();Tn();c[238868]=0}if((c[237480]|0)==0){sn()|0;sn()|0;sn()|0;sn()|0;sn()|0;sn()|0;sn()|0;sn()|0;sn()|0;sn()|0}sn()|0;if((c[238732]|0)!=0){wn(949936,949944,0);sk();c[237566]=0;i=a;return}c[238732]=1;El();c[238732]=0;wn(949936,949944,0);sk();c[237566]=0;i=a;return}function Dk(a,b){a=a|0;b=b|0;var d=0;d=i;lp(954944,c[b>>2]|0)|0;c[238610]=a;c[238612]=b;Gc(a,b);Wb(1,0,0);i=d;return 0}function Ek(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;e=ym(352)|0;Bm(e,0,352);if((a|0)==0){f=Cm(b+1|0)|0;c[e+8>>2]=f;c[e>>2]=c[f+12>>2]}else c[e>>2]=a;c[e+12>>2]=b;c[e+344>>2]=Cm(0)|0;c[e+340>>2]=Cm(0)|0;Fk(e);i=d;return e|0}function Fk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;c[(c[a+340>>2]|0)+20>>2]=0;d=c[a+344>>2]|0;e=d+20|0;f=c[e>>2]|0;Nk(c[a+320>>2]|0,d);Nk(c[a+328>>2]|0,d);Nk(c[a+332>>2]|0,d);Nk(c[a+308>>2]|0,d);Nk(c[a+312>>2]|0,d);g=c[a>>2]|0;Ok(g,cp(g|0)|0,1,d)|0;Pk(0,d);Nk((c[e>>2]|0)-f|0,d);i=b;return}function Gk(a){a=a|0;var b=0,d=0;b=i;if((a|0)==0){i=b;return}d=c[a+8>>2]|0;if((d|0)!=0)Em(d);Em(c[a+344>>2]|0);Em(c[a+340>>2]|0);Am(a);i=b;return}function Hk(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;e=a[b>>0]|0;if(e<<24>>24==0|(c|0)==0){f=0;i=d;return f|0}else{g=c;h=e;j=b;k=0}while(1){g=g+ -1|0;b=(h<<24>>24==10&1)+k|0;j=j+1|0;h=a[j>>0]|0;if(h<<24>>24==0|(g|0)==0){f=b;break}else k=b}i=d;return f|0}function Ik(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;e=b;f=0;while(1){g=a[e>>0]|0;if(g<<24>>24==10)h=f+1|0;else if(g<<24>>24==0){j=e;break}else h=f;g=e+1|0;if((h|0)==(c|0)){j=g;break}else{e=g;f=h}}i=d;return j-b|0}function Jk(a){a=a|0;c[239956]=a;return}function Kk(a){a=a|0;c[239958]=a;return}function Lk(){c[239960]=1;return}function Mk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;g=c[e>>2]|0;if((g|0)==0){h=qa(a|0,b|0,d|0,c[e+8>>2]|0)|0;i=f;return h|0}else if((g|0)==1){g=aa(d,b)|0;b=e+20|0;d=c[b>>2]|0;j=(c[e+16>>2]|0)-d|0;k=(g|0)<(j|0)?g:j;j=(k|0)<0?0:k;hp(a|0,(c[e+12>>2]|0)+d|0,j|0)|0;c[b>>2]=j+(c[b>>2]|0);h=j;i=f;return h|0}else{h=0;i=f;return h|0}return 0}function Nk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e;c[f>>2]=b;g=c[d>>2]|0;if((g|0)==0){h=d+20|0;c[h>>2]=(c[h>>2]|0)+1;h=d+16|0;c[h>>2]=(c[h>>2]|0)+1;db(f|0,4,1,c[d+8>>2]|0)|0;i=e;return}else if((g|0)==1){g=d+20|0;f=c[g>>2]|0;if((c[d+88>>2]|0)==0){h=(c[d+12>>2]|0)+f|0;a[h>>0]=b;a[h+1>>0]=b>>8;a[h+2>>0]=b>>16;a[h+3>>0]=b>>24}else{Dm(d,f+4|0)|0;f=(c[d+12>>2]|0)+(c[g>>2]|0)|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24}b=(c[g>>2]|0)+4|0;c[g>>2]=b;g=d+16|0;d=c[g>>2]|0;c[g>>2]=(d|0)>(b|0)?d:b;i=e;return}else{i=e;return}}function Ok(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;g=c[e>>2]|0;if((g|0)==0){h=e+20|0;c[h>>2]=(c[h>>2]|0)+d;h=e+16|0;c[h>>2]=(c[h>>2]|0)+d;j=db(a|0,b|0,d|0,c[e+8>>2]|0)|0;i=f;return j|0}else if((g|0)==1){g=aa(d,b)|0;b=e+20|0;d=c[b>>2]|0;do if((c[e+88>>2]|0)!=0){Dm(e,d+g|0)|0;h=(c[e+12>>2]|0)+(c[b>>2]|0)|0;if((a|0)==0){Bm(h,0,g);break}else{hp(h|0,a|0,g|0)|0;break}}else hp((c[e+12>>2]|0)+d|0,a|0,g|0)|0;while(0);a=(c[b>>2]|0)+g|0;c[b>>2]=a;b=e+16|0;e=c[b>>2]|0;c[b>>2]=(e|0)>(a|0)?e:a;j=g;i=f;return j|0}else{j=0;i=f;return j|0}return 0}function Pk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;f=c[d>>2]|0;if((f|0)==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;Zb(b<<24>>24|0,c[d+8>>2]|0)|0;i=e;return}else if((f|0)==1){f=d+20|0;g=c[f>>2]|0;if((c[d+88>>2]|0)==0)a[(c[d+12>>2]|0)+g>>0]=b;else{Dm(d,g+1|0)|0;a[(c[d+12>>2]|0)+(c[f>>2]|0)>>0]=b}b=(c[f>>2]|0)+1|0;c[f>>2]=b;f=d+16|0;d=c[f>>2]|0;c[f>>2]=(d|0)>(b|0)?d:b;i=e;return}else{i=e;return}}function Qk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=i;i=i+16|0;d=b;e=a+8|0;f=a+16|0;g=a+20|0;h=a+12|0;j=0;while(1){if((j&-33|0)==1347240515|(j|0)==1347245635|(j|0)==1347245667|(j|0)==1279348803|(j|0)==1413565763|(j|0)==1146047811|(j|0)==1229865283|(j|0)==1145983811|(j|0)==1314476867|(j|0)==1279870531|(j|0)==1279870563)break;k=c[a>>2]|0;if((k|0)==1){l=(c[g>>2]|0)>=(c[f>>2]|0)&1;m=6}else if((k|0)==0){l=Vb(c[e>>2]|0)|0;m=6}else n=k;if((m|0)==6){m=0;if((l|0)!=0)break;n=c[a>>2]|0}c[d>>2]=0;if((n|0)==1){k=c[g>>2]|0;o=(c[f>>2]|0)-k|0;p=(o|0)>4?4:o;o=(p|0)<0?0:p;hp(d|0,(c[h>>2]|0)+k|0,o|0)|0;c[g>>2]=o+k}else if((n|0)==0)qa(d|0,4,1,c[e>>2]|0)|0;j=c[d>>2]|0}d=c[a>>2]|0;if((d|0)==0){q=Vb(c[e>>2]|0)|0;m=15}else if((d|0)==1){q=(c[g>>2]|0)>=(c[f>>2]|0)&1;m=15}else r=d;do if((m|0)==15)if((q|0)==0){r=c[a>>2]|0;break}else{i=b;return}while(0);if((r|0)==1){c[g>>2]=(c[g>>2]|0)+ -4;i=b;return}else if((r|0)==0){ub(c[e>>2]|0,-4,1)|0;i=b;return}else{i=b;return}}function Rk(a){a=a|0;var b=0,d=0,e=0;b=i;d=c[a>>2]|0;if((d|0)==0)e=Vb(c[a+8>>2]|0)|0;else if((d|0)==1)e=(c[a+20>>2]|0)>=(c[a+16>>2]|0)&1;else e=0;i=b;return e|0}function Sk(d,e){d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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,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,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;d=i;i=i+16|0;f=d+8|0;h=d+4|0;j=d;if((e|0)==0){k=0;i=d;return k|0}l=Ym(0)|0;a:do if((l|0)!=0){m=e+8|0;n=l+32|0;o=e+20|0;p=e+16|0;q=e+12|0;r=0;b:while(1){s=c[e>>2]|0;if((s|0)==0){t=Vb(c[m>>2]|0)|0;u=7}else if((s|0)==1){t=(c[o>>2]|0)>=(c[p>>2]|0)&1;u=7}else v=s;if((u|0)==7){u=0;if((t|0)!=0)break;v=c[e>>2]|0}c[f>>2]=0;if((v|0)==1){s=c[o>>2]|0;w=(c[p>>2]|0)-s|0;x=(w|0)>4?4:w;w=(x|0)<0?0:x;hp(f|0,(c[q>>2]|0)+s|0,w|0)|0;c[o>>2]=w+s}else if((v|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else break;s=c[f>>2]|0;if((s|0)==0)break;c[f>>2]=0;w=c[e>>2]|0;if((w|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((w|0)==1){w=c[o>>2]|0;x=(c[p>>2]|0)-w|0;y=(x|0)>4?4:x;x=(y|0)<0?0:y;hp(f|0,(c[q>>2]|0)+w|0,x|0)|0;c[o>>2]=x+w}w=c[f>>2]|0;x=(s|0)==1146048579;if(!((r|0)!=0|x))break a;c:do if((r|0)==0)if(x){c[f>>2]=0;y=c[e>>2]|0;if((y|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((y|0)==1){y=c[o>>2]|0;z=(c[p>>2]|0)-y|0;A=(z|0)>4?4:z;z=(A|0)<0?0:A;hp(f|0,(c[q>>2]|0)+y|0,z|0)|0;c[o>>2]=z+y}c[239962]=c[f>>2];y=c[e>>2]|0;if((y|0)==0)qa(n|0,1,32,c[m>>2]|0)|0;else if((y|0)==1){y=c[o>>2]|0;z=(c[p>>2]|0)-y|0;A=(z|0)>32?32:z;z=(A|0)<0?0:A;hp(n|0,(c[q>>2]|0)+y|0,z|0)|0;c[o>>2]=z+(c[o>>2]|0)}c[f>>2]=0;z=c[e>>2]|0;if((z|0)==0){qa(f|0,4,1,c[m>>2]|0)|0;B=c[e>>2]|0;u=32}else if((z|0)==1){y=c[o>>2]|0;A=(c[p>>2]|0)-y|0;C=(A|0)>4?4:A;A=(C|0)<0?0:C;hp(f|0,(c[q>>2]|0)+y|0,A|0)|0;c[o>>2]=A+y}else{B=z;u=32}do if((u|0)==32){u=0;if((B|0)==1)break;else if((B|0)!=0)break c;ub(c[m>>2]|0,28,1)|0;break c}while(0);c[o>>2]=(c[o>>2]|0)+28}else u=35;else if((s|0)==1146048579|(s|0)==1347374659){u=19;break b}else u=35;while(0);do if((u|0)==35){u=0;x=s&-33;if((x|0)==1347240515){z=(s|0)==1347240547;c[f>>2]=0;y=c[e>>2]|0;if((y|0)==1){A=c[o>>2]|0;C=(c[p>>2]|0)-A|0;D=(C|0)>4?4:C;C=(D|0)<0?0:D;hp(f|0,(c[q>>2]|0)+A|0,C|0)|0;c[o>>2]=C+A;A=c[f>>2]|0;c[f>>2]=0;E=A;u=41}else if((y|0)==0){qa(f|0,4,1,c[m>>2]|0)|0;F=c[e>>2]|0;u=39}else{F=y;u=39}do if((u|0)==39){u=0;y=c[f>>2]|0;c[f>>2]=0;if((F|0)==0){qa(f|0,4,1,c[m>>2]|0)|0;G=c[e>>2]|0}else if((F|0)==1){E=y;u=41;break}else G=F;A=c[f>>2]|0;c[f>>2]=0;if((G|0)==1){H=A;I=y;u=44;break}else if((G|0)!=0){J=y;K=A;break}qa(f|0,4,1,c[m>>2]|0)|0;J=y;K=A}while(0);if((u|0)==41){u=0;A=c[o>>2]|0;y=(c[p>>2]|0)-A|0;C=(y|0)>4?4:y;y=(C|0)<0?0:C;hp(f|0,(c[q>>2]|0)+A|0,y|0)|0;c[o>>2]=y+A;A=c[f>>2]|0;c[f>>2]=0;H=A;I=E;u=44}if((u|0)==44){u=0;A=c[o>>2]|0;y=(c[p>>2]|0)-A|0;C=(y|0)>4?4:y;y=(C|0)<0?0:C;hp(f|0,(c[q>>2]|0)+A|0,y|0)|0;c[o>>2]=y+A;J=I;K=H}A=c[f>>2]|0;y=pl(J,K,A)|0;c[f>>2]=0;C=c[e>>2]|0;if((C|0)==1){D=c[o>>2]|0;L=(c[p>>2]|0)-D|0;M=(L|0)>4?4:L;L=(M|0)<0?0:M;hp(f|0,(c[q>>2]|0)+D|0,L|0)|0;c[o>>2]=L+D}else if((C|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;c[y+20>>2]=c[f>>2];c[f>>2]=0;C=c[e>>2]|0;if((C|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((C|0)==1){C=c[o>>2]|0;D=(c[p>>2]|0)-C|0;L=(D|0)>4?4:D;D=(L|0)<0?0:L;hp(f|0,(c[q>>2]|0)+C|0,D|0)|0;c[o>>2]=D+C}C=c[y+12>>2]|0;D=aa(aa(K,J)|0,A>>3)|0;do if(!z){A=c[e>>2]|0;if((A|0)==1){L=c[o>>2]|0;M=(c[p>>2]|0)-L|0;N=(D|0)<(M|0)?D:M;M=(N|0)<0?0:N;hp(C|0,(c[q>>2]|0)+L|0,M|0)|0;c[o>>2]=M+(c[o>>2]|0);break}else if((A|0)==0){qa(C|0,1,D|0,c[m>>2]|0)|0;break}else break}else Tk(C,D,e)|0;while(0);an(l,4,y)|0;break}else if((x|0)!=1347245635)if((s|0)==1413565763){D=Lm()|0;C=c[e>>2]|0;if((C|0)==0)qa(D|0,96,1,c[m>>2]|0)|0;else if((C|0)==1){C=c[o>>2]|0;z=(c[p>>2]|0)-C|0;A=(z|0)>96?96:z;z=(A|0)<0?0:A;hp(D|0,(c[q>>2]|0)+C|0,z|0)|0;c[o>>2]=z+(c[o>>2]|0)}an(l,7,D)|0;break}else if((s|0)==1279348803){D=hl()|0;z=c[e>>2]|0;if((z|0)==0)qa(D|0,1,768,c[m>>2]|0)|0;else if((z|0)==1){z=c[o>>2]|0;C=(c[p>>2]|0)-z|0;A=(C|0)>768?768:C;C=(A|0)<0?0:A;hp(D|0,(c[q>>2]|0)+z|0,C|0)|0;c[o>>2]=C+(c[o>>2]|0)}an(l,5,D)|0;break}else if((s|0)==1314476867){D=Gn(0)|0;an(l,11,D)|0;Bm(D,0,11032);c[f>>2]=0;C=c[e>>2]|0;if((C|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((C|0)==1){C=c[o>>2]|0;z=(c[p>>2]|0)-C|0;A=(z|0)>4?4:z;z=(A|0)<0?0:A;hp(f|0,(c[q>>2]|0)+C|0,z|0)|0;c[o>>2]=z+C}c[D>>2]=c[f>>2];c[f>>2]=0;C=c[e>>2]|0;if((C|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((C|0)==1){C=c[o>>2]|0;z=(c[p>>2]|0)-C|0;A=(z|0)>4?4:z;z=(A|0)<0?0:A;hp(f|0,(c[q>>2]|0)+C|0,z|0)|0;c[o>>2]=z+C}c[D+4>>2]=c[f>>2];c[f>>2]=0;C=c[e>>2]|0;if((C|0)==0){qa(f|0,4,1,c[m>>2]|0)|0;O=c[e>>2]|0;u=320}else if((C|0)==1){z=c[o>>2]|0;A=(c[p>>2]|0)-z|0;M=(A|0)>4?4:A;A=(M|0)<0?0:M;hp(f|0,(c[q>>2]|0)+z|0,A|0)|0;c[o>>2]=A+z;O=1;u=320}else{P=0;Q=C}if((u|0)==320){u=0;P=c[f>>2]|0;Q=O}c[f>>2]=0;if((Q|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((Q|0)==1){C=c[o>>2]|0;z=(c[p>>2]|0)-C|0;A=(z|0)>4?4:z;z=(A|0)<0?0:A;hp(f|0,(c[q>>2]|0)+C|0,z|0)|0;c[o>>2]=z+C}if((P|0)==0)c[D>>2]=(c[D>>2]|0)/2|0;c[j>>2]=0;C=c[e>>2]|0;if((C|0)==0)qa(j|0,4,1,c[m>>2]|0)|0;else if((C|0)==1){C=c[o>>2]|0;z=(c[p>>2]|0)-C|0;A=(z|0)>4?4:z;z=(A|0)<0?0:A;hp(j|0,(c[q>>2]|0)+C|0,z|0)|0;c[o>>2]=z+C}else break;C=c[j>>2]|0;if((C|0)>0)R=0;else break;do{c[f>>2]=0;z=c[e>>2]|0;if((z|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((z|0)==1){z=c[o>>2]|0;A=(c[p>>2]|0)-z|0;M=(A|0)>4?4:A;A=(M|0)<0?0:M;hp(f|0,(c[q>>2]|0)+z|0,A|0)|0;c[o>>2]=A+z}c[D+(R*344|0)+8>>2]=c[f>>2];c[f>>2]=0;z=c[e>>2]|0;if((z|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((z|0)==1){z=c[o>>2]|0;A=(c[p>>2]|0)-z|0;M=(A|0)>4?4:A;A=(M|0)<0?0:M;hp(f|0,(c[q>>2]|0)+z|0,A|0)|0;c[o>>2]=A+z}c[D+(R*344|0)+12>>2]=c[f>>2];c[f>>2]=0;z=c[e>>2]|0;if((z|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((z|0)==1){z=c[o>>2]|0;A=(c[p>>2]|0)-z|0;M=(A|0)>4?4:A;A=(M|0)<0?0:M;hp(f|0,(c[q>>2]|0)+z|0,A|0)|0;c[o>>2]=A+z}c[D+(R*344|0)+16>>2]=c[f>>2];c[f>>2]=0;z=c[e>>2]|0;if((z|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((z|0)==1){z=c[o>>2]|0;A=(c[p>>2]|0)-z|0;M=(A|0)>4?4:A;A=(M|0)<0?0:M;hp(f|0,(c[q>>2]|0)+z|0,A|0)|0;c[o>>2]=A+z}c[D+(R*344|0)+348>>2]=c[f>>2];c[f>>2]=0;z=c[e>>2]|0;if((z|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((z|0)==1){z=c[o>>2]|0;A=(c[p>>2]|0)-z|0;M=(A|0)>4?4:A;A=(M|0)<0?0:M;hp(f|0,(c[q>>2]|0)+z|0,A|0)|0;c[o>>2]=A+z}z=c[f>>2]|0;c[D+(R*344|0)+340>>2]=z;A=D+(R*344|0)+276|0;M=c[e>>2]|0;if((M|0)==0)qa(A|0,1,z|0,c[m>>2]|0)|0;else if((M|0)==1){M=c[o>>2]|0;L=(c[p>>2]|0)-M|0;N=(z|0)<(L|0)?z:L;L=(N|0)<0?0:N;hp(A|0,(c[q>>2]|0)+M|0,L|0)|0;c[o>>2]=L+(c[o>>2]|0)}c[h>>2]=0;L=c[e>>2]|0;if((L|0)==0){qa(h|0,4,1,c[m>>2]|0)|0;u=351}else if((L|0)==1){L=c[o>>2]|0;M=(c[p>>2]|0)-L|0;A=(M|0)>4?4:M;M=(A|0)<0?0:A;hp(h|0,(c[q>>2]|0)+L|0,M|0)|0;c[o>>2]=M+L;u=351}if((u|0)==351?(u=0,L=c[h>>2]|0,(L|0)>0):0){M=0;do{c[f>>2]=0;A=c[e>>2]|0;if((A|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((A|0)==1){A=c[o>>2]|0;N=(c[p>>2]|0)-A|0;z=(N|0)>4?4:N;N=(z|0)<0?0:z;hp(f|0,(c[q>>2]|0)+A|0,N|0)|0;c[o>>2]=N+A}c[D+(R*344|0)+(M<<4)+20>>2]=c[f>>2];c[f>>2]=0;A=c[e>>2]|0;if((A|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((A|0)==1){A=c[o>>2]|0;N=(c[p>>2]|0)-A|0;z=(N|0)>4?4:N;N=(z|0)<0?0:z;hp(f|0,(c[q>>2]|0)+A|0,N|0)|0;c[o>>2]=N+A}c[D+(R*344|0)+(M<<4)+28>>2]=c[f>>2];c[f>>2]=0;A=c[e>>2]|0;if((A|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((A|0)==1){A=c[o>>2]|0;N=(c[p>>2]|0)-A|0;z=(N|0)>4?4:N;N=(z|0)<0?0:z;hp(f|0,(c[q>>2]|0)+A|0,N|0)|0;c[o>>2]=N+A}c[D+(R*344|0)+(M<<4)+32>>2]=c[f>>2];M=M+1|0}while((M|0)!=(L|0))}R=R+1|0}while((R|0)!=(C|0))}else if((s|0)==1145983811){c[f>>2]=0;C=c[e>>2]|0;if((C|0)==0){qa(f|0,4,1,c[m>>2]|0)|0;S=c[e>>2]|0;u=288}else if((C|0)==1){D=c[o>>2]|0;y=(c[p>>2]|0)-D|0;L=(y|0)>4?4:y;y=(L|0)<0?0:L;hp(f|0,(c[q>>2]|0)+D|0,y|0)|0;c[o>>2]=y+D;D=c[f>>2]|0;c[f>>2]=0;T=D;u=290}else{S=C;u=288}do if((u|0)==288){u=0;C=c[f>>2]|0;c[f>>2]=0;if((S|0)==1){T=C;u=290;break}else if((S|0)!=0){U=C;break}qa(f|0,4,1,c[m>>2]|0)|0;U=C}while(0);if((u|0)==290){u=0;C=c[o>>2]|0;D=(c[p>>2]|0)-C|0;y=(D|0)>4?4:D;D=(y|0)<0?0:y;hp(f|0,(c[q>>2]|0)+C|0,D|0)|0;c[o>>2]=D+C;U=T}C=bk(U,c[f>>2]|0)|0;if((C|0)==0){D=w+ -8|0;y=c[e>>2]|0;if((y|0)==0){ub(c[m>>2]|0,D|0,1)|0;break}else if((y|0)==1){c[o>>2]=(c[o>>2]|0)+D;break}else break}c[f>>2]=0;D=c[e>>2]|0;if((D|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((D|0)==1){D=c[o>>2]|0;y=(c[p>>2]|0)-D|0;L=(y|0)>4?4:y;y=(L|0)<0?0:L;hp(f|0,(c[q>>2]|0)+D|0,y|0)|0;c[o>>2]=y+D}D=C+8|0;c[D>>2]=c[f>>2];c[f>>2]=0;y=c[e>>2]|0;if((y|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((y|0)==1){y=c[o>>2]|0;L=(c[p>>2]|0)-y|0;M=(L|0)>4?4:L;L=(M|0)<0?0:M;hp(f|0,(c[q>>2]|0)+y|0,L|0)|0;c[o>>2]=L+y}c[C+12>>2]=c[f>>2];c[f>>2]=0;y=c[e>>2]|0;if((y|0)==0){qa(f|0,4,1,c[m>>2]|0)|0;V=c[e>>2]|0;u=301}else if((y|0)==1){L=c[o>>2]|0;M=(c[p>>2]|0)-L|0;A=(M|0)>4?4:M;M=(A|0)<0?0:A;hp(f|0,(c[q>>2]|0)+L|0,M|0)|0;c[o>>2]=M+L;c[f>>2]=0;u=303}else{V=y;u=301}do if((u|0)==301){u=0;c[f>>2]=0;if((V|0)==1){u=303;break}else if((V|0)!=0)break;qa(f|0,4,1,c[m>>2]|0)|0}while(0);if((u|0)==303){u=0;y=c[o>>2]|0;L=(c[p>>2]|0)-y|0;M=(L|0)>4?4:L;L=(M|0)<0?0:M;hp(f|0,(c[q>>2]|0)+y|0,L|0)|0;c[o>>2]=L+y}y=mk(C)|0;L=(aa(c[C+4>>2]|0,c[C>>2]|0)|0)/8|0;M=c[e>>2]|0;if((M|0)==1){A=c[o>>2]|0;N=(c[p>>2]|0)-A|0;z=(L|0)<(N|0)?L:N;N=(z|0)<0?0:z;hp(y|0,(c[q>>2]|0)+A|0,N|0)|0;c[o>>2]=N+(c[o>>2]|0)}else if((M|0)==0)qa(y|0,L|0,1,c[m>>2]|0)|0;ok(C,c[D>>2]|0);an(l,9,C)|0;break}else if((s|0)==1146047811){L=Im()|0;c[f>>2]=0;y=c[e>>2]|0;if((y|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((y|0)==1){y=c[o>>2]|0;M=(c[p>>2]|0)-y|0;N=(M|0)>4?4:M;M=(N|0)<0?0:N;hp(f|0,(c[q>>2]|0)+y|0,M|0)|0;c[o>>2]=M+y}y=L+4|0;c[y>>2]=c[f>>2];c[f>>2]=0;M=c[e>>2]|0;if((M|0)==1){N=c[o>>2]|0;A=(c[p>>2]|0)-N|0;z=(A|0)>4?4:A;A=(z|0)<0?0:z;hp(f|0,(c[q>>2]|0)+N|0,A|0)|0;c[o>>2]=A+N}else if((M|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;M=L+16|0;c[M>>2]=c[f>>2];c[f>>2]=0;N=c[e>>2]|0;if((N|0)==1){A=c[o>>2]|0;z=(c[p>>2]|0)-A|0;W=(z|0)>4?4:z;z=(W|0)<0?0:W;hp(f|0,(c[q>>2]|0)+A|0,z|0)|0;c[o>>2]=z+A}else if((N|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;N=L+24|0;c[N>>2]=c[f>>2];Fm(L,c[y>>2]|0);Gm(L,c[M>>2]|0);if((c[y>>2]|0)>0){A=0;do{g[f>>2]=0.0;z=c[e>>2]|0;if((z|0)==0){qa(f|0,4,1,c[m>>2]|0)|0;X=c[e>>2]|0}else if((z|0)==1){W=c[o>>2]|0;Y=(c[p>>2]|0)-W|0;Z=(Y|0)>4?4:Y;Y=(Z|0)<0?0:Z;hp(f|0,(c[q>>2]|0)+W|0,Y|0)|0;c[o>>2]=Y+W;X=1}else X=z;z=c[L>>2]|0;g[z+(A*12|0)>>2]=+g[f>>2];g[f>>2]=0.0;if((X|0)==1){W=c[o>>2]|0;Y=(c[p>>2]|0)-W|0;Z=(Y|0)>4?4:Y;Y=(Z|0)<0?0:Z;hp(f|0,(c[q>>2]|0)+W|0,Y|0)|0;c[o>>2]=Y+W;_=z;$=1}else if((X|0)==0){qa(f|0,4,1,c[m>>2]|0)|0;_=c[L>>2]|0;$=c[e>>2]|0}else{_=z;$=X}g[_+(A*12|0)+4>>2]=+g[f>>2];g[f>>2]=0.0;if(($|0)==1){z=c[o>>2]|0;W=(c[p>>2]|0)-z|0;Y=(W|0)>4?4:W;W=(Y|0)<0?0:Y;hp(f|0,(c[q>>2]|0)+z|0,W|0)|0;c[o>>2]=W+z;ba=_}else if(($|0)==0){qa(f|0,4,1,c[m>>2]|0)|0;ba=c[L>>2]|0}else ba=_;g[ba+(A*12|0)+8>>2]=+g[f>>2];A=A+1|0}while((A|0)<(c[y>>2]|0))}if((c[M>>2]|0)>0){A=L+12|0;C=0;do{D=c[A>>2]|0;z=D+(C*80|0)|0;b[f>>1]=0;W=c[e>>2]|0;if((W|0)==1){Y=c[o>>2]|0;Z=(c[p>>2]|0)-Y|0;ca=(Z|0)>2?2:Z;Z=(ca|0)<0?0:ca;hp(f|0,(c[q>>2]|0)+Y|0,Z|0)|0;c[o>>2]=Z+Y}else if((W|0)==0)qa(f|0,2,1,c[m>>2]|0)|0;W=b[f>>1]|0;Y=D+(C*80|0)+56|0;b[Y>>1]=W;Hm(z,W<<16>>16);b[f>>1]=0;W=c[e>>2]|0;if((W|0)==1){z=c[o>>2]|0;Z=(c[p>>2]|0)-z|0;ca=(Z|0)>2?2:Z;Z=(ca|0)<0?0:ca;hp(f|0,(c[q>>2]|0)+z|0,Z|0)|0;c[o>>2]=Z+z;da=1}else if((W|0)==0){qa(f|0,2,1,c[m>>2]|0)|0;da=c[e>>2]|0}else da=W;b[D+(C*80|0)+72>>1]=b[f>>1]|0;b[f>>1]=0;if((da|0)==1){W=c[o>>2]|0;z=(c[p>>2]|0)-W|0;Z=(z|0)>2?2:z;z=(Z|0)<0?0:Z;hp(f|0,(c[q>>2]|0)+W|0,z|0)|0;c[o>>2]=z+W}else if((da|0)==0)qa(f|0,2,1,c[m>>2]|0)|0;b[D+(C*80|0)+74>>1]=b[f>>1]|0;if((b[Y>>1]|0)>0){W=D+(C*80|0)+48|0;z=D+(C*80|0)+52|0;D=0;do{c[f>>2]=0;Z=c[e>>2]|0;if((Z|0)==1){ca=c[o>>2]|0;ea=(c[p>>2]|0)-ca|0;fa=(ea|0)>4?4:ea;ea=(fa|0)<0?0:fa;hp(f|0,(c[q>>2]|0)+ca|0,ea|0)|0;c[o>>2]=ea+ca}else if((Z|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;c[(c[W>>2]|0)+(D<<2)>>2]=c[f>>2];g[f>>2]=0.0;Z=c[e>>2]|0;if((Z|0)==0){qa(f|0,4,1,c[m>>2]|0)|0;ga=c[e>>2]|0}else if((Z|0)==1){ca=c[o>>2]|0;ea=(c[p>>2]|0)-ca|0;fa=(ea|0)>4?4:ea;ea=(fa|0)<0?0:fa;hp(f|0,(c[q>>2]|0)+ca|0,ea|0)|0;c[o>>2]=ea+ca;ga=1}else ga=Z;Z=c[z>>2]|0;g[Z+(D<<3)>>2]=+g[f>>2];g[f>>2]=0.0;if((ga|0)==0){qa(f|0,4,1,c[m>>2]|0)|0;ha=c[z>>2]|0}else if((ga|0)==1){ca=c[o>>2]|0;ea=(c[p>>2]|0)-ca|0;fa=(ea|0)>4?4:ea;ea=(fa|0)<0?0:fa;hp(f|0,(c[q>>2]|0)+ca|0,ea|0)|0;c[o>>2]=ea+ca;ha=Z}else ha=Z;g[ha+(D<<3)+4>>2]=+g[f>>2];D=D+1|0}while((D|0)<(b[Y>>1]|0))}C=C+1|0}while((C|0)<(c[M>>2]|0))}if((c[N>>2]|0)>0?(c[y>>2]|0)>0:0){M=L+28|0;C=0;do{b[f>>1]=0;A=c[e>>2]|0;if((A|0)==0){qa(f|0,2,1,c[m>>2]|0)|0;ia=c[e>>2]|0}else if((A|0)==1){Y=c[o>>2]|0;D=(c[p>>2]|0)-Y|0;z=(D|0)>2?2:D;D=(z|0)<0?0:z;hp(f|0,(c[q>>2]|0)+Y|0,D|0)|0;c[o>>2]=D+Y;ia=1}else ia=A;A=b[f>>1]|0;Y=c[M>>2]|0;b[Y+(C<<5)>>1]=A;b[f>>1]=0;if((ia|0)==1){D=c[o>>2]|0;z=(c[p>>2]|0)-D|0;W=(z|0)>2?2:z;z=(W|0)<0?0:W;hp(f|0,(c[q>>2]|0)+D|0,z|0)|0;c[o>>2]=z+D;ja=1;ka=Y;la=A}else if((ia|0)==0){qa(f|0,2,1,c[m>>2]|0)|0;D=c[M>>2]|0;ja=c[e>>2]|0;ka=D;la=b[D+(C<<5)>>1]|0}else{ja=ia;ka=Y;la=A}A=b[f>>1]|0;Y=la&65535;D=(c[N>>2]|0)+ -1|0;z=(Y|0)<(D|0)?Y:D;b[ka+(C<<5)>>1]=(z|0)<0?0:z&65535;z=A&65535;A=(z|0)<(D|0)?z:D;b[ka+(C<<5)+2>>1]=(A|0)<0?0:A&65535;g[f>>2]=0.0;if((ja|0)==1){A=c[o>>2]|0;D=(c[p>>2]|0)-A|0;z=(D|0)>4?4:D;D=(z|0)<0?0:z;hp(f|0,(c[q>>2]|0)+A|0,D|0)|0;c[o>>2]=D+A;ma=ka}else if((ja|0)==0){qa(f|0,4,1,c[m>>2]|0)|0;ma=c[M>>2]|0}else ma=ka;g[ma+(C<<5)+4>>2]=+g[f>>2];C=C+1|0}while((C|0)<(c[y>>2]|0))}Om(L);an(l,6,L)|0;break}else if((s|0)==1229865283){y=Yn()|0;if((c[239962]|0)!=0){c[f>>2]=0;C=c[e>>2]|0;if((C|0)==0){qa(f|0,4,1,c[m>>2]|0)|0;na=c[f>>2]|0;oa=c[e>>2]|0;u=145}else if((C|0)==1){M=c[p>>2]|0;N=c[o>>2]|0;A=M-N|0;D=(A|0)>4?4:A;A=(D|0)<0?0:D;D=c[q>>2]|0;hp(f|0,D+N|0,A|0)|0;z=A+N|0;c[o>>2]=z;N=c[f>>2]|0;c[f>>2]=0;pa=N;ra=z;sa=M;ta=D;u=148}else{na=0;oa=C;u=145}do if((u|0)==145){u=0;c[f>>2]=0;if((oa|0)==0){qa(f|0,4,1,c[m>>2]|0)|0;ua=na;break}else if((oa|0)==1){pa=na;ra=c[o>>2]|0;sa=c[p>>2]|0;ta=c[q>>2]|0;u=148;break}else{ua=na;break}}while(0);if((u|0)==148){u=0;L=sa-ra|0;C=(L|0)>4?4:L;L=(C|0)<0?0:C;hp(f|0,ta+ra|0,L|0)|0;c[o>>2]=L+ra;ua=pa}c[y+8>>2]=c[f>>2];c[f>>2]=0;L=c[e>>2]|0;if((L|0)==1){C=c[o>>2]|0;D=(c[p>>2]|0)-C|0;M=(D|0)>4?4:D;D=(M|0)<0?0:M;hp(f|0,(c[q>>2]|0)+C|0,D|0)|0;c[o>>2]=D+C}else if((L|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;c[y+12>>2]=c[f>>2];c[f>>2]=0;L=c[e>>2]|0;if((L|0)==1){C=c[p>>2]|0;D=c[o>>2]|0;M=C-D|0;z=(M|0)>4?4:M;M=(z|0)<0?0:z;z=c[q>>2]|0;hp(f|0,z+D|0,M|0)|0;N=M+D|0;c[o>>2]=N;c[f>>2]=0;va=N;wa=C;xa=z;u=269}else if((L|0)==0){qa(f|0,4,1,c[m>>2]|0)|0;ya=c[e>>2]|0;u=156}else{ya=L;u=156}do if((u|0)==156){u=0;c[f>>2]=0;if((ya|0)==1){va=c[o>>2]|0;wa=c[p>>2]|0;xa=c[q>>2]|0;u=269;break}else if((ya|0)==0){qa(f|0,4,1,c[m>>2]|0)|0;za=c[e>>2]|0}else za=ya;c[f>>2]=0;if((za|0)==0){qa(f|0,4,1,c[m>>2]|0)|0;Aa=c[e>>2]|0}else if((za|0)==1){Ba=c[o>>2]|0;Ca=c[p>>2]|0;Da=c[q>>2]|0;u=273;break}else Aa=za;c[f>>2]=0;if((Aa|0)==1){Ea=c[o>>2]|0;Fa=c[p>>2]|0;Ga=c[q>>2]|0;u=277;break}else if((Aa|0)==0){qa(f|0,4,1,c[m>>2]|0)|0;Ha=c[e>>2]|0}else Ha=Aa;c[f>>2]=0;if((Ha|0)==1){Ia=c[o>>2]|0;Ja=c[p>>2]|0;Ka=c[q>>2]|0;u=281;break}else if((Ha|0)==0){qa(f|0,4,1,c[m>>2]|0)|0;break}else break}while(0);if((u|0)==269){u=0;L=wa-va|0;z=(L|0)>4?4:L;L=(z|0)<0?0:z;hp(f|0,xa+va|0,L|0)|0;z=L+va|0;c[o>>2]=z;c[f>>2]=0;Ba=z;Ca=wa;Da=xa;u=273}if((u|0)==273){u=0;z=Ca-Ba|0;L=(z|0)>4?4:z;z=(L|0)<0?0:L;hp(f|0,Da+Ba|0,z|0)|0;L=z+Ba|0;c[o>>2]=L;c[f>>2]=0;Ea=L;Fa=Ca;Ga=Da;u=277}if((u|0)==277){u=0;L=Fa-Ea|0;z=(L|0)>4?4:L;L=(z|0)<0?0:z;hp(f|0,Ga+Ea|0,L|0)|0;z=L+Ea|0;c[o>>2]=z;c[f>>2]=0;Ia=z;Ja=Fa;Ka=Ga;u=281}if((u|0)==281){u=0;z=Ja-Ia|0;L=(z|0)>4?4:z;z=(L|0)<0?0:L;hp(f|0,Ka+Ia|0,z|0)|0;c[o>>2]=z+Ia}if((ua|0)>0){z=y+4|0;L=0;do{$n(y)|0;C=c[z>>2]|0;N=C+(L*112|0)|0;D=c[e>>2]|0;if((D|0)==0){qa(N|0,1,32,c[m>>2]|0)|0;u=161}else if((D|0)==1){M=c[o>>2]|0;A=(c[p>>2]|0)-M|0;Y=(A|0)>32?32:A;A=(Y|0)<0?0:Y;hp(N|0,(c[q>>2]|0)+M|0,A|0)|0;c[o>>2]=A+(c[o>>2]|0);u=161}else La=D;if((u|0)==161){u=0;La=c[e>>2]|0}D=C+(L*112|0)+32|0;if((La|0)==0)qa(D|0,1,32,c[m>>2]|0)|0;else if((La|0)==1){A=c[o>>2]|0;M=(c[p>>2]|0)-A|0;N=(M|0)>32?32:M;M=(N|0)<0?0:N;hp(D|0,(c[q>>2]|0)+A|0,M|0)|0;c[o>>2]=M+(c[o>>2]|0)}c[f>>2]=0;M=c[e>>2]|0;if((M|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((M|0)==1){M=c[o>>2]|0;A=(c[p>>2]|0)-M|0;D=(A|0)>4?4:A;A=(D|0)<0?0:D;hp(f|0,(c[q>>2]|0)+M|0,A|0)|0;c[o>>2]=A+M}c[C+(L*112|0)+68>>2]=c[f>>2];c[f>>2]=0;M=c[e>>2]|0;if((M|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((M|0)==1){M=c[o>>2]|0;A=(c[p>>2]|0)-M|0;D=(A|0)>4?4:A;A=(D|0)<0?0:D;hp(f|0,(c[q>>2]|0)+M|0,A|0)|0;c[o>>2]=A+M}c[C+(L*112|0)+72>>2]=c[f>>2];c[f>>2]=0;M=c[e>>2]|0;if((M|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((M|0)==1){M=c[o>>2]|0;A=(c[p>>2]|0)-M|0;D=(A|0)>4?4:A;A=(D|0)<0?0:D;hp(f|0,(c[q>>2]|0)+M|0,A|0)|0;c[o>>2]=A+M}c[C+(L*112|0)+76>>2]=c[f>>2];c[f>>2]=0;M=c[e>>2]|0;if((M|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((M|0)==1){M=c[o>>2]|0;A=(c[p>>2]|0)-M|0;D=(A|0)>4?4:A;A=(D|0)<0?0:D;hp(f|0,(c[q>>2]|0)+M|0,A|0)|0;c[o>>2]=A+M}c[C+(L*112|0)+100>>2]=c[f>>2];c[f>>2]=0;M=c[e>>2]|0;if((M|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((M|0)==1){M=c[o>>2]|0;A=(c[p>>2]|0)-M|0;D=(A|0)>4?4:A;A=(D|0)<0?0:D;hp(f|0,(c[q>>2]|0)+M|0,A|0)|0;c[o>>2]=A+M}M=C+(L*112|0)+104|0;c[M>>2]=c[f>>2];c[f>>2]=0;A=c[e>>2]|0;if((A|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((A|0)==1){A=c[o>>2]|0;D=(c[p>>2]|0)-A|0;N=(D|0)>4?4:D;D=(N|0)<0?0:N;hp(f|0,(c[q>>2]|0)+A|0,D|0)|0;c[o>>2]=D+A}c[C+(L*112|0)+108>>2]=c[f>>2];c[f>>2]=0;A=c[e>>2]|0;if((A|0)==0){qa(f|0,4,1,c[m>>2]|0)|0;Ma=c[e>>2]|0;u=186}else if((A|0)==1){D=c[p>>2]|0;N=c[o>>2]|0;Y=D-N|0;W=(Y|0)>4?4:Y;Y=(W|0)<0?0:W;W=c[q>>2]|0;hp(f|0,W+N|0,Y|0)|0;Z=Y+N|0;c[o>>2]=Z;c[f>>2]=0;Na=Z;Oa=D;Pa=W;u=261}else{Ma=A;u=186}do if((u|0)==186){u=0;c[f>>2]=0;if((Ma|0)==1){Na=c[o>>2]|0;Oa=c[p>>2]|0;Pa=c[q>>2]|0;u=261;break}else if((Ma|0)==0){qa(f|0,4,1,c[m>>2]|0)|0;Qa=c[e>>2]|0}else Qa=Ma;c[f>>2]=0;if((Qa|0)==1){Ra=c[o>>2]|0;Sa=c[p>>2]|0;Ta=c[q>>2]|0;u=265;break}else if((Qa|0)==0){qa(f|0,4,1,c[m>>2]|0)|0;Ua=c[e>>2]|0}else Ua=Qa;A=c[C+(L*112|0)+80>>2]|0;c[f>>2]=0;if((Ua|0)==1){Va=A;Wa=c[o>>2]|0;Xa=c[p>>2]|0;Ya=c[q>>2]|0;u=189;break}else if((Ua|0)==0){qa(f|0,4,1,c[m>>2]|0)|0;Za=A;break}else{Za=A;break}}while(0);if((u|0)==261){u=0;A=Oa-Na|0;W=(A|0)>4?4:A;A=(W|0)<0?0:W;hp(f|0,Pa+Na|0,A|0)|0;W=A+Na|0;c[o>>2]=W;c[f>>2]=0;Ra=W;Sa=Oa;Ta=Pa;u=265}if((u|0)==265){u=0;W=Sa-Ra|0;A=(W|0)>4?4:W;W=(A|0)<0?0:A;hp(f|0,Ta+Ra|0,W|0)|0;A=W+Ra|0;c[o>>2]=A;W=c[C+(L*112|0)+80>>2]|0;c[f>>2]=0;Va=W;Wa=A;Xa=Sa;Ya=Ta;u=189}if((u|0)==189){u=0;A=Xa-Wa|0;W=(A|0)>4?4:A;A=(W|0)<0?0:W;hp(f|0,Ya+Wa|0,A|0)|0;c[o>>2]=A+Wa;Za=Va}A=c[f>>2]|0;c[Za>>2]=A;bo(Za,A);A=c[Za>>2]|0;do if((A|0)!=0){W=c[Za+12>>2]|0;D=c[Za+8>>2]|0;Z=c[e>>2]|0;if((Z|0)==0){qa(W|0,D|0,A|0,c[m>>2]|0)|0;u=194}else if((Z|0)==1){N=aa(D,A)|0;D=c[o>>2]|0;Y=(c[p>>2]|0)-D|0;ca=(N|0)<(Y|0)?N:Y;Y=(ca|0)<0?0:ca;hp(W|0,(c[q>>2]|0)+D|0,Y|0)|0;c[o>>2]=Y+(c[o>>2]|0);u=194}else{_a=Z;$a=A}if((u|0)==194){u=0;_a=c[e>>2]|0;$a=c[Za>>2]|0}Z=c[Za+16>>2]|0;if((_a|0)==1){Y=$a<<2;D=c[o>>2]|0;W=(c[p>>2]|0)-D|0;ca=(Y|0)<(W|0)?Y:W;W=(ca|0)<0?0:ca;hp(Z|0,(c[q>>2]|0)+D|0,W|0)|0;c[o>>2]=W+(c[o>>2]|0)}else if((_a|0)==0)qa(Z|0,4,$a|0,c[m>>2]|0)|0;Z=c[Za+20>>2]|0;W=c[Za>>2]|0;D=c[e>>2]|0;if((D|0)==0){qa(Z|0,4,W|0,c[m>>2]|0)|0;break}else if((D|0)==1){D=W<<2;W=c[o>>2]|0;ca=(c[p>>2]|0)-W|0;Y=(D|0)<(ca|0)?D:ca;ca=(Y|0)<0?0:Y;hp(Z|0,(c[q>>2]|0)+W|0,ca|0)|0;c[o>>2]=ca+(c[o>>2]|0);break}else break}while(0);A=c[C+(L*112|0)+84>>2]|0;c[f>>2]=0;ca=c[e>>2]|0;if((ca|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((ca|0)==1){ca=c[o>>2]|0;W=(c[p>>2]|0)-ca|0;Z=(W|0)>4?4:W;W=(Z|0)<0?0:Z;hp(f|0,(c[q>>2]|0)+ca|0,W|0)|0;c[o>>2]=W+ca}ca=c[f>>2]|0;c[A>>2]=ca;bo(A,ca);ca=c[A>>2]|0;do if((ca|0)!=0){W=c[A+12>>2]|0;Z=c[A+8>>2]|0;Y=c[e>>2]|0;if((Y|0)==0){qa(W|0,Z|0,ca|0,c[m>>2]|0)|0;u=208}else if((Y|0)==1){D=aa(Z,ca)|0;Z=c[o>>2]|0;N=(c[p>>2]|0)-Z|0;ea=(D|0)<(N|0)?D:N;N=(ea|0)<0?0:ea;hp(W|0,(c[q>>2]|0)+Z|0,N|0)|0;c[o>>2]=N+(c[o>>2]|0);u=208}else{ab=Y;bb=ca}if((u|0)==208){u=0;ab=c[e>>2]|0;bb=c[A>>2]|0}Y=c[A+16>>2]|0;if((ab|0)==0)qa(Y|0,4,bb|0,c[m>>2]|0)|0;else if((ab|0)==1){N=bb<<2;Z=c[o>>2]|0;W=(c[p>>2]|0)-Z|0;ea=(N|0)<(W|0)?N:W;W=(ea|0)<0?0:ea;hp(Y|0,(c[q>>2]|0)+Z|0,W|0)|0;c[o>>2]=W+(c[o>>2]|0)}W=c[A+20>>2]|0;Z=c[A>>2]|0;Y=c[e>>2]|0;if((Y|0)==0){qa(W|0,4,Z|0,c[m>>2]|0)|0;break}else if((Y|0)==1){Y=Z<<2;Z=c[o>>2]|0;ea=(c[p>>2]|0)-Z|0;N=(Y|0)<(ea|0)?Y:ea;ea=(N|0)<0?0:N;hp(W|0,(c[q>>2]|0)+Z|0,ea|0)|0;c[o>>2]=ea+(c[o>>2]|0);break}else break}while(0);A=c[C+(L*112|0)+88>>2]|0;c[f>>2]=0;ca=c[e>>2]|0;if((ca|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((ca|0)==1){ca=c[o>>2]|0;ea=(c[p>>2]|0)-ca|0;Z=(ea|0)>4?4:ea;ea=(Z|0)<0?0:Z;hp(f|0,(c[q>>2]|0)+ca|0,ea|0)|0;c[o>>2]=ea+ca}ca=c[f>>2]|0;c[A>>2]=ca;bo(A,ca);ca=c[A>>2]|0;do if((ca|0)!=0){ea=c[A+12>>2]|0;Z=c[A+8>>2]|0;W=c[e>>2]|0;if((W|0)==1){N=aa(Z,ca)|0;Y=c[o>>2]|0;D=(c[p>>2]|0)-Y|0;fa=(N|0)<(D|0)?N:D;D=(fa|0)<0?0:fa;hp(ea|0,(c[q>>2]|0)+Y|0,D|0)|0;c[o>>2]=D+(c[o>>2]|0);u=222}else if((W|0)==0){qa(ea|0,Z|0,ca|0,c[m>>2]|0)|0;u=222}else{cb=W;db=ca}if((u|0)==222){u=0;cb=c[e>>2]|0;db=c[A>>2]|0}W=c[A+16>>2]|0;if((cb|0)==0)qa(W|0,4,db|0,c[m>>2]|0)|0;else if((cb|0)==1){Z=db<<2;ea=c[o>>2]|0;D=(c[p>>2]|0)-ea|0;Y=(Z|0)<(D|0)?Z:D;D=(Y|0)<0?0:Y;hp(W|0,(c[q>>2]|0)+ea|0,D|0)|0;c[o>>2]=D+(c[o>>2]|0)}D=c[A+20>>2]|0;ea=c[A>>2]|0;W=c[e>>2]|0;if((W|0)==0){qa(D|0,4,ea|0,c[m>>2]|0)|0;break}else if((W|0)==1){W=ea<<2;ea=c[o>>2]|0;Y=(c[p>>2]|0)-ea|0;Z=(W|0)<(Y|0)?W:Y;Y=(Z|0)<0?0:Z;hp(D|0,(c[q>>2]|0)+ea|0,Y|0)|0;c[o>>2]=Y+(c[o>>2]|0);break}else break}while(0);A=c[M>>2]|0;if((A|0)!=0?(ca=C+(L*112|0)+92|0,c[ca>>2]=ym(A<<2)|0,(c[M>>2]|0)>0):0){A=0;do{Y=ao(16)|0;c[(c[ca>>2]|0)+(A<<2)>>2]=Y;Y=c[(c[ca>>2]|0)+(A<<2)>>2]|0;c[f>>2]=0;ea=c[e>>2]|0;if((ea|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((ea|0)==1){ea=c[o>>2]|0;D=(c[p>>2]|0)-ea|0;Z=(D|0)>4?4:D;D=(Z|0)<0?0:Z;hp(f|0,(c[q>>2]|0)+ea|0,D|0)|0;c[o>>2]=D+ea}ea=c[f>>2]|0;c[Y>>2]=ea;bo(Y,ea);ea=c[Y>>2]|0;do if((ea|0)!=0){D=c[Y+12>>2]|0;Z=c[Y+8>>2]|0;W=c[e>>2]|0;if((W|0)==0){qa(D|0,Z|0,ea|0,c[m>>2]|0)|0;u=238}else if((W|0)==1){fa=aa(Z,ea)|0;Z=c[o>>2]|0;N=(c[p>>2]|0)-Z|0;eb=(fa|0)<(N|0)?fa:N;N=(eb|0)<0?0:eb;hp(D|0,(c[q>>2]|0)+Z|0,N|0)|0;c[o>>2]=N+(c[o>>2]|0);u=238}else{fb=W;gb=ea}if((u|0)==238){u=0;fb=c[e>>2]|0;gb=c[Y>>2]|0}W=c[Y+16>>2]|0;if((fb|0)==0)qa(W|0,4,gb|0,c[m>>2]|0)|0;else if((fb|0)==1){N=gb<<2;Z=c[o>>2]|0;D=(c[p>>2]|0)-Z|0;eb=(N|0)<(D|0)?N:D;D=(eb|0)<0?0:eb;hp(W|0,(c[q>>2]|0)+Z|0,D|0)|0;c[o>>2]=D+(c[o>>2]|0)}D=c[Y+20>>2]|0;Z=c[Y>>2]|0;W=c[e>>2]|0;if((W|0)==1){eb=Z<<2;N=c[o>>2]|0;fa=(c[p>>2]|0)-N|0;hb=(eb|0)<(fa|0)?eb:fa;fa=(hb|0)<0?0:hb;hp(D|0,(c[q>>2]|0)+N|0,fa|0)|0;c[o>>2]=fa+(c[o>>2]|0);break}else if((W|0)==0){qa(D|0,4,Z|0,c[m>>2]|0)|0;break}else break}while(0);A=A+1|0}while((A|0)<(c[M>>2]|0))}M=c[C+(L*112|0)+96>>2]|0;c[f>>2]=0;A=c[e>>2]|0;if((A|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((A|0)==1){A=c[o>>2]|0;ca=(c[p>>2]|0)-A|0;Y=(ca|0)>4?4:ca;ca=(Y|0)<0?0:Y;hp(f|0,(c[q>>2]|0)+A|0,ca|0)|0;c[o>>2]=ca+A}A=c[f>>2]|0;c[M>>2]=A;bo(M,A);A=c[M>>2]|0;do if((A|0)!=0){ca=c[M+12>>2]|0;Y=c[M+8>>2]|0;ea=c[e>>2]|0;if((ea|0)==0){qa(ca|0,Y|0,A|0,c[m>>2]|0)|0;u=253}else if((ea|0)==1){Z=aa(Y,A)|0;Y=c[o>>2]|0;D=(c[p>>2]|0)-Y|0;W=(Z|0)<(D|0)?Z:D;D=(W|0)<0?0:W;hp(ca|0,(c[q>>2]|0)+Y|0,D|0)|0;c[o>>2]=D+(c[o>>2]|0);u=253}else{ib=ea;jb=A}if((u|0)==253){u=0;ib=c[e>>2]|0;jb=c[M>>2]|0}ea=c[M+16>>2]|0;if((ib|0)==0)qa(ea|0,4,jb|0,c[m>>2]|0)|0;else if((ib|0)==1){D=jb<<2;Y=c[o>>2]|0;ca=(c[p>>2]|0)-Y|0;W=(D|0)<(ca|0)?D:ca;ca=(W|0)<0?0:W;hp(ea|0,(c[q>>2]|0)+Y|0,ca|0)|0;c[o>>2]=ca+(c[o>>2]|0)}ca=c[M+20>>2]|0;Y=c[M>>2]|0;ea=c[e>>2]|0;if((ea|0)==0){qa(ca|0,4,Y|0,c[m>>2]|0)|0;break}else if((ea|0)==1){ea=Y<<2;Y=c[o>>2]|0;W=(c[p>>2]|0)-Y|0;D=(ea|0)<(W|0)?ea:W;W=(D|0)<0?0:D;hp(ca|0,(c[q>>2]|0)+Y|0,W|0)|0;c[o>>2]=W+(c[o>>2]|0);break}else break}while(0);L=L+1|0}while((L|0)!=(ua|0))}}else Qk(e);an(l,8,y)|0;break}else{if((x|0)!=1279870531){L=c[239954]|0;if((L|0)!=0?(gc[L&3](e,l,s)|0)==0:0)break;yk(959856);L=c[e>>2]|0;if((L|0)==0){ub(c[m>>2]|0,w|0,1)|0;break}else if((L|0)==1){c[o>>2]=(c[o>>2]|0)+w;break}else break}L=(s|0)==1279870563;c[f>>2]=0;z=c[e>>2]|0;if((z|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;else if((z|0)==1){z=c[o>>2]|0;M=(c[p>>2]|0)-z|0;A=(M|0)>4?4:M;M=(A|0)<0?0:A;hp(f|0,(c[q>>2]|0)+z|0,M|0)|0;c[o>>2]=M+z}z=c[f>>2]|0;M=Cm(z)|0;an(l,12,M)|0;A=M+24|0;C=c[e>>2]|0;if((C|0)==1){W=c[o>>2]|0;Y=(c[p>>2]|0)-W|0;ca=(Y|0)>64?64:Y;Y=(ca|0)<0?0:ca;hp(A|0,(c[q>>2]|0)+W|0,Y|0)|0;c[o>>2]=Y+(c[o>>2]|0)}else if((C|0)==0)qa(A|0,1,64,c[m>>2]|0)|0;a[M+87>>0]=0;A=c[M+12>>2]|0;do if(!L){C=c[e>>2]|0;if((C|0)==0){qa(A|0,1,z|0,c[m>>2]|0)|0;break}else if((C|0)==1){C=c[o>>2]|0;Y=(c[p>>2]|0)-C|0;W=(z|0)<(Y|0)?z:Y;Y=(W|0)<0?0:W;hp(A|0,(c[q>>2]|0)+C|0,Y|0)|0;c[o>>2]=Y+(c[o>>2]|0);break}else break}else Tk(A,z,e)|0;while(0);c[M+16>>2]=z;break}else{A=(s|0)==1347245667;c[f>>2]=0;L=c[e>>2]|0;if((L|0)==0){qa(f|0,4,1,c[m>>2]|0)|0;kb=c[e>>2]|0;u=60}else if((L|0)==1){x=c[o>>2]|0;y=(c[p>>2]|0)-x|0;Y=(y|0)>4?4:y;y=(Y|0)<0?0:Y;hp(f|0,(c[q>>2]|0)+x|0,y|0)|0;c[o>>2]=y+x;x=c[f>>2]|0;c[f>>2]=0;lb=x;u=62}else{kb=L;u=60}do if((u|0)==60){u=0;L=c[f>>2]|0;c[f>>2]=0;if((kb|0)==0){qa(f|0,4,1,c[m>>2]|0)|0;mb=c[e>>2]|0}else if((kb|0)==1){lb=L;u=62;break}else mb=kb;x=c[f>>2]|0;c[f>>2]=0;if((mb|0)==1){nb=x;ob=L;u=65;break}else if((mb|0)!=0){pb=L;qb=x;break}qa(f|0,4,1,c[m>>2]|0)|0;pb=L;qb=x}while(0);if((u|0)==62){u=0;z=c[o>>2]|0;M=(c[p>>2]|0)-z|0;x=(M|0)>4?4:M;M=(x|0)<0?0:x;hp(f|0,(c[q>>2]|0)+z|0,M|0)|0;c[o>>2]=M+z;z=c[f>>2]|0;c[f>>2]=0;nb=z;ob=lb;u=65}if((u|0)==65){u=0;z=c[o>>2]|0;M=(c[p>>2]|0)-z|0;x=(M|0)>4?4:M;M=(x|0)<0?0:x;hp(f|0,(c[q>>2]|0)+z|0,M|0)|0;c[o>>2]=M+z;pb=ob;qb=nb}z=c[f>>2]|0;M=jl(pb,qb,z)|0;c[f>>2]=0;x=c[e>>2]|0;if((x|0)==1){L=c[o>>2]|0;y=(c[p>>2]|0)-L|0;Y=(y|0)>4?4:y;y=(Y|0)<0?0:Y;hp(f|0,(c[q>>2]|0)+L|0,y|0)|0;c[o>>2]=y+L}else if((x|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;c[M+20>>2]=c[f>>2];c[f>>2]=0;x=c[e>>2]|0;if((x|0)==1){L=c[o>>2]|0;y=(c[p>>2]|0)-L|0;Y=(y|0)>4?4:y;y=(Y|0)<0?0:Y;hp(f|0,(c[q>>2]|0)+L|0,y|0)|0;c[o>>2]=y+L}else if((x|0)==0)qa(f|0,4,1,c[m>>2]|0)|0;x=c[M+12>>2]|0;L=aa(aa(qb,pb)|0,z)|0;do if(!A){z=c[e>>2]|0;if((z|0)==0){qa(x|0,1,L|0,c[m>>2]|0)|0;break}else if((z|0)==1){z=c[o>>2]|0;y=(c[p>>2]|0)-z|0;Y=(L|0)<(y|0)?L:y;y=(Y|0)<0?0:Y;hp(x|0,(c[q>>2]|0)+z|0,y|0)|0;c[o>>2]=y+(c[o>>2]|0);break}else break}else Tk(x,L,e)|0;while(0);an(l,10,M)|0;break}}while(0);r=r+1|0}do if((u|0)==19){r=c[e>>2]|0;if((r|0)==0){ub(c[m>>2]|0,-8,1)|0;break}else if((r|0)==1){c[o>>2]=(c[o>>2]|0)+ -8;break}else break}while(0);if((c[l+16>>2]|0)!=0){k=l;i=d;return k|0}$m(l);k=0;i=d;return k|0}while(0);$m(l);k=0;i=d;return k|0}function Tk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+16|0;f=e;c[f>>2]=0;g=c[d>>2]|0;if((g|0)==1){h=d+20|0;j=c[h>>2]|0;k=(c[d+16>>2]|0)-j|0;l=(k|0)>4?4:k;k=(l|0)<0?0:l;hp(f|0,(c[d+12>>2]|0)+j|0,k|0)|0;c[h>>2]=k+j}else if((g|0)==0)qa(f|0,4,1,c[d+8>>2]|0)|0;g=c[f>>2]|0;f=ym(g)|0;j=c[d>>2]|0;if((j|0)==0){qa(f|0,1,g|0,c[d+8>>2]|0)|0;m=om(f,a,g,b)|0;i=e;return m|0}else if((j|0)==1){j=d+20|0;k=c[j>>2]|0;h=(c[d+16>>2]|0)-k|0;l=(g|0)<(h|0)?g:h;h=(l|0)<0?0:l;hp(f|0,(c[d+12>>2]|0)+k|0,h|0)|0;c[j>>2]=h+(c[j>>2]|0);m=om(f,a,g,b)|0;i=e;return m|0}else{m=om(f,a,g,b)|0;i=e;return m|0}return 0}function Uk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;i=i+16|0;d=b;e=Vk(a,959896)|0;if((e|0)!=0){f=Sk(0,e)|0;if((On(e)|0)==0){if((c[e>>2]|0)==0)xb(c[e+8>>2]|0)|0;if((c[e+88>>2]|0)!=0)Am(c[e+12>>2]|0);Am(e);Gb(960152);g=f}else g=f}else g=0;c[d>>2]=a;c[d+4>>2]=(g|0)!=0?959928:959936;Qo(950312,959904,d)|0;yk(950312);i=b;return g|0}function Vk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e;do if((Jb(959976)|0)!=1){g=Nn(b,d)|0;c[f>>2]=b;c[f+4>>2]=d;Za(960064,f|0)|0;h=a[d>>0]|0;if(h<<24>>24==119){j=g;i=e;return j|0}else if(!(h<<24>>24==114))break;if((g|0)!=0){j=g;i=e;return j|0}}while(0);g=ym(92)|0;Bm(g,0,92);c[g>>2]=0;h=Eb(b|0,d|0)|0;k=g+8|0;c[k>>2]=h;c[f>>2]=b;c[f+4>>2]=d;c[f+8>>2]=(h|0)!=0?960120:960128;Za(960096,f|0)|0;if((c[k>>2]|0)==0){Am(g);j=0;i=e;return j|0}else{j=g;i=e;return j|0}return 0}function Wk(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}if((On(a)|0)!=0){i=b;return}if((c[a>>2]|0)==0)xb(c[a+8>>2]|0)|0;if((c[a+88>>2]|0)!=0)Am(c[a+12>>2]|0);Am(a);Gb(960152);i=b;return}function Xk(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=ym(92)|0;Bm(e,0,92);c[e>>2]=1;c[e+12>>2]=a;c[e+16>>2]=b;i=d;return e|0}function Yk(){var a=0;a=i;Bm(954624,0,104);c[238657]=0;c[238658]=0;c[238659]=32;c[238661]=1;c[238662]=256;c[238663]=256;c[238669]=1024;c[238670]=-1;c[238666]=0;c[238671]=0;c[238672]=0;c[238673]=0;c[238674]=0;c[238667]=-1;c[238668]=-1;c[238681]=0;c[238664]=5;i=a;return}function Zk(){return}function _k(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0,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=i;i=i+1024|0;g=f;h=(c|0)!=0;if(h)a[c>>0]=0;j=(d|0)!=0;if(j)a[d>>0]=0;k=(e|0)!=0;if(k)a[e>>0]=0;lp(g|0,b|0)|0;l=cp(b|0)|0;b=g+l|0;m=a[b>>0]|0;a:do if((l|0)>0){n=m;o=b;while(1){p=o+ -1|0;if(!((n+ -46<<24>>24&255)>1)){q=n;r=o;break a}s=a[p>>0]|0;if(p>>>0>g>>>0){n=s;o=p}else{q=s;r=p;break}}}else{q=m;r=b}while(0);b:do if(q<<24>>24==46){if(k)lp(e|0,r|0)|0;a[r>>0]=0;if(r>>>0>g>>>0){b=0;m=r;while(1){l=m+ -1|0;if(b){t=47;u=m;break b}o=a[l>>0]|0;if(!(l>>>0>g>>>0)){t=o;u=l;break b}b=o<<24>>24==47;m=l}}else{t=0;u=r}}else{t=q;u=r}while(0);r=t<<24>>24==47?u+1|0:u;if(j)lp(d|0,r|0)|0;if((r|0)==(g|0)){i=f;return}a[r>>0]=0;if(!h){i=f;return}lp(c|0,g|0)|0;i=f;return}function $k(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;a[c>>0]=0;e=b;f=1;a:while(1){g=e;while(1){h=a[g>>0]|0;if(h<<24>>24==0|h<<24>>24==92|h<<24>>24==47)break;g=g+1|0}j=h<<24>>24==0;if((e|0)==(g|0)&j){k=6;break}a[g>>0]=0;b:do if((Zo(e,959952)|0)!=0){if((Zo(e,959960)|0)==0){l=(cp(c|0)|0)+ -1|0;if((l|0)<=0){m=f;break}a[c+l>>0]=0;n=l;while(1){l=c+n|0;o=a[l>>0]|0;if(o<<24>>24==58|o<<24>>24==92|o<<24>>24==47){m=f;break b}a[l>>0]=0;n=n+ -1|0;if((n|0)<=0){m=f;break b}}}if((Zo(e,959968)|0)!=0){if((f|0)==0?(a[e>>0]|0)==0:0){m=0;break}jp(c|0,e|0)|0;if(j){k=18;break a}n=c+(cp(c|0)|0)|0;a[n>>0]=47;a[n+1>>0]=0;a[g>>0]=h;e=g+1|0;f=0;continue a}else m=f}else m=f;while(0);a[g>>0]=h;if(j){k=21;break}else{e=g+1|0;f=m}}if((k|0)==6){if((e|0)!=(b|0)){i=d;return}a[c>>0]=0;i=d;return}else if((k|0)==18){a[g>>0]=0;i=d;return}else if((k|0)==21){i=d;return}}function al(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,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=i;if((f|0)==0){h=0;i=g;return h|0}j=c[f>>2]|0;if((j|0)==0){k=Vb(c[f+8>>2]|0)|0;l=5}else if((j|0)==1){k=(c[f+20>>2]|0)>=(c[f+16>>2]|0)&1;l=5}if((l|0)==5?(k|0)!=0:0){h=0;i=g;return h|0}a[b>>0]=0;k=c[f>>2]|0;if((k|0)==1){j=f+20|0;m=c[j>>2]|0;if((m|0)<(c[f+16>>2]|0)){c[j>>2]=m+1;n=d[(c[f+12>>2]|0)+m>>0]|0;l=10}else{o=0;l=11}}else if((k|0)==0){n=Ab(c[f+8>>2]|0)|0;l=10}else{o=0;l=11}if((l|0)==10)if((n|0)==10|(n|0)==13){p=n;q=0}else{o=n;l=11}a:do if((l|0)==11){a[b>>0]=o;n=f+8|0;k=f+20|0;m=f+16|0;j=f+12|0;r=e;s=o;t=1;while(1){u=c[f>>2]|0;if((u|0)==0){v=Vb(c[n>>2]|0)|0;l=15}else if((u|0)==1){v=(c[k>>2]|0)>=(c[m>>2]|0)&1;l=15}if((l|0)==15?(l=0,(v|0)!=0):0){p=s;q=t;break a}u=r+ -1|0;if((r|0)==0){p=s;q=t;break a}w=c[f>>2]|0;if((w|0)==0){x=Ab(c[n>>2]|0)|0;l=21}else if((w|0)==1?(w=c[k>>2]|0,(w|0)<(c[m>>2]|0)):0){c[k>>2]=w+1;x=d[(c[j>>2]|0)+w>>0]|0;l=21}else y=0;if((l|0)==21){l=0;if((x|0)==10|(x|0)==13){p=x;q=t;break a}else y=x}a[b+t>>0]=y;r=u;s=y;t=t+1|0}}while(0);a[b+q>>0]=0;if((p|0)!=13){h=b;i=g;return h|0}p=c[f>>2]|0;if((p|0)==1){q=f+20|0;y=c[q>>2]|0;if((y|0)<(c[f+16>>2]|0)){c[q>>2]=y+1;z=d[(c[f+12>>2]|0)+y>>0]|0;l=28}}else if((p|0)==0){z=Ab(c[f+8>>2]|0)|0;l=28}else{h=b;i=g;return h|0}if((l|0)==28){if((z|0)==10){h=b;i=g;return h|0}if((c[f>>2]|0)!=1){h=b;i=g;return h|0}}z=f+20|0;c[z>>2]=(c[z>>2]|0)+ -1;h=b;i=g;return h|0}function bl(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;c[f>>2]=0;c[g>>2]=0;if((_l(e,f,g,b)|0)!=0){h=0;i=d;return h|0}b=c[f>>2]|0;if((b|0)==0){h=0;i=d;return h|0}j=c[g>>2]|0;if((j|0)==0|b>>>0>8192|j>>>0>8192){h=0;i=d;return h|0}k=pl(b,j,32)|0;j=k+12|0;hp(c[j>>2]|0,c[e>>2]|0,aa(c[f>>2]<<2,c[g>>2]|0)|0)|0;b=aa(c[g>>2]|0,c[f>>2]|0)|0;if((b|0)!=0){f=b;b=c[j>>2]|0;while(1){j=a[b>>0]|0;g=b+2|0;a[b>>0]=a[g>>0]|0;a[g>>0]=j;f=f+ -1|0;if((f|0)==0)break;else b=b+4|0}}Am(c[e>>2]|0);h=k;i=d;return h|0}function cl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+512|0;f=e;do if((d|0)==0){g=Vk(b,959896)|0;h=7}else{j=a[b>>0]|0;if(!(!(j<<24>>24==126|j<<24>>24==92|j<<24>>24==47)?!((a[b+1>>0]|0)==58|(c[239960]|0)==0):0))h=4;if((h|0)==4?(j=Vk(b,959896)|0,(j|0)!=0):0){k=j;break}tn(b,f);g=Vk(f,959896)|0;h=7}while(0);if((h|0)==7)if((g|0)==0){l=0;i=e;return l|0}else k=g;g=bl(k)|0;if((On(k)|0)!=0){l=g;i=e;return l|0}if((c[k>>2]|0)==0)xb(c[k+8>>2]|0)|0;if((c[k+88>>2]|0)!=0)Am(c[k+12>>2]|0);Am(k);Gb(960152);l=g;i=e;return l|0}function dl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;f=d+4|0;g=pl(c[d>>2]|0,c[f>>2]|0,32)|0;h=d+8|0;j=c[h>>2]|0;if((j|0)==32){vk(d,g,0,0,0,0,c[d>>2]|0,c[f>>2]|0);k=c[h>>2]|0}else k=j;if((k|0)==8)Bl(d,g,c[288550]|0);k=g+12|0;j=c[d>>2]|0;h=c[f>>2]|0;l=aa(h,j)|0;if((l|0)==0){m=j;n=h;o=c[k>>2]|0;dm(b,o,m,n,6,8)|0;ql(g)|0;i=e;return 0}h=l;l=c[k>>2]|0;while(1){j=a[l>>0]|0;p=l+2|0;a[l>>0]=a[p>>0]|0;a[p>>0]=j;h=h+ -1|0;if((h|0)==0)break;else l=l+4|0}m=c[d>>2]|0;n=c[f>>2]|0;o=c[k>>2]|0;dm(b,o,m,n,6,8)|0;ql(g)|0;i=e;return 0}function el(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+1040|0;f=e;g=e+8|0;Bm(g,0,1024);c[f>>2]=d;Qo(g,b,f)|0;f=cp(g|0)|0;b=c[a>>2]|0;if((b|0)==1){d=a+20|0;h=c[d>>2]|0;if((c[a+88>>2]|0)==0)hp((c[a+12>>2]|0)+h|0,g|0,f|0)|0;else{Dm(a,h+f|0)|0;hp((c[a+12>>2]|0)+(c[d>>2]|0)|0,g|0,f|0)|0}h=(c[d>>2]|0)+f|0;c[d>>2]=h;d=a+16|0;j=c[d>>2]|0;c[d>>2]=(j|0)>(h|0)?j:h;i=e;return 0}else if((b|0)==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;db(g|0,1,f|0,c[a+8>>2]|0)|0;i=e;return 0}else{i=e;return 0}return 0}function fl(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,j=0,k=0;h=i;i=i+1040|0;j=h;k=h+16|0;Bm(k,0,1024);c[j>>2]=d;c[j+4>>2]=e;c[j+8>>2]=f;c[j+12>>2]=g;Qo(k,b,j)|0;j=cp(k|0)|0;b=c[a>>2]|0;if((b|0)==0){g=a+20|0;c[g>>2]=(c[g>>2]|0)+j;g=a+16|0;c[g>>2]=(c[g>>2]|0)+j;db(k|0,1,j|0,c[a+8>>2]|0)|0;i=h;return 0}else if((b|0)==1){b=a+20|0;g=c[b>>2]|0;if((c[a+88>>2]|0)==0)hp((c[a+12>>2]|0)+g|0,k|0,j|0)|0;else{Dm(a,g+j|0)|0;hp((c[a+12>>2]|0)+(c[b>>2]|0)|0,k|0,j|0)|0}k=(c[b>>2]|0)+j|0;c[b>>2]=k;b=a+16|0;a=c[b>>2]|0;c[b>>2]=(a|0)>(k|0)?a:k;i=h;return 0}else{i=h;return 0}return 0}function gl(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;c=i;d=Eb(a|0,959896)|0;if((d|0)==0){e=1;i=c;return e|0}a=Eb(b|0,959944)|0;if((a|0)==0){xb(d|0)|0;e=2;i=c;return e|0}b=ym(65536)|0;if((Vb(d|0)|0)==0)do{f=qa(b|0,1,65536,d|0)|0;db(b|0,1,f|0,a|0)|0}while((Vb(d|0)|0)==0&(f|0)!=0);Am(b);xb(d|0)|0;xb(a|0)|0;e=0;i=c;return e|0}function hl(){var a=0,b=0;a=i;b=ym(768)|0;ip(b|0,0,768)|0;c[237478]=(c[237478]|0)+1;i=a;return b|0}function il(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}Am(a);c[237478]=(c[237478]|0)+ -1;i=b;return}function jl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,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=i;f=ym((d<<2)+48|0)|0;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;c[f+40>>2]=0;c[f+32>>2]=0;c[f+24>>2]=0;c[f+28>>2]=a;c[f+36>>2]=b;c[f+44>>2]=d;g=aa(b,a)|0;h=f+12|0;c[h>>2]=ym(aa(g,d)|0)|0;j=f+16|0;c[j>>2]=f+48;if((d|0)<=0){k=c[237478]|0;l=k+1|0;c[237478]=l;i=e;return f|0}m=(b<<2)+52|0;if((b|0)>0)n=0;else{o=0;do{p=ym(m)|0;c[p>>2]=a;c[p+4>>2]=b;c[p+36>>2]=0;c[p+28>>2]=0;c[p+32>>2]=a;c[p+40>>2]=b;c[p+8>>2]=8;c[p+20>>2]=0;c[p+12>>2]=(c[h>>2]|0)+(aa(o,g)|0);c[p+16>>2]=p+52;c[(c[j>>2]|0)+(o<<2)>>2]=p;o=o+1|0}while((o|0)!=(d|0));k=c[237478]|0;l=k+1|0;c[237478]=l;i=e;return f|0}do{o=ym(m)|0;c[o>>2]=a;p=o+4|0;c[p>>2]=b;c[o+36>>2]=0;c[o+28>>2]=0;c[o+32>>2]=a;c[o+40>>2]=b;q=o+8|0;c[q>>2]=8;c[o+20>>2]=0;r=(c[h>>2]|0)+(aa(n,g)|0)|0;s=o+12|0;c[s>>2]=r;t=o+52|0;u=o+16|0;c[u>>2]=t;v=r;r=t;t=0;while(1){c[r+(t<<2)>>2]=v+(aa(t,a)|0);w=t+1|0;if((w|0)==(b|0))break;v=c[s>>2]|0;r=c[u>>2]|0;t=w}a:do if((c[288546]|0)!=(o|0)){t=a;r=1;s=0;while(1){Bm(c[(c[u>>2]|0)+(s<<2)>>2]|0,0,aa(r,t)|0);v=s+1|0;if((v|0)>=(c[p>>2]|0))break a;t=c[o>>2]|0;r=c[q>>2]>>3;s=v}}while(0);c[(c[j>>2]|0)+(n<<2)>>2]=o;n=n+1|0}while((n|0)!=(d|0));k=c[237478]|0;l=k+1|0;c[237478]=l;i=e;return f|0}function kl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;if((c[288546]|0)==(a|0)){i=b;return}d=a+4|0;if((c[d>>2]|0)<=0){i=b;return}e=a+16|0;f=a+8|0;g=0;do{Bm(c[(c[e>>2]|0)+(g<<2)>>2]|0,0,aa(c[f>>2]>>3,c[a>>2]|0)|0);g=g+1|0}while((g|0)<(c[d>>2]|0));i=b;return}function ll(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;if((a|0)==0){i=b;return 0}d=c[a+12>>2]|0;if((d|0)!=0)Am(d);d=a+8|0;if((c[d>>2]|0)>0){e=a+16|0;f=0;do{Am(c[(c[e>>2]|0)+(f<<2)>>2]|0);f=f+1|0}while((f|0)<(c[d>>2]|0))}Am(a);c[237478]=(c[237478]|0)+ -1;i=b;return 0}function ml(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 j=0,k=0,l=0,m=0,n=0,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=i;k=(d|0)>(f|0);l=k?d:f;m=k?f:d;d=(e|0)>(g|0);f=d?e:g;k=d?g:e;e=b+8|0;g=c[e>>2]|0;if((g|0)==32){d=b+36|0;n=b+40|0;o=b+28|0;p=b+32|0;q=h&255;r=b+16|0;s=k;while(1){a:do if(((c[288546]|0)!=(b|0)?(c[d>>2]|0)<=(s|0):0)?(c[n>>2]|0)>(s|0):0){t=c[o>>2]|0;u=(m|0)<(t|0)?t:m;t=(c[p>>2]|0)+ -1|0;v=(l|0)>(t|0)?t:l;t=c[e>>2]|0;if((t|0)==8){if((u|0)>(v|0))break;else w=u;while(1){a[(c[(c[r>>2]|0)+(s<<2)>>2]|0)+w>>0]=q;if((w|0)>=(v|0))break a;w=w+1|0}}else if((t|0)==32){if((u|0)>(v|0))break;x=c[(c[r>>2]|0)+(s<<2)>>2]|0;y=u;while(1){c[x+(y<<2)>>2]=h;if((y|0)<(v|0))y=y+1|0;else break}}else break}while(0);if((s|0)>=(f|0))break;s=s+1|0}z=c[e>>2]|0}else z=g;if((z|0)!=8){i=j;return}z=c[b+28>>2]|0;g=(m|0)<(z|0)?z:m;m=c[b+32>>2]|0;z=c[b+36>>2]|0;e=(k|0)<(z|0)?z:k;k=c[b+40>>2]|0;z=(f|0)<(k|0)?f+1|0:k;k=((l|0)<(m|0)?l+1|0:m)-g|0;if(!((k|0)>0&(e|0)<(z|0))){i=j;return}m=b+16|0;b=e;do{Bm((c[(c[m>>2]|0)+(b<<2)>>2]|0)+g|0,h,k);b=b+1|0}while((b|0)!=(z|0));i=j;return}function nl(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 ol(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|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;k=i;if((a|0)==0|(b|0)==0){i=k;return}l=c[b+8>>2]|0;if((l|0)!=(c[a+8>>2]|0)){i=k;return}m=c[a>>2]|0;if((m|0)<=(d|0)){i=k;return}n=c[a+4>>2]|0;if((n|0)<=(e|0)){i=k;return}o=c[b+32>>2]|0;if((o|0)<=(f|0)){i=k;return}p=c[b+40>>2]|0;if((p|0)<=(g|0)){i=k;return}if((d|0)<0){q=h+d|0;r=0;s=f-d|0}else{q=h;r=d;s=f}if((e|0)<0){t=j+e|0;u=g-e|0;v=0}else{t=j;u=g;v=e}e=(q+r|0)>(m|0)?m-r|0:q;q=(t+v|0)>(n|0)?n-v|0:t;t=c[b+28>>2]|0;if((s|0)<(t|0)){n=s-t|0;w=r-n|0;x=t;y=n+e|0}else{w=r;x=s;y=e}e=c[b+36>>2]|0;if((u|0)<(e|0)){s=u-e|0;z=v-s|0;A=e;B=s+q|0}else{z=v;A=u;B=q}q=(y+x|0)>(o|0)?o-x|0:y;y=(B+A|0)>(p|0)?p-A|0:B;if((q|0)<1|(y|0)<1){i=k;return}if((c[288546]|0)==(b|0)){nn(a,b,w,z,x,A,q,y,1);i=k;return}if((l|0)==32){En(a,b,w,z,x,A,q,y);i=k;return}else if((l|0)==8){Fn(a,b,w,z,x,A,q,y);i=k;return}else{i=k;return}}function pl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=i;if((a|0)<1|(b|0)<1){f=0;i=e;return f|0}g=ym((b<<2)+52|0)|0;c[g>>2]=a;h=g+4|0;c[h>>2]=b;c[g+36>>2]=0;c[g+28>>2]=0;c[g+32>>2]=a;c[g+40>>2]=b;j=g+8|0;c[j>>2]=d;c[g+20>>2]=0;k=d>>3;d=ym(aa(aa(b,a)|0,k)|0)|0;l=g+12|0;c[l>>2]=d;m=g+52|0;n=g+16|0;c[n>>2]=m;a:do if((b|0)>0){o=aa(k,a)|0;p=d;q=m;r=0;while(1){c[q+(r<<2)>>2]=p+(aa(o,r)|0);s=r+1|0;if((s|0)==(b|0))break a;p=c[l>>2]|0;q=c[n>>2]|0;r=s}}while(0);if((c[288546]|0)!=(g|0)?(c[h>>2]|0)>0:0){l=0;do{Bm(c[(c[n>>2]|0)+(l<<2)>>2]|0,0,aa(c[j>>2]>>3,c[g>>2]|0)|0);l=l+1|0}while((l|0)<(c[h>>2]|0))}c[237478]=(c[237478]|0)+1;f=g;i=e;return f|0}function ql(a){a=a|0;var b=0,d=0;b=i;if((a|0)==0){i=b;return 0}d=c[a+12>>2]|0;if((d|0)!=0)Am(d);Am(a);c[237478]=(c[237478]|0)+ -1;i=b;return 0}function rl(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;do if((((c[b+28>>2]|0)<=(d|0)?(c[b+36>>2]|0)<=(e|0):0)?(c[b+32>>2]|0)>(d|0):0)?(c[b+40>>2]|0)>(e|0):0){h=c[b+8>>2]|0;if((h|0)==8){a[(c[(c[b+16>>2]|0)+(e<<2)>>2]|0)+d>>0]=f;break}else if((h|0)==32){c[(c[(c[b+16>>2]|0)+(e<<2)>>2]|0)+(d<<2)>>2]=f;break}else break}while(0);i=g;return}function sl(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|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;k=i;l=c[d>>2]|0;m=c[a>>2]|0;if((((l|0)<=(m|0)?(n=c[e>>2]|0,o=a+4|0,(n|0)<(c[o>>2]|0)):0)?(p=b+32|0,(c[f>>2]|0)<(c[p>>2]|0)):0)?(q=b+40|0,(c[g>>2]|0)<(c[q>>2]|0)):0){if((l|0)>=(m|0)){i=k;return}if((l|0)<0){c[h>>2]=(c[h>>2]|0)+l;c[f>>2]=(c[f>>2]|0)-(c[d>>2]|0);c[d>>2]=0;r=c[e>>2]|0;s=0}else{r=n;s=l}if((r|0)<0){c[j>>2]=(c[j>>2]|0)+r;c[g>>2]=(c[g>>2]|0)-(c[e>>2]|0);c[e>>2]=0;t=c[d>>2]|0;u=0}else{t=s;u=r}r=c[a>>2]|0;if(((c[h>>2]|0)+t|0)>(r|0)){c[h>>2]=r-t;v=c[e>>2]|0}else v=u;u=c[o>>2]|0;if(((c[j>>2]|0)+v|0)>(u|0))c[j>>2]=u-v;v=c[f>>2]|0;u=b+28|0;o=c[u>>2]|0;if((v|0)<(o|0)){t=v-o|0;c[f>>2]=t;c[h>>2]=(c[h>>2]|0)+t;c[d>>2]=(c[d>>2]|0)-(c[f>>2]|0);d=c[u>>2]|0;c[f>>2]=d;w=d}else w=v;v=c[g>>2]|0;d=b+36|0;b=c[d>>2]|0;if((v|0)<(b|0)){u=v-b|0;c[g>>2]=u;c[j>>2]=(c[j>>2]|0)+u;c[e>>2]=(c[e>>2]|0)-(c[g>>2]|0);e=c[d>>2]|0;c[g>>2]=e;x=c[f>>2]|0;y=e}else{x=w;y=v}v=c[p>>2]|0;if(((c[h>>2]|0)+x|0)>(v|0)){c[h>>2]=v-x;z=c[g>>2]|0}else z=y;y=c[q>>2]|0;if(((c[j>>2]|0)+z|0)<=(y|0)){i=k;return}c[j>>2]=y-z;i=k;return}c[j>>2]=0;i=k;return}function tl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;if((b|0)==0|(c[288546]|0)==(b|0)){i=h;return}j=(e|0)<(d|0);k=j?d:e;l=j?e:d;if((c[b+36>>2]|0)>(f|0)){i=h;return}if((c[b+40>>2]|0)<=(f|0)){i=h;return}d=c[b+28>>2]|0;e=(l|0)<(d|0)?d:l;l=(c[b+32>>2]|0)+ -1|0;d=(k|0)>(l|0)?l:k;k=c[b+8>>2]|0;if((k|0)==8){if((e|0)>(d|0)){i=h;return}l=g&255;j=b+16|0;m=e;while(1){a[(c[(c[j>>2]|0)+(f<<2)>>2]|0)+m>>0]=l;if((m|0)<(d|0))m=m+1|0;else break}i=h;return}else if((k|0)==32){if((e|0)>(d|0)){i=h;return}k=c[(c[b+16>>2]|0)+(f<<2)>>2]|0;f=e;while(1){c[k+(f<<2)>>2]=g;if((f|0)<(d|0))f=f+1|0;else break}i=h;return}else{i=h;return}}function ul(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 j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=i;k=(b|0)==0;l=c[288546]|0;a:do if((!(k|(l|0)==(b|0))?(m=(g|0)<(e|0),n=m?e:g,o=m?g:e,(c[b+28>>2]|0)<=(d|0)):0)?(c[b+32>>2]|0)>(d|0):0){m=c[b+36>>2]|0;p=(o|0)<(m|0)?m:o;o=(c[b+40>>2]|0)+ -1|0;m=(n|0)>(o|0)?o:n;n=c[b+8>>2]|0;if((n|0)==32){if((p|0)>(m|0)){q=l;break}o=c[b+16>>2]|0;r=p;while(1){c[(c[o+(r<<2)>>2]|0)+(d<<2)>>2]=h;if((r|0)<(m|0))r=r+1|0;else{q=l;break a}}}else if((n|0)!=8){q=l;break}if((p|0)<=(m|0)){r=h&255;o=b+16|0;s=p;while(1){a[(c[(c[o>>2]|0)+(s<<2)>>2]|0)+d>>0]=r;if((s|0)<(m|0))s=s+1|0;else break}q=c[288546]|0}else q=l}else q=l;while(0);b:do if((!(k|(q|0)==(b|0))?(l=(g|0)<(e|0),s=l?e:g,m=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;r=(m|0)<(l|0)?l:m;m=(c[b+40>>2]|0)+ -1|0;l=(s|0)>(m|0)?m:s;s=c[b+8>>2]|0;if((s|0)==32){if((r|0)>(l|0)){t=q;break}m=c[b+16>>2]|0;o=r;while(1){c[(c[m+(o<<2)>>2]|0)+(f<<2)>>2]=h;if((o|0)<(l|0))o=o+1|0;else{t=q;break b}}}else if((s|0)!=8){t=q;break}if((r|0)<=(l|0)){o=h&255;m=b+16|0;p=r;while(1){a[(c[(c[m>>2]|0)+(p<<2)>>2]|0)+f>>0]=o;if((p|0)>=(l|0))break;p=p+1|0}t=c[288546]|0}else t=q}else t=q;while(0);c:do if((!(k|(t|0)==(b|0))?(q=(f|0)<(d|0),p=q?d:f,l=q?f:d,(c[b+36>>2]|0)<=(e|0)):0)?(c[b+40>>2]|0)>(e|0):0){q=c[b+28>>2]|0;o=(l|0)<(q|0)?q:l;l=(c[b+32>>2]|0)+ -1|0;q=(p|0)>(l|0)?l:p;p=c[b+8>>2]|0;if((p|0)==32){if((o|0)>(q|0)){u=t;break}l=c[(c[b+16>>2]|0)+(e<<2)>>2]|0;m=o;while(1){c[l+(m<<2)>>2]=h;if((m|0)<(q|0))m=m+1|0;else{u=t;break c}}}else if((p|0)!=8){u=t;break}if((o|0)<=(q|0)){m=h&255;l=b+16|0;r=o;while(1){a[(c[(c[l>>2]|0)+(e<<2)>>2]|0)+r>>0]=m;if((r|0)>=(q|0))break;r=r+1|0}u=c[288546]|0}else u=t}else u=t;while(0);if(k|(u|0)==(b|0)){i=j;return}u=(f|0)<(d|0);k=u?d:f;t=u?f:d;if((c[b+36>>2]|0)>(g|0)){i=j;return}if((c[b+40>>2]|0)<=(g|0)){i=j;return}d=c[b+28>>2]|0;f=(t|0)<(d|0)?d:t;t=(c[b+32>>2]|0)+ -1|0;d=(k|0)>(t|0)?t:k;k=c[b+8>>2]|0;if((k|0)==32){if((f|0)>(d|0)){i=j;return}t=c[(c[b+16>>2]|0)+(g<<2)>>2]|0;u=f;while(1){c[t+(u<<2)>>2]=h;if((u|0)<(d|0))u=u+1|0;else break}i=j;return}else if((k|0)==8){if((f|0)>(d|0)){i=j;return}k=h&255;h=b+16|0;b=f;while(1){a[(c[(c[h>>2]|0)+(g<<2)>>2]|0)+b>>0]=k;if((b|0)>=(d|0))break;b=b+1|0}i=j;return}else{i=j;return}}function vl(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 wl(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|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=i;if((b|0)==0|(d|0)==0|(g|0)==0|(h|0)==0){i=k;return}l=c[b>>2]|0;if((l|0)==(g|0)?(c[b+4>>2]|0)==(h|0):0)if((j&1|0)==0){vk(b,d,0,0,e,f,g,h);i=k;return}else{ol(b,d,0,0,e,f,g,h);i=k;return}m=c[d+8>>2]|0;if((m|0)!=(c[b+8>>2]|0)){i=k;return}n=(l<<16|0)/(g|0)|0;o=c[b+4>>2]|0;p=(o<<16|0)/(h|0)|0;q=((p|0)<0?o:0)+((p|0)/2|0)|0;o=c[d+36>>2]|0;if((o|0)>(f|0)){r=o-f|0;s=o;t=h-r|0;u=(aa(r,p)|0)+q|0}else{s=f;t=h;u=q}q=(n|0)/2|0;h=(n|0)<0?l+q|0:u;u=c[d+28>>2]|0;if((u|0)>(e|0)){l=u-e|0;v=u;w=g-l|0;x=(aa(l,n)|0)+q|0}else{v=e;w=g;x=q}q=c[d+32>>2]|0;g=q-v|0;e=(w|0)<(g|0)?w:g;g=(c[d+40>>2]|0)-s|0;l=(t|0)<(g|0)?t:g;if((m|0)==32){g=l+s|0;if((l|0)<=0){i=k;return}t=c[b+16>>2]|0;u=c[d+16>>2]|0;f=(j&1|0)==0;r=(e|0)>0;o=~w;y=v+ -1-q|0;z=~((y|0)<(o|0)?o:y);y=h;o=s;while(1){A=c[t+(y>>16<<2)>>2]|0;B=(c[u+(o<<2)>>2]|0)+(v<<2)|0;if(f){if(r){C=B;D=x;E=0;while(1){c[C>>2]=c[A+(D>>16<<2)>>2];E=E+1|0;if((E|0)==(z|0))break;else{C=C+4|0;D=D+n|0}}}}else if(r){D=B;C=x;E=0;while(1){F=c[A+(C>>16<<2)>>2]|0;G=c[D>>2]|0;H=F>>>24;if((H|0)==255)I=F&16777215;else if((H|0)==0)I=G&16777215;else{J=H^255;I=((((aa(G>>>8&255,J)|0)+(aa(F>>>8&255,H)|0)|0)>>>0)/255|0)<<8|((((aa(G>>>16&255,J)|0)+(aa(F>>>16&255,H)|0)|0)>>>0)/255|0)<<16|((((aa(G&255,J)|0)+(aa(F&255,H)|0)|0)>>>0)/255|0)}c[D>>2]=G&-16777216|I;E=E+1|0;if((E|0)==(z|0))break;else{D=D+4|0;C=C+n|0}}}o=o+1|0;if((o|0)>=(g|0))break;else y=y+p|0}i=k;return}else if((m|0)==8){m=l+s|0;if((l|0)<=0){i=k;return}l=b+16|0;b=d+16|0;d=(j&1|0)==0;j=(e|0)>0;e=~w;w=v+ -1-q|0;q=~((w|0)<(e|0)?e:w);w=h;h=s;while(1){s=c[(c[l>>2]|0)+(w>>16<<2)>>2]|0;e=(c[(c[b>>2]|0)+(h<<2)>>2]|0)+v|0;if(d){if(j){y=e;g=x;o=0;while(1){a[y>>0]=a[s+(g>>16)>>0]|0;o=o+1|0;if((o|0)==(q|0))break;else{y=y+1|0;g=g+n|0}}}}else if(j){g=e;y=x;o=0;while(1){z=a[s+(y>>16)>>0]|0;if(!(z<<24>>24==0))a[g>>0]=z;o=o+1|0;if((o|0)==(q|0))break;else{g=g+1|0;y=y+n|0}}}y=h+1|0;if((y|0)>=(m|0))break;w=w+p|0;h=y}i=k;return}else{i=k;return}}function xl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0;d=i;if((c|0)==0){e=a&16777215;i=d;return e|0}else if((c|0)==255){e=b&16777215;i=d;return e|0}else{f=255-c|0;e=((aa(b&255,c)|0)+(aa(a&255,f)|0)|0)/255|0|((((aa(b>>>8&255,c)|0)+(aa(a>>>8&255,f)|0)|0)/255|0)<<8|(((aa(b>>>16&255,c)|0)+(aa(a>>>16&255,f)|0)|0)/255|0)<<16);i=d;return e|0}return 0}function yl(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0;f=i;do if(((((a|0)!=0?(c[a+28>>2]|0)<=(b|0):0)?(c[a+36>>2]|0)<=(e|0):0)?(c[a+32>>2]|0)>(b|0):0)?(c[a+40>>2]|0)>(e|0):0){g=c[a+8>>2]|0;if((g|0)==8){h=d[(c[(c[a+16>>2]|0)+(e<<2)>>2]|0)+b>>0]|0;break}else if((g|0)==32){h=c[(c[(c[a+16>>2]|0)+(e<<2)>>2]|0)+(b<<2)>>2]|0;break}else{h=0;break}}else h=0;while(0);i=f;return h|0}function zl(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 j=0,k=0,l=0,m=0,n=0,o=0,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=i;a:do if((d|0)!=(f|0)){k=b+28|0;l=b+36|0;m=b+32|0;n=b+40|0;o=d;p=f;q=e;r=g;while(1){if((q|0)==(r|0)){s=14;break}t=c[k>>2]|0;u=(t|0)>(o|0)&1;v=c[l>>2]|0;w=(v|0)>(q|0)?u|2:u;u=c[m>>2]|0;x=(u|0)>(o|0)?w:w|4;w=c[n>>2]|0;y=(w|0)>(q|0)?x:x|8;x=(t|0)>(p|0)&1;z=(v|0)>(r|0)?x|2:x;x=(u|0)>(p|0)?z:z|4;z=(w|0)>(r|0)?x:x|8;if((y|z|0)==0){s=25;break}x=(y&1|0)!=0;if(x?(z&1|0)!=0:0){s=55;break}A=(y&2|0)!=0;if(A?(z&2|0)!=0:0){s=55;break}B=(y&4|0)!=0;if(B?(z&4|0)!=0:0){s=55;break}C=(y&8|0)!=0;if(C?(z&8|0)!=0:0){s=55;break}if(!x)if(B){B=u+ -1|0;x=(o-B<<16|0)/(o-p|0)|0;z=65536-x|0;y=(aa(z,o)|0)+(aa(x,p)|0)>>16;D=(aa(z,q)|0)+(aa(x,r)|0)>>16;E=(y|0)<(u|0)?y:B;F=D}else{E=o;F=q}else{D=(t-o<<16|0)/(p-o|0)|0;B=65536-D|0;y=(aa(B,o)|0)+(aa(D,p)|0)>>16;u=(aa(B,q)|0)+(aa(D,r)|0)>>16;E=(y|0)<(t|0)?t:y;F=u}if(!A)if(C){if((F|0)==(r|0)){s=55;break}C=w+ -1|0;A=(F-C<<16|0)/(F-r|0)|0;u=65536-A|0;y=(aa(u,E)|0)+(aa(A,p)|0)>>16;D=(aa(u,F)|0)+(aa(A,r)|0)>>16;G=y;H=(D|0)<(w|0)?D:C}else{G=E;H=F}else{if((F|0)==(r|0)){s=55;break}C=(v-F<<16|0)/(r-F|0)|0;D=65536-C|0;w=(aa(D,E)|0)+(aa(C,p)|0)>>16;y=(aa(D,F)|0)+(aa(C,r)|0)>>16;G=w;H=(y|0)<(v|0)?v:y}if((p|0)==(G|0)){I=p;J=r;K=H;break a}else{y=r;v=p;p=G;r=H;q=y;o=v}}if((s|0)==14){if((b|0)==0|(c[288546]|0)==(b|0)){i=j;return}v=(p|0)<(o|0);y=v?o:p;w=v?p:o;if((c[l>>2]|0)>(r|0)){i=j;return}if((c[n>>2]|0)<=(r|0)){i=j;return}v=c[k>>2]|0;C=(w|0)<(v|0)?v:w;w=(c[m>>2]|0)+ -1|0;v=(y|0)>(w|0)?w:y;y=c[b+8>>2]|0;if((y|0)==8){if((C|0)>(v|0)){i=j;return}w=h&255;D=b+16|0;A=C;while(1){a[(c[(c[D>>2]|0)+(r<<2)>>2]|0)+A>>0]=w;if((A|0)<(v|0))A=A+1|0;else break}i=j;return}else if((y|0)==32){if((C|0)>(v|0)){i=j;return}A=c[(c[b+16>>2]|0)+(r<<2)>>2]|0;w=C;while(1){c[A+(w<<2)>>2]=h;if((w|0)<(v|0))w=w+1|0;else break}i=j;return}else{i=j;return}}else if((s|0)==25){w=p-o|0;v=r-q|0;A=(w|0)<0?0-w|0:w;C=(v|0)<0?0-v|0:v;y=(A|0)>(C|0)?A:C;C=(y|0)==0?1:y;y=(w<<16|0)/(C|0)|0;w=(v<<16|0)/(C|0)|0;if(!((C|0)>-1)){i=j;return}v=b+8|0;A=h&255;D=b+16|0;u=t;B=C;C=o<<16|32768;x=q<<16|32768;while(1){z=C>>16;L=x>>16;do if((((u|0)<=(z|0)?(c[l>>2]|0)<=(L|0):0)?(c[m>>2]|0)>(z|0):0)?(c[n>>2]|0)>(L|0):0){M=c[v>>2]|0;if((M|0)==32){c[(c[(c[D>>2]|0)+(L<<2)>>2]|0)+(z<<2)>>2]=h;break}else if((M|0)==8){a[(c[(c[D>>2]|0)+(L<<2)>>2]|0)+z>>0]=A;break}else break}while(0);if((B|0)<=0)break;u=c[k>>2]|0;B=B+ -1|0;C=C+y|0;x=x+w|0}i=j;return}else if((s|0)==55){i=j;return}}else{I=d;J=e;K=g}while(0);if((b|0)==0|(c[288546]|0)==(b|0)){i=j;return}g=(K|0)<(J|0);e=g?J:K;d=g?K:J;if((c[b+28>>2]|0)>(I|0)){i=j;return}if((c[b+32>>2]|0)<=(I|0)){i=j;return}J=c[b+36>>2]|0;K=(d|0)<(J|0)?J:d;d=(c[b+40>>2]|0)+ -1|0;J=(e|0)>(d|0)?d:e;e=c[b+8>>2]|0;if((e|0)==8){if((K|0)>(J|0)){i=j;return}d=h&255;g=b+16|0;s=K;while(1){a[(c[(c[g>>2]|0)+(s<<2)>>2]|0)+I>>0]=d;if((s|0)<(J|0))s=s+1|0;else break}i=j;return}else if((e|0)==32){if((K|0)>(J|0)){i=j;return}e=c[b+16>>2]|0;b=K;while(1){c[(c[e+(b<<2)>>2]|0)+(I<<2)>>2]=h;if((b|0)<(J|0))b=b+1|0;else break}i=j;return}else{i=j;return}}function Al(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|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;n=i;i=i+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]=j;c[t>>2]=k;if((b|0)==0|(d|0)==0|(c[288546]|0)==(d|0)){i=n;return}sl(b,d,o,p,q,r,s,t);k=(m&1|0)!=0;if(k){c[o>>2]=(c[b>>2]|0)-(c[o>>2]|0)-(c[s>>2]|0);sl(b,d,o,p,q,r,s,t)}m=c[s>>2]|0;if((m|0)<0){i=n;return}j=(c[t>>2]|0)>0;if((c[d+8>>2]|0)==8){if(!j){i=n;return}h=b+16|0;g=d+16|0;f=l&255;e=m;u=0;while(1){v=(c[(c[h>>2]|0)+((c[p>>2]|0)+u<<2)>>2]|0)+(c[o>>2]|0)|0;w=c[q>>2]|0;x=c[(c[g>>2]|0)+((c[r>>2]|0)+u<<2)>>2]|0;y=(e|0)==0;if(k){if(!y){z=x+(w+ -1+e)|0;A=v;B=e;while(1){if((a[A>>0]|0)!=0)a[z>>0]=f;B=B+ -1|0;if((B|0)==0)break;else{z=z+ -1|0;A=A+1|0}}}}else if(!y){A=x+w|0;z=v;B=e;while(1){if((a[z>>0]|0)!=0)a[A>>0]=f;B=B+ -1|0;if((B|0)==0)break;else{A=A+1|0;z=z+1|0}}}z=u+1|0;if((z|0)>=(c[t>>2]|0))break;e=c[s>>2]|0;u=z}i=n;return}else{if(!j){i=n;return}j=c[b+16>>2]|0;b=c[d+16>>2]|0;d=m;m=0;while(1){u=(c[j+((c[p>>2]|0)+m<<2)>>2]|0)+(c[o>>2]|0)|0;e=c[q>>2]|0;f=c[b+((c[r>>2]|0)+m<<2)>>2]|0;g=(d|0)==0;if(k){if(!g){h=f+(e+ -4+(d<<2)<<2)|0;z=u;A=d;while(1){if((a[z>>0]|0)!=0)c[h>>2]=l;A=A+ -1|0;if((A|0)==0)break;else{h=h+ -4|0;z=z+1|0}}}}else if(!g){z=f+(e<<2)|0;h=u;A=d;while(1){if((a[h>>0]|0)!=0)c[z>>2]=l;A=A+ -1|0;if((A|0)==0)break;else{z=z+4|0;h=h+1|0}}}h=m+1|0;if((h|0)>=(c[t>>2]|0))break;d=c[s>>2]|0;m=h}i=n;return}}function Bl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;g=i;h=c[b>>2]|0;if((h|0)!=(c[e>>2]|0)){i=g;return}j=b+4|0;k=c[j>>2]|0;if((k|0)!=(c[e+4>>2]|0)){i=g;return}l=b+8|0;m=c[l>>2]|0;n=e+8|0;o=c[n>>2]|0;if((m|0)==(o|0)){vk(b,e,0,0,0,0,h,k);i=g;return}if((m|0)==8&(o|0)==32){if((k|0)<=0){i=g;return}o=b+16|0;p=e+16|0;q=k;r=h;s=0;while(1){if((r|0)>0){t=c[(c[o>>2]|0)+(s<<2)>>2]|0;u=c[(c[p>>2]|0)+(s<<2)>>2]|0;v=0;do{w=a[t+v>>0]|0;x=w&255;c[u+(v<<2)>>2]=(d[f+(x*3|0)>>0]|0)<<16|(w<<24>>24==0?0:-16777216)|(d[f+(x*3|0)+1>>0]|0)<<8|(d[f+(x*3|0)+2>>0]|0);v=v+1|0;y=c[b>>2]|0}while((v|0)<(y|0));z=y;A=c[j>>2]|0}else{z=r;A=q}s=s+1|0;if((s|0)>=(A|0))break;else{q=A;r=z}}B=z;C=c[l>>2]|0;D=A}else{B=h;C=m;D=k}if((C|0)!=32){i=g;return}if(!((c[n>>2]|0)==8&(D|0)>0)){i=g;return}C=(b|0)==0;k=e+28|0;m=e+36|0;h=e+32|0;A=e+40|0;z=e+16|0;e=b+28|0;r=b+36|0;q=b+32|0;s=b+40|0;y=b+16|0;p=D;D=B;B=0;while(1){if((D|0)>0){o=0;do{do if((((!C?(c[e>>2]|0)<=(o|0):0)?(c[r>>2]|0)<=(B|0):0)?(c[q>>2]|0)>(o|0):0)?(c[s>>2]|0)>(B|0):0){v=c[l>>2]|0;if((v|0)==32){E=c[(c[(c[y>>2]|0)+(B<<2)>>2]|0)+(o<<2)>>2]|0;break}else if((v|0)==8){E=d[(c[(c[y>>2]|0)+(B<<2)>>2]|0)+o>>0]|0;break}else{E=0;break}}else E=0;while(0);v=E>>>16&255;u=E>>>8&255;t=E&255;x=65536;w=-1;F=0;while(1){G=v-(d[f+(F*3|0)>>0]|0)|0;H=aa(G,G)|0;G=u-(d[f+(F*3|0)+1>>0]|0)|0;I=(aa(G,G)|0)+H|0;H=t-(d[f+(F*3|0)+2>>0]|0)|0;G=I+(aa(H,H)|0)|0;if((G|0)<192){J=F;break}H=(w|0)==-1|(G|0)<(x|0);I=H?F:w;F=F+1|0;if((F|0)>=256){J=I;break}else{x=H?G:x;w=I}}do if((((c[k>>2]|0)<=(o|0)?(c[m>>2]|0)<=(B|0):0)?(c[h>>2]|0)>(o|0):0)?(c[A>>2]|0)>(B|0):0){w=c[n>>2]|0;if((w|0)==32){c[(c[(c[z>>2]|0)+(B<<2)>>2]|0)+(o<<2)>>2]=J;break}else if((w|0)==8){a[(c[(c[z>>2]|0)+(B<<2)>>2]|0)+o>>0]=J;break}else break}while(0);o=o+1|0;K=c[b>>2]|0}while((o|0)<(K|0));L=c[j>>2]|0;M=K}else{L=p;M=D}B=B+1|0;if((B|0)>=(L|0))break;else{p=L;D=M}}i=g;return}function Cl(){var a=0;a=i;c[240048]=Zm(1024,72)|0;i=a;return}function Dl(){var a=0;a=i;$m(c[240048]|0);i=a;return}function El(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;a=i;i=i+16|0;b=a+8|0;d=a+4|0;e=a;f=c[240048]|0;if((f|0)==0){i=a;return}if((c[f+16>>2]|0)==0){i=a;return}wn(b,d,e);f=c[b>>2]|0;g=f-(c[240050]|0)|0;h=(c[d>>2]|0)-(c[240052]|0)|0;j=c[240048]|0;k=c[j+16>>2]|0;a:do if((k|0)>0){l=j;m=f;n=(aa(h,h)|0)+(aa(g,g)|0)|0;o=0;p=k;while(1){q=p+ -1|0;r=c[(c[l>>2]|0)+(c[(c[l+8>>2]|0)+(q<<2)>>2]<<2)>>2]|0;s=c[r+4>>2]|0;if((((m|0)>=(s|0)?(m|0)<((c[r+12>>2]|0)+s|0):0)?(s=c[d>>2]|0,t=c[r+8>>2]|0,(s|0)>=(t|0)):0)?(o|0)==0?(s|0)<((c[r+16>>2]|0)+t|0):0:0){t=r+20|0;u=c[t>>2]|0;v=u&2;if((c[e>>2]|0)==0){if((v|0)==0)hc[c[r+28>>2]&0](r,m,s,0,3)}else if((c[240054]|v|0)==0){c[t>>2]=u|2;u=r+28|0;hc[c[u>>2]&0](r,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,4);v=on()|0;if((v-(c[240056]|0)|0)<500&(n|0)<400)hc[c[u>>2]&0](r,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,11);c[240056]=on()|0;c[240050]=c[b>>2];c[240052]=c[d>>2]}u=c[t>>2]|0;if((u&1|0)==0){c[t>>2]=u|1;hc[c[r+28>>2]&0](r,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,1)}u=c[237561]|0;t=c[237562]|0;if((t|u|0)==0)w=1;else{hc[c[r+28>>2]&0](r,u,t,c[e>>2]|0,16);c[237561]=0;c[237562]=0;w=1}}else{t=r+20|0;u=c[t>>2]|0;if((u&1|0)==0)w=o;else{c[t>>2]=u&-2;hc[c[r+28>>2]&0](r,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,2);w=o}}u=r+20|0;t=c[u>>2]|0;if((t&2|0)!=0?(c[e>>2]|0)==0:0){c[u>>2]=t&-3;v=r+28|0;hc[c[v>>2]&0](r,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,6);s=on()|0;if((s-(c[240056]|0)|0)<500&(n|0)<400)hc[c[v>>2]&0](r,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,12);s=(c[b>>2]|0)-(c[240058]|0)|0;x=aa(s,s)|0;s=(c[d>>2]|0)-(c[240060]|0)|0;y=(aa(s,s)|0)+x|0;x=on()|0;if((x-(c[240062]|0)|0)<500&(y|0)<400)hc[c[v>>2]&0](r,c[b>>2]|0,c[d>>2]|0,c[e>>2]|0,15);c[240062]=on()|0;c[240058]=c[b>>2];c[240060]=c[d>>2];z=c[u>>2]|0;A=y}else{z=t;A=n}if((z&2|0)!=0?(t=c[e>>2]|0,(t|0)!=0):0)hc[c[r+28>>2]&0](r,c[b>>2]|0,c[d>>2]|0,t,5);if((q|0)<=0)break a;l=c[240048]|0;m=c[b>>2]|0;n=A;o=w;p=q}}while(0);c[240054]=c[e>>2];i=a;return}function Fl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;i=i+16|0;e=d+8|0;f=d+4|0;g=d;if((c[240048]|0)==0){i=d;return}wn(e,f,g);h=c[240048]|0;if((c[h+16>>2]|0)<=0){i=d;return}if((b|0)==0){j=h;k=0;do{l=c[(c[j>>2]|0)+(c[(c[j+8>>2]|0)+(k<<2)>>2]<<2)>>2]|0;hc[c[l+28>>2]&0](l,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,a);j=c[240048]|0;k=k+1|0}while((k|0)<(c[j+16>>2]|0));i=d;return}else{m=h;n=0}while(1){h=c[(c[m>>2]|0)+(c[(c[m+8>>2]|0)+(n<<2)>>2]<<2)>>2]|0;if((c[h>>2]|0)==(b|0)){hc[c[h+28>>2]&0](h,c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,a);o=c[240048]|0}else o=m;n=n+1|0;if((n|0)>=(c[o+16>>2]|0))break;else m=o}i=d;return}function Gl(){return(c[240064]|0)!=0|0}function Hl(){var a=0,b=0,d=0,e=0,f=0;a=i;b=c[240064]|0;if((b|0)==0){do{Bk()|0;d=c[240064]|0}while((d|0)==0);e=d}else e=b;b=c[240066]|0;d=e+ -1|0;if((d|0)>0)f=0;else{c[240064]=d;i=a;return b|0}do{e=f;f=f+1|0;c[960264+(e<<2)>>2]=c[960264+(f<<2)>>2]}while((f|0)<(d|0));c[240064]=d;i=a;return b|0}function Il(b){b=b|0;var c=0,d=0,e=0;c=i;switch(b|0){case-4:{d=a[960700]|0;if(!(d<<24>>24==0)){e=(a[961212]|0)==0|d<<24>>24==3?3:1;i=c;return e|0}d=a[960699]|0;if(d<<24>>24==0){e=0;i=c;return e|0}e=(a[961211]|0)==0|d<<24>>24==3?3:1;i=c;return e|0};case-2:{d=a[960703]|0;if(!(d<<24>>24==0)){e=(a[961215]|0)==0|d<<24>>24==3?3:1;i=c;return e|0}d=a[960704]|0;if(d<<24>>24==0){e=0;i=c;return e|0}e=(a[961216]|0)==0|d<<24>>24==3?3:1;i=c;return e|0};case-3:{d=a[960702]|0;if(!(d<<24>>24==0)){e=(a[961214]|0)==0|d<<24>>24==3?3:1;i=c;return e|0}d=a[960701]|0;if(d<<24>>24==0){e=0;i=c;return e|0}e=(a[961213]|0)==0|d<<24>>24==3?3:1;i=c;return e|0};case-5:{d=a[960698]|0;if(!(d<<24>>24==0)){e=(a[961210]|0)==0|d<<24>>24==3?3:1;i=c;return e|0}d=a[960697]|0;if(!(d<<24>>24==0)){e=(a[961209]|0)==0|d<<24>>24==3?3:1;i=c;return e|0}d=a[960702]|0;if(!(d<<24>>24==0)){e=(a[961214]|0)==0|d<<24>>24==3?3:1;i=c;return e|0}d=a[960701]|0;if(d<<24>>24==0){e=0;i=c;return e|0}e=(a[961213]|0)==0|d<<24>>24==3?3:1;i=c;return e|0};case-6:{d=a[960696]|0;if(!(d<<24>>24==0)){e=(a[961208]|0)==0|d<<24>>24==3?3:1;i=c;return e|0}d=a[960695]|0;if(d<<24>>24==0){e=0;i=c;return e|0}e=(a[961207]|0)==0|d<<24>>24==3?3:1;i=c;return e|0};default:{d=a[960392+b>>0]|0;if(d<<24>>24==0){e=0;i=c;return e|0}else{i=c;return((a[960904+b>>0]|0)==0|d<<24>>24==3?3:1)|0}}}return 0}function Jl(){var a=0;a=i;ip(960392,0,512)|0;ip(960904,0,512)|0;i=a;return}function Kl(){return}
function ff(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;h=i;i=i+112|0;j=h;k=h+4|0;l=e+28|0;m=f;n=c[l>>2]|0;o=m-n|0;p=c[f+4>>2]|0;q=p&63;if((q|0)==38)r=(c[f>>2]|0)+12|0;else if((q|0)==6){s=c[(c[f>>2]|0)+12>>2]|0;t=e+8|0;u=c[t>>2]|0;v=u-m>>3;m=v+ -1|0;w=e+24|0;x=s+78|0;y=d[x>>0]|0;do if(((c[w>>2]|0)-u>>3|0)<=(y|0)){z=c[e+32>>2]|0;if((z|0)>1e6)af(e,6);A=y+5+(u-n>>3)|0;B=z<<1;z=(B|0)>1e6?1e6:B;B=(z|0)<(A|0)?A:z;if((B|0)>1e6){bf(e,1000200);Ye(e,75904,j)}else{bf(e,B);break}}while(0);u=s+76|0;y=d[u>>0]|0;if((v|0)>(y|0)){C=y;D=m}else{y=c[t>>2]|0;v=m;while(1){m=y;y=y+8|0;c[t>>2]=y;c[m+4>>2]=0;m=v+1|0;B=d[u>>0]|0;if((m|0)>=(B|0)){C=B;D=m;break}else v=m}}if((a[s+77>>0]|0)==0){v=c[l>>2]|0;E=v;F=v+(o+8)|0}else{v=c[t>>2]|0;u=v;y=d[x>>0]|0;do if(((c[w>>2]|0)-u>>3|0)<=(y|0)){m=c[e+32>>2]|0;if((m|0)>1e6)af(e,6);B=y+5+(u-(c[l>>2]|0)>>3)|0;z=m<<1;m=(z|0)>1e6?1e6:z;z=(m|0)<(B|0)?B:m;if((z|0)>1e6){bf(e,1000200);Ye(e,75904,j)}else{bf(e,z);G=c[t>>2]|0;break}}else G=v;while(0);a:do if((C|0)!=0){v=G;u=0;while(1){y=u-D|0;c[t>>2]=v+8;c[v>>2]=c[G+(y<<3)>>2];z=G+(y<<3)+4|0;c[v+4>>2]=c[z>>2];c[z>>2]=0;z=u+1|0;if((z|0)>=(C|0))break a;v=c[t>>2]|0;u=z}}while(0);E=c[l>>2]|0;F=G}G=E+o|0;E=e+16|0;C=c[(c[E>>2]|0)+12>>2]|0;D=e+12|0;if((C|0)==0){u=c[D>>2]|0;v=u+4|0;z=oc[c[u>>2]&1](c[v>>2]|0,0,0,40)|0;if((z|0)==0){if((a[u+51>>0]|0)==0)af(e,4);Zd(e,1);y=oc[c[u>>2]&1](c[v>>2]|0,0,0,40)|0;if((y|0)==0)af(e,4);else H=y}else H=z;z=u+12|0;c[z>>2]=(c[z>>2]|0)+40;c[(c[E>>2]|0)+12>>2]=H;c[H+8>>2]=c[E>>2];c[H+12>>2]=0;I=H}else I=C;c[E>>2]=I;b[I+16>>1]=g;c[I>>2]=G;c[I+24>>2]=F;G=F+(d[x>>0]<<3)|0;c[I+4>>2]=G;x=I+28|0;c[x>>2]=c[s+12>>2];s=I+18|0;a[s>>0]=1;c[t>>2]=G;G=c[D>>2]|0;D=G+12|0;F=c[D>>2]|0;do if((F|0)>0)if((a[G+51>>0]|0)==0){C=G+8|0;c[C>>2]=F+1600+(c[C>>2]|0);c[D>>2]=-1600;break}else{_d(e);break}while(0);if((a[e+40>>0]&1)==0){J=0;i=h;return J|0}D=(c[x>>2]|0)+4|0;c[x>>2]=D;F=c[I+8>>2]|0;if(!((a[F+18>>0]&1)==0)?(c[(c[F+28>>2]|0)+ -4>>2]&63|0)==30:0){a[s>>0]=d[s>>0]|64;K=4}else K=0;s=c[e+52>>2]|0;if((s|0)!=0?(F=e+41|0,(a[F>>0]|0)!=0):0){I=c[E>>2]|0;E=c[t>>2]|0;G=E;C=c[l>>2]|0;H=G-C|0;z=I+4|0;u=(c[z>>2]|0)-C|0;c[k>>2]=K;c[k+20>>2]=-1;c[k+96>>2]=I;do if(((c[w>>2]|0)-G|0)<168){K=c[e+32>>2]|0;if((K|0)>1e6)af(e,6);C=(H>>3)+25|0;y=K<<1;K=(y|0)>1e6?1e6:y;y=(K|0)<(C|0)?C:K;if((y|0)>1e6){bf(e,1000200);Ye(e,75904,j)}else{bf(e,y);L=c[t>>2]|0;break}}else L=E;while(0);c[z>>2]=L+160;a[F>>0]=0;L=I+18|0;a[L>>0]=d[L>>0]|2;kc[s&15](e,k);a[F>>0]=1;c[z>>2]=(c[l>>2]|0)+u;c[t>>2]=(c[l>>2]|0)+H;a[L>>0]=d[L>>0]&253;M=c[x>>2]|0}else M=D;c[x>>2]=M+ -4;J=0;i=h;return J|0}else if((q|0)==22)r=f;else{q=p&15;if((q|0)==5)N=(c[f>>2]|0)+8|0;else if((q|0)==7)N=(c[f>>2]|0)+8|0;else N=(c[e+12>>2]|0)+(q<<2)+224|0;q=c[N>>2]|0;b:do if((q|0)==0)O=75600;else{N=c[(c[e+12>>2]|0)+220>>2]|0;p=(c[q+16>>2]|0)+(((1<<d[q+7>>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;M=c[p+16>>2]|0;if((M|0)==0){O=75600;break b}else p=M}O=p}while(0);q=O+4|0;if((c[q>>2]&15|0)!=6)We(e,f,79752);N=e+8|0;M=c[N>>2]|0;if(M>>>0>f>>>0){x=M;do{D=x;x=x+ -8|0;c[D>>2]=c[x>>2];c[D+4>>2]=c[D+ -4>>2]}while(x>>>0>f>>>0);P=c[N>>2]|0}else P=M;M=P+8|0;c[N>>2]=M;N=M;do if(((c[e+24>>2]|0)-N|0)<8){M=c[e+32>>2]|0;if((M|0)>1e6)af(e,6);P=(N-(c[l>>2]|0)>>3)+5|0;f=M<<1;M=(f|0)>1e6?1e6:f;f=(M|0)<(P|0)?P:M;if((f|0)>1e6){bf(e,1000200);Ye(e,75904,j)}else{bf(e,f);break}}while(0);N=c[l>>2]|0;f=N+o|0;c[f>>2]=c[O>>2];c[N+(o+4)>>2]=c[q>>2];J=ff(e,f,g)|0;i=h;return J|0}f=c[r>>2]|0;r=e+8|0;q=c[r>>2]|0;do if(((c[e+24>>2]|0)-q|0)<168){N=c[e+32>>2]|0;if((N|0)>1e6)af(e,6);O=(q-n>>3)+25|0;M=N<<1;N=(M|0)>1e6?1e6:M;M=(N|0)<(O|0)?O:N;if((M|0)>1e6){bf(e,1000200);Ye(e,75904,j)}else{bf(e,M);break}}while(0);j=e+16|0;n=c[(c[j>>2]|0)+12>>2]|0;q=e+12|0;if((n|0)==0){M=c[q>>2]|0;N=M+4|0;O=oc[c[M>>2]&1](c[N>>2]|0,0,0,40)|0;if((O|0)==0){if((a[M+51>>0]|0)==0)af(e,4);Zd(e,1);P=oc[c[M>>2]&1](c[N>>2]|0,0,0,40)|0;if((P|0)==0)af(e,4);else Q=P}else Q=O;O=M+12|0;c[O>>2]=(c[O>>2]|0)+40;c[(c[j>>2]|0)+12>>2]=Q;c[Q+8>>2]=c[j>>2];c[Q+12>>2]=0;R=Q}else R=n;c[j>>2]=R;b[R+16>>1]=g;c[R>>2]=(c[l>>2]|0)+o;c[R+4>>2]=(c[r>>2]|0)+160;a[R+18>>0]=0;R=c[q>>2]|0;q=R+12|0;o=c[q>>2]|0;do if((o|0)>0)if((a[R+51>>0]|0)==0){l=R+8|0;c[l>>2]=o+1600+(c[l>>2]|0);c[q>>2]=-1600;break}else{_d(e);break}while(0);if(!((a[e+40>>0]&1)==0))ef(e,0,-1);q=lc[f&127](e)|0;gf(e,(c[r>>2]|0)+(0-q<<3)|0)|0;J=1;i=h;return J|0}function gf(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;g=i;i=i+112|0;h=g;j=g+4|0;k=e+16|0;l=c[k>>2]|0;m=d[e+40>>0]|0;if((m&6|0)==0){n=f;o=l+8|0}else{if((m&2|0)==0)p=f;else{m=e+28|0;q=c[m>>2]|0;r=q;s=f-r|0;f=c[e+52>>2]|0;if((f|0)!=0?(t=e+41|0,(a[t>>0]|0)!=0):0){u=e+8|0;v=c[u>>2]|0;w=v;x=w-r|0;y=l+4|0;z=(c[y>>2]|0)-r|0;c[j>>2]=1;c[j+20>>2]=-1;c[j+96>>2]=l;do if(((c[e+24>>2]|0)-w|0)<168){r=c[e+32>>2]|0;if((r|0)>1e6)af(e,6);A=(x>>3)+25|0;B=r<<1;r=(B|0)>1e6?1e6:B;B=(r|0)<(A|0)?A:r;if((B|0)>1e6){bf(e,1000200);Ye(e,75904,h)}else{bf(e,B);C=c[u>>2]|0;break}}else C=v;while(0);c[y>>2]=C+160;a[t>>0]=0;C=l+18|0;a[C>>0]=d[C>>0]|2;kc[f&15](e,j);a[t>>0]=1;c[y>>2]=(c[m>>2]|0)+z;c[u>>2]=(c[m>>2]|0)+x;a[C>>0]=d[C>>0]&253;D=c[m>>2]|0}else D=q;p=D+s|0}s=l+8|0;c[e+20>>2]=c[(c[s>>2]|0)+28>>2];n=p;o=s}s=c[l>>2]|0;p=b[l+16>>1]|0;l=p<<16>>16;c[k>>2]=c[o>>2];o=e+8|0;if(p<<16>>16==0){E=s;c[o>>2]=E;F=l+1|0;i=g;return F|0}else{G=n;H=l;I=s}while(1){if(!(G>>>0<(c[o>>2]|0)>>>0))break;s=I+8|0;c[I>>2]=c[G>>2];c[I+4>>2]=c[G+4>>2];n=H+ -1|0;if((n|0)==0){E=s;J=21;break}else{G=G+8|0;H=n;I=s}}if((J|0)==21){c[o>>2]=E;F=l+1|0;i=g;return F|0}if((H|0)>0){K=H;L=I}else{E=I;c[o>>2]=E;F=l+1|0;i=g;return F|0}while(1){K=K+ -1|0;c[L+4>>2]=0;if((K|0)<=0)break;else L=L+8|0}E=I+(H<<3)|0;c[o>>2]=E;F=l+1|0;i=g;return F|0}function hf(e){e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;f=i;i=i+128|0;g=f;h=f+16|0;j=f+12|0;k=f+8|0;l=e+16|0;m=e+40|0;n=e+12|0;o=e+8|0;p=e+38|0;q=g+4|0;r=e+24|0;s=e+32|0;t=e+28|0;u=e+48|0;v=e+52|0;w=e+41|0;x=h+20|0;y=h+96|0;z=e+20|0;A=e+6|0;B=h+20|0;C=h+96|0;D=e+44|0;E=c[l>>2]|0;a:while(1){F=c[c[E>>2]>>2]|0;G=F+12|0;H=c[(c[G>>2]|0)+8>>2]|0;I=E+24|0;J=E+28|0;K=F+16|0;F=E+4|0;L=c[I>>2]|0;b:while(1){M=c[J>>2]|0;c[J>>2]=M+4;N=c[M>>2]|0;M=a[m>>0]|0;do if((M&12)==0)O=L;else{P=(c[u>>2]|0)+ -1|0;c[u>>2]=P;Q=(P|0)==0;if(!Q?(M&4)==0:0){O=L;break}R=c[l>>2]|0;P=M&255;if((P&8|0)==0|Q^1)S=0;else{c[u>>2]=c[D>>2];S=1}T=R+18|0;Q=d[T>>0]|0;if((Q&128|0)==0){if((S?(U=c[v>>2]|0,(U|0)!=0):0)?(a[w>>0]|0)!=0:0){V=c[o>>2]|0;W=V;X=c[t>>2]|0;Y=W-X|0;Z=R+4|0;_=(c[Z>>2]|0)-X|0;c[h>>2]=3;c[x>>2]=-1;c[y>>2]=R;if(((c[r>>2]|0)-W|0)<168){W=c[s>>2]|0;if((W|0)>1e6){$=15;break a}X=(Y>>3)+25|0;aa=W<<1;W=(aa|0)>1e6?1e6:aa;aa=(W|0)<(X|0)?X:W;if((aa|0)>1e6){$=17;break a}bf(e,aa);ba=c[o>>2]|0}else ba=V;c[Z>>2]=ba+160;a[w>>0]=0;a[T>>0]=d[T>>0]|2;kc[U&15](e,h);a[w>>0]=1;c[Z>>2]=(c[t>>2]|0)+_;c[o>>2]=(c[t>>2]|0)+Y;a[T>>0]=d[T>>0]&253}do if((P&4|0)!=0){Y=c[(c[c[R>>2]>>2]|0)+12>>2]|0;_=R+28|0;Z=c[_>>2]|0;U=c[Y+12>>2]|0;V=(Z-U>>2)+ -1|0;aa=c[Y+20>>2]|0;Y=(aa|0)==0;if(Y)ca=0;else ca=c[aa+(V<<2)>>2]|0;if((V|0)!=0?(V=c[z>>2]|0,Z>>>0>V>>>0):0){if(Y)da=0;else da=c[aa+((V-U>>2)+ -1<<2)>>2]|0;if((ca|0)==(da|0)){ea=_;break}}U=c[v>>2]|0;if((U|0)!=0?(a[w>>0]|0)!=0:0){V=c[l>>2]|0;aa=c[o>>2]|0;Y=aa;Z=c[t>>2]|0;W=Y-Z|0;X=V+4|0;fa=(c[X>>2]|0)-Z|0;c[h>>2]=2;c[B>>2]=ca;c[C>>2]=V;if(((c[r>>2]|0)-Y|0)<168){Y=c[s>>2]|0;if((Y|0)>1e6){$=33;break a}Z=(W>>3)+25|0;ga=Y<<1;Y=(ga|0)>1e6?1e6:ga;ga=(Y|0)<(Z|0)?Z:Y;if((ga|0)>1e6){$=35;break a}bf(e,ga);ha=c[o>>2]|0}else ha=aa;c[X>>2]=ha+160;a[w>>0]=0;aa=V+18|0;a[aa>>0]=d[aa>>0]|2;kc[U&15](e,h);a[w>>0]=1;c[X>>2]=(c[t>>2]|0)+fa;c[o>>2]=(c[t>>2]|0)+W;a[aa>>0]=d[aa>>0]&253;ea=_}else ea=_}else ea=R+28|0;while(0);c[z>>2]=c[ea>>2];if((a[A>>0]|0)==1){$=39;break a}}else a[T>>0]=Q&127;O=c[I>>2]|0}while(0);ia=N>>>6&255;ja=O+(ia<<3)|0;do switch(N&63|0){case 1:{M=N>>>14;c[ja>>2]=c[H+(M<<3)>>2];c[O+(ia<<3)+4>>2]=c[H+(M<<3)+4>>2];L=O;continue b;break};case 0:{M=N>>>23;c[ja>>2]=c[O+(M<<3)>>2];c[O+(ia<<3)+4>>2]=c[O+(M<<3)+4>>2];L=O;continue b;break};case 3:{c[ja>>2]=N>>>23;c[O+(ia<<3)+4>>2]=1;if((N&8372224|0)==0){L=O;continue b}c[J>>2]=(c[J>>2]|0)+4;L=O;continue b;break};case 8:{M=N>>>23;if((M&256|0)==0)ka=O+(M<<3)|0;else ka=H+((M&255)<<3)|0;M=N>>>14;if((M&256|0)==0)la=O+((M&511)<<3)|0;else la=H+((M&255)<<3)|0;Od(e,c[(c[K+(ia<<2)>>2]|0)+8>>2]|0,ka,la);L=c[I>>2]|0;continue b;break};case 12:{M=N>>>23;P=O+(M<<3)|0;_=ia+1|0;c[O+(_<<3)>>2]=c[P>>2];c[O+(_<<3)+4>>2]=c[O+(M<<3)+4>>2];M=N>>>14;if((M&256|0)==0)ma=O+((M&511)<<3)|0;else ma=H+((M&255)<<3)|0;Jd(e,P,ma,ja);L=c[I>>2]|0;continue b;break};case 13:{P=N>>>23;if((P&256|0)==0)na=O+(P<<3)|0;else na=H+((P&255)<<3)|0;P=N>>>14;if((P&256|0)==0)oa=O+((P&511)<<3)|0;else oa=H+((P&255)<<3)|0;if((c[na+4>>2]|0)==3?(c[oa+4>>2]|0)==3:0){c[ja>>2]=(c[oa>>2]|0)+(c[na>>2]|0);c[O+(ia<<3)+4>>2]=3;L=O;continue b}pd(e,ja,na,oa,6);L=c[I>>2]|0;continue b;break};case 11:{P=N>>>23;M=N>>>14;_=M&511;aa=c[n>>2]|0;W=aa+4|0;fa=oc[c[aa>>2]&1](c[W>>2]|0,0,5,32)|0;if((fa|0)==0){if((a[aa+51>>0]|0)==0){$=83;break a}Zd(e,1);X=oc[c[aa>>2]&1](c[W>>2]|0,0,5,32)|0;if((X|0)==0){$=83;break a}else pa=X}else pa=fa;fa=aa+12|0;c[fa>>2]=(c[fa>>2]|0)+32;fa=aa+56|0;a[pa+5>>0]=d[aa+48>>0]&3;a[pa+4>>0]=5;c[pa>>2]=c[fa>>2];c[fa>>2]=pa;c[pa+8>>2]=0;a[pa+6>>0]=-1;c[pa+12>>2]=0;c[pa+28>>2]=0;c[pa+16>>2]=77456;a[pa+7>>0]=0;c[pa+20>>2]=77456;c[ja>>2]=pa;c[O+(ia<<3)+4>>2]=69;if((_|P|0)!=0){fa=N>>>26&31;if((fa|0)==0)qa=P;else qa=(P&7|8)<<fa+ -1;fa=N>>>17&31;if((fa|0)==0)ra=_;else ra=(M&7|8)<<fa+ -1;Md(e,pa,qa,ra)}fa=c[n>>2]|0;M=fa+12|0;_=c[M>>2]|0;if((_|0)>0){c[o>>2]=O+(ia+1<<3);if((a[fa+51>>0]|0)==0){P=fa+8|0;c[P>>2]=_+1600+(c[P>>2]|0);c[M>>2]=-1600}else _d(e);c[o>>2]=c[F>>2]}L=c[I>>2]|0;continue b;break};case 15:{M=N>>>23;if((M&256|0)==0)sa=O+(M<<3)|0;else sa=H+((M&255)<<3)|0;M=N>>>14;if((M&256|0)==0)ta=O+((M&511)<<3)|0;else ta=H+((M&255)<<3)|0;if((c[sa+4>>2]|0)==3?(c[ta+4>>2]|0)==3:0){c[ja>>2]=ej(c[sa>>2]|0,c[ta>>2]|0)|0;c[O+(ia<<3)+4>>2]=3;L=O;continue b}pd(e,ja,sa,ta,8);L=c[I>>2]|0;continue b;break};case 4:{M=N>>>23;P=ja;while(1){c[P+4>>2]=0;if((M|0)==0){L=O;continue b}else{M=M+ -1|0;P=P+8|0}}break};case 2:{P=c[J>>2]|0;c[J>>2]=P+4;M=(c[P>>2]|0)>>>6;c[ja>>2]=c[H+(M<<3)>>2];c[O+(ia<<3)+4>>2]=c[H+(M<<3)+4>>2];L=O;continue b;break};case 10:{M=N>>>23;if((M&256|0)==0)ua=O+(M<<3)|0;else ua=H+((M&255)<<3)|0;M=N>>>14;if((M&256|0)==0)va=O+((M&511)<<3)|0;else va=H+((M&255)<<3)|0;Od(e,ja,ua,va);L=c[I>>2]|0;continue b;break};case 7:{M=N>>>14;if((M&256|0)==0)wa=O+((M&511)<<3)|0;else wa=H+((M&255)<<3)|0;Jd(e,O+(N>>>23<<3)|0,wa,ja);L=c[I>>2]|0;continue b;break};case 5:{M=c[(c[K+(N>>>23<<2)>>2]|0)+8>>2]|0;c[ja>>2]=c[M>>2];c[O+(ia<<3)+4>>2]=c[M+4>>2];L=O;continue b;break};case 6:{M=N>>>14;if((M&256|0)==0)xa=O+((M&511)<<3)|0;else xa=H+((M&255)<<3)|0;Jd(e,c[(c[K+(N>>>23<<2)>>2]|0)+8>>2]|0,xa,ja);L=c[I>>2]|0;continue b;break};case 9:{M=c[K+(N>>>23<<2)>>2]|0;P=c[M+8>>2]|0;c[P>>2]=c[ja>>2];Q=O+(ia<<3)+4|0;c[P+4>>2]=c[Q>>2];if((c[Q>>2]&64|0)==0){L=O;continue b}Q=c[ja>>2]|0;if((a[Q+5>>0]&3)==0){L=O;continue b}P=M+5|0;M=a[P>>0]|0;if((M&4)==0){L=O;continue b}_=c[n>>2]|0;if((d[_+49>>0]|0)<2){rf(_,Q);L=O;continue b}else{a[P>>0]=d[_+48>>0]&3|M&184;L=O;continue b}break};case 17:{M=N>>>23;if((M&256|0)==0)ya=O+(M<<3)|0;else ya=H+((M&255)<<3)|0;M=N>>>14;if((M&256|0)==0)za=O+((M&511)<<3)|0;else za=H+((M&255)<<3)|0;if((c[ya+4>>2]|0)==3?(c[za+4>>2]|0)==3:0){c[ja>>2]=gj(c[ya>>2]|0,c[za>>2]|0)|0;c[O+(ia<<3)+4>>2]=3;L=O;continue b}pd(e,ja,ya,za,10);L=c[I>>2]|0;continue b;break};case 14:{M=N>>>23;if((M&256|0)==0)Aa=O+(M<<3)|0;else Aa=H+((M&255)<<3)|0;M=N>>>14;if((M&256|0)==0)Ba=O+((M&511)<<3)|0;else Ba=H+((M&255)<<3)|0;if((c[Aa+4>>2]|0)==3?(c[Ba+4>>2]|0)==3:0){c[ja>>2]=(c[Aa>>2]|0)-(c[Ba>>2]|0);c[O+(ia<<3)+4>>2]=3;L=O;continue b}pd(e,ja,Aa,Ba,7);L=c[I>>2]|0;continue b;break};case 16:{M=N>>>23;if((M&256|0)==0)Ca=O+(M<<3)|0;else Ca=H+((M&255)<<3)|0;M=N>>>14;if((M&256|0)==0)Da=O+((M&511)<<3)|0;else Da=H+((M&255)<<3)|0;if((c[Ca+4>>2]|0)==3?(c[Da+4>>2]|0)==3:0){c[ja>>2]=fj(c[Ca>>2]|0,c[Da>>2]|0)|0;c[O+(ia<<3)+4>>2]=3;L=O;continue b}pd(e,ja,Ca,Da,9);L=c[I>>2]|0;continue b;break};case 19:{M=N>>>23;_=O+(M<<3)|0;if((c[O+(M<<3)+4>>2]|0)==3){c[ja>>2]=0-(c[_>>2]|0);c[O+(ia<<3)+4>>2]=3;L=O;continue b}else{pd(e,ja,_,_,12);L=c[I>>2]|0;continue b}break};case 20:{_=N>>>23;M=c[O+(_<<3)+4>>2]|0;if((M|0)!=0)if((M|0)==1)Ea=(c[O+(_<<3)>>2]|0)==0;else Ea=0;else Ea=1;c[ja>>2]=Ea&1;c[O+(ia<<3)+4>>2]=1;L=O;continue b;break};case 18:{_=N>>>23;if((_&256|0)==0)Fa=O+(_<<3)|0;else Fa=H+((_&255)<<3)|0;_=N>>>14;if((_&256|0)==0)Ga=O+((_&511)<<3)|0;else Ga=H+((_&255)<<3)|0;if((c[Fa+4>>2]|0)==3?(c[Ga+4>>2]|0)==3:0){c[ja>>2]=hj(c[Fa>>2]|0,c[Ga>>2]|0)|0;c[O+(ia<<3)+4>>2]=3;L=O;continue b}pd(e,ja,Fa,Ga,11);L=c[I>>2]|0;continue b;break};case 23:{if((ia|0)!=0)mf(e,(c[I>>2]|0)+(ia+ -1<<3)|0);c[J>>2]=(c[J>>2]|0)+((N>>>14)+ -131071<<2);L=O;continue b;break};case 24:{_=N>>>23;if((_&256|0)==0)Ha=O+(_<<3)|0;else Ha=H+((_&255)<<3)|0;_=N>>>14;if((_&256|0)==0)Ia=O+((_&511)<<3)|0;else Ia=H+((_&255)<<3)|0;if((c[Ha+4>>2]|0)==(c[Ia+4>>2]|0))Ja=(od(e,Ha,Ia)|0)!=0;else Ja=0;_=c[J>>2]|0;if((Ja&1|0)==(ia|0)){M=c[_>>2]|0;P=M>>>6&255;if((P|0)==0)Ka=_;else{mf(e,(c[I>>2]|0)+(P+ -1<<3)|0);Ka=c[J>>2]|0}La=Ka+((M>>>14)+ -131070<<2)|0}else La=_+4|0;c[J>>2]=La;L=c[I>>2]|0;continue b;break};case 21:{de(e,ja,O+(N>>>23<<3)|0);L=c[I>>2]|0;continue b;break};case 22:{_=N>>>23;M=N>>>14&511;c[o>>2]=O+(M+1<<3);ce(e,1-_+M|0);M=c[I>>2]|0;P=M+(_<<3)|0;c[M+(ia<<3)>>2]=c[P>>2];c[M+(ia<<3)+4>>2]=c[M+(_<<3)+4>>2];Q=c[n>>2]|0;fa=Q+12|0;aa=c[fa>>2]|0;if((aa|0)>0){if(ia>>>0<_>>>0)Ma=P;else Ma=M+(ia+1<<3)|0;c[o>>2]=Ma;if((a[Q+51>>0]|0)==0){M=Q+8|0;c[M>>2]=aa+1600+(c[M>>2]|0);c[fa>>2]=-1600}else _d(e);c[o>>2]=c[F>>2]}fa=c[I>>2]|0;c[o>>2]=c[F>>2];L=fa;continue b;break};case 25:{fa=N>>>23;if((fa&256|0)==0)Na=O+(fa<<3)|0;else Na=H+((fa&255)<<3)|0;fa=N>>>14;if((fa&256|0)==0)Oa=O+((fa&511)<<3)|0;else Oa=H+((fa&255)<<3)|0;fa=(qd(e,Na,Oa)|0)==(ia|0);M=c[J>>2]|0;if(fa){fa=c[M>>2]|0;aa=fa>>>6&255;if((aa|0)==0)Pa=M;else{mf(e,(c[I>>2]|0)+(aa+ -1<<3)|0);Pa=c[J>>2]|0}Qa=Pa+((fa>>>14)+ -131070<<2)|0}else Qa=M+4|0;c[J>>2]=Qa;L=c[I>>2]|0;continue b;break};case 26:{M=N>>>23;if((M&256|0)==0)Ra=O+(M<<3)|0;else Ra=H+((M&255)<<3)|0;M=N>>>14;if((M&256|0)==0)Sa=O+((M&511)<<3)|0;else Sa=H+((M&255)<<3)|0;M=(rd(e,Ra,Sa)|0)==(ia|0);fa=c[J>>2]|0;if(M){M=c[fa>>2]|0;aa=M>>>6&255;if((aa|0)==0)Ta=fa;else{mf(e,(c[I>>2]|0)+(aa+ -1<<3)|0);Ta=c[J>>2]|0}Ua=Ta+((M>>>14)+ -131070<<2)|0}else Ua=fa+4|0;c[J>>2]=Ua;L=c[I>>2]|0;continue b;break};case 27:{fa=c[O+(ia<<3)+4>>2]|0;M=(fa|0)==0;if((N&8372224|0)==0){if(!M)if(!((fa|0)==1?(c[ja>>2]|0)==0:0))$=224}else if(!M){if((fa|0)==1?(c[ja>>2]|0)==0:0)$=224}else $=224;if(($|0)==224){$=0;c[J>>2]=(c[J>>2]|0)+4;L=O;continue b}fa=c[J>>2]|0;M=c[fa>>2]|0;aa=M>>>6&255;if((aa|0)==0)Va=fa;else{mf(e,(c[I>>2]|0)+(aa+ -1<<3)|0);Va=c[J>>2]|0}c[J>>2]=Va+((M>>>14)+ -131070<<2);L=O;continue b;break};case 28:{M=N>>>23;aa=O+(M<<3)|0;fa=c[O+(M<<3)+4>>2]|0;M=(fa|0)==0;if((N&8372224|0)==0){if(!M)if(!((fa|0)==1?(c[aa>>2]|0)==0:0))$=235}else if(!M){if((fa|0)==1?(c[aa>>2]|0)==0:0)$=235}else $=235;if(($|0)==235){$=0;c[J>>2]=(c[J>>2]|0)+4;L=O;continue b}c[ja>>2]=c[aa>>2];c[O+(ia<<3)+4>>2]=fa;fa=c[J>>2]|0;aa=c[fa>>2]|0;M=aa>>>6&255;if((M|0)==0)Wa=fa;else{mf(e,(c[I>>2]|0)+(M+ -1<<3)|0);Wa=c[J>>2]|0}c[J>>2]=Wa+((aa>>>14)+ -131070<<2);L=O;continue b;break};case 30:{aa=N>>>23;if((aa|0)!=0)c[o>>2]=O+(ia+aa<<3);if((ff(e,ja,-1)|0)==0){$=250;break b}L=c[I>>2]|0;continue b;break};case 29:{aa=N>>>23;M=N>>>14&511;if((aa|0)!=0)c[o>>2]=O+(ia+aa<<3);if((ff(e,ja,M+ -1|0)|0)==0){$=245;break b}if((M|0)!=0)c[o>>2]=c[F>>2];L=c[I>>2]|0;continue b;break};case 31:{$=255;break b;break};case 32:{M=c[O+(ia+2<<3)>>2]|0;aa=c[ja>>2]|0;fa=aa+M|0;Q=c[O+(ia+1<<3)>>2]|0;if((M|0)>0){if((fa|0)>(Q|0)){L=O;continue b}}else if((Q|0)>(fa|0)){L=O;continue b}if(!((aa|M|0)<0|(fa|0)>0)){L=O;continue b}c[J>>2]=(c[J>>2]|0)+((N>>>14)+ -131071<<2);M=fa;c[ja>>2]=M;c[O+(ia<<3)+4>>2]=3;fa=ia+3|0;c[O+(fa<<3)>>2]=M;c[O+(fa<<3)+4>>2]=3;L=O;continue b;break};case 33:{fa=ia+1|0;M=ia+2|0;aa=O+(M<<3)|0;Q=O+(ia<<3)+4|0;P=c[Q>>2]|0;if((P|0)!=3){if((P&15|0)!=4){$=285;break a}P=c[ja>>2]|0;if((Df(P+16|0,c[P+12>>2]|0,h)|0)==0){$=285;break a}c[ja>>2]=c[h>>2];c[Q>>2]=3;if((ja|0)==0){$=285;break a}}P=O+(fa<<3)+4|0;_=c[P>>2]|0;if((_|0)!=3){if((_&15|0)!=4){$=290;break a}_=O+(fa<<3)|0;fa=c[_>>2]|0;if((Df(fa+16|0,c[fa+12>>2]|0,j)|0)==0){$=290;break a}c[_>>2]=c[j>>2];c[P>>2]=3}P=O+(M<<3)+4|0;M=c[P>>2]|0;if((M|0)!=3){if((M&15|0)!=4){$=295;break a}M=c[aa>>2]|0;if((Df(M+16|0,c[M+12>>2]|0,k)|0)==0){$=295;break a}c[aa>>2]=c[k>>2];c[P>>2]=3}c[ja>>2]=(c[ja>>2]|0)-(c[aa>>2]|0);c[Q>>2]=3;c[J>>2]=(c[J>>2]|0)+((N>>>14)+ -131071<<2);L=O;continue b;break};case 35:{Xa=O;Ya=N;Za=ja;break};case 36:{Q=N>>>23;aa=N>>>14&511;if((Q|0)==0)_a=((c[o>>2]|0)-ja>>3)+ -1|0;else _a=Q;if((aa|0)==0){Q=c[J>>2]|0;c[J>>2]=Q+4;$a=(c[Q>>2]|0)>>>6}else $a=aa;aa=c[ja>>2]|0;Q=_a+ -50+($a*50|0)|0;P=aa+28|0;if((Q|0)>(c[P>>2]|0)){if((c[aa+16>>2]|0)==77456)ab=0;else ab=1<<d[aa+7>>0];Md(e,aa,Q,ab)}if((_a|0)>0){M=aa+12|0;_=aa+5|0;fa=aa+24|0;X=aa+7|0;W=aa+16|0;U=Q;Q=_a;do{V=Q+ia|0;ga=O+(V<<3)|0;Y=U;U=U+ -1|0;c:do if(U>>>0<(c[P>>2]|0)>>>0){bb=(c[M>>2]|0)+(U<<3)|0;$=326}else{Z=Y<<16;if((Z|0)<0){cb=0-Z|0;db=(Z|0)==(cb|0)?0:cb}else db=Z;cb=(c[W>>2]|0)+(((db|0)%((1<<d[X>>0])+ -1|1|0)|0)*20|0)|0;while(1){if((c[cb+12>>2]|0)==3?(c[cb+8>>2]|0)==(Z|0):0)break;eb=c[cb+16>>2]|0;if((eb|0)==0){$=327;break c}else cb=eb}bb=cb;$=326}while(0);if(($|0)==326){$=0;if((bb|0)==75600)$=327;else fb=bb}if(($|0)==327){$=0;c[g>>2]=Y;c[q>>2]=3;fb=Of(e,aa,g)|0}c[fb>>2]=c[ga>>2];Z=O+(V<<3)+4|0;c[fb+4>>2]=c[Z>>2];if(((c[Z>>2]&64|0)!=0?!((a[(c[ga>>2]|0)+5>>0]&3)==0):0)?(Z=a[_>>0]|0,!((Z&4)==0)):0){eb=c[n>>2]|0;a[_>>0]=Z&251;Z=eb+76|0;c[fa>>2]=c[Z>>2];c[Z>>2]=aa}Q=Q+ -1|0}while((Q|0)>0)}c[o>>2]=c[F>>2];L=O;continue b;break};case 34:{Q=ia+3|0;aa=O+(Q<<3)|0;fa=ia+2|0;_=ia+5|0;c[O+(_<<3)>>2]=c[O+(fa<<3)>>2];c[O+(_<<3)+4>>2]=c[O+(fa<<3)+4>>2];fa=ia+1|0;_=ia+4|0;c[O+(_<<3)>>2]=c[O+(fa<<3)>>2];c[O+(_<<3)+4>>2]=c[O+(fa<<3)+4>>2];c[aa>>2]=c[ja>>2];c[O+(Q<<3)+4>>2]=c[O+(ia<<3)+4>>2];c[o>>2]=O+(ia+6<<3);Q=N>>>14&511;fa=(b[p>>1]|0)+1<<16>>16;b[p>>1]=fa;if((fa&65535)>199){if(fa<<16>>16==200){$=299;break a}if((fa&65535)>224){$=301;break a}}if((ff(e,aa,Q)|0)==0)hf(e);b[p>>1]=(b[p>>1]|0)+ -1<<16>>16;Q=c[I>>2]|0;c[o>>2]=c[F>>2];aa=c[J>>2]|0;c[J>>2]=aa+4;fa=c[aa>>2]|0;Xa=Q;Ya=fa;Za=Q+((fa>>>6&255)<<3)|0;break};case 37:{fa=c[(c[(c[G>>2]|0)+16>>2]|0)+(N>>>14<<2)>>2]|0;Q=fa+32|0;aa=c[Q>>2]|0;_=c[fa+40>>2]|0;X=c[fa+28>>2]|0;d:do if((aa|0)==0)$=342;else{if((_|0)>0){W=aa+16|0;U=0;do{M=d[X+(U<<3)+5>>0]|0;if((a[X+(U<<3)+4>>0]|0)==0)gb=c[(c[K+(M<<2)>>2]|0)+8>>2]|0;else gb=O+(M<<3)|0;if((c[(c[W+(U<<2)>>2]|0)+8>>2]|0)!=(gb|0)){$=342;break d}U=U+1|0}while((U|0)<(_|0))}c[ja>>2]=aa;c[O+(ia<<3)+4>>2]=70}while(0);if(($|0)==342){$=0;aa=of(e,_)|0;c[aa+12>>2]=fa;c[ja>>2]=aa;c[O+(ia<<3)+4>>2]=70;if((_|0)>0){U=aa+16|0;W=0;do{ga=d[X+(W<<3)+5>>0]|0;if((a[X+(W<<3)+4>>0]|0)==0)c[U+(W<<2)>>2]=c[K+(ga<<2)>>2];else c[U+(W<<2)>>2]=pf(e,O+(ga<<3)|0)|0;W=W+1|0}while((W|0)!=(_|0))}_=fa+5|0;W=a[_>>0]|0;do if(!((W&4)==0)){if((c[Q>>2]|0)!=0){U=c[n>>2]|0;a[_>>0]=W&251;X=U+76|0;c[fa+72>>2]=c[X>>2];c[X>>2]=fa;break}if(!((a[aa+5>>0]&3)==0)){X=c[n>>2]|0;if((d[X+49>>0]|0)<2){rf(X,aa);break}else{a[_>>0]=d[X+48>>0]&3|W&184;break}}}while(0);c[Q>>2]=aa}W=c[n>>2]|0;_=W+12|0;fa=c[_>>2]|0;if((fa|0)>0){c[o>>2]=O+(ia+1<<3);if((a[W+51>>0]|0)==0){X=W+8|0;c[X>>2]=fa+1600+(c[X>>2]|0);c[_>>2]=-1600}else _d(e);c[o>>2]=c[F>>2]}L=c[I>>2]|0;continue b;break};case 38:{_=N>>>23;X=_+ -1|0;fa=(O-(c[E>>2]|0)>>3)-(d[(c[G>>2]|0)+76>>0]|0)|0;W=fa+ -1|0;if((_|0)==0){_=c[o>>2]|0;if(((c[r>>2]|0)-_>>3|0)<=(W|0)){U=c[s>>2]|0;if((U|0)>1e6){$=366;break a}ga=fa+4+(_-(c[t>>2]|0)>>3)|0;_=U<<1;U=(_|0)>1e6?1e6:_;_=(U|0)<(ga|0)?ga:U;if((_|0)>1e6){$=368;break a}bf(e,_)}_=c[I>>2]|0;c[o>>2]=_+(W+ia<<3);hb=W;ib=_;jb=_+(ia<<3)|0}else{hb=X;ib=O;jb=ja}if((hb|0)<=0){L=ib;continue b}X=1-fa|0;fa=0;while(1){if((fa|0)<(W|0)){_=fa+X|0;c[jb+(fa<<3)>>2]=c[ib+(_<<3)>>2];c[jb+(fa<<3)+4>>2]=c[ib+(_<<3)+4>>2]}else c[jb+(fa<<3)+4>>2]=0;_=fa+1|0;if((_|0)==(hb|0)){L=ib;continue b}else fa=_}break};default:{L=O;continue b}}while(0);fa=c[Za+12>>2]|0;if((fa|0)==0){L=Xa;continue}c[Za>>2]=c[Za+8>>2];c[Za+4>>2]=fa;c[J>>2]=(c[J>>2]|0)+((Ya>>>14)+ -131071<<2);L=Xa}if(($|0)==245){$=0;L=c[l>>2]|0;J=L+18|0;a[J>>0]=d[J>>0]|4;E=L;continue}else if(($|0)==250){$=0;L=c[l>>2]|0;J=c[L+8>>2]|0;I=c[L>>2]|0;F=c[J>>2]|0;K=L+24|0;H=(c[K>>2]|0)+(d[(c[(c[I>>2]|0)+12>>2]|0)+76>>0]<<3)|0;if((c[(c[G>>2]|0)+56>>2]|0)>0)mf(e,c[J+24>>2]|0);if(I>>>0<H>>>0){fa=I;X=0;do{c[F+(X<<3)>>2]=c[fa>>2];c[F+(X<<3)+4>>2]=c[I+(X<<3)+4>>2];X=X+1|0;fa=I+(X<<3)|0}while(fa>>>0<H>>>0)}H=I;c[J+24>>2]=F+((c[K>>2]|0)-H>>3<<3);fa=F+((c[o>>2]|0)-H>>3<<3)|0;c[o>>2]=fa;c[J+4>>2]=fa;c[J+28>>2]=c[L+28>>2];fa=J+18|0;a[fa>>0]=d[fa>>0]|64;c[l>>2]=J;E=J;continue}else if(($|0)==255){$=0;fa=N>>>23;if((fa|0)!=0)c[o>>2]=O+(fa+ -1+ia<<3);if((c[(c[G>>2]|0)+56>>2]|0)>0)mf(e,O);fa=c[l>>2]|0;H=d[m>>0]|0;if((H&6|0)==0){kb=ja;lb=fa+8|0}else{if((H&2|0)==0)mb=ja;else{H=ja-(c[t>>2]|0)|0;ef(e,1,-1);mb=(c[t>>2]|0)+H|0}H=fa+8|0;c[z>>2]=c[(c[H>>2]|0)+28>>2];kb=mb;lb=H}H=c[fa>>2]|0;X=b[fa+16>>1]|0;c[l>>2]=c[lb>>2];e:do if(!(X<<16>>16==0)){fa=kb;W=X<<16>>16;aa=H;while(1){if(!(fa>>>0<(c[o>>2]|0)>>>0))break;Q=aa+8|0;c[aa>>2]=c[fa>>2];c[aa+4>>2]=c[fa+4>>2];_=W+ -1|0;if((_|0)==0){nb=Q;break e}fa=fa+8|0;W=_;aa=Q}if((W|0)>0){fa=W;Q=aa;while(1){fa=fa+ -1|0;c[Q+4>>2]=0;if((fa|0)<=0)break;else Q=Q+8|0}nb=aa+(W<<3)|0}else nb=aa}else nb=H;while(0);c[o>>2]=nb;if((a[E+18>>0]&4)==0){$=273;break}H=c[l>>2]|0;if(X<<16>>16==-1){E=H;continue}c[o>>2]=c[H+4>>2];E=H;continue}}switch($|0){case 15:{af(e,6);break};case 17:{bf(e,1000200);Ye(e,75904,g);break};case 33:{af(e,6);break};case 35:{bf(e,1000200);Ye(e,75904,g);break};case 39:{if(!S){ob=c[ea>>2]|0;pb=ob+ -4|0;c[ea>>2]=pb;qb=a[T>>0]|0;rb=qb&255;sb=rb|128;tb=sb&255;a[T>>0]=tb;ub=c[o>>2]|0;vb=ub+ -8|0;c[R>>2]=vb;af(e,1)}c[u>>2]=1;ob=c[ea>>2]|0;pb=ob+ -4|0;c[ea>>2]=pb;qb=a[T>>0]|0;rb=qb&255;sb=rb|128;tb=sb&255;a[T>>0]=tb;ub=c[o>>2]|0;vb=ub+ -8|0;c[R>>2]=vb;af(e,1);break};case 83:{af(e,4);break};case 273:{i=f;return};case 285:{Ye(e,77944,g);break};case 290:{Ye(e,77984,g);break};case 295:{Ye(e,78016,g);break};case 299:{Ye(e,76656,g);break};case 301:{af(e,6);break};case 366:{af(e,6);break};case 368:{bf(e,1000200);Ye(e,75904,g);break}}}function jf(f,g,h){f=f|0;g=g|0;h=h|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;j=i;k=f+36|0;l=b[k>>1]|0;if((g|0)==0)m=1;else m=(e[g+38>>1]|0)+1&65535;g=f+38|0;b[g>>1]=m;b[k>>1]=0;m=f+8|0;n=id(f,5,(c[m>>2]|0)+(0-h<<3)|0)|0;if((n|0)==-1){o=2;b[k>>1]=l;p=b[g>>1]|0;q=p+ -1<<16>>16;b[g>>1]=q;i=j;return o|0}if(!(n>>>0>1)){o=n;b[k>>1]=l;p=b[g>>1]|0;q=p+ -1<<16>>16;b[g>>1]=q;i=j;return o|0}h=f+16|0;r=f+28|0;s=f+41|0;t=f+68|0;u=f+32|0;v=f+12|0;w=n;a:while(1){n=c[h>>2]|0;if((n|0)==0)break;else x=n;while(1){y=x+18|0;if(!((a[y>>0]&16)==0))break;n=c[x+8>>2]|0;if((n|0)==0)break a;else x=n}n=c[r>>2]|0;z=c[x+20>>2]|0;A=n+z|0;mf(f,A);if((w|0)==4){B=c[(c[v>>2]|0)+152>>2]|0;c[A>>2]=B;c[n+(z+4)>>2]=d[B+4>>0]|0|64}else if((w|0)==6){B=Kf(f,79656,23)|0;c[A>>2]=B;c[n+(z+4)>>2]=d[B+4>>0]|0|64}else{B=c[m>>2]|0;c[A>>2]=c[B+ -8>>2];c[n+(z+4)>>2]=c[B+ -4>>2]}B=n+(z+8)|0;c[m>>2]=B;c[h>>2]=x;a[s>>0]=a[x+36>>0]|0;b[k>>1]=0;if((x|0)==0)C=B;else{z=x;n=B;while(1){B=c[z+4>>2]|0;A=n>>>0<B>>>0?B:n;z=c[z+8>>2]|0;if((z|0)==0){C=A;break}else n=A}}n=C-(c[r>>2]|0)|0;z=(n>>3)+1|0;A=((z|0)/8|0)+10+z|0;z=(A|0)>1e6?1e6:A;if((n|0)<=7999992?(z|0)<(c[u>>2]|0):0)bf(f,z);c[t>>2]=c[x+32>>2];a[y>>0]=d[y>>0]|0|32;a[x+37>>0]=w;z=id(f,6,0)|0;if(z>>>0>1)w=z;else{o=z;D=24;break}}if((D|0)==24){b[k>>1]=l;p=b[g>>1]|0;q=p+ -1<<16>>16;b[g>>1]=q;i=j;return o|0}a[f+6>>0]=w;D=c[m>>2]|0;if((w|0)==4){x=c[(c[v>>2]|0)+152>>2]|0;c[D>>2]=x;c[D+4>>2]=d[x+4>>0]|0|64}else if((w|0)==6){x=Kf(f,79656,23)|0;c[D>>2]=x;c[D+4>>2]=d[x+4>>0]|0|64}else{c[D>>2]=c[D+ -8>>2];c[D+4>>2]=c[D+ -4>>2]}x=D+8|0;c[m>>2]=x;c[(c[h>>2]|0)+4>>2]=x;o=w;b[k>>1]=l;p=b[g>>1]|0;q=p+ -1<<16>>16;b[g>>1]=q;i=j;return o|0}function kf(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;g=c[b+16>>2]|0;if((e[b+38>>1]|0)>199)Cg(b,76656,d);h=b+6|0;j=a[h>>0]|0;if(j<<24>>24==0){if((g|0)!=(b+72|0))Cg(b,79680,d);if((ff(b,d+ -8|0,-1)|0)!=0){i=f;return}hf(b);i=f;return}else if(j<<24>>24==1){a[h>>0]=0;c[g>>2]=(c[b+28>>2]|0)+(c[g+20>>2]|0);h=g+18|0;j=a[h>>0]|0;if((j&1)==0){k=c[g+28>>2]|0;if((k|0)==0)l=d;else{a[g+37>>0]=1;a[h>>0]=j&255|8;j=lc[k&127](b)|0;l=(c[b+8>>2]|0)+(0-j<<3)|0}gf(b,l)|0}else hf(b);lf(b,0);i=f;return}else Cg(b,79720,d)}function lf(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;f=d+16|0;g=c[f>>2]|0;h=d+72|0;if((g|0)==(h|0)){i=e;return}j=d+8|0;k=d+68|0;l=g;do{g=l+18|0;m=a[g>>0]|0;if((m&1)==0){n=m&255;if((n&16|0)!=0){a[g>>0]=n&239;c[k>>2]=c[l+32>>2]}if((b[l+16>>1]|0)==-1?(n=(c[f>>2]|0)+4|0,m=c[j>>2]|0,(c[n>>2]|0)>>>0<m>>>0):0)c[n>>2]=m;m=a[g>>0]|0;if((m&32)==0)a[l+37>>0]=1;a[g>>0]=m&199|8;m=lc[c[l+28>>2]&127](d)|0;gf(d,(c[j>>2]|0)+(0-m<<3)|0)|0}else{Vf(d);hf(d)}l=c[f>>2]|0}while((l|0)!=(h|0));i=e;return}function mf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=i;g=b+12|0;h=c[g>>2]|0;j=b+56|0;b=c[j>>2]|0;if((b|0)==0){i=f;return}k=h+48|0;l=h+56|0;m=h+50|0;n=h+49|0;o=b;while(1){b=o+8|0;if((c[b>>2]|0)>>>0<e>>>0){p=16;break}c[j>>2]=c[o>>2];do if(((d[k>>0]^3)&(d[o+5>>0]^3)|0)!=0){q=o+12|0;r=o+16|0;c[(c[r>>2]|0)+12>>2]=c[q>>2];c[(c[q>>2]|0)+16>>2]=c[r>>2];s=c[b>>2]|0;c[q>>2]=c[s>>2];c[r>>2]=c[s+4>>2];c[b>>2]=q;c[o>>2]=c[l>>2];c[l>>2]=o;q=o+5|0;s=d[q>>0]|0;if((s&7|0)==0){if((a[m>>0]|0)!=2?(d[n>>0]|0)>=2:0){a[q>>0]=d[k>>0]&3|s&184;break}a[q>>0]=s&187|4;s=c[b>>2]|0;if((c[s+4>>2]&64|0)!=0?(q=c[s>>2]|0,!((a[q+5>>0]&3)==0)):0)rf(h,q)}}else{q=o+12|0;if((c[b>>2]|0)!=(q|0)){s=o+16|0;c[(c[s>>2]|0)+12>>2]=c[q>>2];c[(c[q>>2]|0)+16>>2]=c[s>>2]}s=c[g>>2]|0;oc[c[s>>2]&1](c[s+4>>2]|0,o,20,0)|0;q=s+12|0;c[q>>2]=(c[q>>2]|0)-((o|0)!=0?20:0)}while(0);o=c[j>>2]|0;if((o|0)==0){p=16;break}}if((p|0)==16){i=f;return}}function nf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=i;i=i+16|0;g=f;h=f+8|0;j=c[e>>2]|0;k=c[j>>2]|0;c[j>>2]=k+ -1;do if((k|0)==0){l=gc[c[j+8>>2]&3](c[j+16>>2]|0,c[j+12>>2]|0,h)|0;if((l|0)!=0?(m=c[h>>2]|0,(m|0)!=0):0){c[j>>2]=m+ -1;c[j+4>>2]=l+1;n=l;o=7;break}l=c[e+52>>2]|0;if((l|0)==0){p=-1;o=15}else{q=-1;r=l;o=13}}else{l=j+4|0;m=c[l>>2]|0;c[l>>2]=m+1;n=m;o=7}while(0);do if((o|0)==7){j=a[n>>0]|0;h=j&255;k=c[e+52>>2]|0;m=(k|0)==0;if(!(j<<24>>24==27))if(m){p=h;o=15;break}else{q=h;r=k;o=13;break}if(!m?(qo(k,98)|0)==0:0){c[g>>2]=79592;c[g+4>>2]=k;xf(b,79608,g)|0;af(b,3)}s=Rf(b,c[e>>2]|0,e+4|0,c[e+56>>2]|0)|0}while(0);if((o|0)==13)if((qo(r,116)|0)==0){c[g>>2]=79600;c[g+4>>2]=r;xf(b,79608,g)|0;af(b,3)}else{p=q;o=15}if((o|0)==15)s=Ef(b,c[e>>2]|0,e+4|0,e+16|0,c[e+56>>2]|0,p)|0;p=s+6|0;if((a[p>>0]|0)==0){i=f;return}e=b+12|0;q=s+16|0;g=s+5|0;s=0;while(1){r=c[e>>2]|0;n=r+4|0;k=oc[c[r>>2]&1](c[n>>2]|0,0,10,20)|0;if((k|0)==0){if((a[r+51>>0]|0)==0){o=21;break}Zd(b,1);m=oc[c[r>>2]&1](c[n>>2]|0,0,10,20)|0;if((m|0)==0){o=21;break}else t=m}else t=k;k=r+12|0;c[k>>2]=(c[k>>2]|0)+20;k=r+56|0;m=t+5|0;a[m>>0]=d[r+48>>0]&3;a[t+4>>0]=10;c[t>>2]=c[k>>2];c[k>>2]=t;c[t+8>>2]=t+12;c[t+16>>2]=0;c[q+(s<<2)>>2]=t;do if(!((a[m>>0]&3)==0)?(k=a[g>>0]|0,!((k&4)==0)):0){r=c[e>>2]|0;if((d[r+49>>0]|0)<2){rf(r,t);break}else{a[g>>0]=d[r+48>>0]&3|k&184;break}}while(0);s=s+1|0;if((s|0)>=(d[p>>0]|0)){o=28;break}}if((o|0)==21)af(b,4);else if((o|0)==28){i=f;return}}function of(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;g=(e<<2)+16|0;h=c[b+12>>2]|0;j=h+4|0;k=oc[c[h>>2]&1](c[j>>2]|0,0,6,g)|0;if(!((k|0)!=0|(g|0)==0)){if((a[h+51>>0]|0)==0)af(b,4);Zd(b,1);l=oc[c[h>>2]&1](c[j>>2]|0,0,6,g)|0;if((l|0)==0)af(b,4);else m=l}else m=k;k=h+12|0;c[k>>2]=(c[k>>2]|0)+g;g=h+56|0;a[m+5>>0]=d[h+48>>0]&3;a[m+4>>0]=6;c[m>>2]=c[g>>2];c[g>>2]=m;c[m+12>>2]=0;a[m+6>>0]=e;if((e|0)==0){i=f;return m|0}g=m+16|0;h=e;do{h=h+ -1|0;c[g+(h<<2)>>2]=0}while((h|0)!=0);i=f;return m|0}function pf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;g=c[b+12>>2]|0;h=b+56|0;j=c[h>>2]|0;a:do if((j|0)==0)k=h;else{l=j;m=h;while(1){n=c[l+8>>2]|0;if(n>>>0<e>>>0){k=m;break a}if((n|0)==(e|0))break;n=c[l>>2]|0;if((n|0)==0){k=l;break a}else{o=l;l=n;m=o}}m=l+5|0;o=d[m>>0]^3;if(((d[g+48>>0]^3)&o|0)!=0){p=l;i=f;return p|0}a[m>>0]=o;p=l;i=f;return p|0}while(0);h=g+4|0;j=oc[c[g>>2]&1](c[h>>2]|0,0,10,20)|0;if((j|0)==0){if((a[g+51>>0]|0)==0)af(b,4);Zd(b,1);o=oc[c[g>>2]&1](c[h>>2]|0,0,10,20)|0;if((o|0)==0)af(b,4);else q=o}else q=j;j=g+12|0;c[j>>2]=(c[j>>2]|0)+20;j=(k|0)==0?g+56|0:k;a[q+5>>0]=d[g+48>>0]&3;a[q+4>>0]=10;c[q>>2]=c[j>>2];c[j>>2]=q;c[q+8>>2]=e;c[q+12>>2]=g+96;e=g+112|0;g=c[e>>2]|0;c[q+16>>2]=g;c[g+12>>2]=q;c[e>>2]=q;p=q;i=f;return p|0}function qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;e=c[b+12>>2]|0;f=c[b+48>>2]<<2;g=a+12|0;a=c[g>>2]|0;oc[c[a>>2]&1](c[a+4>>2]|0,e,f,0)|0;h=a+12|0;c[h>>2]=(c[h>>2]|0)-((e|0)!=0?f:0);f=c[b+16>>2]|0;e=c[b+56>>2]<<2;h=c[g>>2]|0;oc[c[h>>2]&1](c[h+4>>2]|0,f,e,0)|0;a=h+12|0;c[a>>2]=(c[a>>2]|0)-((f|0)!=0?e:0);e=c[b+8>>2]|0;f=c[b+44>>2]<<3;a=c[g>>2]|0;oc[c[a>>2]&1](c[a+4>>2]|0,e,f,0)|0;h=a+12|0;c[h>>2]=(c[h>>2]|0)-((e|0)!=0?f:0);f=c[b+20>>2]|0;e=c[b+52>>2]<<2;h=c[g>>2]|0;oc[c[h>>2]&1](c[h+4>>2]|0,f,e,0)|0;a=h+12|0;c[a>>2]=(c[a>>2]|0)-((f|0)!=0?e:0);e=c[b+24>>2]|0;f=(c[b+60>>2]|0)*12|0;a=c[g>>2]|0;oc[c[a>>2]&1](c[a+4>>2]|0,e,f,0)|0;h=a+12|0;c[h>>2]=(c[h>>2]|0)-((e|0)!=0?f:0);f=c[b+28>>2]|0;e=c[b+40>>2]<<3;h=c[g>>2]|0;oc[c[h>>2]&1](c[h+4>>2]|0,f,e,0)|0;a=h+12|0;c[a>>2]=(c[a>>2]|0)-((f|0)!=0?e:0);e=c[g>>2]|0;oc[c[e>>2]&1](c[e+4>>2]|0,b,80,0)|0;g=e+12|0;c[g>>2]=(c[g>>2]|0)-((b|0)!=0?80:0);i=d;return}function rf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;f=i;g=e+5|0;a[g>>0]=(d[g>>0]|0)&252;switch(d[e+4>>0]|0|0){case 6:{h=b+72|0;c[e+8>>2]=c[h>>2];c[h>>2]=e;i=f;return};case 9:{h=b+72|0;c[e+72>>2]=c[h>>2];c[h>>2]=e;i=f;return};case 7:{h=c[e+8>>2]|0;if((h|0)!=0?!((a[h+5>>0]&3)==0):0)rf(b,h);h=c[e+12>>2]|0;if((h|0)!=0?!((a[h+5>>0]&3)==0):0)rf(b,h);j=(c[e+16>>2]|0)+24|0;break};case 10:{h=e+8|0;k=c[h>>2]|0;if((c[k+4>>2]&64|0)!=0?(l=c[k>>2]|0,!((a[l+5>>0]&3)==0)):0){rf(b,l);m=c[h>>2]|0}else m=k;if((m|0)==(e+12|0))j=20;else{i=f;return}break};case 38:{m=b+72|0;c[e+8>>2]=c[m>>2];c[m>>2]=e;i=f;return};case 20:case 4:{j=(c[e+12>>2]|0)+17|0;break};case 5:{m=b+72|0;c[e+24>>2]=c[m>>2];c[m>>2]=e;i=f;return};case 8:{m=b+72|0;c[e+60>>2]=c[m>>2];c[m>>2]=e;i=f;return};default:{i=f;return}}a[g>>0]=d[g>>0]|0|4;g=b+16|0;c[g>>2]=(c[g>>2]|0)+j;i=f;return}function sf(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;f=b+12|0;g=c[f>>2]|0;h=g+60|0;j=g+92|0;k=c[j>>2]|0;if((k|0)==0)l=j;else{j=k;while(1){m=c[j>>2]|0;if((m|0)==0){l=j;break}else j=m}}j=c[h>>2]|0;if((j|0)==0){n=g;o=k}else{k=j;j=l;while(1){l=k+5|0;a[l>>0]=d[l>>0]|0|8;c[h>>2]=c[k>>2];c[k>>2]=c[j>>2];c[j>>2]=k;l=c[h>>2]|0;if((l|0)==0)break;else{m=k;k=l;j=m}}j=c[f>>2]|0;n=j;o=c[j+92>>2]|0}j=n+92|0;if((o|0)!=0){n=o;do{o=n+5|0;a[o>>0]=(d[o>>0]|0)&191;vf(b,0);n=c[j>>2]|0}while((n|0)!=0)}a[g+48>>0]=3;a[g+50>>0]=0;tf(b,h,-3)|0;tf(b,g+56|0,-3)|0;h=g+32|0;if((c[h>>2]|0)<=0){i=e;return}n=g+24|0;g=0;do{tf(b,(c[n>>2]|0)+(g<<2)|0,-3)|0;g=g+1|0}while((g|0)<(c[h>>2]|0));i=e;return}function tf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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=i;h=b+12|0;j=c[h>>2]|0;k=d[j+48>>0]|0;l=k^3;m=(a[j+50>>0]|0)==2;j=m?255:184;n=m?64:k&3;k=m?64:0;m=c[e>>2]|0;a:do if((m|0)==0){o=e;p=0}else{q=e;r=f;s=m;b:while(1){if((r|0)==0){o=q;p=s;break a}r=r+ -1|0;t=s+5|0;u=d[t>>0]|0;c:do if(((u^3)&l|0)==0){c[q>>2]=c[s>>2];switch(d[s+4>>0]|0){case 9:{qf(b,s);v=q;break c;break};case 38:{w=(d[s+6>>0]<<3)+16|0;x=c[h>>2]|0;oc[c[x>>2]&1](c[x+4>>2]|0,s,w,0)|0;y=x+12|0;c[y>>2]=(c[y>>2]|0)-((s|0)!=0?w:0);v=q;break c;break};case 10:{w=s+12|0;if((c[s+8>>2]|0)!=(w|0)){y=s+16|0;c[(c[y>>2]|0)+12>>2]=c[w>>2];c[(c[w>>2]|0)+16>>2]=c[y>>2]}y=c[h>>2]|0;oc[c[y>>2]&1](c[y+4>>2]|0,s,20,0)|0;w=y+12|0;c[w>>2]=(c[w>>2]|0)-((s|0)!=0?20:0);v=q;break c;break};case 4:{w=c[h>>2]|0;y=w+28|0;c[y>>2]=(c[y>>2]|0)+ -1;z=w;break};case 8:{Ff(b,s);v=q;break c;break};case 7:{w=(c[s+16>>2]|0)+24|0;y=c[h>>2]|0;oc[c[y>>2]&1](c[y+4>>2]|0,s,w,0)|0;x=y+12|0;c[x>>2]=(c[x>>2]|0)-((s|0)!=0?w:0);v=q;break c;break};case 20:{z=c[h>>2]|0;break};case 6:{w=(d[s+6>>0]<<2)+16|0;x=c[h>>2]|0;oc[c[x>>2]&1](c[x+4>>2]|0,s,w,0)|0;y=x+12|0;c[y>>2]=(c[y>>2]|0)-((s|0)!=0?w:0);v=q;break c;break};case 5:{w=c[s+16>>2]|0;if((w|0)!=77456){y=20<<d[s+7>>0];x=c[h>>2]|0;oc[c[x>>2]&1](c[x+4>>2]|0,w,y,0)|0;A=x+12|0;c[A>>2]=(c[A>>2]|0)-((w|0)!=0?y:0)}y=c[s+12>>2]|0;w=c[s+28>>2]<<3;A=c[h>>2]|0;oc[c[A>>2]&1](c[A+4>>2]|0,y,w,0)|0;x=A+12|0;c[x>>2]=(c[x>>2]|0)-((y|0)!=0?w:0);w=c[h>>2]|0;oc[c[w>>2]&1](c[w+4>>2]|0,s,32,0)|0;y=w+12|0;c[y>>2]=(c[y>>2]|0)-((s|0)!=0?32:0);v=q;break c;break};default:{v=q;break c}}y=(c[s+12>>2]|0)+17|0;oc[c[z>>2]&1](c[z+4>>2]|0,s,y,0)|0;w=z+12|0;c[w>>2]=(c[w>>2]|0)-((s|0)!=0?y:0);v=q}else{if((u&k|0)!=0){B=0;break b}if((a[s+4>>0]|0)==8?(y=s+28|0,(c[y>>2]|0)!=0):0){tf(b,s+56|0,-3)|0;w=s+16|0;x=(c[w>>2]|0)+12|0;A=c[x>>2]|0;c[x>>2]=0;if((A|0)!=0){x=s+12|0;C=A;do{A=C;C=c[C+12>>2]|0;D=c[x>>2]|0;oc[c[D>>2]&1](c[D+4>>2]|0,A,40,0)|0;E=D+12|0;c[E>>2]=(c[E>>2]|0)-((A|0)!=0?40:0)}while((C|0)!=0)}if((a[(c[h>>2]|0)+50>>0]|0)!=1){C=c[s+8>>2]|0;x=c[w>>2]|0;if((x|0)==0)F=C;else{A=x;x=C;while(1){C=c[A+4>>2]|0;E=x>>>0<C>>>0?C:x;A=c[A+8>>2]|0;if((A|0)==0){F=E;break}else x=E}}x=F-(c[y>>2]|0)|0;A=(x>>3)+1|0;w=((A|0)/8|0)+10+A|0;A=(w|0)>1e6?1e6:w;if((x|0)<=7999992?(A|0)<(c[s+32>>2]|0):0)bf(s,A)}}a[t>>0]=u&j|n;v=s}while(0);s=c[v>>2]|0;if((s|0)==0){o=v;p=0;break a}else q=v}i=g;return B|0}while(0);B=(p|0)==0?0:o;i=g;return B|0}function uf(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;e=i;i=i+16|0;f=e;g=b+12|0;h=c[g>>2]|0;j=h+49|0;switch(d[j>>0]|0){case 2:{k=h+52|0;l=h+32|0;m=h+24|0;n=0;while(1){o=c[k>>2]|0;p=o+n|0;q=c[l>>2]|0;if((p|0)>=(q|0)){r=o;s=q;t=n;break}tf(b,(c[m>>2]|0)+(p<<2)|0,-3)|0;n=n+1|0;if((n|0)>=80){u=96;break}}if((u|0)==96){r=c[k>>2]|0;s=c[l>>2]|0;t=n}n=r+t|0;c[k>>2]=n;if((n|0)>=(s|0))a[j>>0]=3;v=t*5|0;i=e;return v|0};case 0:{if((c[h+72>>2]|0)!=0){t=h+16|0;s=c[t>>2]|0;yg(h);v=(c[t>>2]|0)-s|0;i=e;return v|0}a[j>>0]=1;s=h+20|0;c[s>>2]=c[h+16>>2];t=c[g>>2]|0;n=t+16|0;k=c[n>>2]|0;if((b|0)!=0?!((a[b+5>>0]&3)==0):0)rf(t,b);if((c[t+40>>2]&64|0)!=0?(r=c[t+36>>2]|0,!((a[r+5>>0]&3)==0)):0)rf(t,r);zg(t);r=t+96|0;l=c[t+112>>2]|0;if((l|0)!=(r|0)){u=l;do{if(((a[u+5>>0]&7)==0?(l=c[u+8>>2]|0,(c[l+4>>2]&64|0)!=0):0)?(m=c[l>>2]|0,!((a[m+5>>0]&3)==0)):0)rf(t,m);u=c[u+16>>2]|0}while((u|0)!=(r|0))}r=t+72|0;if((c[r>>2]|0)!=0)do yg(t);while((c[r>>2]|0)!=0);u=(c[n>>2]|0)-k|0;k=t+80|0;m=c[k>>2]|0;l=t+76|0;p=c[l>>2]|0;q=t+84|0;o=c[q>>2]|0;c[q>>2]=0;c[l>>2]=0;c[k>>2]=0;c[r>>2]=p;if((p|0)!=0)do yg(t);while((c[r>>2]|0)!=0);c[r>>2]=m;if((m|0)!=0)do yg(t);while((c[r>>2]|0)!=0);c[r>>2]=o;if((o|0)!=0)do yg(t);while((c[r>>2]|0)!=0);o=c[n>>2]|0;while(1){m=c[q>>2]|0;c[q>>2]=0;p=0;l=m;a:while(1){m=l;do{if((m|0)==0)break a;w=m;m=c[m+24>>2]|0}while((Bg(t,w)|0)==0);if((c[r>>2]|0)==0){p=1;l=m;continue}while(1){yg(t);if((c[r>>2]|0)==0){p=1;l=m;continue a}}}if((p|0)==0)break}Ag(t,c[k>>2]|0,0);l=t+88|0;Ag(t,c[l>>2]|0,0);m=c[k>>2]|0;w=c[l>>2]|0;x=u-o+(c[n>>2]|0)|0;o=c[g>>2]|0;u=o+60|0;y=o+92|0;o=c[y>>2]|0;if((o|0)==0)z=y;else{y=o;while(1){o=c[y>>2]|0;if((o|0)==0){z=y;break}else y=o}}y=c[u>>2]|0;b:do if((y|0)!=0){o=y;A=z;B=u;while(1){C=o;D=A;while(1){E=C+5|0;F=a[E>>0]|0;if((F&3)==0)break;a[E>>0]=F&255|8;c[B>>2]=c[C>>2];c[C>>2]=c[D>>2];c[D>>2]=C;F=c[B>>2]|0;if((F|0)==0)break b;else{E=C;C=F;D=E}}o=c[C>>2]|0;if((o|0)==0)break;else{A=D;B=C}}}while(0);u=c[t+92>>2]|0;if((u|0)!=0){z=t+48|0;y=u;do{u=y+5|0;a[u>>0]=d[z>>0]&3|d[u>>0]&184;rf(t,y);y=c[y>>2]|0}while((y|0)!=0)}if((c[r>>2]|0)!=0)do yg(t);while((c[r>>2]|0)!=0);y=c[n>>2]|0;while(1){z=c[q>>2]|0;c[q>>2]=0;u=0;B=z;c:while(1){z=B;do{if((z|0)==0)break c;A=z;z=c[z+24>>2]|0}while((Bg(t,A)|0)==0);if((c[r>>2]|0)==0){u=1;B=z;continue}while(1){yg(t);if((c[r>>2]|0)==0){u=1;B=z;continue c}}}if((u|0)==0)break}r=x-y|0;y=c[q>>2]|0;if((y|0)!=0){q=y;do{y=1<<d[q+7>>0];x=c[q+16>>2]|0;B=x+(y*20|0)|0;if((y|0)>0){y=x;do{x=y+4|0;do if((c[x>>2]|0)!=0){z=y+12|0;C=c[z>>2]|0;if((C&64|0)==0)break;D=c[y+8>>2]|0;if((C&15|0)==4){if((D|0)==0)break;if((a[D+5>>0]&3)==0)break;rf(t,D);break}else{C=D+5|0;if((a[C>>0]&3)==0)break;c[x>>2]=0;if((a[C>>0]&3)==0)break;c[z>>2]=11;break}}while(0);y=y+20|0}while(y>>>0<B>>>0)}q=c[q+24>>2]|0}while((q|0)!=0)}q=c[l>>2]|0;if((q|0)!=0){B=q;do{q=1<<d[B+7>>0];y=c[B+16>>2]|0;u=y+(q*20|0)|0;if((q|0)>0){q=y;do{y=q+4|0;do if((c[y>>2]|0)!=0){x=q+12|0;z=c[x>>2]|0;if((z&64|0)==0)break;C=c[q+8>>2]|0;if((z&15|0)==4){if((C|0)==0)break;if((a[C+5>>0]&3)==0)break;rf(t,C);break}else{z=C+5|0;if((a[z>>0]&3)==0)break;c[y>>2]=0;if((a[z>>0]&3)==0)break;c[x>>2]=11;break}}while(0);q=q+20|0}while(q>>>0<u>>>0)}B=c[B+24>>2]|0}while((B|0)!=0)}Ag(t,c[k>>2]|0,m);Ag(t,c[l>>2]|0,w);w=t+48|0;a[w>>0]=d[w>>0]^3;w=r+(c[n>>2]|0)|0;c[s>>2]=(c[s>>2]|0)+w;s=c[g>>2]|0;a[s+49>>0]=2;c[s+52>>2]=0;n=s+60|0;r=0;do{r=r+1|0;G=tf(b,n,1)|0}while((G|0)==(n|0));c[s+68>>2]=G;G=s+56|0;n=0;do{n=n+1|0;H=tf(b,G,1)|0}while((H|0)==(G|0));c[s+64>>2]=H;v=((n+r|0)*5|0)+w|0;i=e;return v|0};case 5:{w=h+16|0;c[w>>2]=c[h+32>>2]<<2;r=h+72|0;n=h+144|0;c[r+0>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[r+16>>2]=0;r=c[n>>2]|0;if((r|0)!=0?!((a[r+5>>0]&3)==0):0)rf(h,r);if((c[h+40>>2]&64|0)!=0?(r=c[h+36>>2]|0,!((a[r+5>>0]&3)==0)):0)rf(h,r);zg(h);r=c[h+92>>2]|0;if((r|0)!=0){n=h+48|0;H=r;do{r=H+5|0;a[r>>0]=d[n>>0]&3|d[r>>0]&184;rf(h,H);H=c[H>>2]|0}while((H|0)!=0)}a[j>>0]=0;v=c[w>>2]|0;i=e;return v|0};case 3:{w=h+68|0;H=c[w>>2]|0;if((H|0)==0){a[j>>0]=4;v=0;i=e;return v|0}else{c[w>>2]=tf(b,H,80)|0;v=400;i=e;return v|0}break};case 4:{H=h+64|0;w=c[H>>2]|0;if((w|0)!=0){c[H>>2]=tf(b,w,80)|0;v=400;i=e;return v|0}c[f>>2]=c[h+144>>2];tf(b,f,1)|0;f=c[g>>2]|0;if((a[f+50>>0]|0)!=1){h=(c[f+32>>2]|0)/2|0;if((c[f+28>>2]|0)>>>0<h>>>0){Jf(b,h);I=c[g>>2]|0}else I=f;g=f+116|0;h=c[g>>2]|0;b=f+124|0;f=c[b>>2]|0;w=oc[c[I>>2]&1](c[I+4>>2]|0,h,f,0)|0;H=I+12|0;c[H>>2]=(c[H>>2]|0)-((h|0)!=0?f:0);c[g>>2]=w;c[b>>2]=0}a[j>>0]=5;v=5;i=e;return v|0};default:{v=0;i=e;return v|0}}return 0}function vf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,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=i;i=i+16|0;g=f;h=b+12|0;j=c[h>>2]|0;k=j+92|0;l=c[k>>2]|0;c[k>>2]=c[l>>2];k=j+56|0;c[l>>2]=c[k>>2];c[k>>2]=l;k=l+5|0;m=d[k>>0]|0;a[k>>0]=m&239;if((d[j+49>>0]|0)>=2)a[k>>0]=(d[j+48>>0]|0)&3|m&168;m=d[l+4>>0]|0;k=m|64;n=m&15;if((n|0)==5)o=l+8|0;else if((n|0)==7)o=l+8|0;else o=(c[h>>2]|0)+(n<<2)+224|0;n=c[o>>2]|0;a:do if((n|0)!=0){o=c[(c[h>>2]|0)+164>>2]|0;m=(c[n+16>>2]|0)+(((1<<(d[n+7>>0]|0))+ -1&c[o+8>>2])*20|0)|0;while(1){if((c[m+12>>2]|0)==68?(c[m+8>>2]|0)==(o|0):0)break;p=c[m+16>>2]|0;if((p|0)==0){q=75600;break a}else m=p}if((m|0)==0){i=f;return}else q=m}else q=75600;while(0);n=q+4|0;if((c[n>>2]&15|0)!=6){i=f;return}h=b+41|0;o=a[h>>0]|0;p=j+51|0;j=a[p>>0]|0;a[h>>0]=0;a[p>>0]=0;r=b+8|0;s=c[r>>2]|0;c[s>>2]=c[q>>2];c[s+4>>2]=c[n>>2];n=c[r>>2]|0;c[n+8>>2]=l;c[n+12>>2]=k;k=c[r>>2]|0;c[r>>2]=k+16;n=Td(b,7,0,k-(c[b+28>>2]|0)|0,0)|0;a[h>>0]=o;a[p>>0]=j;if((n|0)==0|(e|0)==0){i=f;return}if((n|0)!=2){t=n;af(b,t)}n=c[r>>2]|0;if((c[n+ -4>>2]&15|0)==4)u=(c[n+ -8>>2]|0)+16|0;else u=79544;c[g>>2]=u;xf(b,79560,g)|0;t=5;af(b,t)}function wf(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;f=b+12|0;g=0;while(1){h=c[76776+(g<<2)>>2]|0;j=cp(h|0)|0;if(j>>>0<41)k=Kf(b,h,j)|0;else{if((j+1|0)>>>0>4294967277){l=5;break}k=Lf(b,h,j,20,c[(c[f>>2]|0)+44>>2]|0,0)|0}j=k+5|0;a[j>>0]=d[j>>0]|0|32;g=g+1|0;a[k+6>>0]=g;if((g|0)>=22){l=8;break}}if((l|0)==5)cf(b);else if((l|0)==8){i=e;return}}function xf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Dd(a,b,f)|0;i=e;return d|0}function yf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;f=i;i=i+80|0;g=f;h=f+12|0;f=(c[b+48>>2]|0)+16|0;j=cp(f|0)|0;k=a[f>>0]|0;do if(k<<24>>24==64)if(j>>>0>60){a[h+0>>0]=a[77376]|0;a[h+1>>0]=a[77377]|0;a[h+2>>0]=a[77378]|0;l=h+3|0;m=f+(j+ -56)+0|0;n=l+57|0;do{a[l>>0]=a[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));break}else{hp(h|0,f+1|0,j|0)|0;break}else if(k<<24>>24==61){o=f+1|0;if(j>>>0>60){l=h+0|0;m=o+0|0;n=l+59|0;do{a[l>>0]=a[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));a[h+59>>0]=0;break}else{hp(h|0,o|0,j|0)|0;break}}else{p=qo(f,10)|0;l=h+0|0;m=77384;n=l+9|0;do{a[l>>0]=a[m>>0]|0;l=l+1|0;m=m+1|0}while((l|0)<(n|0));o=h+9|0;q=(p|0)==0;if(j>>>0<45&q){hp(o|0,f|0,j|0)|0;r=j+9|0}else{if(q)s=j;else s=p-f|0;q=s>>>0>45?45:s;hp(o|0,f|0,q|0)|0;o=h+(q+9)|0;a[o+0>>0]=a[77376]|0;a[o+1>>0]=a[77377]|0;a[o+2>>0]=a[77378]|0;r=q+12|0}q=h+r|0;a[q+0>>0]=a[77400]|0;a[q+1>>0]=a[77401]|0;a[q+2>>0]=a[77402]|0}while(0);r=b+32|0;f=c[r>>2]|0;s=c[b+4>>2]|0;c[g>>2]=h;c[g+4>>2]=s;c[g+8>>2]=d;d=xf(f,79280,g)|0;if((e|0)==0){t=c[r>>2]|0;af(t,3)}f=c[r>>2]|0;do if(!((e+ -287|0)>>>0<3)){if((e|0)>=257){s=c[76776+(e+ -257<<2)>>2]|0;if((e|0)>=286){u=s;break}c[g>>2]=s;u=xf(f,76936,g)|0;break}if((e+ -32|0)>>>0<95){c[g>>2]=e;u=xf(f,76912,g)|0;break}else{c[g>>2]=e;u=xf(f,76920,g)|0;break}}else{s=b+40|0;h=c[s>>2]|0;j=h+4|0;m=c[j>>2]|0;l=h+8|0;n=c[l>>2]|0;if((m+1|0)>>>0>n>>>0){if(n>>>0>2147483645)yf(b,79056,0);k=n<<1;if((k|0)==-2)cf(f);q=c[h>>2]|0;o=c[f+12>>2]|0;v=(q|0)!=0;w=o+4|0;x=oc[c[o>>2]&1](c[w>>2]|0,q,n,k)|0;if(!((x|0)!=0|(k|0)==0)){if((a[o+51>>0]|0)==0)af(f,4);Zd(f,1);y=oc[c[o>>2]&1](c[w>>2]|0,q,n,k)|0;if((y|0)==0)af(f,4);else z=y}else z=x;x=o+12|0;c[x>>2]=(v?0-n|0:0)+k+(c[x>>2]|0);c[h>>2]=z;c[l>>2]=k;A=c[j>>2]|0;B=z}else{A=m;B=c[h>>2]|0}c[j>>2]=A+1;a[B+A>>0]=0;j=c[r>>2]|0;c[g>>2]=c[c[s>>2]>>2];u=xf(j,76936,g)|0}while(0);c[g>>2]=d;c[g+4>>2]=u;xf(f,79296,g)|0;t=c[r>>2]|0;af(t,3)}function zf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;g=i;h=c[b+32>>2]|0;do if(!(f>>>0<41))if((f+1|0)>>>0>4294967277)cf(h);else{j=Lf(h,e,f,20,c[(c[h+12>>2]|0)+44>>2]|0,0)|0;break}else j=Kf(h,e,f)|0;while(0);f=h+8|0;e=c[f>>2]|0;c[f>>2]=e+8;c[e>>2]=j;c[e+4>>2]=d[j+4>>0]|64;e=c[(c[b+28>>2]|0)+4>>2]|0;b=(c[f>>2]|0)+ -8|0;k=Kd(e,b)|0;if((k|0)==75600)l=Of(h,e,b)|0;else l=k;k=l+4|0;do if((c[k>>2]|0)==0){c[l>>2]=1;c[k>>2]=1;b=c[h+12>>2]|0;e=b+12|0;m=c[e>>2]|0;if((m|0)>0)if((a[b+51>>0]|0)==0){n=b+8|0;c[n>>2]=m+1600+(c[n>>2]|0);c[e>>2]=-1600;o=j;break}else{_d(h);o=j;break}else o=j}else o=c[l+8>>2]|0;while(0);c[f>>2]=(c[f>>2]|0)+ -8;i=g;return o|0}function Af(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=i;a[e+56>>0]=46;k=e+32|0;c[k>>2]=b;c[e>>2]=h;c[e+20>>2]=286;c[e+36>>2]=f;c[e+28>>2]=0;c[e+4>>2]=1;c[e+8>>2]=1;c[e+48>>2]=g;g=Kf(b,76944,4)|0;c[e+52>>2]=g;b=g+5|0;a[b>>0]=d[b>>0]|32;b=c[k>>2]|0;k=e+40|0;e=c[k>>2]|0;g=c[e>>2]|0;f=c[e+8>>2]|0;e=c[b+12>>2]|0;h=(g|0)!=0;l=e+4|0;m=oc[c[e>>2]&1](c[l>>2]|0,g,f,32)|0;if((m|0)==0){if((a[e+51>>0]|0)==0)af(b,4);Zd(b,1);n=oc[c[e>>2]&1](c[l>>2]|0,g,f,32)|0;if((n|0)==0)af(b,4);else o=n}else o=m;m=e+12|0;c[m>>2]=(c[m>>2]|0)+(h?32-f|0:32);c[c[k>>2]>>2]=o;c[(c[k>>2]|0)+8>>2]=32;i=j;return}function Bf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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,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;f=i;i=i+144|0;g=f+140|0;h=f+136|0;j=f+132|0;k=f+128|0;l=f+124|0;m=f+120|0;n=f+116|0;o=f+112|0;p=f+108|0;q=f+104|0;r=f+100|0;s=f+96|0;t=f+92|0;u=f+88|0;v=f+84|0;w=f+80|0;x=f+76|0;y=f+64|0;z=f+60|0;A=f+56|0;B=f+52|0;C=f+48|0;D=f+44|0;E=f+40|0;F=f+36|0;G=f+32|0;H=f+28|0;I=f+24|0;J=f+20|0;K=f+16|0;L=f+12|0;M=f+8|0;N=f+4|0;O=f;P=b+40|0;c[(c[P>>2]|0)+4>>2]=0;Q=b+36|0;a:while(1){R=c[b>>2]|0;b:while(1){switch(R|0){case 60:{S=52;break a;break};case 61:{S=39;break a;break};case 13:case 10:{S=4;break b;break};case 11:case 9:case 12:case 32:break;case 45:{break b;break};case 39:case 34:{S=104;break a;break};case 91:{S=35;break a;break};case 58:{S=91;break a;break};case 46:{S=230;break a;break};case 62:{S=65;break a;break};case 126:{S=78;break a;break};case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:{T=R;break a;break};case-1:{U=286;S=436;break a;break};default:{S=408;break a}}V=c[Q>>2]|0;W=c[V>>2]|0;c[V>>2]=W+ -1;if((W|0)==0){W=gc[c[V+8>>2]&3](c[V+16>>2]|0,c[V+12>>2]|0,O)|0;if((W|0)!=0?(X=c[O>>2]|0,(X|0)!=0):0){c[V>>2]=X+ -1;c[V+4>>2]=W+1;Y=d[W>>0]|0}else Y=-1}else{W=V+4|0;V=c[W>>2]|0;c[W>>2]=V+1;Y=d[V>>0]|0}c[b>>2]=Y;R=Y}if((S|0)==4){S=0;sg(b);continue}V=c[Q>>2]|0;W=c[V>>2]|0;c[V>>2]=W+ -1;if((W|0)==0){W=gc[c[V+8>>2]&3](c[V+16>>2]|0,c[V+12>>2]|0,N)|0;if((W|0)==0){S=16;break}X=c[N>>2]|0;if((X|0)==0){S=16;break}c[V>>2]=X+ -1;c[V+4>>2]=W+1;Z=W}else{W=V+4|0;V=c[W>>2]|0;c[W>>2]=V+1;Z=V}V=a[Z>>0]|0;c[b>>2]=V&255;if(!(V<<24>>24==45)){U=45;S=436;break}V=c[Q>>2]|0;W=c[V>>2]|0;c[V>>2]=W+ -1;do if((W|0)==0){X=gc[c[V+8>>2]&3](c[V+16>>2]|0,c[V+12>>2]|0,M)|0;if((X|0)!=0?(_=c[M>>2]|0,(_|0)!=0):0){c[V>>2]=_+ -1;c[V+4>>2]=X+1;$=X;S=24;break}c[b>>2]=-1;aa=-1}else{X=V+4|0;_=c[X>>2]|0;c[X>>2]=_+1;$=_;S=24}while(0);do if((S|0)==24){S=0;V=a[$>>0]|0;W=V&255;c[b>>2]=W;if(V<<24>>24==91){V=tg(b)|0;c[(c[P>>2]|0)+4>>2]=0;if((V|0)>-1){ug(b,0,V);c[(c[P>>2]|0)+4>>2]=0;continue a}else{aa=c[b>>2]|0;break}}else aa=W}while(0);while(1){if((aa|0)==-1|(aa|0)==13|(aa|0)==10)continue a;W=c[Q>>2]|0;V=c[W>>2]|0;c[W>>2]=V+ -1;if((V|0)==0){V=gc[c[W+8>>2]&3](c[W+16>>2]|0,c[W+12>>2]|0,L)|0;if((V|0)!=0?(_=c[L>>2]|0,(_|0)!=0):0){c[W>>2]=_+ -1;c[W+4>>2]=V+1;ba=d[V>>0]|0}else ba=-1}else{V=W+4|0;W=c[V>>2]|0;c[V>>2]=W+1;ba=d[W>>0]|0}c[b>>2]=ba;aa=ba}}switch(S|0){case 16:{c[b>>2]=-1;U=45;i=f;return U|0};case 35:{ba=tg(b)|0;if((ba|0)>-1){ug(b,e,ba);U=289;i=f;return U|0}if((ba|0)==-1){U=91;i=f;return U|0}else yf(b,78968,289);break};case 39:{ba=c[Q>>2]|0;aa=c[ba>>2]|0;c[ba>>2]=aa+ -1;do if((aa|0)==0){L=gc[c[ba+8>>2]&3](c[ba+16>>2]|0,c[ba+12>>2]|0,K)|0;if((L|0)!=0?($=c[K>>2]|0,($|0)!=0):0){c[ba>>2]=$+ -1;c[ba+4>>2]=L+1;ca=L;break}c[b>>2]=-1;U=61;i=f;return U|0}else{L=ba+4|0;$=c[L>>2]|0;c[L>>2]=$+1;ca=$}while(0);ba=a[ca>>0]|0;c[b>>2]=ba&255;if(!(ba<<24>>24==61)){U=61;i=f;return U|0}ba=c[Q>>2]|0;ca=c[ba>>2]|0;c[ba>>2]=ca+ -1;if((ca|0)==0){ca=gc[c[ba+8>>2]&3](c[ba+16>>2]|0,c[ba+12>>2]|0,J)|0;if((ca|0)!=0?(K=c[J>>2]|0,(K|0)!=0):0){c[ba>>2]=K+ -1;c[ba+4>>2]=ca+1;da=d[ca>>0]|0}else da=-1}else{ca=ba+4|0;ba=c[ca>>2]|0;c[ca>>2]=ba+1;da=d[ba>>0]|0}c[b>>2]=da;U=281;i=f;return U|0};case 52:{da=c[Q>>2]|0;ba=c[da>>2]|0;c[da>>2]=ba+ -1;do if((ba|0)==0){ca=gc[c[da+8>>2]&3](c[da+16>>2]|0,c[da+12>>2]|0,I)|0;if((ca|0)!=0?(K=c[I>>2]|0,(K|0)!=0):0){c[da>>2]=K+ -1;c[da+4>>2]=ca+1;ea=ca;break}c[b>>2]=-1;U=60;i=f;return U|0}else{ca=da+4|0;K=c[ca>>2]|0;c[ca>>2]=K+1;ea=K}while(0);da=a[ea>>0]|0;c[b>>2]=da&255;if(!(da<<24>>24==61)){U=60;i=f;return U|0}da=c[Q>>2]|0;ea=c[da>>2]|0;c[da>>2]=ea+ -1;if((ea|0)==0){ea=gc[c[da+8>>2]&3](c[da+16>>2]|0,c[da+12>>2]|0,H)|0;if((ea|0)!=0?(I=c[H>>2]|0,(I|0)!=0):0){c[da>>2]=I+ -1;c[da+4>>2]=ea+1;fa=d[ea>>0]|0}else fa=-1}else{ea=da+4|0;da=c[ea>>2]|0;c[ea>>2]=da+1;fa=d[da>>0]|0}c[b>>2]=fa;U=283;i=f;return U|0};case 65:{fa=c[Q>>2]|0;da=c[fa>>2]|0;c[fa>>2]=da+ -1;do if((da|0)==0){ea=gc[c[fa+8>>2]&3](c[fa+16>>2]|0,c[fa+12>>2]|0,G)|0;if((ea|0)!=0?(I=c[G>>2]|0,(I|0)!=0):0){c[fa>>2]=I+ -1;c[fa+4>>2]=ea+1;ga=ea;break}c[b>>2]=-1;U=62;i=f;return U|0}else{ea=fa+4|0;I=c[ea>>2]|0;c[ea>>2]=I+1;ga=I}while(0);fa=a[ga>>0]|0;c[b>>2]=fa&255;if(!(fa<<24>>24==61)){U=62;i=f;return U|0}fa=c[Q>>2]|0;ga=c[fa>>2]|0;c[fa>>2]=ga+ -1;if((ga|0)==0){ga=gc[c[fa+8>>2]&3](c[fa+16>>2]|0,c[fa+12>>2]|0,F)|0;if((ga|0)!=0?(G=c[F>>2]|0,(G|0)!=0):0){c[fa>>2]=G+ -1;c[fa+4>>2]=ga+1;ha=d[ga>>0]|0}else ha=-1}else{ga=fa+4|0;fa=c[ga>>2]|0;c[ga>>2]=fa+1;ha=d[fa>>0]|0}c[b>>2]=ha;U=282;i=f;return U|0};case 78:{ha=c[Q>>2]|0;fa=c[ha>>2]|0;c[ha>>2]=fa+ -1;do if((fa|0)==0){ga=gc[c[ha+8>>2]&3](c[ha+16>>2]|0,c[ha+12>>2]|0,E)|0;if((ga|0)!=0?(G=c[E>>2]|0,(G|0)!=0):0){c[ha>>2]=G+ -1;c[ha+4>>2]=ga+1;ia=ga;break}c[b>>2]=-1;U=126;i=f;return U|0}else{ga=ha+4|0;G=c[ga>>2]|0;c[ga>>2]=G+1;ia=G}while(0);ha=a[ia>>0]|0;c[b>>2]=ha&255;if(!(ha<<24>>24==61)){U=126;i=f;return U|0}ha=c[Q>>2]|0;ia=c[ha>>2]|0;c[ha>>2]=ia+ -1;if((ia|0)==0){ia=gc[c[ha+8>>2]&3](c[ha+16>>2]|0,c[ha+12>>2]|0,D)|0;if((ia|0)!=0?(E=c[D>>2]|0,(E|0)!=0):0){c[ha>>2]=E+ -1;c[ha+4>>2]=ia+1;ja=d[ia>>0]|0}else ja=-1}else{ia=ha+4|0;ha=c[ia>>2]|0;c[ia>>2]=ha+1;ja=d[ha>>0]|0}c[b>>2]=ja;U=284;i=f;return U|0};case 91:{ja=c[Q>>2]|0;ha=c[ja>>2]|0;c[ja>>2]=ha+ -1;do if((ha|0)==0){ia=gc[c[ja+8>>2]&3](c[ja+16>>2]|0,c[ja+12>>2]|0,C)|0;if((ia|0)!=0?(E=c[C>>2]|0,(E|0)!=0):0){c[ja>>2]=E+ -1;c[ja+4>>2]=ia+1;ka=ia;break}c[b>>2]=-1;U=58;i=f;return U|0}else{ia=ja+4|0;E=c[ia>>2]|0;c[ia>>2]=E+1;ka=E}while(0);ja=a[ka>>0]|0;c[b>>2]=ja&255;if(!(ja<<24>>24==58)){U=58;i=f;return U|0}ja=c[Q>>2]|0;ka=c[ja>>2]|0;c[ja>>2]=ka+ -1;if((ka|0)==0){ka=gc[c[ja+8>>2]&3](c[ja+16>>2]|0,c[ja+12>>2]|0,B)|0;if((ka|0)!=0?(C=c[B>>2]|0,(C|0)!=0):0){c[ja>>2]=C+ -1;c[ja+4>>2]=ka+1;la=d[ka>>0]|0}else la=-1}else{ka=ja+4|0;ja=c[ka>>2]|0;c[ka>>2]=ja+1;la=d[ja>>0]|0}c[b>>2]=la;U=285;i=f;return U|0};case 104:{la=c[P>>2]|0;ja=la+4|0;ka=c[ja>>2]|0;C=la+8|0;B=c[C>>2]|0;if((ka+1|0)>>>0>B>>>0){if(B>>>0>2147483645)yf(b,79056,0);ha=B<<1;E=c[b+32>>2]|0;if((ha|0)==-2)cf(E);ia=c[la>>2]|0;D=c[E+12>>2]|0;fa=(ia|0)!=0;G=D+4|0;ga=oc[c[D>>2]&1](c[G>>2]|0,ia,B,ha)|0;if(!((ga|0)!=0|(ha|0)==0)){if((a[D+51>>0]|0)==0)af(E,4);Zd(E,1);F=oc[c[D>>2]&1](c[G>>2]|0,ia,B,ha)|0;if((F|0)==0)af(E,4);else ma=F}else ma=ga;ga=D+12|0;c[ga>>2]=(fa?0-B|0:0)+ha+(c[ga>>2]|0);c[la>>2]=ma;c[C>>2]=ha;na=c[ja>>2]|0;oa=ma}else{na=ka;oa=c[la>>2]|0}la=R&255;c[ja>>2]=na+1;a[oa+na>>0]=la;na=c[Q>>2]|0;oa=c[na>>2]|0;c[na>>2]=oa+ -1;if((oa|0)==0){oa=gc[c[na+8>>2]&3](c[na+16>>2]|0,c[na+12>>2]|0,A)|0;if((oa|0)!=0?(ja=c[A>>2]|0,(ja|0)!=0):0){c[na>>2]=ja+ -1;c[na+4>>2]=oa+1;pa=d[oa>>0]|0}else pa=-1}else{oa=na+4|0;na=c[oa>>2]|0;c[oa>>2]=na+1;pa=d[na>>0]|0}c[b>>2]=pa;c:do if((pa|0)!=(R|0)){na=b+32|0;oa=pa;d:while(1){e:do if((oa|0)==-1){S=123;break d}else if((oa|0)==13|(oa|0)==10){S=124;break d}else if((oa|0)==92){ja=c[Q>>2]|0;A=c[ja>>2]|0;c[ja>>2]=A+ -1;do if((A|0)==0){ka=gc[c[ja+8>>2]&3](c[ja+16>>2]|0,c[ja+12>>2]|0,z)|0;if((ka|0)!=0?(ma=c[z>>2]|0,(ma|0)!=0):0){c[ja>>2]=ma+ -1;c[ja+4>>2]=ka+1;qa=ka;break}c[b>>2]=-1;ra=-1;break e}else{ka=ja+4|0;ma=c[ka>>2]|0;c[ka>>2]=ma+1;qa=ma}while(0);ja=d[qa>>0]|0;c[b>>2]=ja;do switch(ja|0){case 98:{sa=8;S=178;break};case 102:{sa=12;S=178;break};case 110:{sa=10;S=178;break};case 114:{sa=13;S=178;break};case 116:{sa=9;S=178;break};case 118:{sa=11;S=178;break};case 120:{c[y>>2]=120;ta=1;A=0;while(1){ma=c[Q>>2]|0;ka=c[ma>>2]|0;c[ma>>2]=ka+ -1;if((ka|0)==0){ka=gc[c[ma+8>>2]&3](c[ma+16>>2]|0,c[ma+12>>2]|0,x)|0;if((ka|0)!=0?(ha=c[x>>2]|0,(ha|0)!=0):0){c[ma>>2]=ha+ -1;c[ma+4>>2]=ka+1;ua=d[ka>>0]|0}else ua=-1}else{ka=ma+4|0;ma=c[ka>>2]|0;c[ka>>2]=ma+1;ua=d[ma>>0]|0}c[b>>2]=ua;c[y+(ta<<2)>>2]=ua;if((a[ua+76209>>0]&16)==0){S=146;break d}ma=ua+ -48|0;if(ma>>>0<10)va=ma;else va=(ua|32)+ -87|0;ma=va+(A<<4)|0;ka=ta+1|0;if((ka|0)<3){ta=ka;A=ma}else{sa=ma;S=178;break}}break};case 97:{sa=7;S=178;break};case 13:case 10:{sg(b);wa=10;break};case 39:case 34:case 92:{sa=ja;S=178;break};case 122:{A=c[Q>>2]|0;ma=c[A>>2]|0;c[A>>2]=ma+ -1;if((ma|0)==0){ma=gc[c[A+8>>2]&3](c[A+16>>2]|0,c[A+12>>2]|0,w)|0;if((ma|0)!=0?(ka=c[w>>2]|0,(ka|0)!=0):0){c[A>>2]=ka+ -1;c[A+4>>2]=ma+1;xa=d[ma>>0]|0}else xa=-1}else{ma=A+4|0;A=c[ma>>2]|0;c[ma>>2]=A+1;xa=d[A>>0]|0}c[b>>2]=xa;if((a[xa+76209>>0]&8)==0){ra=xa;break e}else ya=xa;while(1){if((ya|0)==13|(ya|0)==10){sg(b);za=c[b>>2]|0}else{A=c[Q>>2]|0;ma=c[A>>2]|0;c[A>>2]=ma+ -1;if((ma|0)==0){ma=gc[c[A+8>>2]&3](c[A+16>>2]|0,c[A+12>>2]|0,v)|0;if((ma|0)!=0?(ka=c[v>>2]|0,(ka|0)!=0):0){c[A>>2]=ka+ -1;c[A+4>>2]=ma+1;Aa=d[ma>>0]|0}else Aa=-1}else{ma=A+4|0;A=c[ma>>2]|0;c[ma>>2]=A+1;Aa=d[A>>0]|0}c[b>>2]=Aa;za=Aa}if((a[za+76209>>0]&8)==0){ra=za;break e}else ya=za}break};default:{if((ja+ -48|0)>>>0<10){Ba=ja;Ca=0;Da=0}else{S=168;break d}while(1){A=Ba+ -48|0;if(!(A>>>0<10)){Ea=Ca;Fa=Da;break}c[y+(Ca<<2)>>2]=Ba;ma=(Da*10|0)+A|0;A=c[Q>>2]|0;ka=c[A>>2]|0;c[A>>2]=ka+ -1;if((ka|0)==0){ka=gc[c[A+8>>2]&3](c[A+16>>2]|0,c[A+12>>2]|0,u)|0;if((ka|0)!=0?(ha=c[u>>2]|0,(ha|0)!=0):0){c[A>>2]=ha+ -1;c[A+4>>2]=ka+1;Ga=d[ka>>0]|0}else Ga=-1}else{ka=A+4|0;A=c[ka>>2]|0;c[ka>>2]=A+1;Ga=d[A>>0]|0}c[b>>2]=Ga;A=Ca+1|0;if((A|0)<3){Ba=Ga;Ca=A;Da=ma}else{Ea=A;Fa=ma;break}}if((Fa|0)>255){S=177;break d}else wa=Fa}}while(0);if((S|0)==178){S=0;ja=c[Q>>2]|0;ma=c[ja>>2]|0;c[ja>>2]=ma+ -1;if((ma|0)==0){ma=gc[c[ja+8>>2]&3](c[ja+16>>2]|0,c[ja+12>>2]|0,t)|0;if((ma|0)!=0?(A=c[t>>2]|0,(A|0)!=0):0){c[ja>>2]=A+ -1;c[ja+4>>2]=ma+1;Ha=d[ma>>0]|0}else Ha=-1}else{ma=ja+4|0;ja=c[ma>>2]|0;c[ma>>2]=ja+1;Ha=d[ja>>0]|0}c[b>>2]=Ha;wa=sa}ja=c[P>>2]|0;ma=ja+4|0;A=c[ma>>2]|0;ka=ja+8|0;ha=c[ka>>2]|0;if((A+1|0)>>>0>ha>>>0){if(ha>>>0>2147483645){S=187;break d}C=ha<<1;Ia=c[na>>2]|0;if((C|0)==-2){S=189;break d}ga=c[ja>>2]|0;B=c[Ia+12>>2]|0;fa=(ga|0)!=0;D=B+4|0;F=oc[c[B>>2]&1](c[D>>2]|0,ga,ha,C)|0;if(!((F|0)!=0|(C|0)==0)){if((a[B+51>>0]|0)==0){S=193;break d}Zd(Ia,1);E=oc[c[B>>2]&1](c[D>>2]|0,ga,ha,C)|0;if((E|0)==0){S=193;break d}else Ja=E}else Ja=F;F=B+12|0;c[F>>2]=(fa?0-ha|0:0)+C+(c[F>>2]|0);c[ja>>2]=Ja;c[ka>>2]=C;Ka=c[ma>>2]|0;La=Ja}else{Ka=A;La=c[ja>>2]|0}c[ma>>2]=Ka+1;a[La+Ka>>0]=wa;ra=c[b>>2]|0}else{ma=c[P>>2]|0;ja=ma+4|0;A=c[ja>>2]|0;C=ma+8|0;ka=c[C>>2]|0;if((A+1|0)>>>0>ka>>>0){if(ka>>>0>2147483645){S=199;break d}F=ka<<1;Ma=c[na>>2]|0;if((F|0)==-2){S=201;break d}ha=c[ma>>2]|0;fa=c[Ma+12>>2]|0;B=(ha|0)!=0;E=fa+4|0;ga=oc[c[fa>>2]&1](c[E>>2]|0,ha,ka,F)|0;if(!((ga|0)!=0|(F|0)==0)){if((a[fa+51>>0]|0)==0){S=205;break d}Zd(Ma,1);D=oc[c[fa>>2]&1](c[E>>2]|0,ha,ka,F)|0;if((D|0)==0){S=205;break d}else Na=D}else Na=ga;ga=fa+12|0;c[ga>>2]=(B?0-ka|0:0)+F+(c[ga>>2]|0);c[ma>>2]=Na;c[C>>2]=F;Oa=c[ja>>2]|0;Pa=Na}else{Oa=A;Pa=c[ma>>2]|0}c[ja>>2]=Oa+1;a[Pa+Oa>>0]=oa;ja=c[Q>>2]|0;ma=c[ja>>2]|0;c[ja>>2]=ma+ -1;if((ma|0)==0){ma=gc[c[ja+8>>2]&3](c[ja+16>>2]|0,c[ja+12>>2]|0,s)|0;if((ma|0)!=0?(A=c[s>>2]|0,(A|0)!=0):0){c[ja>>2]=A+ -1;c[ja+4>>2]=ma+1;Qa=d[ma>>0]|0}else Qa=-1}else{ma=ja+4|0;ja=c[ma>>2]|0;c[ma>>2]=ja+1;Qa=d[ja>>0]|0}c[b>>2]=Qa;ra=Qa}while(0);if((ra|0)==(R|0))break c;else oa=ra}switch(S|0){case 123:{yf(b,79088,286);break};case 124:{yf(b,79088,289);break};case 146:{wg(b,y,ta+1|0,79168);break};case 168:{wg(b,b,1,79112);break};case 177:{wg(b,y,Ea,79136);break};case 187:{yf(b,79056,0);break};case 189:{cf(Ia);break};case 193:{af(Ia,4);break};case 199:{yf(b,79056,0);break};case 201:{cf(Ma);break};case 205:{af(Ma,4);break}}}while(0);Ma=c[P>>2]|0;Ia=Ma+4|0;Ea=c[Ia>>2]|0;y=Ma+8|0;ta=c[y>>2]|0;if((Ea+1|0)>>>0>ta>>>0){if(ta>>>0>2147483645)yf(b,79056,0);ra=ta<<1;Qa=c[b+32>>2]|0;if((ra|0)==-2)cf(Qa);s=c[Ma>>2]|0;Oa=c[Qa+12>>2]|0;Pa=(s|0)!=0;Na=Oa+4|0;wa=oc[c[Oa>>2]&1](c[Na>>2]|0,s,ta,ra)|0;if(!((wa|0)!=0|(ra|0)==0)){if((a[Oa+51>>0]|0)==0)af(Qa,4);Zd(Qa,1);Ka=oc[c[Oa>>2]&1](c[Na>>2]|0,s,ta,ra)|0;if((Ka|0)==0)af(Qa,4);else Ra=Ka}else Ra=wa;wa=Oa+12|0;c[wa>>2]=(Pa?0-ta|0:0)+ra+(c[wa>>2]|0);c[Ma>>2]=Ra;c[y>>2]=ra;Sa=c[Ia>>2]|0;Ta=Ra}else{Sa=Ea;Ta=c[Ma>>2]|0}c[Ia>>2]=Sa+1;a[Ta+Sa>>0]=la;la=c[Q>>2]|0;Sa=c[la>>2]|0;c[la>>2]=Sa+ -1;if((Sa|0)==0){Sa=gc[c[la+8>>2]&3](c[la+16>>2]|0,c[la+12>>2]|0,r)|0;if((Sa|0)!=0?(Ta=c[r>>2]|0,(Ta|0)!=0):0){c[la>>2]=Ta+ -1;c[la+4>>2]=Sa+1;Ua=d[Sa>>0]|0}else Ua=-1}else{Sa=la+4|0;la=c[Sa>>2]|0;c[Sa>>2]=la+1;Ua=d[la>>0]|0}c[b>>2]=Ua;Ua=c[P>>2]|0;c[e>>2]=zf(b,(c[Ua>>2]|0)+1|0,(c[Ua+4>>2]|0)+ -2|0)|0;U=289;i=f;return U|0};case 230:{Ua=c[P>>2]|0;la=Ua+4|0;Sa=c[la>>2]|0;Ta=Ua+8|0;r=c[Ta>>2]|0;if((Sa+1|0)>>>0>r>>>0){if(r>>>0>2147483645)yf(b,79056,0);Ia=r<<1;Ma=c[b+32>>2]|0;if((Ia|0)==-2)cf(Ma);Ea=c[Ua>>2]|0;Ra=c[Ma+12>>2]|0;ra=(Ea|0)!=0;y=Ra+4|0;wa=oc[c[Ra>>2]&1](c[y>>2]|0,Ea,r,Ia)|0;if(!((wa|0)!=0|(Ia|0)==0)){if((a[Ra+51>>0]|0)==0)af(Ma,4);Zd(Ma,1);ta=oc[c[Ra>>2]&1](c[y>>2]|0,Ea,r,Ia)|0;if((ta|0)==0)af(Ma,4);else Va=ta}else Va=wa;wa=Ra+12|0;c[wa>>2]=(ra?0-r|0:0)+Ia+(c[wa>>2]|0);c[Ua>>2]=Va;c[Ta>>2]=Ia;Wa=c[la>>2]|0;Xa=Va}else{Wa=Sa;Xa=c[Ua>>2]|0}c[la>>2]=Wa+1;a[Xa+Wa>>0]=46;Wa=c[Q>>2]|0;Xa=c[Wa>>2]|0;c[Wa>>2]=Xa+ -1;do if((Xa|0)==0){la=gc[c[Wa+8>>2]&3](c[Wa+16>>2]|0,c[Wa+12>>2]|0,q)|0;if((la|0)!=0?(Ua=c[q>>2]|0,(Ua|0)!=0):0){c[Wa>>2]=Ua+ -1;c[Wa+4>>2]=la+1;Za=la;S=247;break}c[b>>2]=-1;_a=-1}else{la=Wa+4|0;Ua=c[la>>2]|0;c[la>>2]=Ua+1;Za=Ua;S=247}while(0);if((S|0)==247){Wa=a[Za>>0]|0;Za=Wa&255;c[b>>2]=Za;if(Wa<<24>>24==0){U=46;i=f;return U|0}else _a=Za}if((Xo(78960,_a,2)|0)==0){Za=c[b>>2]|0;if((Za+ -48|0)>>>0<10){T=Za;break}else U=46;i=f;return U|0}Za=c[P>>2]|0;Wa=Za+4|0;q=c[Wa>>2]|0;Xa=Za+8|0;Ua=c[Xa>>2]|0;if((q+1|0)>>>0>Ua>>>0){if(Ua>>>0>2147483645)yf(b,79056,0);la=Ua<<1;Sa=c[b+32>>2]|0;if((la|0)==-2)cf(Sa);Va=c[Za>>2]|0;Ia=c[Sa+12>>2]|0;Ta=(Va|0)!=0;wa=Ia+4|0;r=oc[c[Ia>>2]&1](c[wa>>2]|0,Va,Ua,la)|0;if(!((r|0)!=0|(la|0)==0)){if((a[Ia+51>>0]|0)==0)af(Sa,4);Zd(Sa,1);ra=oc[c[Ia>>2]&1](c[wa>>2]|0,Va,Ua,la)|0;if((ra|0)==0)af(Sa,4);else $a=ra}else $a=r;r=Ia+12|0;c[r>>2]=(Ta?0-Ua|0:0)+la+(c[r>>2]|0);c[Za>>2]=$a;c[Xa>>2]=la;ab=c[Wa>>2]|0;bb=$a}else{ab=q;bb=c[Za>>2]|0}c[Wa>>2]=ab+1;a[bb+ab>>0]=_a;_a=c[Q>>2]|0;ab=c[_a>>2]|0;c[_a>>2]=ab+ -1;do if((ab|0)==0){bb=gc[c[_a+8>>2]&3](c[_a+16>>2]|0,c[_a+12>>2]|0,p)|0;if((bb|0)!=0?(Wa=c[p>>2]|0,(Wa|0)!=0):0){c[_a>>2]=Wa+ -1;c[_a+4>>2]=bb+1;cb=bb;S=266;break}c[b>>2]=-1;db=-1}else{bb=_a+4|0;Wa=c[bb>>2]|0;c[bb>>2]=Wa+1;cb=Wa;S=266}while(0);if((S|0)==266){_a=a[cb>>0]|0;cb=_a&255;c[b>>2]=cb;if(_a<<24>>24==0){U=279;i=f;return U|0}else db=cb}if((Xo(78960,db,2)|0)==0){U=279;i=f;return U|0}cb=c[P>>2]|0;_a=cb+4|0;p=c[_a>>2]|0;ab=cb+8|0;Wa=c[ab>>2]|0;if((p+1|0)>>>0>Wa>>>0){if(Wa>>>0>2147483645)yf(b,79056,0);bb=Wa<<1;Za=c[b+32>>2]|0;if((bb|0)==-2)cf(Za);q=c[cb>>2]|0;$a=c[Za+12>>2]|0;la=(q|0)!=0;Xa=$a+4|0;r=oc[c[$a>>2]&1](c[Xa>>2]|0,q,Wa,bb)|0;if(!((r|0)!=0|(bb|0)==0)){if((a[$a+51>>0]|0)==0)af(Za,4);Zd(Za,1);Ua=oc[c[$a>>2]&1](c[Xa>>2]|0,q,Wa,bb)|0;if((Ua|0)==0)af(Za,4);else eb=Ua}else eb=r;r=$a+12|0;c[r>>2]=(la?0-Wa|0:0)+bb+(c[r>>2]|0);c[cb>>2]=eb;c[ab>>2]=bb;fb=c[_a>>2]|0;gb=eb}else{fb=p;gb=c[cb>>2]|0}c[_a>>2]=fb+1;a[gb+fb>>0]=db;db=c[Q>>2]|0;fb=c[db>>2]|0;c[db>>2]=fb+ -1;if((fb|0)==0){fb=gc[c[db+8>>2]&3](c[db+16>>2]|0,c[db+12>>2]|0,o)|0;if((fb|0)!=0?(gb=c[o>>2]|0,(gb|0)!=0):0){c[db>>2]=gb+ -1;c[db+4>>2]=fb+1;hb=d[fb>>0]|0}else hb=-1}else{fb=db+4|0;db=c[fb>>2]|0;c[fb>>2]=db+1;hb=d[db>>0]|0}c[b>>2]=hb;U=280;i=f;return U|0};case 408:{if((a[R+76209>>0]&1)==0){hb=c[Q>>2]|0;db=c[hb>>2]|0;c[hb>>2]=db+ -1;if((db|0)==0){db=gc[c[hb+8>>2]&3](c[hb+16>>2]|0,c[hb+12>>2]|0,g)|0;if((db|0)!=0?(fb=c[g>>2]|0,(fb|0)!=0):0){c[hb>>2]=fb+ -1;c[hb+4>>2]=db+1;ib=d[db>>0]|0}else ib=-1}else{db=hb+4|0;hb=c[db>>2]|0;c[db>>2]=hb+1;ib=d[hb>>0]|0}c[b>>2]=ib;U=R;i=f;return U|0}ib=b+32|0;hb=R;while(1){R=c[P>>2]|0;db=R+4|0;fb=c[db>>2]|0;g=R+8|0;gb=c[g>>2]|0;if((fb+1|0)>>>0>gb>>>0){if(gb>>>0>2147483645){S=413;break}o=gb<<1;jb=c[ib>>2]|0;if((o|0)==-2){S=415;break}_a=c[R>>2]|0;cb=c[jb+12>>2]|0;p=(_a|0)!=0;eb=cb+4|0;bb=oc[c[cb>>2]&1](c[eb>>2]|0,_a,gb,o)|0;if(!((bb|0)!=0|(o|0)==0)){if((a[cb+51>>0]|0)==0){S=419;break}Zd(jb,1);ab=oc[c[cb>>2]&1](c[eb>>2]|0,_a,gb,o)|0;if((ab|0)==0){S=419;break}else kb=ab}else kb=bb;bb=cb+12|0;c[bb>>2]=(p?0-gb|0:0)+o+(c[bb>>2]|0);c[R>>2]=kb;c[g>>2]=o;lb=c[db>>2]|0;mb=kb}else{lb=fb;mb=c[R>>2]|0}c[db>>2]=lb+1;a[mb+lb>>0]=hb;db=c[Q>>2]|0;R=c[db>>2]|0;c[db>>2]=R+ -1;if((R|0)==0){R=gc[c[db+8>>2]&3](c[db+16>>2]|0,c[db+12>>2]|0,h)|0;if((R|0)!=0?(fb=c[h>>2]|0,(fb|0)!=0):0){c[db>>2]=fb+ -1;c[db+4>>2]=R+1;nb=d[R>>0]|0}else nb=-1}else{R=db+4|0;db=c[R>>2]|0;c[R>>2]=db+1;nb=d[db>>0]|0}c[b>>2]=nb;if((a[nb+76209>>0]&3)==0){S=427;break}else hb=nb}if((S|0)==413)yf(b,79056,0);else if((S|0)==415)cf(jb);else if((S|0)==419)af(jb,4);else if((S|0)==427){jb=c[P>>2]|0;nb=zf(b,c[jb>>2]|0,c[jb+4>>2]|0)|0;c[e>>2]=nb;if((a[nb+4>>0]|0)!=4){U=288;i=f;return U|0}jb=a[nb+6>>0]|0;if(jb<<24>>24==0){U=288;i=f;return U|0}U=jb&255|256;i=f;return U|0}break};case 436:{i=f;return U|0}}jb=c[P>>2]|0;nb=jb+4|0;hb=c[nb>>2]|0;h=jb+8|0;lb=c[h>>2]|0;if((hb+1|0)>>>0>lb>>>0){if(lb>>>0>2147483645)yf(b,79056,0);mb=lb<<1;kb=c[b+32>>2]|0;if((mb|0)==-2)cf(kb);ib=c[jb>>2]|0;db=c[kb+12>>2]|0;R=(ib|0)!=0;fb=db+4|0;o=oc[c[db>>2]&1](c[fb>>2]|0,ib,lb,mb)|0;if(!((o|0)!=0|(mb|0)==0)){if((a[db+51>>0]|0)==0)af(kb,4);Zd(kb,1);g=oc[c[db>>2]&1](c[fb>>2]|0,ib,lb,mb)|0;if((g|0)==0)af(kb,4);else ob=g}else ob=o;o=db+12|0;c[o>>2]=(R?0-lb|0:0)+mb+(c[o>>2]|0);c[jb>>2]=ob;c[h>>2]=mb;pb=c[nb>>2]|0;qb=ob}else{pb=hb;qb=c[jb>>2]|0}c[nb>>2]=pb+1;a[qb+pb>>0]=T;pb=c[Q>>2]|0;qb=c[pb>>2]|0;c[pb>>2]=qb+ -1;if((qb|0)==0){qb=gc[c[pb+8>>2]&3](c[pb+16>>2]|0,c[pb+12>>2]|0,n)|0;if((qb|0)!=0?(nb=c[n>>2]|0,(nb|0)!=0):0){c[pb>>2]=nb+ -1;c[pb+4>>2]=qb+1;rb=d[qb>>0]|0}else rb=-1}else{qb=pb+4|0;pb=c[qb>>2]|0;c[qb>>2]=pb+1;rb=d[pb>>0]|0}c[b>>2]=rb;do if((T|0)==48)if((rb|0)==0){sb=0;tb=79e3}else{if((Xo(79008,rb,3)|0)==0){sb=c[b>>2]|0;tb=79e3;break}pb=c[P>>2]|0;qb=pb+4|0;nb=c[qb>>2]|0;n=pb+8|0;jb=c[n>>2]|0;if((nb+1|0)>>>0>jb>>>0){if(jb>>>0>2147483645)yf(b,79056,0);hb=jb<<1;ob=c[b+32>>2]|0;if((hb|0)==-2)cf(ob);mb=c[pb>>2]|0;h=c[ob+12>>2]|0;o=(mb|0)!=0;lb=h+4|0;R=oc[c[h>>2]&1](c[lb>>2]|0,mb,jb,hb)|0;if(!((R|0)!=0|(hb|0)==0)){if((a[h+51>>0]|0)==0)af(ob,4);Zd(ob,1);db=oc[c[h>>2]&1](c[lb>>2]|0,mb,jb,hb)|0;if((db|0)==0)af(ob,4);else ub=db}else ub=R;R=h+12|0;c[R>>2]=(o?0-jb|0:0)+hb+(c[R>>2]|0);c[pb>>2]=ub;c[n>>2]=hb;vb=c[qb>>2]|0;wb=ub}else{vb=nb;wb=c[pb>>2]|0}c[qb>>2]=vb+1;a[wb+vb>>0]=rb;qb=c[Q>>2]|0;pb=c[qb>>2]|0;c[qb>>2]=pb+ -1;if((pb|0)==0){pb=gc[c[qb+8>>2]&3](c[qb+16>>2]|0,c[qb+12>>2]|0,m)|0;if((pb|0)!=0?(nb=c[m>>2]|0,(nb|0)!=0):0){c[qb>>2]=nb+ -1;c[qb+4>>2]=pb+1;xb=d[pb>>0]|0}else xb=-1}else{pb=qb+4|0;qb=c[pb>>2]|0;c[pb>>2]=qb+1;xb=d[qb>>0]|0}c[b>>2]=xb;sb=xb;tb=79016}else{sb=rb;tb=79e3}while(0);rb=b+32|0;xb=sb;f:while(1){do if((xb|0)!=0?(Xo(tb,xb,3)|0)!=0:0){sb=c[P>>2]|0;m=sb+4|0;vb=c[m>>2]|0;wb=sb+8|0;ub=c[wb>>2]|0;if((vb+1|0)>>>0>ub>>>0){if(ub>>>0>2147483645){S=329;break f}T=ub<<1;yb=c[rb>>2]|0;if((T|0)==-2){S=331;break f}qb=c[sb>>2]|0;pb=c[yb+12>>2]|0;nb=(qb|0)!=0;hb=pb+4|0;n=oc[c[pb>>2]&1](c[hb>>2]|0,qb,ub,T)|0;if(!((n|0)!=0|(T|0)==0)){if((a[pb+51>>0]|0)==0){S=335;break f}Zd(yb,1);R=oc[c[pb>>2]&1](c[hb>>2]|0,qb,ub,T)|0;if((R|0)==0){S=335;break f}else zb=R}else zb=n;n=pb+12|0;c[n>>2]=(nb?0-ub|0:0)+T+(c[n>>2]|0);c[sb>>2]=zb;c[wb>>2]=T;Ab=c[m>>2]|0;Bb=zb}else{Ab=vb;Bb=c[sb>>2]|0}c[m>>2]=Ab+1;a[Bb+Ab>>0]=xb;m=c[Q>>2]|0;sb=c[m>>2]|0;c[m>>2]=sb+ -1;do if((sb|0)==0){vb=gc[c[m+8>>2]&3](c[m+16>>2]|0,c[m+12>>2]|0,l)|0;if((vb|0)!=0?(T=c[l>>2]|0,(T|0)!=0):0){c[m>>2]=T+ -1;c[m+4>>2]=vb+1;Cb=vb;S=343;break}c[b>>2]=-1;Db=-1}else{vb=m+4|0;T=c[vb>>2]|0;c[vb>>2]=T+1;Cb=T;S=343}while(0);if((S|0)==343){S=0;m=a[Cb>>0]|0;sb=m&255;c[b>>2]=sb;if(m<<24>>24==0)break;else Db=sb}if((Xo(79024,Db,3)|0)!=0){sb=c[P>>2]|0;m=sb+4|0;T=c[m>>2]|0;vb=sb+8|0;wb=c[vb>>2]|0;if((T+1|0)>>>0>wb>>>0){if(wb>>>0>2147483645){S=348;break f}n=wb<<1;Eb=c[rb>>2]|0;if((n|0)==-2){S=350;break f}ub=c[sb>>2]|0;nb=c[Eb+12>>2]|0;pb=(ub|0)!=0;R=nb+4|0;qb=oc[c[nb>>2]&1](c[R>>2]|0,ub,wb,n)|0;if(!((qb|0)!=0|(n|0)==0)){if((a[nb+51>>0]|0)==0){S=354;break f}Zd(Eb,1);hb=oc[c[nb>>2]&1](c[R>>2]|0,ub,wb,n)|0;if((hb|0)==0){S=354;break f}else Fb=hb}else Fb=qb;qb=nb+12|0;c[qb>>2]=(pb?0-wb|0:0)+n+(c[qb>>2]|0);c[sb>>2]=Fb;c[vb>>2]=n;Gb=c[m>>2]|0;Hb=Fb}else{Gb=T;Hb=c[sb>>2]|0}c[m>>2]=Gb+1;a[Hb+Gb>>0]=Db;m=c[Q>>2]|0;sb=c[m>>2]|0;c[m>>2]=sb+ -1;if((sb|0)==0){sb=gc[c[m+8>>2]&3](c[m+16>>2]|0,c[m+12>>2]|0,k)|0;if((sb|0)!=0?(T=c[k>>2]|0,(T|0)!=0):0){c[m>>2]=T+ -1;c[m+4>>2]=sb+1;Ib=d[sb>>0]|0}else Ib=-1}else{sb=m+4|0;m=c[sb>>2]|0;c[sb>>2]=m+1;Ib=d[m>>0]|0}c[b>>2]=Ib}}while(0);m=c[b>>2]|0;Jb=c[P>>2]|0;Kb=Jb+4|0;Lb=c[Kb>>2]|0;Mb=Jb+8|0;Nb=c[Mb>>2]|0;Ob=(Lb+1|0)>>>0>Nb>>>0;if(!((a[m+76209>>0]&16)!=0|(m|0)==46)){S=380;break}if(Ob){if(Nb>>>0>2147483645){S=366;break}sb=Nb<<1;Pb=c[rb>>2]|0;if((sb|0)==-2){S=368;break}T=c[Jb>>2]|0;n=c[Pb+12>>2]|0;vb=(T|0)!=0;qb=n+4|0;wb=oc[c[n>>2]&1](c[qb>>2]|0,T,Nb,sb)|0;if(!((wb|0)!=0|(sb|0)==0)){if((a[n+51>>0]|0)==0){S=372;break}Zd(Pb,1);pb=oc[c[n>>2]&1](c[qb>>2]|0,T,Nb,sb)|0;if((pb|0)==0){S=372;break}else Qb=pb}else Qb=wb;wb=n+12|0;c[wb>>2]=(vb?0-Nb|0:0)+sb+(c[wb>>2]|0);c[Jb>>2]=Qb;c[Mb>>2]=sb;Rb=c[Kb>>2]|0;Sb=Qb}else{Rb=Lb;Sb=c[Jb>>2]|0}c[Kb>>2]=Rb+1;a[Sb+Rb>>0]=m;m=c[Q>>2]|0;sb=c[m>>2]|0;c[m>>2]=sb+ -1;if((sb|0)==0){sb=gc[c[m+8>>2]&3](c[m+16>>2]|0,c[m+12>>2]|0,j)|0;if((sb|0)!=0?(wb=c[j>>2]|0,(wb|0)!=0):0){c[m>>2]=wb+ -1;c[m+4>>2]=sb+1;Tb=d[sb>>0]|0}else Tb=-1}else{sb=m+4|0;m=c[sb>>2]|0;c[sb>>2]=m+1;Tb=d[m>>0]|0}c[b>>2]=Tb;xb=Tb}switch(S|0){case 329:{yf(b,79056,0);break};case 331:{cf(yb);break};case 335:{af(yb,4);break};case 348:{yf(b,79056,0);break};case 350:{cf(Eb);break};case 354:{af(Eb,4);break};case 366:{yf(b,79056,0);break};case 368:{cf(Pb);break};case 372:{af(Pb,4);break};case 380:{if(Ob){if(Nb>>>0>2147483645)yf(b,79056,0);Ob=Nb<<1;Pb=c[rb>>2]|0;if((Ob|0)==-2)cf(Pb);rb=c[Jb>>2]|0;Eb=c[Pb+12>>2]|0;yb=(rb|0)!=0;S=Eb+4|0;Tb=oc[c[Eb>>2]&1](c[S>>2]|0,rb,Nb,Ob)|0;if(!((Tb|0)!=0|(Ob|0)==0)){if((a[Eb+51>>0]|0)==0)af(Pb,4);Zd(Pb,1);xb=oc[c[Eb>>2]&1](c[S>>2]|0,rb,Nb,Ob)|0;if((xb|0)==0)af(Pb,4);else Ub=xb}else Ub=Tb;Tb=Eb+12|0;c[Tb>>2]=(yb?0-Nb|0:0)+Ob+(c[Tb>>2]|0);c[Jb>>2]=Ub;c[Mb>>2]=Ob;Vb=c[Kb>>2]|0;Wb=Ub}else{Vb=Lb;Wb=c[Jb>>2]|0}c[Kb>>2]=Vb+1;a[Wb+Vb>>0]=0;Vb=b+56|0;Wb=a[Vb>>0]|0;Kb=c[P>>2]|0;Jb=c[Kb>>2]|0;Lb=c[Kb+4>>2]|0;if((Lb|0)==0){Xb=Jb;Yb=-1}else{Kb=Lb;do{Kb=Kb+ -1|0;Lb=Jb+Kb|0;if((a[Lb>>0]|0)==46)a[Lb>>0]=Wb}while((Kb|0)!=0);Kb=c[P>>2]|0;Xb=c[Kb>>2]|0;Yb=(c[Kb+4>>2]|0)+ -1|0}if((Df(Xb,Yb,e)|0)!=0){U=287;i=f;return U|0}Yb=a[Vb>>0]|0;Xb=a[c[(Ya()|0)>>2]>>0]|0;a[Vb>>0]=Xb;Kb=c[P>>2]|0;Wb=c[Kb>>2]|0;Jb=c[Kb+4>>2]|0;if((Jb|0)==0){Zb=Wb;_b=-1}else{Kb=Jb;do{Kb=Kb+ -1|0;Jb=Wb+Kb|0;if((a[Jb>>0]|0)==Yb<<24>>24)a[Jb>>0]=Xb}while((Kb|0)!=0);Kb=c[P>>2]|0;Zb=c[Kb>>2]|0;_b=(c[Kb+4>>2]|0)+ -1|0}if((Df(Zb,_b,e)|0)!=0){U=287;i=f;return U|0}U=a[Vb>>0]|0;Vb=c[P>>2]|0;P=c[Vb>>2]|0;f=c[Vb+4>>2]|0;if((f|0)==0)yf(b,79032,287);else $b=f;do{$b=$b+ -1|0;f=P+$b|0;if((a[f>>0]|0)==U<<24>>24)a[f>>0]=46}while(($b|0)!=0);yf(b,79032,287);break}}return 0}function Cf(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 j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=i;i=i+16|0;k=j;l=c[e>>2]|0;if((l|0)>=((g|0)/2|0|0))if((l|0)<(g|0))m=g;else{c[k>>2]=h;c[k+4>>2]=g;Ye(b,76952,k)}else{k=l<<1;m=(k|0)<4?4:k}if((m+1|0)>>>0>(4294967293/(f>>>0)|0)>>>0)cf(b);k=aa(l,f)|0;l=aa(m,f)|0;f=c[b+12>>2]|0;g=(d|0)!=0;h=f+4|0;n=oc[c[f>>2]&1](c[h>>2]|0,d,k,l)|0;if((n|0)!=0|(l|0)==0){o=n;p=f+12|0;q=c[p>>2]|0;r=0-k|0;s=g?r:0;t=s+l|0;u=t+q|0;c[p>>2]=u;c[e>>2]=m;i=j;return o|0}if((a[f+51>>0]|0)==0)af(b,4);Zd(b,1);n=oc[c[f>>2]&1](c[h>>2]|0,d,k,l)|0;if((n|0)==0)af(b,4);else{o=n;p=f+12|0;q=c[p>>2]|0;r=0-k|0;s=g?r:0;t=s+l|0;u=t+q|0;c[p>>2]=u;c[e>>2]=m;i=j;return o|0}return 0}function Df(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;g=i;i=i+16|0;h=g;if((to(b,77288)|0)!=0){j=0;i=g;return j|0}do if((to(b,77296)|0)==0){k=~~(+Wo(b,h)*65536.0+762939453125.0e-17);l=c[h>>2]|0;m=k}else{c[h>>2]=b;k=b;while(1){n=a[k>>0]|0;o=k+1|0;if((a[(n&255)+76209>>0]&8)==0)break;else k=o}if(n<<24>>24==43)p=o;else if(n<<24>>24==45)p=o;else p=k;if((a[p>>0]|0)==48?(q=a[p+1>>0]|0,q<<24>>24==88|q<<24>>24==120):0){q=p+2|0;r=a[q>>0]|0;s=r&255;if((a[s+76209>>0]&16)==0){t=0;u=r;v=q;w=0}else{r=0;x=s;s=0;y=q;do{q=x+ -48|0;if(q>>>0<10)z=q;else z=(x|32)+ -87|0;r=z+(r<<4)|0;s=s+1|0;y=y+1|0;A=a[y>>0]|0;x=A&255}while(!((a[x+76209>>0]&16)==0));t=r<<16;u=A;v=y;w=s}if(u<<24>>24==46){x=v+1|0;k=d[x>>0]|0;if((a[k+76209>>0]&16)==0){B=0;C=0;D=x}else{q=0;E=k;k=0;F=x;while(1){G=E+ -48|0;if(G>>>0<10)H=G;else H=(E|32)+ -87|0;G=H+(q<<4)|0;I=k+1|0;J=F+1|0;E=d[J>>0]|0;if((a[E+76209>>0]&16)==0){B=G;C=I;D=J;break}else{q=G;k=I;F=J}}}F=D-x|0;if((F+ -1|0)>>>0<3){K=C;L=D;M=B<<(4-F<<2)}else{K=C;L=D;M=B}}else{K=0;L=v;M=0}if((K|w|0)!=0){c[h>>2]=L;F=a[L>>0]|0;if(F<<24>>24==80|F<<24>>24==112){l=L;m=0;break}c[h>>2]=L;l=L;m=~~+go(+(M+t|0),0);break}}c[f>>2]=0;j=0;i=g;return j|0}while(0);c[f>>2]=m;if((l|0)==(b|0)){j=0;i=g;return j|0}if((a[(d[l>>0]|0)+76209>>0]&8)==0)N=l;else{m=l;do m=m+1|0;while(!((a[(d[m>>0]|0)+76209>>0]&8)==0));c[h>>2]=m;N=m}j=(N|0)==(b+e|0)&1;i=g;return j|0}function Ef(e,f,g,h,j,k){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;l=i;i=i+160|0;m=l;n=l+136|0;o=l+120|0;p=l+56|0;q=l+4|0;r=of(e,1)|0;s=e+8|0;t=c[s>>2]|0;c[t>>2]=r;c[t+4>>2]=70;t=(c[s>>2]|0)+8|0;c[s>>2]=t;s=t;do if(((c[e+24>>2]|0)-s|0)<8){t=c[e+32>>2]|0;if((t|0)>1e6)af(e,6);u=(s-(c[e+28>>2]|0)>>3)+5|0;v=t<<1;t=(v|0)>1e6?1e6:v;v=(t|0)<(u|0)?u:t;if((v|0)>1e6){bf(e,1000200);Ye(e,75904,m)}else{bf(e,v);break}}while(0);s=e+12|0;v=c[s>>2]|0;t=v+4|0;u=oc[c[v>>2]&1](c[t>>2]|0,0,9,80)|0;if((u|0)==0){if((a[v+51>>0]|0)==0)af(e,4);Zd(e,1);w=oc[c[v>>2]&1](c[t>>2]|0,0,9,80)|0;if((w|0)==0)af(e,4);else x=w}else x=u;u=v+12|0;c[u>>2]=(c[u>>2]|0)+80;u=v+56|0;a[x+5>>0]=d[v+48>>0]&3;a[x+4>>0]=9;c[x>>2]=c[u>>2];c[u>>2]=x;a[x+76>>0]=0;a[x+77>>0]=0;a[x+78>>0]=0;u=x+8|0;v=u+64|0;do{c[u>>2]=0;u=u+4|0}while((u|0)<(v|0));c[r+12>>2]=x;c[q>>2]=x;x=cp(j|0)|0;do if(!(x>>>0<41))if((x+1|0)>>>0>4294967277)cf(e);else{y=Lf(e,j,x,20,c[(c[s>>2]|0)+44>>2]|0,0)|0;break}else y=Kf(e,j,x)|0;while(0);c[(c[q>>2]|0)+36>>2]=y;c[p+40>>2]=g;g=p+44|0;c[g>>2]=h;c[h+28>>2]=0;c[h+16>>2]=0;c[h+4>>2]=0;Af(e,p,f,c[(c[q>>2]|0)+36>>2]|0,k);k=c[p+32>>2]|0;f=p+28|0;c[q+8>>2]=c[f>>2];e=q+12|0;c[e>>2]=p;c[f>>2]=q;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=-1;c[q+32>>2]=0;c[q+36>>2]=0;f=q+44|0;c[f+0>>2]=0;a[f+4>>0]=0;c[q+40>>2]=c[(c[g>>2]|0)+4>>2];g=q+16|0;c[g>>2]=0;f=c[q>>2]|0;c[f+36>>2]=c[p+48>>2];a[f+78>>0]=2;f=Ld(k)|0;c[q+4>>2]=f;h=k+8|0;y=c[h>>2]|0;c[y>>2]=f;c[y+4>>2]=69;y=(c[h>>2]|0)+8|0;c[h>>2]=y;h=y;do if(((c[k+24>>2]|0)-h|0)<8){y=c[k+32>>2]|0;if((y|0)>1e6)af(k,6);f=(h-(c[k+28>>2]|0)>>3)+5|0;x=y<<1;y=(x|0)>1e6?1e6:x;x=(y|0)<(f|0)?f:y;if((x|0)>1e6){bf(k,1000200);Ye(k,75904,m)}else{bf(k,x);break}}while(0);a[n+10>>0]=0;a[n+8>>0]=a[q+46>>0]|0;k=c[(c[e>>2]|0)+44>>2]|0;b[n+4>>1]=c[k+28>>2];b[n+6>>1]=c[k+16>>2];a[n+9>>0]=0;c[n>>2]=c[g>>2];c[g>>2]=n;a[(c[q>>2]|0)+77>>0]=1;c[o+8>>2]=-1;c[o+12>>2]=-1;c[o>>2]=7;c[o+4>>2]=0;Yf(q,c[p+52>>2]|0,o)|0;c[p+8>>2]=c[p+4>>2];o=p+20|0;if((c[o>>2]|0)==286){q=Bf(p,p+16|0)|0;n=p+12|0;c[n>>2]=q;z=n;A=q}else{q=o;n=c[q>>2]|0;g=c[q+4>>2]|0;q=p+12|0;c[q>>2]=n;c[q+4>>2]=g;c[o>>2]=286;z=p+12|0;A=n}n=A;a:while(1){switch(n|0){case 277:case 286:case 262:case 261:case 260:{B=n;break a;break};default:{}}dg(p);A=c[z>>2]|0;if((n|0)==274){B=A;break}else n=A}if((B|0)==286){Zf(p);i=l;return r|0}else cg(p,286);return 0}function Ff(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;e=b+28|0;mf(b,c[e>>2]|0);f=c[e>>2]|0;if((f|0)!=0){c[b+16>>2]=b+72;g=b+84|0;h=c[g>>2]|0;c[g>>2]=0;g=b+12|0;if((h|0)==0)j=f;else{f=h;do{h=f;f=c[f+12>>2]|0;k=c[g>>2]|0;oc[c[k>>2]&1](c[k+4>>2]|0,h,40,0)|0;l=k+12|0;c[l>>2]=(c[l>>2]|0)-((h|0)!=0?40:0)}while((f|0)!=0);j=c[e>>2]|0}e=c[b+32>>2]<<3;f=c[g>>2]|0;oc[c[f>>2]&1](c[f+4>>2]|0,j,e,0)|0;g=f+12|0;c[g>>2]=(c[g>>2]|0)-((j|0)!=0?e:0)}e=c[a+12>>2]|0;oc[c[e>>2]&1](c[e+4>>2]|0,b,112,0)|0;a=e+12|0;c[a>>2]=(c[a>>2]|0)-((b|0)!=0?112:0);i=d;return}function Gf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;e=i;i=i+16|0;f=e;g=c[b+12>>2]|0;h=g+4|0;j=oc[c[g>>2]&1](c[h>>2]|0,0,0,320)|0;if((j|0)==0){if((a[g+51>>0]|0)==0)af(b,4);Zd(b,1);k=oc[c[g>>2]&1](c[h>>2]|0,0,0,320)|0;if((k|0)==0)af(b,4);else l=k}else l=j;j=g+12|0;c[j>>2]=(c[j>>2]|0)+320;c[b+28>>2]=l;j=b+32|0;c[j>>2]=40;k=0;do{c[l+(k<<3)+4>>2]=0;k=k+1|0}while((k|0)!=40);c[b+24>>2]=l+((c[j>>2]|0)+ -5<<3);j=b+72|0;c[b+80>>2]=0;c[b+84>>2]=0;a[b+90>>0]=0;c[j>>2]=l;c[b+8>>2]=l+8;c[l+4>>2]=0;c[b+76>>2]=l+168;c[b+16>>2]=j;j=Ld(b)|0;c[g+36>>2]=j;c[g+40>>2]=69;Md(b,j,2,0);l=j+28|0;a:do if((c[l>>2]|0)==0){k=(c[j+16>>2]|0)+((65536%((1<<d[j+7>>0])+ -1|1|0)|0)*20|0)|0;while(1){if((c[k+12>>2]|0)==3?(c[k+8>>2]|0)==65536:0)break;h=c[k+16>>2]|0;if((h|0)==0){m=15;break a}else k=h}n=k;m=14}else{n=c[j+12>>2]|0;m=14}while(0);if((m|0)==14)if((n|0)==75600)m=15;else o=n;if((m|0)==15){c[f>>2]=1;c[f+4>>2]=3;o=Of(b,j,f)|0}c[o>>2]=b;c[o+4>>2]=72;o=Ld(b)|0;b:do if((c[l>>2]|0)>>>0>1){p=(c[j+12>>2]|0)+8|0;m=23}else{n=(c[j+16>>2]|0)+((131072%((1<<d[j+7>>0])+ -1|1|0)|0)*20|0)|0;while(1){if((c[n+12>>2]|0)==3?(c[n+8>>2]|0)==131072:0)break;h=c[n+16>>2]|0;if((h|0)==0)break b;else n=h}p=n;m=23}while(0);if((m|0)==23?(p|0)!=75600:0){q=p;c[q>>2]=o;r=q+4|0;c[r>>2]=69;Jf(b,32);Qf(b);wf(b);s=Kf(b,78200,17)|0;t=g+152|0;c[t>>2]=s;u=s+5|0;v=a[u>>0]|0;w=v&255;x=w|32;y=x&255;a[u>>0]=y;z=g+51|0;a[z>>0]=1;A=g+148|0;c[A>>2]=75592;i=e;return}c[f>>2]=2;c[f+4>>2]=3;q=Of(b,j,f)|0;c[q>>2]=o;r=q+4|0;c[r>>2]=69;Jf(b,32);Qf(b);wf(b);s=Kf(b,78200,17)|0;t=g+152|0;c[t>>2]=s;u=s+5|0;v=a[u>>0]|0;w=v&255;x=w|32;y=x&255;a[u>>0]=y;z=g+51|0;a[z>>0]=1;A=g+148|0;c[A>>2]=75592;i=e;return}function Hf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;b=i;d=a+12|0;e=c[d>>2]|0;f=a+28|0;mf(a,c[f>>2]|0);sf(a);g=c[d>>2]|0;h=c[g+24>>2]|0;j=c[g+32>>2]<<2;oc[c[g>>2]&1](c[g+4>>2]|0,h,j,0)|0;k=g+12|0;c[k>>2]=(c[k>>2]|0)+((h|0)!=0?0-j|0:0);j=e+116|0;h=c[j>>2]|0;k=e+124|0;g=c[k>>2]|0;l=c[d>>2]|0;m=oc[c[l>>2]&1](c[l+4>>2]|0,h,g,0)|0;n=l+12|0;c[n>>2]=(c[n>>2]|0)+((h|0)!=0?0-g|0:0);c[j>>2]=m;c[k>>2]=0;k=c[f>>2]|0;if((k|0)==0){o=c[e>>2]|0;p=e+4|0;q=c[p>>2]|0;oc[o&1](q,a,372,0)|0;i=b;return}c[a+16>>2]=a+72;m=a+84|0;j=c[m>>2]|0;c[m>>2]=0;if((j|0)==0)r=k;else{k=j;do{j=k;k=c[k+12>>2]|0;m=c[d>>2]|0;oc[c[m>>2]&1](c[m+4>>2]|0,j,40,0)|0;g=m+12|0;c[g>>2]=(c[g>>2]|0)-((j|0)!=0?40:0)}while((k|0)!=0);r=c[f>>2]|0}f=c[a+32>>2]<<3;k=c[d>>2]|0;oc[c[k>>2]&1](c[k+4>>2]|0,r,f,0)|0;d=k+12|0;c[d>>2]=(c[d>>2]|0)-((r|0)!=0?f:0);o=c[e>>2]|0;p=e+4|0;q=c[p>>2]|0;oc[o&1](q,a,372,0)|0;i=b;return}function If(a){a=a|0;var b=0;b=i;Hf(c[(c[a+12>>2]|0)+144>>2]|0);i=b;return}function Jf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,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=i;g=b+12|0;h=c[g>>2]|0;j=h+24|0;k=h+49|0;if((1<<d[k>>0]&-5|0)==0)do uf(b)|0;while((1<<d[k>>0]&-5|0)==0);k=h+32|0;h=c[k>>2]|0;a:do if((h|0)<(e|0)){if((e+1|0)>>>0>1073741823)cf(b);l=c[j>>2]|0;m=h<<2;n=e<<2;o=c[g>>2]|0;p=(l|0)!=0;q=o+4|0;r=oc[c[o>>2]&1](c[q>>2]|0,l,m,n)|0;if(!((r|0)!=0|(n|0)==0)){if((a[o+51>>0]|0)==0)af(b,4);Zd(b,1);s=oc[c[o>>2]&1](c[q>>2]|0,l,m,n)|0;if((s|0)==0)af(b,4);else t=s}else t=r;r=o+12|0;c[r>>2]=(p?0-m|0:0)+n+(c[r>>2]|0);c[j>>2]=t;r=c[k>>2]|0;if((r|0)<(e|0)){n=t;m=r;while(1){c[n+(m<<2)>>2]=0;p=m+1|0;if((p|0)==(e|0)){u=r;break a}n=c[j>>2]|0;m=p}}else u=r}else u=h;while(0);if((u|0)>0){h=e+ -1|0;t=u;m=0;while(1){n=(c[j>>2]|0)+(m<<2)|0;p=c[n>>2]|0;c[n>>2]=0;if((p|0)==0)v=t;else{n=p;do{p=n;n=c[n>>2]|0;o=c[p+8>>2]&h;c[p>>2]=c[(c[j>>2]|0)+(o<<2)>>2];c[(c[j>>2]|0)+(o<<2)>>2]=p;o=p+5|0;a[o>>0]=d[o>>0]&191}while((n|0)!=0);v=c[k>>2]|0}m=m+1|0;if((m|0)>=(v|0)){w=v;break}else t=v}}else w=u;if((w|0)<=(e|0)){c[k>>2]=e;i=f;return}if((e+1|0)>>>0>1073741823)cf(b);u=c[j>>2]|0;v=w<<2;w=e<<2;t=c[g>>2]|0;g=(u|0)!=0;m=t+4|0;h=oc[c[t>>2]&1](c[m>>2]|0,u,v,w)|0;if(!((h|0)!=0|(w|0)==0)){if((a[t+51>>0]|0)==0)af(b,4);Zd(b,1);n=oc[c[t>>2]&1](c[m>>2]|0,u,v,w)|0;if((n|0)==0)af(b,4);else x=n}else x=h;h=t+12|0;c[h>>2]=(g?0-v|0:0)+w+(c[h>>2]|0);c[j>>2]=x;c[k>>2]=e;i=f;return}function Kf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,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=i;h=c[b+12>>2]|0;j=c[h+44>>2]^f;k=(f>>>5)+1|0;if(k>>>0>f>>>0)l=j;else{m=j;j=f;while(1){n=(m<<5)+(m>>>2)+(d[e+(j+ -1)>>0]|0)^m;j=j-k|0;if(j>>>0<k>>>0){l=n;break}else m=n}}m=h+32|0;k=c[m>>2]|0;j=h+24|0;n=c[j>>2]|0;o=c[n+((k+ -1&l)<<2)>>2]|0;a:do if((o|0)!=0){p=o;while(1){if(((l|0)==(c[p+8>>2]|0)?(c[p+12>>2]|0)==(f|0):0)?(Yo(e,p+16|0,f)|0)==0:0)break;q=c[p>>2]|0;if((q|0)==0)break a;else p=q}q=p+5|0;r=(d[q>>0]|0)^3;if((((d[h+48>>0]|0)^3)&r|0)!=0){s=p;i=g;return s|0}a[q>>0]=r;s=p;i=g;return s|0}while(0);o=h+28|0;if((k|0)<1073741823?(c[o>>2]|0)>>>0>=k>>>0:0){Jf(b,k<<1);t=c[m>>2]|0;u=c[j>>2]|0}else{t=k;u=n}n=Lf(b,e,f,4,l,u+((t+ -1&l)<<2)|0)|0;c[o>>2]=(c[o>>2]|0)+1;s=n;i=g;return s|0}function Lf(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;l=f+17|0;m=c[b+12>>2]|0;n=g&15;o=m+4|0;p=oc[c[m>>2]&1](c[o>>2]|0,0,n,l)|0;if(!((p|0)!=0|(l|0)==0)){if((a[m+51>>0]|0)==0)af(b,4);Zd(b,1);q=oc[c[m>>2]&1](c[o>>2]|0,0,n,l)|0;if((q|0)==0)af(b,4);else r=q}else r=p;p=m+12|0;c[p>>2]=(c[p>>2]|0)+l;l=(j|0)==0?m+56|0:j;a[r+5>>0]=d[m+48>>0]&3;a[r+4>>0]=g;c[r>>2]=c[l>>2];c[l>>2]=r;c[r+12>>2]=f;c[r+8>>2]=h;a[r+6>>0]=0;hp(r+16|0,e|0,f|0)|0;a[r+(f+8)+8>>0]=0;i=k;return r|0}function Mf(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;e=i;i=i+32|0;f=e;g=e+16|0;h=e+12|0;j=e+8|0;k=vd(b,1,j)|0;l=b+16|0;if((k|0)==0){m=(c[c[l>>2]>>2]|0)+8|0;n=b+8|0;o=m>>>0<(c[n>>2]|0)>>>0?m:75600;if((o|0)==75600)p=0;else p=(c[o+4>>2]&15)+1|0;o=c[75608+(p<<2)>>2]|0;c[f>>2]=77552;c[f+4>>2]=o;ge(b,1,Ed(b,80064,f)|0)|0;q=n}else q=b+8|0;n=c[c[l>>2]>>2]|0;o=n+16|0;p=c[q>>2]|0;m=o>>>0<p>>>0?o:75600;o=c[m+4>>2]|0;a:do if((o|0)==3){r=m;s=14}else{do if((o&15|0)==4){t=c[m>>2]|0;if((Df(t+16|0,c[t+12>>2]|0,g)|0)==0){u=c[c[l>>2]>>2]|0;v=c[q>>2]|0;break}else{c[f>>2]=c[g>>2];r=f;s=14;break a}}else{u=n;v=p}while(0);t=u+16|0;w=t>>>0<v>>>0?t:75600;if((w|0)==75600)x=0;else x=(c[w+4>>2]&15)+1|0;w=c[75608+(x<<2)>>2]|0;c[f>>2]=77544;c[f+4>>2]=w;ge(b,2,Ed(b,80064,f)|0)|0;y=0}while(0);if((s|0)==14){x=c[r>>2]>>16;r=c[j>>2]|0;if(!((x|0)>-1))if(r>>>0<(0-x|0)>>>0)y=0;else y=x+1+r|0;else y=x}x=c[c[l>>2]>>2]|0;r=x+24|0;v=c[q>>2]|0;u=r>>>0<v>>>0?r:75600;b:do if((u|0)!=75600?(r=c[u+4>>2]|0,p=r&15,(p|0)!=0):0){c:do if((r|0)==3)z=u;else{do if((p|0)==4){n=c[u>>2]|0;if((Df(n+16|0,c[n+12>>2]|0,h)|0)==0){A=c[c[l>>2]>>2]|0;B=c[q>>2]|0;break}else{c[f>>2]=c[h>>2];z=f;break c}}else{A=x;B=v}while(0);n=A+24|0;g=n>>>0<B>>>0?n:75600;if((g|0)==75600)C=0;else C=(c[g+4>>2]&15)+1|0;g=c[75608+(C<<2)>>2]|0;c[f>>2]=77544;c[f+4>>2]=g;ge(b,3,Ed(b,80064,f)|0)|0;D=0;break b}while(0);p=c[z>>2]>>16;if((p|0)>-1)D=p;else{E=p;s=28}}else{E=-1;s=28}while(0);if((s|0)==28){s=c[j>>2]|0;if(s>>>0<(0-E|0)>>>0)D=0;else D=E+1+s|0}s=(y|0)==0?1:y;y=c[j>>2]|0;j=D>>>0>y>>>0?y:D;if(!(s>>>0>j>>>0)){Bd(b,k+(s+ -1)|0,1-s+j|0)|0;i=e;return 1}j=c[b+12>>2]|0;s=j+12|0;k=c[s>>2]|0;do if((k|0)>0)if((a[j+51>>0]|0)==0){D=j+8|0;c[D>>2]=k+1600+(c[D>>2]|0);c[s>>2]=-1600;break}else{_d(b);break}while(0);s=Kf(b,75664,0)|0;b=c[q>>2]|0;c[b>>2]=s;c[b+4>>2]=d[s+4>>0]|64;c[q>>2]=(c[q>>2]|0)+8;i=e;return 1}function Nf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;i=i+16|0;f=e;g=d+4|0;h=c[g>>2]|0;if((h|0)==0){j=-1;i=e;return j|0}else if((h|0)==3)k=2;if(((k|0)==2?(h=c[d>>2]|0,l=(h+ -65536|0)>>>0<2147352577&(h&65535|0)==0?h>>16:-1,(l|0)>0):0)?(l|0)<=(c[b+28>>2]|0):0){j=l+ -1|0;i=e;return j|0}l=Pf(b,d)|0;while(1){h=l+8|0;m=l+12|0;n=c[m>>2]|0;if((n|0)==(c[g>>2]|0)){if((od(0,h,d)|0)!=0)break;o=c[m>>2]|0}else o=n;if(((o|0)==11?(c[g>>2]&64|0)!=0:0)?(c[h>>2]|0)==(c[d>>2]|0):0)break;h=c[l+16>>2]|0;if((h|0)==0){k=14;break}else l=h}if((k|0)==14)Ye(a,78176,f);j=(c[b+28>>2]|0)+((l-(c[b+16>>2]|0)|0)/20|0)|0;i=e;return j|0}function Of(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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=i;i=i+128|0;h=g;j=f+4|0;if((c[j>>2]|0)==0)Ye(b,77480,h);k=Pf(e,f)|0;l=k+4|0;do if((c[l>>2]|0)!=0|(k|0)==77456){m=e+20|0;n=c[e+16>>2]|0;o=c[m>>2]|0;while(1){if(!(o>>>0>n>>>0))break;p=o+ -20|0;c[m>>2]=p;if((c[o+ -8>>2]|0)==0){q=37;break}else o=p}if((q|0)==37){m=Pf(e,k+8|0)|0;if((m|0)==(k|0)){r=k+16|0;c[o+ -4>>2]=c[r>>2];c[r>>2]=p;s=p;break}else t=m;do{u=t+16|0;t=c[u>>2]|0}while((t|0)!=(k|0));c[u>>2]=p;c[p+0>>2]=c[k+0>>2];c[p+4>>2]=c[k+4>>2];c[p+8>>2]=c[k+8>>2];c[p+12>>2]=c[k+12>>2];c[p+16>>2]=c[k+16>>2];c[k+16>>2]=0;c[l>>2]=0;s=k;break}o=h+0|0;m=o+124|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(m|0));o=e+12|0;m=c[e+28>>2]|0;r=0;v=1;w=0;x=1;while(1){if((x|0)>(m|0))if((v|0)>(m|0)){y=r;break}else z=m;else z=x;if((v|0)>(z|0)){A=v;B=0}else{C=c[o>>2]|0;D=v;E=0;while(1){E=((c[C+(D+ -1<<3)+4>>2]|0)!=0&1)+E|0;if((D|0)>=(z|0))break;else D=D+1|0}A=z+1|0;B=E}D=h+(w<<2)|0;c[D>>2]=(c[D>>2]|0)+B;D=B+r|0;w=w+1|0;if((w|0)>=31){y=D;break}else{r=D;v=A;x=x<<1}}x=0;v=1<<(d[e+7>>0]|0);r=0;a:while(1){w=v;do{o=w;w=w+ -1|0;if((o|0)==0)break a}while((c[n+(w*20|0)+4>>2]|0)==0);if((c[n+(w*20|0)+12>>2]|0)==3?(E=c[n+(w*20|0)+8>>2]|0,o=(E>>16)+ -1|0,m=(E+ -65536|0)>>>0<2147352577&(E&65535|0)==0?o:-2,m>>>0<32767):0){if(m>>>0>255){m=o;E=0;while(1){D=E+8|0;C=m>>>8;if(m>>>0>65535){m=C;E=D}else{F=C;G=D;break}}}else{F=o;G=0}E=h+((d[77032+F>>0]|0)+G<<2)|0;c[E>>2]=(c[E>>2]|0)+1;H=1}else H=0;x=H+x|0;v=w;r=r+1|0}v=x+y|0;if((c[j>>2]|0)==3?(n=c[f>>2]|0,E=(n>>16)+ -1|0,m=(n+ -65536|0)>>>0<2147352577&(n&65535|0)==0?E:-2,m>>>0<32767):0){if(m>>>0>255){m=E;n=0;while(1){D=n+8|0;C=m>>>8;if(m>>>0>65535){m=C;n=D}else{I=C;J=D;break}}}else{I=E;J=0}n=h+((d[77032+I>>0]|0)+J<<2)|0;c[n>>2]=(c[n>>2]|0)+1;K=1}else K=0;n=v+K|0;b:do if((n|0)>0){m=0;x=0;D=0;C=0;L=0;M=1;while(1){N=c[h+(D<<2)>>2]|0;if((N|0)>0){O=N+x|0;N=(O|0)>(m|0);P=O;Q=N?M:C;R=N?O:L}else{P=x;Q=C;R=L}if((P|0)==(n|0)){S=Q;T=R;break b}M=M<<1;m=(M|0)/2|0;if((m|0)>=(n|0)){S=Q;T=R;break}else{x=P;D=D+1|0;C=Q;L=R}}}else{S=0;T=0}while(0);Md(b,e,S,y+1+r-T|0);n=Kd(e,f)|0;if((n|0)!=75600){U=n;i=g;return U|0}U=Of(b,e,f)|0;i=g;return U|0}else s=k;while(0);c[s+8>>2]=c[f>>2];c[s+12>>2]=c[j>>2];if(((c[j>>2]&64|0)!=0?!((a[(c[f>>2]|0)+5>>0]&3)==0):0)?(f=e+5|0,j=a[f>>0]|0,!((j&4)==0)):0){k=c[b+12>>2]|0;a[f>>0]=j&251;j=k+76|0;c[e+24>>2]=c[j>>2];c[j>>2]=e}U=s;i=g;return U|0}function Pf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=i;switch(c[e+4>>2]&63|0){case 2:{g=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<<d[b+7>>0])+ -1|1)>>>0)|0)*20|0)|0;i=f;return g|0};case 4:{g=(c[b+16>>2]|0)+(((1<<d[b+7>>0])+ -1&c[(c[e>>2]|0)+8>>2])*20|0)|0;i=f;return g|0};case 1:{g=(c[b+16>>2]|0)+(((1<<d[b+7>>0])+ -1&c[e>>2])*20|0)|0;i=f;return g|0};case 20:{h=c[e>>2]|0;j=h+6|0;if((a[j>>0]|0)==0){k=c[h+12>>2]|0;l=h+8|0;m=c[l>>2]^k;n=(k>>>5)+1|0;if(n>>>0>k>>>0)o=m;else{p=m;m=k;while(1){k=(p<<5)+(p>>>2)+(d[h+(m+7)+8>>0]|0)^p;m=m-n|0;if(m>>>0<n>>>0){o=k;break}else p=k}}c[l>>2]=o;a[j>>0]=1;q=c[e>>2]|0}else q=h;g=(c[b+16>>2]|0)+(((1<<d[b+7>>0])+ -1&c[q+8>>2])*20|0)|0;i=f;return g|0};case 3:{q=c[e>>2]|0;if((q|0)<0){h=0-q|0;r=(q|0)==(h|0)?0:h}else r=q;g=(c[b+16>>2]|0)+(((r|0)%((1<<d[b+7>>0])+ -1|1|0)|0)*20|0)|0;i=f;return g|0};case 22:{g=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<<d[b+7>>0])+ -1|1)>>>0)|0)*20|0)|0;i=f;return g|0};default:{g=(c[b+16>>2]|0)+((((c[e>>2]|0)>>>0)%(((1<<d[b+7>>0])+ -1|1)>>>0)|0)*20|0)|0;i=f;return g|0}}return 0}function Qf(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;f=b+12|0;g=0;while(1){h=c[77608+(g<<2)>>2]|0;j=cp(h|0)|0;if(j>>>0<41)k=Kf(b,h,j)|0;else{if((j+1|0)>>>0>4294967277){l=5;break}k=Lf(b,h,j,20,c[(c[f>>2]|0)+44>>2]|0,0)|0}c[(c[f>>2]|0)+(g<<2)+156>>2]=k;j=(c[(c[f>>2]|0)+(g<<2)+156>>2]|0)+5|0;a[j>>0]=d[j>>0]|0|32;g=g+1|0;if((g|0)>=17){l=8;break}}if((l|0)==5)cf(b);else if((l|0)==8){i=e;return}}function Rf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;h=i;i=i+64|0;j=h;k=h+40|0;l=h+44|0;m=h+24|0;n=a[g>>0]|0;if(n<<24>>24==61|n<<24>>24==64)c[m+12>>2]=g+1;else if(n<<24>>24==27)c[m+12>>2]=77824;else c[m+12>>2]=g;c[m>>2]=b;c[m+4>>2]=e;c[m+8>>2]=f;c[j>>2]=1635077147;a[j+4>>0]=82;a[j+5>>0]=0;f=j+7|0;a[j+6>>0]=1;g=j+12|0;a[f>>0]=4;a[f+1>>0]=4;a[f+2>>0]=4;a[f+3>>0]=4;a[j+11>>0]=1;a[g+0>>0]=a[77840]|0;a[g+1>>0]=a[77841]|0;a[g+2>>0]=a[77842]|0;a[g+3>>0]=a[77843]|0;a[g+4>>0]=a[77844]|0;a[g+5>>0]=a[77845]|0;a[l>>0]=27;g=e+16|0;f=e+8|0;n=e+12|0;o=e+4|0;p=17;q=l+1|0;r=c[e>>2]|0;while(1){if((r|0)==0){s=gc[c[f>>2]&3](c[g>>2]|0,c[n>>2]|0,k)|0;if((s|0)==0){t=12;break}u=c[k>>2]|0;if((u|0)==0){t=12;break}c[e>>2]=u;c[o>>2]=s;v=u;w=s}else{v=r;w=c[o>>2]|0}s=p>>>0>v>>>0?v:p;hp(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;if((p|0)==(s|0))break;else{p=p-s|0;q=q+s|0}}if((t|0)==12?(p|0)!=0:0)Xf(m,78048);if((Yo(j,l,18)|0)!=0){if((Yo(j,l,4)|0)!=0)Xf(m,78112);if((Yo(j,l,6)|0)!=0)Xf(m,78120);if((Yo(j,l,12)|0)==0)Xf(m,78096);else Xf(m,78144)}l=of(b,1)|0;p=b+8|0;t=c[p>>2]|0;c[t>>2]=l;c[t+4>>2]=70;t=(c[p>>2]|0)+8|0;c[p>>2]=t;q=t;do if(((c[b+24>>2]|0)-q|0)<8){t=c[b+32>>2]|0;if((t|0)>1e6)af(b,6);o=(q-(c[b+28>>2]|0)>>3)+5|0;r=t<<1;t=(r|0)>1e6?1e6:r;r=(t|0)<(o|0)?o:t;if((r|0)>1e6){bf(b,1000200);Ye(b,75904,j)}else{bf(b,r);break}}while(0);j=c[b+12>>2]|0;q=j+4|0;r=oc[c[j>>2]&1](c[q>>2]|0,0,9,80)|0;if((r|0)==0){if((a[j+51>>0]|0)==0)af(b,4);Zd(b,1);t=oc[c[j>>2]&1](c[q>>2]|0,0,9,80)|0;if((t|0)==0)af(b,4);else x=t}else x=r;r=j+12|0;c[r>>2]=(c[r>>2]|0)+80;r=j+56|0;a[x+5>>0]=d[j+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;j=r+64|0;do{c[r>>2]=0;r=r+4|0}while((r|0)<(j|0));r=l+12|0;c[r>>2]=x;Sf(m,x);x=c[r>>2]|0;r=c[x+40>>2]|0;if((r|0)==1){y=l;i=h;return y|0}l=of(b,r)|0;c[l+12>>2]=x;x=c[p>>2]|0;c[x+ -8>>2]=l;c[x+ -4>>2]=70;y=l;i=h;return y|0}function Sf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;f=i;i=i+128|0;g=f+120|0;h=f+116|0;j=f+112|0;k=f+108|0;l=f+104|0;m=f+100|0;n=f+96|0;o=f+92|0;p=f+88|0;q=f+84|0;r=f+80|0;s=f+76|0;t=f+72|0;u=f+68|0;v=f+64|0;w=f+60|0;x=f+56|0;y=f+52|0;z=f+48|0;A=f+44|0;B=f+40|0;C=f+36|0;D=f+32|0;E=f+28|0;F=f+24|0;G=f+20|0;H=f+16|0;I=f+12|0;J=f+8|0;K=f+4|0;L=f;M=b+4|0;N=c[M>>2]|0;O=N+16|0;P=N+8|0;Q=N+12|0;R=N+4|0;S=4;T=g;U=c[N>>2]|0;while(1){if((U|0)==0){V=gc[c[P>>2]&3](c[O>>2]|0,c[Q>>2]|0,m)|0;if((V|0)==0){W=8;break}X=c[m>>2]|0;if((X|0)==0){W=8;break}c[N>>2]=X;c[R>>2]=V;Y=X;Z=V}else{Y=U;Z=c[R>>2]|0}V=S>>>0>Y>>>0?Y:S;hp(T|0,Z|0,V|0)|0;U=(c[N>>2]|0)-V|0;c[N>>2]=U;c[R>>2]=(c[R>>2]|0)+V;if((S|0)==(V|0))break;else{S=S-V|0;T=T+V|0}}if((W|0)==8?(S|0)!=0:0)Xf(b,78048);S=c[g>>2]|0;if((S|0)<0)Xf(b,78096);c[e+64>>2]=S;S=c[M>>2]|0;T=S+16|0;R=S+8|0;U=S+12|0;N=S+4|0;Z=4;Y=g;m=c[S>>2]|0;while(1){if((m|0)==0){Q=gc[c[R>>2]&3](c[T>>2]|0,c[U>>2]|0,l)|0;if((Q|0)==0){W=19;break}O=c[l>>2]|0;if((O|0)==0){W=19;break}c[S>>2]=O;c[N>>2]=Q;_=O;$=Q}else{_=m;$=c[N>>2]|0}Q=Z>>>0>_>>>0?_:Z;hp(Y|0,$|0,Q|0)|0;m=(c[S>>2]|0)-Q|0;c[S>>2]=m;c[N>>2]=(c[N>>2]|0)+Q;if((Z|0)==(Q|0))break;else{Z=Z-Q|0;Y=Y+Q|0}}if((W|0)==19?(Z|0)!=0:0)Xf(b,78048);Z=c[g>>2]|0;if((Z|0)<0)Xf(b,78096);c[e+68>>2]=Z;Z=c[M>>2]|0;Y=Z+16|0;N=Z+8|0;m=Z+12|0;S=Z+4|0;$=1;_=g;l=c[Z>>2]|0;while(1){if((l|0)==0){U=gc[c[N>>2]&3](c[Y>>2]|0,c[m>>2]|0,y)|0;if((U|0)==0){W=30;break}T=c[y>>2]|0;if((T|0)==0){W=30;break}c[Z>>2]=T;c[S>>2]=U;aa=T;ba=U}else{aa=l;ba=c[S>>2]|0}U=$>>>0>aa>>>0?aa:$;hp(_|0,ba|0,U|0)|0;l=(c[Z>>2]|0)-U|0;c[Z>>2]=l;c[S>>2]=(c[S>>2]|0)+U;if(($|0)==(U|0))break;else{$=$-U|0;_=_+U|0}}if((W|0)==30?($|0)!=0:0)Xf(b,78048);a[e+76>>0]=a[g>>0]|0;$=c[M>>2]|0;_=$+16|0;S=$+8|0;l=$+12|0;Z=$+4|0;ba=1;aa=g;y=c[$>>2]|0;while(1){if((y|0)==0){m=gc[c[S>>2]&3](c[_>>2]|0,c[l>>2]|0,x)|0;if((m|0)==0){W=39;break}Y=c[x>>2]|0;if((Y|0)==0){W=39;break}c[$>>2]=Y;c[Z>>2]=m;ca=m;da=Y}else{ca=c[Z>>2]|0;da=y}Y=ba>>>0>da>>>0?da:ba;hp(aa|0,ca|0,Y|0)|0;y=(c[$>>2]|0)-Y|0;c[$>>2]=y;c[Z>>2]=(c[Z>>2]|0)+Y;if((ba|0)==(Y|0))break;else{ba=ba-Y|0;aa=aa+Y|0}}if((W|0)==39?(ba|0)!=0:0)Xf(b,78048);a[e+77>>0]=a[g>>0]|0;ba=c[M>>2]|0;aa=ba+16|0;Z=ba+8|0;y=ba+12|0;$=ba+4|0;ca=1;da=g;x=c[ba>>2]|0;while(1){if((x|0)==0){l=gc[c[Z>>2]&3](c[aa>>2]|0,c[y>>2]|0,w)|0;if((l|0)==0){W=48;break}_=c[w>>2]|0;if((_|0)==0){W=48;break}c[ba>>2]=_;c[$>>2]=l;ea=_;fa=l}else{ea=x;fa=c[$>>2]|0}l=ca>>>0>ea>>>0?ea:ca;hp(da|0,fa|0,l|0)|0;x=(c[ba>>2]|0)-l|0;c[ba>>2]=x;c[$>>2]=(c[$>>2]|0)+l;if((ca|0)==(l|0))break;else{ca=ca-l|0;da=da+l|0}}if((W|0)==48?(ca|0)!=0:0)Xf(b,78048);a[e+78>>0]=a[g>>0]|0;ca=c[M>>2]|0;da=ca+16|0;$=ca+8|0;x=ca+12|0;ba=ca+4|0;fa=4;ea=g;w=c[ca>>2]|0;while(1){if((w|0)==0){y=gc[c[$>>2]&3](c[da>>2]|0,c[x>>2]|0,u)|0;if((y|0)==0){W=57;break}aa=c[u>>2]|0;if((aa|0)==0){W=57;break}c[ca>>2]=aa;c[ba>>2]=y;ga=aa;ha=y}else{ga=w;ha=c[ba>>2]|0}y=fa>>>0>ga>>>0?ga:fa;hp(ea|0,ha|0,y|0)|0;w=(c[ca>>2]|0)-y|0;c[ca>>2]=w;c[ba>>2]=(c[ba>>2]|0)+y;if((fa|0)==(y|0))break;else{fa=fa-y|0;ea=ea+y|0}}if((W|0)==57?(fa|0)!=0:0)Xf(b,78048);fa=c[g>>2]|0;if((fa|0)<0)Xf(b,78096);ea=c[b>>2]|0;if((fa+1|0)>>>0>1073741823)cf(ea);ba=fa<<2;w=c[ea+12>>2]|0;ca=w+4|0;ha=oc[c[w>>2]&1](c[ca>>2]|0,0,0,ba)|0;ga=(ba|0)==0;if(!((ha|0)!=0|ga)){if((a[w+51>>0]|0)==0)af(ea,4);Zd(ea,1);u=oc[c[w>>2]&1](c[ca>>2]|0,0,0,ba)|0;if((u|0)==0)af(ea,4);else ia=u}else ia=ha;ha=w+12|0;c[ha>>2]=(c[ha>>2]|0)+ba;c[e+12>>2]=ia;c[e+48>>2]=fa;fa=c[M>>2]|0;a:do if(!ga){ha=fa+16|0;w=fa+8|0;u=fa+12|0;ea=fa+4|0;ca=ba;x=ia;da=c[fa>>2]|0;while(1){if((da|0)==0){$=gc[c[w>>2]&3](c[ha>>2]|0,c[u>>2]|0,v)|0;if(($|0)==0)break;y=c[v>>2]|0;if((y|0)==0)break;c[fa>>2]=y;c[ea>>2]=$;ja=y;ka=$}else{ja=da;ka=c[ea>>2]|0}$=ca>>>0>ja>>>0?ja:ca;hp(x|0,ka|0,$|0)|0;da=(c[fa>>2]|0)-$|0;c[fa>>2]=da;c[ea>>2]=(c[ea>>2]|0)+$;if((ca|0)==($|0))break a;else{ca=ca-$|0;x=x+$|0}}if((ca|0)!=0)Xf(b,78048)}while(0);fa=c[M>>2]|0;ka=fa+16|0;ja=fa+8|0;v=fa+12|0;ia=fa+4|0;ba=4;ga=g;x=c[fa>>2]|0;while(1){if((x|0)==0){ea=gc[c[ja>>2]&3](c[ka>>2]|0,c[v>>2]|0,k)|0;if((ea|0)==0){W=84;break}da=c[k>>2]|0;if((da|0)==0){W=84;break}c[fa>>2]=da;c[ia>>2]=ea;la=da;ma=ea}else{la=x;ma=c[ia>>2]|0}ea=ba>>>0>la>>>0?la:ba;hp(ga|0,ma|0,ea|0)|0;x=(c[fa>>2]|0)-ea|0;c[fa>>2]=x;c[ia>>2]=(c[ia>>2]|0)+ea;if((ba|0)==(ea|0))break;else{ba=ba-ea|0;ga=ga+ea|0}}if((W|0)==84?(ba|0)!=0:0)Xf(b,78048);ba=c[g>>2]|0;if((ba|0)<0)Xf(b,78096);ga=c[b>>2]|0;if((ba+1|0)>>>0>536870911)cf(ga);ia=ba<<3;x=c[ga+12>>2]|0;fa=x+4|0;ma=oc[c[x>>2]&1](c[fa>>2]|0,0,0,ia)|0;if(!((ma|0)!=0|(ia|0)==0)){if((a[x+51>>0]|0)==0)af(ga,4);Zd(ga,1);la=oc[c[x>>2]&1](c[fa>>2]|0,0,0,ia)|0;if((la|0)==0)af(ga,4);else na=la}else na=ma;ma=x+12|0;c[ma>>2]=(c[ma>>2]|0)+ia;ia=e+8|0;c[ia>>2]=na;c[e+44>>2]=ba;ma=(ba|0)>0;b:do if(ma){x=0;do{c[na+(x<<3)+4>>2]=0;x=x+1|0}while((x|0)!=(ba|0));if(ma){x=b+8|0;ca=na;la=0;c:while(1){ga=ca+(la<<3)|0;fa=c[M>>2]|0;k=fa+16|0;v=fa+8|0;ka=fa+12|0;ja=fa+4|0;ea=1;da=g;u=c[fa>>2]|0;while(1){if((u|0)==0){ha=gc[c[v>>2]&3](c[k>>2]|0,c[ka>>2]|0,q)|0;if((ha|0)==0){W=105;break}w=c[q>>2]|0;if((w|0)==0){W=105;break}c[fa>>2]=w;c[ja>>2]=ha;oa=w;pa=ha}else{oa=u;pa=c[ja>>2]|0}ha=ea>>>0>oa>>>0?oa:ea;hp(da|0,pa|0,ha|0)|0;u=(c[fa>>2]|0)-ha|0;c[fa>>2]=u;c[ja>>2]=(c[ja>>2]|0)+ha;if((ea|0)==(ha|0))break;else{ea=ea-ha|0;da=da+ha|0}}if((W|0)==105?(W=0,(ea|0)!=0):0){W=106;break}da=a[g>>0]|0;if((da|0)==4){ja=c[M>>2]|0;u=ja+16|0;fa=ja+8|0;ka=ja+12|0;k=ja+4|0;v=4;ha=g;w=c[ja>>2]|0;while(1){if((w|0)==0){$=gc[c[fa>>2]&3](c[u>>2]|0,c[ka>>2]|0,j)|0;if(($|0)==0){W=136;break}y=c[j>>2]|0;if((y|0)==0){W=136;break}c[ja>>2]=y;c[k>>2]=$;qa=y;ra=$}else{qa=w;ra=c[k>>2]|0}$=v>>>0>qa>>>0?qa:v;hp(ha|0,ra|0,$|0)|0;w=(c[ja>>2]|0)-$|0;c[ja>>2]=w;c[k>>2]=(c[k>>2]|0)+$;if((v|0)==($|0))break;else{v=v-$|0;ha=ha+$|0}}if((W|0)==136?(W=0,(v|0)!=0):0){W=137;break}ha=c[g>>2]|0;do if((ha|0)==0)sa=0;else{k=Uf(c[b>>2]|0,c[x>>2]|0,ha)|0;w=c[M>>2]|0;ja=w+16|0;ka=w+8|0;u=w+12|0;fa=w+4|0;ea=ha;$=k;y=c[w>>2]|0;while(1){if((y|0)==0){aa=gc[c[ka>>2]&3](c[ja>>2]|0,c[u>>2]|0,h)|0;if((aa|0)==0){W=146;break}Z=c[h>>2]|0;if((Z|0)==0){W=146;break}c[w>>2]=Z;c[fa>>2]=aa;ta=Z;ua=aa}else{ta=y;ua=c[fa>>2]|0}aa=ea>>>0>ta>>>0?ta:ea;hp($|0,ua|0,aa|0)|0;y=(c[w>>2]|0)-aa|0;c[w>>2]=y;c[fa>>2]=(c[fa>>2]|0)+aa;if((ea|0)==(aa|0))break;else{ea=ea-aa|0;$=$+aa|0}}if((W|0)==146?(W=0,(ea|0)!=0):0){W=147;break c}va=c[b>>2]|0;$=ha+ -1|0;if($>>>0<41){sa=Kf(va,k,$)|0;break}if(ha>>>0>4294967277){W=151;break c}sa=Lf(va,k,$,20,c[(c[va+12>>2]|0)+44>>2]|0,0)|0}while(0);c[ga>>2]=sa;c[ca+(la<<3)+4>>2]=d[sa+4>>0]|64}else if((da|0)==3){ha=c[M>>2]|0;v=ha+16|0;$=ha+8|0;fa=ha+12|0;y=ha+4|0;w=4;u=g;ja=c[ha>>2]|0;while(1){if((ja|0)==0){ka=gc[c[$>>2]&3](c[v>>2]|0,c[fa>>2]|0,o)|0;if((ka|0)==0){W=126;break}aa=c[o>>2]|0;if((aa|0)==0){W=126;break}c[ha>>2]=aa;c[y>>2]=ka;wa=aa;xa=ka}else{wa=ja;xa=c[y>>2]|0}ka=w>>>0>wa>>>0?wa:w;hp(u|0,xa|0,ka|0)|0;ja=(c[ha>>2]|0)-ka|0;c[ha>>2]=ja;c[y>>2]=(c[y>>2]|0)+ka;if((w|0)==(ka|0))break;else{w=w-ka|0;u=u+ka|0}}if((W|0)==126?(W=0,(w|0)!=0):0){W=127;break}c[ga>>2]=c[g>>2];c[ca+(la<<3)+4>>2]=3}else if((da|0)==1){u=c[M>>2]|0;y=u+16|0;ja=u+8|0;ha=u+12|0;fa=u+4|0;v=1;$=g;ka=c[u>>2]|0;while(1){if((ka|0)==0){aa=gc[c[ja>>2]&3](c[y>>2]|0,c[ha>>2]|0,p)|0;if((aa|0)==0){W=116;break}Z=c[p>>2]|0;if((Z|0)==0){W=116;break}c[u>>2]=Z;c[fa>>2]=aa;ya=Z;za=aa}else{ya=ka;za=c[fa>>2]|0}aa=v>>>0>ya>>>0?ya:v;hp($|0,za|0,aa|0)|0;ka=(c[u>>2]|0)-aa|0;c[u>>2]=ka;c[fa>>2]=(c[fa>>2]|0)+aa;if((v|0)==(aa|0))break;else{v=v-aa|0;$=$+aa|0}}if((W|0)==116?(W=0,(v|0)!=0):0){W=117;break}c[ga>>2]=a[g>>0];c[ca+(la<<3)+4>>2]=1}else if((da|0)==0)c[ca+(la<<3)+4>>2]=0;$=la+1|0;if(($|0)>=(ba|0))break b;ca=c[ia>>2]|0;la=$}if((W|0)==106)Xf(b,78048);else if((W|0)==117)Xf(b,78048);else if((W|0)==127)Xf(b,78048);else if((W|0)==137)Xf(b,78048);else if((W|0)==147)Xf(b,78048);else if((W|0)==151)cf(va)}}while(0);va=c[M>>2]|0;ia=va+16|0;ba=va+8|0;za=va+12|0;ya=va+4|0;p=4;xa=n;wa=c[va>>2]|0;while(1){if((wa|0)==0){o=gc[c[ba>>2]&3](c[ia>>2]|0,c[za>>2]|0,g)|0;if((o|0)==0){W=163;break}sa=c[g>>2]|0;if((sa|0)==0){W=163;break}c[va>>2]=sa;c[ya>>2]=o;Aa=sa;Ba=o}else{Aa=wa;Ba=c[ya>>2]|0}o=p>>>0>Aa>>>0?Aa:p;hp(xa|0,Ba|0,o|0)|0;wa=(c[va>>2]|0)-o|0;c[va>>2]=wa;c[ya>>2]=(c[ya>>2]|0)+o;if((p|0)==(o|0))break;else{p=p-o|0;xa=xa+o|0}}if((W|0)==163?(p|0)!=0:0)Xf(b,78048);p=c[n>>2]|0;if((p|0)<0)Xf(b,78096);xa=c[b>>2]|0;if((p+1|0)>>>0>1073741823)cf(xa);ya=p<<2;wa=c[xa+12>>2]|0;va=wa+4|0;Ba=oc[c[wa>>2]&1](c[va>>2]|0,0,0,ya)|0;if(!((Ba|0)!=0|(ya|0)==0)){if((a[wa+51>>0]|0)==0)af(xa,4);Zd(xa,1);Aa=oc[c[wa>>2]&1](c[va>>2]|0,0,0,ya)|0;if((Aa|0)==0)af(xa,4);else Ca=Aa}else Ca=Ba;Ba=wa+12|0;c[Ba>>2]=(c[Ba>>2]|0)+ya;ya=e+16|0;c[ya>>2]=Ca;c[e+56>>2]=p;Ba=(p|0)>0;d:do if(Ba){wa=Ca;Aa=0;while(1){c[wa+(Aa<<2)>>2]=0;xa=Aa+1|0;if((xa|0)==(p|0))break;wa=c[ya>>2]|0;Aa=xa}if(Ba){Aa=0;while(1){Da=c[b>>2]|0;wa=c[Da+12>>2]|0;xa=wa+4|0;va=oc[c[wa>>2]&1](c[xa>>2]|0,0,9,80)|0;if((va|0)==0){if((a[wa+51>>0]|0)==0){W=180;break}Zd(Da,1);g=oc[c[wa>>2]&1](c[xa>>2]|0,0,9,80)|0;if((g|0)==0){W=180;break}else Ea=g}else Ea=va;va=wa+12|0;c[va>>2]=(c[va>>2]|0)+80;va=wa+56|0;a[Ea+5>>0]=d[wa+48>>0]&3;a[Ea+4>>0]=9;c[Ea>>2]=c[va>>2];c[va>>2]=Ea;a[Ea+76>>0]=0;a[Ea+77>>0]=0;a[Ea+78>>0]=0;va=Ea+8|0;wa=va+64|0;do{c[va>>2]=0;va=va+4|0}while((va|0)<(wa|0));c[(c[ya>>2]|0)+(Aa<<2)>>2]=Ea;Sf(b,c[(c[ya>>2]|0)+(Aa<<2)>>2]|0);Aa=Aa+1|0;if((Aa|0)>=(p|0))break d}if((W|0)==180)af(Da,4)}}while(0);Da=c[M>>2]|0;p=Da+16|0;ya=Da+8|0;Ea=Da+12|0;Ba=Da+4|0;Ca=4;Aa=r;va=c[Da>>2]|0;while(1){if((va|0)==0){wa=gc[c[ya>>2]&3](c[p>>2]|0,c[Ea>>2]|0,n)|0;if((wa|0)==0){W=189;break}da=c[n>>2]|0;if((da|0)==0){W=189;break}c[Da>>2]=da;c[Ba>>2]=wa;Fa=da;Ga=wa}else{Fa=va;Ga=c[Ba>>2]|0}wa=Ca>>>0>Fa>>>0?Fa:Ca;hp(Aa|0,Ga|0,wa|0)|0;va=(c[Da>>2]|0)-wa|0;c[Da>>2]=va;c[Ba>>2]=(c[Ba>>2]|0)+wa;if((Ca|0)==(wa|0))break;else{Ca=Ca-wa|0;Aa=Aa+wa|0}}if((W|0)==189?(Ca|0)!=0:0)Xf(b,78048);Ca=c[r>>2]|0;if((Ca|0)<0)Xf(b,78096);Aa=c[b>>2]|0;if((Ca+1|0)>>>0>536870911)cf(Aa);Ba=Ca<<3;va=c[Aa+12>>2]|0;Da=va+4|0;Ga=oc[c[va>>2]&1](c[Da>>2]|0,0,0,Ba)|0;if(!((Ga|0)!=0|(Ba|0)==0)){if((a[va+51>>0]|0)==0)af(Aa,4);Zd(Aa,1);Fa=oc[c[va>>2]&1](c[Da>>2]|0,0,0,Ba)|0;if((Fa|0)==0)af(Aa,4);else Ha=Fa}else Ha=Ga;Ga=va+12|0;c[Ga>>2]=(c[Ga>>2]|0)+Ba;Ba=e+28|0;c[Ba>>2]=Ha;c[e+40>>2]=Ca;e:do if((Ca|0)>0){c[Ha>>2]=0;if((Ca|0)!=1){Ga=1;do{c[(c[Ba>>2]|0)+(Ga<<3)>>2]=0;Ga=Ga+1|0}while((Ga|0)!=(Ca|0))}Ga=0;while(1){va=c[M>>2]|0;Fa=va+16|0;Aa=va+8|0;Da=va+12|0;n=va+4|0;Ea=1;p=s;ya=c[va>>2]|0;while(1){if((ya|0)==0){wa=gc[c[Aa>>2]&3](c[Fa>>2]|0,c[Da>>2]|0,t)|0;if((wa|0)==0){W=210;break}da=c[t>>2]|0;if((da|0)==0){W=210;break}c[va>>2]=da;c[n>>2]=wa;Ia=da;Ja=wa}else{Ia=ya;Ja=c[n>>2]|0}wa=Ea>>>0>Ia>>>0?Ia:Ea;hp(p|0,Ja|0,wa|0)|0;ya=(c[va>>2]|0)-wa|0;c[va>>2]=ya;c[n>>2]=(c[n>>2]|0)+wa;if((Ea|0)==(wa|0))break;else{Ea=Ea-wa|0;p=p+wa|0}}if((W|0)==210?(W=0,(Ea|0)!=0):0){W=211;break}a[(c[Ba>>2]|0)+(Ga<<3)+4>>0]=a[s>>0]|0;p=c[M>>2]|0;n=p+16|0;ya=p+8|0;va=p+12|0;Da=p+4|0;Fa=1;Aa=s;wa=c[p>>2]|0;while(1){if((wa|0)==0){da=gc[c[ya>>2]&3](c[n>>2]|0,c[va>>2]|0,r)|0;if((da|0)==0){W=219;break}ga=c[r>>2]|0;if((ga|0)==0){W=219;break}c[p>>2]=ga;c[Da>>2]=da;Ka=ga;La=da}else{Ka=wa;La=c[Da>>2]|0}da=Fa>>>0>Ka>>>0?Ka:Fa;hp(Aa|0,La|0,da|0)|0;wa=(c[p>>2]|0)-da|0;c[p>>2]=wa;c[Da>>2]=(c[Da>>2]|0)+da;if((Fa|0)==(da|0))break;else{Fa=Fa-da|0;Aa=Aa+da|0}}if((W|0)==219?(W=0,(Fa|0)!=0):0){W=220;break}a[(c[Ba>>2]|0)+(Ga<<3)+5>>0]=a[s>>0]|0;Ga=Ga+1|0;if((Ga|0)>=(Ca|0))break e}if((W|0)==211)Xf(b,78048);else if((W|0)==220)Xf(b,78048)}while(0);Ca=c[M>>2]|0;La=Ca+16|0;Ka=Ca+8|0;r=Ca+12|0;Ja=Ca+4|0;Ia=4;t=s;Ha=c[Ca>>2]|0;while(1){if((Ha|0)==0){Ga=gc[c[Ka>>2]&3](c[La>>2]|0,c[r>>2]|0,I)|0;if((Ga|0)==0){W=229;break}Aa=c[I>>2]|0;if((Aa|0)==0){W=229;break}c[Ca>>2]=Aa;c[Ja>>2]=Ga;Ma=Aa;Na=Ga}else{Ma=Ha;Na=c[Ja>>2]|0}Ga=Ia>>>0>Ma>>>0?Ma:Ia;hp(t|0,Na|0,Ga|0)|0;Ha=(c[Ca>>2]|0)-Ga|0;c[Ca>>2]=Ha;c[Ja>>2]=(c[Ja>>2]|0)+Ga;if((Ia|0)==(Ga|0))break;else{Ia=Ia-Ga|0;t=t+Ga|0}}if((W|0)==229?(Ia|0)!=0:0)Xf(b,78048);Ia=c[s>>2]|0;do if((Ia|0)!=0){t=Uf(c[b>>2]|0,c[b+8>>2]|0,Ia)|0;Ja=c[M>>2]|0;Ha=Ja+16|0;Ca=Ja+8|0;Na=Ja+12|0;Ma=Ja+4|0;I=Ia;r=t;La=c[Ja>>2]|0;while(1){if((La|0)==0){Ka=gc[c[Ca>>2]&3](c[Ha>>2]|0,c[Na>>2]|0,H)|0;if((Ka|0)==0){W=239;break}Ga=c[H>>2]|0;if((Ga|0)==0){W=239;break}c[Ja>>2]=Ga;c[Ma>>2]=Ka;Oa=Ga;Pa=Ka}else{Oa=La;Pa=c[Ma>>2]|0}Ka=I>>>0>Oa>>>0?Oa:I;hp(r|0,Pa|0,Ka|0)|0;La=(c[Ja>>2]|0)-Ka|0;c[Ja>>2]=La;c[Ma>>2]=(c[Ma>>2]|0)+Ka;if((I|0)==(Ka|0))break;else{I=I-Ka|0;r=r+Ka|0}}do if((W|0)==239){if((I|0)==0)break;Xf(b,78048)}while(0);I=c[b>>2]|0;r=Ia+ -1|0;if(r>>>0<41){Qa=Kf(I,t,r)|0;break}if(Ia>>>0>4294967277)cf(I);else{Qa=Lf(I,t,r,20,c[(c[I+12>>2]|0)+44>>2]|0,0)|0;break}}else Qa=0;while(0);c[e+36>>2]=Qa;Qa=c[M>>2]|0;Ia=Qa+16|0;Pa=Qa+8|0;Oa=Qa+12|0;H=Qa+4|0;I=4;r=s;Ma=c[Qa>>2]|0;while(1){if((Ma|0)==0){La=gc[c[Pa>>2]&3](c[Ia>>2]|0,c[Oa>>2]|0,G)|0;if((La|0)==0){W=253;break}Ja=c[G>>2]|0;if((Ja|0)==0){W=253;break}c[Qa>>2]=Ja;c[H>>2]=La;Ra=Ja;Sa=La}else{Ra=Ma;Sa=c[H>>2]|0}La=I>>>0>Ra>>>0?Ra:I;hp(r|0,Sa|0,La|0)|0;Ma=(c[Qa>>2]|0)-La|0;c[Qa>>2]=Ma;c[H>>2]=(c[H>>2]|0)+La;if((I|0)==(La|0))break;else{I=I-La|0;r=r+La|0}}do if((W|0)==253){if((I|0)==0)break;Xf(b,78048)}while(0);I=c[s>>2]|0;if((I|0)<0)Xf(b,78096);r=c[b>>2]|0;if((I+1|0)>>>0>1073741823)cf(r);H=I<<2;Ma=c[r+12>>2]|0;Qa=Ma+4|0;Sa=oc[c[Ma>>2]&1](c[Qa>>2]|0,0,0,H)|0;Ra=(H|0)==0;do if((Sa|0)!=0|Ra)Ta=Sa;else{if((a[Ma+51>>0]|0)==0)af(r,4);Zd(r,1);G=oc[c[Ma>>2]&1](c[Qa>>2]|0,0,0,H)|0;if((G|0)!=0){Ta=G;break}af(r,4)}while(0);r=Ma+12|0;c[r>>2]=(c[r>>2]|0)+H;c[e+20>>2]=Ta;c[e+52>>2]=I;I=c[M>>2]|0;f:do if(!Ra){r=I+16|0;Ma=I+8|0;Qa=I+12|0;Sa=I+4|0;G=H;Oa=Ta;Ia=c[I>>2]|0;while(1){if((Ia|0)==0){Pa=gc[c[Ma>>2]&3](c[r>>2]|0,c[Qa>>2]|0,L)|0;if((Pa|0)==0)break;La=c[L>>2]|0;if((La|0)==0)break;c[I>>2]=La;c[Sa>>2]=Pa;Ua=La;Va=Pa}else{Ua=Ia;Va=c[Sa>>2]|0}Pa=G>>>0>Ua>>>0?Ua:G;hp(Oa|0,Va|0,Pa|0)|0;Ia=(c[I>>2]|0)-Pa|0;c[I>>2]=Ia;c[Sa>>2]=(c[Sa>>2]|0)+Pa;if((G|0)==(Pa|0))break f;else{G=G-Pa|0;Oa=Oa+Pa|0}}if((G|0)==0)break;Xf(b,78048)}while(0);I=c[M>>2]|0;Va=I+16|0;Ua=I+8|0;L=I+12|0;Ta=I+4|0;H=4;Ra=s;Oa=c[I>>2]|0;while(1){if((Oa|0)==0){Sa=gc[c[Ua>>2]&3](c[Va>>2]|0,c[L>>2]|0,F)|0;if((Sa|0)==0){W=280;break}Ia=c[F>>2]|0;if((Ia|0)==0){W=280;break}c[I>>2]=Ia;c[Ta>>2]=Sa;Wa=Ia;Xa=Sa}else{Wa=Oa;Xa=c[Ta>>2]|0}Sa=H>>>0>Wa>>>0?Wa:H;hp(Ra|0,Xa|0,Sa|0)|0;Oa=(c[I>>2]|0)-Sa|0;c[I>>2]=Oa;c[Ta>>2]=(c[Ta>>2]|0)+Sa;if((H|0)==(Sa|0))break;else{H=H-Sa|0;Ra=Ra+Sa|0}}do if((W|0)==280){if((H|0)==0)break;Xf(b,78048)}while(0);H=c[s>>2]|0;if((H|0)<0)Xf(b,78096);Ra=c[b>>2]|0;if((H+1|0)>>>0>357913941)cf(Ra);Ta=H*12|0;Oa=c[Ra+12>>2]|0;I=Oa+4|0;Xa=oc[c[Oa>>2]&1](c[I>>2]|0,0,0,Ta)|0;do if((Xa|0)!=0|(Ta|0)==0)Ya=Xa;else{if((a[Oa+51>>0]|0)==0)af(Ra,4);Zd(Ra,1);Wa=oc[c[Oa>>2]&1](c[I>>2]|0,0,0,Ta)|0;if((Wa|0)!=0){Ya=Wa;break}af(Ra,4)}while(0);Ra=Oa+12|0;c[Ra>>2]=(c[Ra>>2]|0)+Ta;Ta=e+24|0;c[Ta>>2]=Ya;c[e+60>>2]=H;g:do if((H|0)>0){c[Ya>>2]=0;if((H|0)!=1){e=1;do{c[(c[Ta>>2]|0)+(e*12|0)>>2]=0;e=e+1|0}while((e|0)!=(H|0))}e=b+8|0;G=0;h:while(1){Ra=c[M>>2]|0;Oa=Ra+16|0;I=Ra+8|0;Xa=Ra+12|0;Wa=Ra+4|0;F=4;L=s;Va=c[Ra>>2]|0;while(1){if((Va|0)==0){Ua=gc[c[I>>2]&3](c[Oa>>2]|0,c[Xa>>2]|0,E)|0;if((Ua|0)==0){W=301;break}Sa=c[E>>2]|0;if((Sa|0)==0){W=301;break}c[Ra>>2]=Sa;c[Wa>>2]=Ua;Za=Sa;_a=Ua}else{Za=Va;_a=c[Wa>>2]|0}Ua=F>>>0>Za>>>0?Za:F;hp(L|0,_a|0,Ua|0)|0;Va=(c[Ra>>2]|0)-Ua|0;c[Ra>>2]=Va;c[Wa>>2]=(c[Wa>>2]|0)+Ua;if((F|0)==(Ua|0))break;else{F=F-Ua|0;L=L+Ua|0}}if((W|0)==301?(W=0,(F|0)!=0):0){W=302;break}L=c[s>>2]|0;do if((L|0)==0)$a=0;else{Wa=Uf(c[b>>2]|0,c[e>>2]|0,L)|0;Va=c[M>>2]|0;Ra=Va+16|0;Xa=Va+8|0;Oa=Va+12|0;I=Va+4|0;Fa=L;Ua=Wa;Sa=c[Va>>2]|0;while(1){if((Sa|0)==0){Ia=gc[c[Xa>>2]&3](c[Ra>>2]|0,c[Oa>>2]|0,D)|0;if((Ia|0)==0){W=311;break}Qa=c[D>>2]|0;if((Qa|0)==0){W=311;break}c[Va>>2]=Qa;c[I>>2]=Ia;ab=Qa;bb=Ia}else{ab=Sa;bb=c[I>>2]|0}Ia=Fa>>>0>ab>>>0?ab:Fa;hp(Ua|0,bb|0,Ia|0)|0;Sa=(c[Va>>2]|0)-Ia|0;c[Va>>2]=Sa;c[I>>2]=(c[I>>2]|0)+Ia;if((Fa|0)==(Ia|0))break;else{Fa=Fa-Ia|0;Ua=Ua+Ia|0}}if((W|0)==311?(W=0,(Fa|0)!=0):0){W=312;break h}cb=c[b>>2]|0;Ua=L+ -1|0;if(Ua>>>0<41){$a=Kf(cb,Wa,Ua)|0;break}if(L>>>0>4294967277){W=316;break h}$a=Lf(cb,Wa,Ua,20,c[(c[cb+12>>2]|0)+44>>2]|0,0)|0}while(0);c[(c[Ta>>2]|0)+(G*12|0)>>2]=$a;L=c[M>>2]|0;F=L+16|0;Ua=L+8|0;I=L+12|0;Sa=L+4|0;Va=4;Oa=s;Ra=c[L>>2]|0;while(1){if((Ra|0)==0){Xa=gc[c[Ua>>2]&3](c[F>>2]|0,c[I>>2]|0,C)|0;if((Xa|0)==0){W=325;break}k=c[C>>2]|0;if((k|0)==0){W=325;break}c[L>>2]=k;c[Sa>>2]=Xa;db=k;eb=Xa}else{db=Ra;eb=c[Sa>>2]|0}Xa=Va>>>0>db>>>0?db:Va;hp(Oa|0,eb|0,Xa|0)|0;Ra=(c[L>>2]|0)-Xa|0;c[L>>2]=Ra;c[Sa>>2]=(c[Sa>>2]|0)+Xa;if((Va|0)==(Xa|0))break;else{Va=Va-Xa|0;Oa=Oa+Xa|0}}if((W|0)==325?(W=0,(Va|0)!=0):0){W=326;break}Oa=c[s>>2]|0;if((Oa|0)<0){W=328;break}c[(c[Ta>>2]|0)+(G*12|0)+4>>2]=Oa;Oa=c[M>>2]|0;Sa=Oa+16|0;Ra=Oa+8|0;L=Oa+12|0;I=Oa+4|0;F=4;Ua=s;Xa=c[Oa>>2]|0;while(1){if((Xa|0)==0){k=gc[c[Ra>>2]&3](c[Sa>>2]|0,c[L>>2]|0,B)|0;if((k|0)==0){W=336;break}ea=c[B>>2]|0;if((ea|0)==0){W=336;break}c[Oa>>2]=ea;c[I>>2]=k;fb=ea;gb=k}else{fb=Xa;gb=c[I>>2]|0}k=F>>>0>fb>>>0?fb:F;hp(Ua|0,gb|0,k|0)|0;Xa=(c[Oa>>2]|0)-k|0;c[Oa>>2]=Xa;c[I>>2]=(c[I>>2]|0)+k;if((F|0)==(k|0))break;else{F=F-k|0;Ua=Ua+k|0}}if((W|0)==336?(W=0,(F|0)!=0):0){W=337;break}Ua=c[s>>2]|0;if((Ua|0)<0){W=339;break}c[(c[Ta>>2]|0)+(G*12|0)+8>>2]=Ua;G=G+1|0;if((G|0)>=(H|0))break g}if((W|0)==302)Xf(b,78048);else if((W|0)==312)Xf(b,78048);else if((W|0)==316)cf(cb);else if((W|0)==326)Xf(b,78048);else if((W|0)==328)Xf(b,78096);else if((W|0)==337)Xf(b,78048);else if((W|0)==339)Xf(b,78096)}while(0);cb=c[M>>2]|0;H=cb+16|0;Ta=cb+8|0;gb=cb+12|0;fb=cb+4|0;B=4;eb=K;db=c[cb>>2]|0;while(1){if((db|0)==0){C=gc[c[Ta>>2]&3](c[H>>2]|0,c[gb>>2]|0,A)|0;if((C|0)==0){W=348;break}$a=c[A>>2]|0;if(($a|0)==0){W=348;break}c[cb>>2]=$a;c[fb>>2]=C;hb=$a;ib=C}else{hb=db;ib=c[fb>>2]|0}C=B>>>0>hb>>>0?hb:B;hp(eb|0,ib|0,C|0)|0;db=(c[cb>>2]|0)-C|0;c[cb>>2]=db;c[fb>>2]=(c[fb>>2]|0)+C;if((B|0)==(C|0))break;else{B=B-C|0;eb=eb+C|0}}do if((W|0)==348){if((B|0)==0)break;Xf(b,78048)}while(0);B=c[K>>2]|0;if((B|0)<0)Xf(b,78096);if((B|0)<=0){i=f;return}K=b+8|0;eb=0;i:while(1){fb=c[M>>2]|0;db=fb+16|0;cb=fb+8|0;ib=fb+12|0;hb=fb+4|0;A=4;gb=J;H=c[fb>>2]|0;while(1){if((H|0)==0){Ta=gc[c[cb>>2]&3](c[db>>2]|0,c[ib>>2]|0,z)|0;if((Ta|0)==0){W=361;break}C=c[z>>2]|0;if((C|0)==0){W=361;break}c[fb>>2]=C;c[hb>>2]=Ta;jb=C;kb=Ta}else{jb=H;kb=c[hb>>2]|0}Ta=A>>>0>jb>>>0?jb:A;hp(gb|0,kb|0,Ta|0)|0;H=(c[fb>>2]|0)-Ta|0;c[fb>>2]=H;c[hb>>2]=(c[hb>>2]|0)+Ta;if((A|0)==(Ta|0))break;else{A=A-Ta|0;gb=gb+Ta|0}}if((W|0)==361?(W=0,(A|0)!=0):0){W=362;break}gb=c[J>>2]|0;do if((gb|0)==0)lb=0;else{hb=Uf(c[b>>2]|0,c[K>>2]|0,gb)|0;H=c[M>>2]|0;fb=H+16|0;ib=H+8|0;db=H+12|0;cb=H+4|0;Ta=gb;C=hb;$a=c[H>>2]|0;while(1){if(($a|0)==0){bb=gc[c[ib>>2]&3](c[fb>>2]|0,c[db>>2]|0,s)|0;if((bb|0)==0){W=371;break}ab=c[s>>2]|0;if((ab|0)==0){W=371;break}c[H>>2]=ab;c[cb>>2]=bb;mb=ab;nb=bb}else{mb=$a;nb=c[cb>>2]|0}bb=Ta>>>0>mb>>>0?mb:Ta;hp(C|0,nb|0,bb|0)|0;$a=(c[H>>2]|0)-bb|0;c[H>>2]=$a;c[cb>>2]=(c[cb>>2]|0)+bb;if((Ta|0)==(bb|0))break;else{Ta=Ta-bb|0;C=C+bb|0}}if((W|0)==371?(W=0,(Ta|0)!=0):0){W=372;break i}ob=c[b>>2]|0;C=gb+ -1|0;if(C>>>0<41){lb=Kf(ob,hb,C)|0;break}if(gb>>>0>4294967277){W=376;break i}lb=Lf(ob,hb,C,20,c[(c[ob+12>>2]|0)+44>>2]|0,0)|0}while(0);c[(c[Ba>>2]|0)+(eb<<3)>>2]=lb;eb=eb+1|0;if((eb|0)>=(B|0)){W=379;break}}if((W|0)==362)Xf(b,78048);else if((W|0)==372)Xf(b,78048);else if((W|0)==376)cf(ob);else if((W|0)==379){i=f;return}}function Tf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;if((e|0)==0){h=0;i=g;return h|0}j=e+6|0;k=a[j>>0]|0;if(!((k&32)==0)){h=0;i=g;return h|0}l=c[(c[b+12>>2]|0)+176>>2]|0;b=c[l+8>>2]|0;m=(c[e+16>>2]|0)+(((1<<(d[e+7>>0]|0))+ -1&b)*20|0)|0;while(1){if((c[m+12>>2]|0)==68?(c[m+8>>2]|0)==(l|0):0){n=6;break}o=c[m+16>>2]|0;if((o|0)==0){p=75600;break}else m=o}if((n|0)==6)p=m;m=c[p+4>>2]|0;if((m|0)==0){a[j>>0]=k&255|32;h=0;i=g;return h|0}if((p|0)==0){h=0;i=g;return h|0}if((e|0)==(f|0)){h=p;i=g;return h|0}if((f|0)==0){h=0;i=g;return h|0}e=f+6|0;k=a[e>>0]|0;if(!((k&32)==0)){h=0;i=g;return h|0}j=(c[f+16>>2]|0)+(((1<<(d[f+7>>0]|0))+ -1&b)*20|0)|0;while(1){if((c[j+12>>2]|0)==68?(c[j+8>>2]|0)==(l|0):0){n=17;break}b=c[j+16>>2]|0;if((b|0)==0){q=75600;break}else j=b}if((n|0)==17)q=j;j=c[q+4>>2]|0;if((j|0)==0){a[e>>0]=k&255|32;h=0;i=g;return h|0}if((q|0)==0){h=0;i=g;return h|0}if((m|0)==(j|0)?(od(0,p,q)|0)!=0:0){h=p;i=g;return h|0}h=0;i=g;return h|0}function Uf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;g=d+8|0;h=c[g>>2]|0;if(!(h>>>0<e>>>0)){j=c[d>>2]|0;i=f;return j|0}k=e>>>0<32?32:e;if((k+1|0)>>>0>4294967293)cf(b);e=c[d>>2]|0;l=c[b+12>>2]|0;m=(e|0)!=0;n=l+4|0;o=oc[c[l>>2]&1](c[n>>2]|0,e,h,k)|0;if(!((o|0)!=0|(k|0)==0)){if((a[l+51>>0]|0)==0)af(b,4);Zd(b,1);p=oc[c[l>>2]&1](c[n>>2]|0,e,h,k)|0;if((p|0)==0)af(b,4);else q=p}else q=o;o=l+12|0;c[o>>2]=(m?0-h|0:0)+k+(c[o>>2]|0);c[d>>2]=q;c[g>>2]=k;j=q;i=f;return j|0}function Vf(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;b=i;e=c[a+16>>2]|0;f=e+24|0;g=c[f>>2]|0;h=e+28|0;j=c[(c[h>>2]|0)+ -4>>2]|0;k=j&63;switch(k|0){case 22:{l=a+8|0;m=c[l>>2]|0;n=m+ -16|0;o=n-(g+(j>>>23<<3))|0;c[m+ -24>>2]=c[m+ -8>>2];c[m+ -20>>2]=c[m+ -4>>2];if((o|0)>8){c[l>>2]=n;ce(a,o>>3)}o=c[l>>2]|0;n=c[f>>2]|0;f=j>>>6&255;c[n+(f<<3)>>2]=c[o+ -8>>2];c[n+(f<<3)+4>>2]=c[o+ -4>>2];c[l>>2]=c[e+4>>2];i=b;return};case 29:{if((j&8372224|0)==0){i=b;return}c[a+8>>2]=c[e+4>>2];i=b;return};case 34:{c[a+8>>2]=c[e+4>>2];i=b;return};case 12:case 7:case 6:case 21:case 19:case 18:case 17:case 16:case 15:case 14:case 13:{e=a+8|0;l=c[e>>2]|0;o=l+ -8|0;c[e>>2]=o;e=j>>>6&255;c[g+(e<<3)>>2]=c[o>>2];c[g+(e<<3)+4>>2]=c[l+ -4>>2];i=b;return};case 24:case 25:case 26:{l=a+8|0;e=c[l>>2]|0;o=c[e+ -4>>2]|0;if((o|0)!=0)if((o|0)==1)p=(c[e+ -8>>2]|0)==0;else p=0;else p=1;o=p&1;p=o^1;c[l>>2]=e+ -8;if((k|0)==26){k=j>>>23;e=g+(k<<3)|0;l=c[g+(k<<3)+4>>2]&15;if((l|0)==5)q=(c[e>>2]|0)+8|0;else if((l|0)==7)q=(c[e>>2]|0)+8|0;else q=(c[a+12>>2]|0)+(l<<2)+224|0;l=c[q>>2]|0;a:do if((l|0)==0)r=75600;else{q=c[(c[a+12>>2]|0)+212>>2]|0;e=(c[l+16>>2]|0)+(((1<<(d[l+7>>0]|0))+ -1&c[q+8>>2])*20|0)|0;while(1){if((c[e+12>>2]|0)==68?(c[e+8>>2]|0)==(q|0):0)break;k=c[e+16>>2]|0;if((k|0)==0){r=75600;break a}else e=k}r=e}while(0);s=(c[r+4>>2]|0)==0?o:p}else s=p;if((s|0)==(j>>>6&255|0)){i=b;return}c[h>>2]=(c[h>>2]|0)+4;i=b;return};default:{i=b;return}}}function Wf(a,b){a=a|0;b=b|0;var d=0;d=a+48|0;a=(c[d>>2]|0)-b|0;c[d>>2]=(a|0)<1?1:a;return}function Xf(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;d=c[a>>2]|0;c[e>>2]=c[a+12>>2];c[e+4>>2]=b;xf(d,78064,e)|0;af(c[a>>2]|0,3)}function Yf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,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=i;i=i+16|0;h=g;j=c[b>>2]|0;k=j+40|0;l=c[k>>2]|0;m=b+47|0;n=d[m>>0]|0;if((n+1|0)>>>0>255){o=b+12|0;p=c[(c[o>>2]|0)+32>>2]|0;q=c[j+64>>2]|0;if((q|0)==0){r=78616;c[h>>2]=78944;s=h+4|0;c[s>>2]=255;t=h+8|0;c[t>>2]=r;u=xf(p,78656,h)|0;v=c[o>>2]|0;ye(v,u)}c[h>>2]=q;r=xf(p,78632,h)|0;c[h>>2]=78944;s=h+4|0;c[s>>2]=255;t=h+8|0;c[t>>2]=r;u=xf(p,78656,h)|0;v=c[o>>2]|0;ye(v,u)}if((n|0)<(l|0))w=l;else{n=j+28|0;c[n>>2]=Cf(c[(c[b+12>>2]|0)+32>>2]|0,c[n>>2]|0,k,8,255,78944)|0;w=c[k>>2]|0}k=j+28|0;if((l|0)<(w|0)){n=l;do{c[(c[k>>2]|0)+(n<<3)>>2]=0;n=n+1|0}while((n|0)<(w|0))}a[(c[k>>2]|0)+((d[m>>0]|0)<<3)+4>>0]=(c[f>>2]|0)==7&1;a[(c[k>>2]|0)+((d[m>>0]|0)<<3)+5>>0]=c[f+4>>2];c[(c[k>>2]|0)+((d[m>>0]|0)<<3)>>2]=e;if((a[e+5>>0]&3)==0){x=a[m>>0]|0;y=x+1<<24>>24;a[m>>0]=y;z=x&255;i=g;return z|0}k=j+5|0;j=a[k>>0]|0;if((j&4)==0){x=a[m>>0]|0;y=x+1<<24>>24;a[m>>0]=y;z=x&255;i=g;return z|0}f=c[(c[(c[b+12>>2]|0)+32>>2]|0)+12>>2]|0;if((d[f+49>>0]|0)<2){rf(f,e);x=a[m>>0]|0;y=x+1<<24>>24;a[m>>0]=y;z=x&255;i=g;return z|0}else{a[k>>0]=(d[f+48>>0]|0)&3|j&184;x=a[m>>0]|0;y=x+1<<24>>24;a[m>>0]=y;z=x&255;i=g;return z|0}return 0}function Zf(e){e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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=i;g=c[e+32>>2]|0;h=e+28|0;j=c[h>>2]|0;k=c[j>>2]|0;xe(j,8388639)|0;_f(j);l=j+20|0;m=c[l>>2]|0;if((m+1|0)>>>0>1073741823)cf(g);n=k+12|0;o=c[n>>2]|0;p=k+48|0;q=c[p>>2]<<2;r=m<<2;m=g+12|0;s=c[m>>2]|0;t=(o|0)!=0;u=s+4|0;v=oc[c[s>>2]&1](c[u>>2]|0,o,q,r)|0;if(!((v|0)!=0|(r|0)==0)){if((a[s+51>>0]|0)==0)af(g,4);Zd(g,1);w=oc[c[s>>2]&1](c[u>>2]|0,o,q,r)|0;if((w|0)==0)af(g,4);else x=w}else x=v;v=s+12|0;c[v>>2]=(t?0-q|0:0)+r+(c[v>>2]|0);c[n>>2]=x;c[p>>2]=c[l>>2];p=c[l>>2]|0;if((p+1|0)>>>0>1073741823)cf(g);x=k+20|0;n=c[x>>2]|0;v=k+52|0;r=c[v>>2]<<2;q=p<<2;p=c[m>>2]|0;t=(n|0)!=0;s=p+4|0;w=oc[c[p>>2]&1](c[s>>2]|0,n,r,q)|0;if(!((w|0)!=0|(q|0)==0)){if((a[p+51>>0]|0)==0)af(g,4);Zd(g,1);o=oc[c[p>>2]&1](c[s>>2]|0,n,r,q)|0;if((o|0)==0)af(g,4);else y=o}else y=w;w=p+12|0;c[w>>2]=(t?0-r|0:0)+q+(c[w>>2]|0);c[x>>2]=y;c[v>>2]=c[l>>2];l=j+32|0;v=c[l>>2]|0;if((v+1|0)>>>0>536870911)cf(g);y=k+8|0;x=c[y>>2]|0;w=k+44|0;q=c[w>>2]<<3;r=v<<3;v=c[m>>2]|0;t=(x|0)!=0;p=v+4|0;o=oc[c[v>>2]&1](c[p>>2]|0,x,q,r)|0;if(!((o|0)!=0|(r|0)==0)){if((a[v+51>>0]|0)==0)af(g,4);Zd(g,1);n=oc[c[v>>2]&1](c[p>>2]|0,x,q,r)|0;if((n|0)==0)af(g,4);else z=n}else z=o;o=v+12|0;c[o>>2]=(t?0-q|0:0)+r+(c[o>>2]|0);c[y>>2]=z;c[w>>2]=c[l>>2];l=j+36|0;w=c[l>>2]|0;if((w+1|0)>>>0>1073741823)cf(g);z=k+16|0;y=c[z>>2]|0;o=k+56|0;r=c[o>>2]<<2;q=w<<2;w=c[m>>2]|0;t=(y|0)!=0;v=w+4|0;n=oc[c[w>>2]&1](c[v>>2]|0,y,r,q)|0;if(!((n|0)!=0|(q|0)==0)){if((a[w+51>>0]|0)==0)af(g,4);Zd(g,1);x=oc[c[w>>2]&1](c[v>>2]|0,y,r,q)|0;if((x|0)==0)af(g,4);else A=x}else A=n;n=w+12|0;c[n>>2]=(t?0-r|0:0)+q+(c[n>>2]|0);c[z>>2]=A;c[o>>2]=c[l>>2];l=j+44|0;o=b[l>>1]|0;if((o+1|0)>>>0>357913941)cf(g);A=k+24|0;z=c[A>>2]|0;n=k+60|0;q=(c[n>>2]|0)*12|0;r=o*12|0;o=c[m>>2]|0;t=(z|0)!=0;w=o+4|0;x=oc[c[o>>2]&1](c[w>>2]|0,z,q,r)|0;if(!((x|0)!=0|(r|0)==0)){if((a[o+51>>0]|0)==0)af(g,4);Zd(g,1);y=oc[c[o>>2]&1](c[w>>2]|0,z,q,r)|0;if((y|0)==0)af(g,4);else B=y}else B=x;x=o+12|0;c[x>>2]=(t?0-q|0:0)+r+(c[x>>2]|0);c[A>>2]=B;c[n>>2]=b[l>>1];l=j+47|0;n=a[l>>0]|0;B=k+28|0;A=c[B>>2]|0;x=k+40|0;k=c[x>>2]<<3;r=(n&255)<<3;q=c[m>>2]|0;t=(A|0)!=0;o=q+4|0;y=oc[c[q>>2]&1](c[o>>2]|0,A,k,r)|0;if(!((y|0)!=0|n<<24>>24==0)){if((a[q+51>>0]|0)==0)af(g,4);Zd(g,1);n=oc[c[q>>2]&1](c[o>>2]|0,A,k,r)|0;if((n|0)==0)af(g,4);else C=n}else C=y;y=q+12|0;c[y>>2]=(t?0-k|0:0)+r+(c[y>>2]|0);c[B>>2]=C;c[x>>2]=d[l>>0];c[h>>2]=c[j+8>>2];if(((c[e+12>>2]|0)+ -288|0)>>>0<2){j=c[e+16>>2]|0;zf(e,j+16|0,c[j+12>>2]|0)|0}j=g+8|0;c[j>>2]=(c[j>>2]|0)+ -8;j=c[m>>2]|0;m=j+12|0;e=c[m>>2]|0;if((e|0)<=0){i=f;return}if((a[j+51>>0]|0)==0){h=j+8|0;c[h>>2]=e+1600+(c[h>>2]|0);c[m>>2]=-1600;i=f;return}else{_d(g);i=f;return}}function _f(e){e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;f=i;i=i+16|0;g=f;h=e+16|0;j=c[h>>2]|0;k=e+12|0;l=c[k>>2]|0;do if((c[j>>2]|0)!=0?(a[j+9>>0]|0)!=0:0){m=e+28|0;n=c[m>>2]|0;c[m>>2]=-1;o=xe(e,2147450903)|0;do if(!((n|0)==-1))if(!((o|0)==-1)){p=c[(c[e>>2]|0)+12>>2]|0;q=o;while(1){r=p+(q<<2)|0;s=c[r>>2]|0;t=(s>>>14)+ -131071|0;if((t|0)==-1)break;u=q+1+t|0;if((u|0)==-1)break;else q=u}p=n+~q|0;if((((p|0)>-1?p:0-p|0)|0)>131071)ye(c[k>>2]|0,80032);else{c[r>>2]=(p<<14)+2147467264|s&16383;v=11;break}}else w=n;else v=11;while(0);if((v|0)==11)if((o|0)==-1){c[e+24>>2]=c[e+20>>2];break}else w=o;n=c[(c[e>>2]|0)+12>>2]|0;p=(d[j+8>>0]<<6)+64&16320;u=w;while(1){x=n+(u<<2)|0;y=c[x>>2]|0;t=(y>>>14)+ -131071|0;if((t|0)==-1){v=15;break}u=u+1+t|0;c[x>>2]=y&-16321|p;if((u|0)==-1){v=17;break}}if((v|0)==15){c[x>>2]=y&-16321|p;c[e+24>>2]=c[e+20>>2]}else if((v|0)==17)c[e+24>>2]=c[e+20>>2];u=c[m>>2]|0;if((u|0)==-1){c[m>>2]=w;break}else z=u;while(1){A=n+(z<<2)|0;B=c[A>>2]|0;u=(B>>>14)+ -131071|0;if((u|0)==-1)break;o=z+1+u|0;if((o|0)==-1)break;else z=o}n=w+~z|0;if((((n|0)>-1?n:0-n|0)|0)>131071)ye(c[k>>2]|0,80032);else{c[A>>2]=(n<<14)+2147467264|B&16383;break}}while(0);a:do if((a[j+10>>0]|0)!=0){B=l+32|0;A=Kf(c[B>>2]|0,78368,5)|0;z=l+44|0;w=c[z>>2]|0;v=w+24|0;y=l+28|0;x=c[(c[y>>2]|0)+20>>2]|0;s=w+28|0;r=c[s>>2]|0;n=w+32|0;if((r|0)<(c[n>>2]|0))C=c[v>>2]|0;else{w=Cf(c[B>>2]|0,c[v>>2]|0,n,16,32767,78376)|0;c[v>>2]=w;C=w}c[C+(r<<4)>>2]=A;A=c[v>>2]|0;c[A+(r<<4)+8>>2]=0;a[A+(r<<4)+12>>0]=a[(c[y>>2]|0)+46>>0]|0;c[(c[v>>2]|0)+(r<<4)+4>>2]=x;c[s>>2]=(c[s>>2]|0)+1;s=c[z>>2]|0;z=(c[s+24>>2]|0)+(r<<4)|0;r=b[(c[(c[y>>2]|0)+16>>2]|0)+6>>1]|0;y=s+16|0;x=c[y>>2]|0;if((r|0)<(x|0)){v=s+12|0;s=x;x=r;while(1){r=s;while(1){A=c[(c[v>>2]|0)+(x<<4)>>2]|0;w=c[z>>2]|0;n=a[A+4>>0]|0;if(!(n<<24>>24==(a[w+4>>0]|0)))break;if(n<<24>>24==4){if((A|0)!=(w|0))break}else{n=c[A+12>>2]|0;if((A|0)!=(w|0)){if((n|0)!=(c[w+12>>2]|0))break;if((Yo(A+16|0,w+16|0,n)|0)!=0)break}}bg(l,x,z);n=c[y>>2]|0;if((x|0)<(n|0))r=n;else break a}x=x+1|0;if((x|0)>=(r|0))break;else s=r}}}while(0);c[h>>2]=c[j>>2];h=j+8|0;C=a[h>>0]|0;s=e+46|0;x=(c[k>>2]|0)+44|0;y=(c[x>>2]|0)+4|0;c[y>>2]=(C&255)-(d[s>>0]|0)+(c[y>>2]|0);y=a[s>>0]|0;if((y&255)>(C&255)){z=e+20|0;v=e+40|0;q=(c[e>>2]|0)+24|0;n=y;while(1){w=c[z>>2]|0;A=n+ -1<<24>>24;a[s>>0]=A;c[(c[q>>2]|0)+((b[(c[c[x>>2]>>2]|0)+((c[v>>2]|0)+(A&255)<<1)>>1]|0)*12|0)+8>>2]=w;w=a[s>>0]|0;if((w&255)>(C&255))n=w;else{D=w;break}}}else D=y;a[e+48>>0]=D;D=c[l+44>>2]|0;c[D+28>>2]=b[j+4>>1];y=b[j+6>>1]|0;if((c[j>>2]|0)==0){if((y|0)>=(c[D+16>>2]|0)){i=f;return}n=c[D+12>>2]|0;D=c[n+(y<<4)>>2]|0;if((a[D+4>>0]|0)!=4){E=78264;F=l+32|0;G=c[F>>2]|0;H=D+16|0;I=n+(y<<4)+8|0;J=c[I>>2]|0;c[g>>2]=H;K=g+4|0;c[K>>2]=J;L=xf(G,E,g)|0;$f(l,L)}E=(a[D+6>>0]|0)!=0?78224:78264;F=l+32|0;G=c[F>>2]|0;H=D+16|0;I=n+(y<<4)+8|0;J=c[I>>2]|0;c[g>>2]=H;K=g+4|0;c[K>>2]=J;L=xf(G,E,g)|0;$f(l,L)}L=c[x>>2]|0;x=L+16|0;if((y|0)>=(c[x>>2]|0)){i=f;return}l=L+12|0;L=j+9|0;j=y;do{y=c[l>>2]|0;g=y+(j<<4)+12|0;E=a[h>>0]|0;G=E&255;if((d[g>>0]|0)>(E&255)){b:do if((a[L>>0]|0)!=0?(E=c[y+(j<<4)+4>>2]|0,!((E|0)==-1)):0){J=c[(c[e>>2]|0)+12>>2]|0;K=(G<<6)+64&16320;H=E;while(1){M=J+(H<<2)|0;N=c[M>>2]|0;E=(N>>>14)+ -131071|0;if((E|0)==-1)break;H=H+1+E|0;c[M>>2]=N&-16321|K;if((H|0)==-1)break b}c[M>>2]=N&-16321|K}while(0);a[g>>0]=a[h>>0]|0}j=((ag(c[k>>2]|0,j)|0)==0&1)+j|0}while((j|0)<(c[x>>2]|0));i=f;return}function $f(a,b){a=a|0;b=b|0;c[a+12>>2]=0;ye(a,b)}function ag(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;g=i;h=c[e+28>>2]|0;j=c[e+44>>2]|0;k=c[j+12>>2]|0;l=b[(c[h+16>>2]|0)+4>>1]|0;m=c[j+28>>2]|0;if((l|0)>=(m|0)){n=0;i=g;return n|0}o=c[j+24>>2]|0;j=c[k+(f<<4)>>2]|0;p=a[j+4>>0]|0;q=j+12|0;r=j+16|0;s=l;a:while(1){t=o+(s<<4)|0;l=c[t>>2]|0;do if((a[l+4>>0]|0)==p<<24>>24){if(p<<24>>24==4)if((l|0)==(j|0))break a;else break;u=c[l+12>>2]|0;if((l|0)==(j|0))break a;if((u|0)==(c[q>>2]|0)?(Yo(l+16|0,r,u)|0)==0:0)break a}while(0);l=s+1|0;if((l|0)<(m|0))s=l;else{n=0;v=17;break}}if((v|0)==17){i=g;return n|0}v=a[o+(s<<4)+12>>0]|0;b:do if((d[k+(f<<4)+12>>0]|0)>(v&255)?(s=c[k+(f<<4)+4>>2]|0,!((s|0)==-1)):0){o=c[(c[h>>2]|0)+12>>2]|0;m=((v&255)<<6)+64&16320;r=s;while(1){w=o+(r<<2)|0;x=c[w>>2]|0;s=(x>>>14)+ -131071|0;if((s|0)==-1)break;r=r+1+s|0;c[w>>2]=x&-16321|m;if((r|0)==-1)break b}c[w>>2]=x&-16321|m}while(0);bg(e,f,t);n=1;i=g;return n|0}function bg(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=i;i=i+16|0;j=h;k=c[e+28>>2]|0;l=c[e+44>>2]|0;m=l+12|0;n=c[m>>2]|0;o=a[n+(f<<4)+12>>0]|0;if((o&255)<(d[g+12>>0]|0)){p=c[e+32>>2]|0;q=c[n+(f<<4)+8>>2]|0;r=(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)+(o&255)<<1)>>1]|0)*12|0)>>2]|0)+16|0;c[j>>2]=(c[n+(f<<4)>>2]|0)+16;c[j+4>>2]=q;c[j+8>>2]=r;$f(e,xf(p,78312,j)|0)}we(k,c[n+(f<<4)+4>>2]|0,c[g+4>>2]|0);g=l+16|0;l=(c[g>>2]|0)+ -1|0;if((l|0)>(f|0))s=f;else{t=l;c[g>>2]=t;i=h;return}do{l=c[m>>2]|0;f=l+(s<<4)|0;s=s+1|0;n=l+(s<<4)|0;c[f+0>>2]=c[n+0>>2];c[f+4>>2]=c[n+4>>2];c[f+8>>2]=c[n+8>>2];c[f+12>>2]=c[n+12>>2];n=(c[g>>2]|0)+ -1|0}while((s|0)<(n|0));t=n;c[g>>2]=t;i=h;return}function cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d;d=c[a+32>>2]|0;do if((b|0)<257)if((b+ -32|0)>>>0<95){c[e>>2]=b;f=xf(d,76912,e)|0;break}else{c[e>>2]=b;f=xf(d,76920,e)|0;break}else{g=c[76776+(b+ -257<<2)>>2]|0;if((b|0)<286){c[e>>2]=g;f=xf(d,76936,e)|0}else f=g}while(0);c[e>>2]=f;ye(a,xf(d,78392,e)|0)}
function Ll(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,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,yb=0,zb=0,Ab=0,Bb=0;h=i;i=i+144|0;j=h+88|0;k=h+44|0;l=h;m=f<<3;n=j+40|0;o=b+4|0;p=b+8|0;q=k+40|0;r=j+8|0;s=j+4|0;t=j+20|0;u=j+16|0;v=j+12|0;w=j+32|0;x=j+28|0;y=j+24|0;z=k+8|0;A=k+4|0;B=k+20|0;C=k+16|0;D=k+12|0;E=k+32|0;F=k+28|0;G=k+24|0;H=f+ -2|0;I=l+32|0;J=l+24|0;K=l+28|0;L=l+40|0;M=l+36|0;N=j+24|0;O=j+36|0;P=k+24|0;Q=k+36|0;R=l+8|0;S=l+4|0;T=l+20|0;U=l+16|0;V=l+12|0;W=l+24|0;X=f+ -4|0;Y=g+1|0;Z=g+2|0;_=g+3|0;$=0;aa=0;a:while(1){ba=$+2|0;if(!(ba>>>0<m>>>0)){ca=52;da=138;break}ea=d[e+(($>>>3)+g)>>0]|0;fa=$&7;ga=$+1|0;ha=$+3|0;ia=(d[e+((ba>>>3)+g)>>0]|0)>>>(ba&7)<<1&2|(d[e+((ga>>>3)+g)>>0]|0)>>>(ga&7)&1;if((ia|0)==0){if((ha&7|0)==0)ja=ha;else{ga=ha;while(1){ba=ga+1|0;if((ba&7|0)==0){ja=ba;break}else ga=ba}}ga=ja>>>3;if(!(ga>>>0<X>>>0)){ca=52;da=138;break}ba=(d[e+(Y+ga)>>0]|0)<<8|(d[e+(ga+g)>>0]|0);ka=ga+4|0;if((((d[e+(_+ga)>>0]|0)<<8|(d[e+(Z+ga)>>0]|0))+ba|0)!=65535){ca=21;da=138;break}ga=ba+aa|0;do if(!(ga>>>0<(c[o>>2]|0)>>>0)){if(!((c[p>>2]|0)>>>0<ga>>>0)){c[o>>2]=ga;break}la=ga<<1;ma=zm(c[b>>2]|0,la)|0;if((ma|0)==0){ca=9915;da=138;break a}c[p>>2]=la;c[b>>2]=ma;c[o>>2]=ga}while(0);ma=ba+ka|0;if(ma>>>0>f>>>0){ca=23;da=138;break}if((ba|0)!=0){la=aa+1|0;a[(c[b>>2]|0)+aa>>0]=a[e+(ka+g)>>0]|0;if((ba|0)==1){na=la;oa=ma}else{pa=la;la=1;qa=ka;while(1){qa=qa+1|0;la=la+1|0;a[(c[b>>2]|0)+pa>>0]=a[e+(qa+g)>>0]|0;if((la|0)==(ba|0)){na=ga;oa=ma;break}else pa=pa+1|0}}}else{na=aa;oa=ka}ra=oa<<3;sa=na}else if((ia|0)!=3){pa=j+0|0;ma=pa+36|0;do{c[pa>>2]=0;pa=pa+4|0}while((pa|0)<(ma|0));pa=k+0|0;ma=pa+36|0;do{c[pa>>2]=0;pa=pa+4|0}while((pa|0)<(ma|0));if((ia|0)==1){mm(j);nm(k);ta=ha;ua=0}else if((ia|0)==2){pa=l+0|0;ma=pa+36|0;do{c[pa>>2]=0;pa=pa+4|0}while((pa|0)<(ma|0));ia=ha>>>3;b:do if(ia>>>0<H>>>0){ka=$+4|0;ga=$+5|0;ba=$+6|0;la=$+7|0;qa=(d[e+((ka>>>3)+g)>>0]|0)>>>(ka&7)<<1&2|(d[e+(ia+g)>>0]|0)>>>(ha&7)&1|(d[e+((ga>>>3)+g)>>0]|0)>>>(ga&7)<<2&4|(d[e+((ba>>>3)+g)>>0]|0)>>>(ba&7)<<3&8|(d[e+((la>>>3)+g)>>0]|0)>>>(la&7)<<4&16;la=$+8|0;ba=qa+257|0;ga=$+9|0;ka=$+10|0;va=$+11|0;wa=$+12|0;xa=(d[e+((ga>>>3)+g)>>0]|0)>>>(ga&7)<<1&2|(d[e+((la>>>3)+g)>>0]|0)>>>(la&7)&1|(d[e+((ka>>>3)+g)>>0]|0)>>>(ka&7)<<2&4|(d[e+((va>>>3)+g)>>0]|0)>>>(va&7)<<3&8|(d[e+((wa>>>3)+g)>>0]|0)>>>(wa&7)<<4&16;wa=$+13|0;va=$+14|0;ka=$+15|0;la=$+16|0;ga=$+17|0;ya=((d[e+((va>>>3)+g)>>0]|0)>>>(va&7)<<1&2|(d[e+((wa>>>3)+g)>>0]|0)>>>(wa&7)&1|(d[e+((ka>>>3)+g)>>0]|0)>>>(ka&7)<<2&4|(d[e+((la>>>3)+g)>>0]|0)>>>(la&7)<<3&8)+4|0;la=zm(0,152)|0;do if((la|0)==0){za=0;Aa=ga;Ba=9911}else{ka=ga;wa=0;while(1){if(wa>>>0<ya>>>0){va=ka+1|0;Ca=ka+2|0;c[la+(c[962696+(wa<<2)>>2]<<2)>>2]=(d[e+((va>>>3)+g)>>0]|0)>>>(va&7)<<1&2|(d[e+((ka>>>3)+g)>>0]|0)>>>(ka&7)&1|(d[e+((Ca>>>3)+g)>>0]|0)>>>(Ca&7)<<2&4;Da=ka+3|0}else{c[la+(c[962696+(wa<<2)>>2]<<2)>>2]=0;Da=ka}wa=wa+1|0;if((wa|0)==19)break;else ka=Da}if((c[I>>2]|0)>>>0<76){ka=zm(c[J>>2]|0,152)|0;if((ka|0)==0){za=la;Aa=Da;Ba=9903;break}c[I>>2]=152;c[J>>2]=ka;c[K>>2]=19;Ea=ka}else{c[K>>2]=19;Ea=c[J>>2]|0}c[Ea>>2]=c[la>>2];c[Ea+4>>2]=c[la+4>>2];c[Ea+8>>2]=c[la+8>>2];c[Ea+12>>2]=c[la+12>>2];c[Ea+16>>2]=c[la+16>>2];c[Ea+20>>2]=c[la+20>>2];c[Ea+24>>2]=c[la+24>>2];c[Ea+28>>2]=c[la+28>>2];c[Ea+32>>2]=c[la+32>>2];c[Ea+36>>2]=c[la+36>>2];c[Ea+40>>2]=c[la+40>>2];c[Ea+44>>2]=c[la+44>>2];c[Ea+48>>2]=c[la+48>>2];c[Ea+52>>2]=c[la+52>>2];c[Ea+56>>2]=c[la+56>>2];c[Ea+60>>2]=c[la+60>>2];c[Ea+64>>2]=c[la+64>>2];c[Ea+68>>2]=c[la+68>>2];c[Ea+72>>2]=c[la+72>>2];c[L>>2]=19;c[M>>2]=7;ka=km(l)|0;Am(la);if((ka|0)!=0){Fa=ka;Ga=Da;break b}ka=zm(0,2304)|0;if((ka|0)==0){Ha=0;Ia=0}else{ip(ka|0,0,1152)|0;Ha=ka;Ia=288}ka=zm(0,256)|0;c:do if((ka|0)!=0){pa=ka+0|0;ma=pa+128|0;do{c[pa>>2]=0;pa=pa+4|0}while((pa|0)<(ma|0));if((Ha|0)!=0){wa=qa+258+xa|0;do if((wa|0)!=0){Ca=c[l>>2]|0;va=c[L>>2]|0;Ja=-258-qa|0;Ka=Da;La=0;Ma=0;d:while(1){Na=Ka;Oa=Ma;while(1){Pa=Na;Qa=0;while(1){if(Pa>>>0>m>>>0){Ra=Pa;da=75;break d}Sa=c[Ca+(((d[e+((Pa>>>3)+g)>>0]|0)>>>(Pa&7)&1|Qa<<1)<<2)>>2]|0;Ta=Pa+1|0;if(Sa>>>0<va>>>0)break;Qa=Sa-va|0;if(!(Qa>>>0<va>>>0)){Ra=Ta;da=75;break d}else Pa=Ta}if(!(Sa>>>0<16))break;if(Oa>>>0<ba>>>0)c[Ha+(Oa<<2)>>2]=Sa;else c[ka+(Oa-ba<<2)>>2]=Sa;Qa=Oa+1|0;if(Qa>>>0<wa>>>0){Na=Ta;Oa=Qa}else{Ua=Ta;Va=La;da=76;break d}}e:do if((Sa|0)==18){Na=Ta>>>3;if(!(Na>>>0<f>>>0)){Wa=ka;Xa=Ta;Ya=50;break c}Qa=Pa+2|0;Za=Pa+3|0;_a=Pa+4|0;$a=Pa+5|0;ab=Pa+6|0;bb=Pa+7|0;cb=Pa+8|0;db=((d[e+((Qa>>>3)+g)>>0]|0)>>>(Qa&7)<<1&2|(d[e+(Na+g)>>0]|0)>>>(Ta&7)&1|(d[e+((Za>>>3)+g)>>0]|0)>>>(Za&7)<<2&4|(d[e+((_a>>>3)+g)>>0]|0)>>>(_a&7)<<3&8|(d[e+(($a>>>3)+g)>>0]|0)>>>($a&7)<<4&16|(d[e+((ab>>>3)+g)>>0]|0)>>>(ab&7)<<5&32|(d[e+((bb>>>3)+g)>>0]|0)>>>(bb&7)<<6&64)+11|0;if((db|0)==0){eb=cb;fb=La;gb=Oa}else{bb=Oa;ab=0;while(1){if(!(bb>>>0<wa>>>0)){eb=cb;fb=15;gb=bb;break e}if(bb>>>0<ba>>>0)c[Ha+(bb<<2)>>2]=0;else c[ka+(bb-ba<<2)>>2]=0;$a=bb+1|0;ab=ab+1|0;if(!(ab>>>0<db>>>0)){eb=cb;fb=La;gb=$a;break}else bb=$a}}}else if((Sa|0)==16){bb=Ta>>>3;if(!(bb>>>0<f>>>0)){Wa=ka;Xa=Ta;Ya=50;break c}cb=Pa+2|0;db=Pa+3|0;ab=((d[e+((cb>>>3)+g)>>0]|0)>>>(cb&7)<<1&2|(d[e+(bb+g)>>0]|0)>>>(Ta&7)&1)+3|0;bb=Oa+ -1|0;if(bb>>>0<ba>>>0)hb=Ha+(bb<<2)|0;else hb=ka+(Ja+Oa<<2)|0;bb=c[hb>>2]|0;cb=Oa;$a=0;while(1){if(!(cb>>>0<wa>>>0)){eb=db;fb=13;gb=cb;break e}if(cb>>>0<ba>>>0)c[Ha+(cb<<2)>>2]=bb;else c[ka+(cb-ba<<2)>>2]=bb;_a=cb+1|0;$a=$a+1|0;if(!($a>>>0<ab>>>0)){eb=db;fb=La;gb=_a;break}else cb=_a}}else if((Sa|0)==-1){Ra=Ta;da=75;break d}else if((Sa|0)==17){cb=Ta>>>3;if(!(cb>>>0<f>>>0)){Wa=ka;Xa=Ta;Ya=50;break c}db=Pa+2|0;ab=Pa+3|0;$a=Pa+4|0;bb=((d[e+((db>>>3)+g)>>0]|0)>>>(db&7)<<1&2|(d[e+(cb+g)>>0]|0)>>>(Ta&7)&1|(d[e+((ab>>>3)+g)>>0]|0)>>>(ab&7)<<2&4)+3|0;ab=Oa;cb=0;while(1){if(!(ab>>>0<wa>>>0)){eb=$a;fb=14;gb=ab;break e}if(ab>>>0<ba>>>0)c[Ha+(ab<<2)>>2]=0;else c[ka+(ab-ba<<2)>>2]=0;db=ab+1|0;cb=cb+1|0;if(!(cb>>>0<bb>>>0)){eb=$a;fb=La;gb=db;break}else ab=db}}else{Wa=ka;Xa=Ta;Ya=16;break c}while(0);if(gb>>>0<wa>>>0){Ka=eb;La=fb;Ma=gb}else{Ua=eb;Va=fb;da=76;break}}if((da|0)==75){da=0;Wa=ka;Xa=Ra;Ya=Ra>>>0>m>>>0?10:11;break c}else if((da|0)==76){da=0;if((Va|0)==0){ib=Ua;break}else{Wa=ka;Xa=Ua;Ya=Va;break c}}}else ib=Da;while(0);wa=(c[Ha+1024>>2]|0)==0;if(!wa){if(Ia<<2>>>0>(c[w>>2]|0)>>>0){Ma=Ia<<3;La=zm(c[N>>2]|0,Ma)|0;if((La|0)==0){Wa=ka;Xa=ib;Ya=9903;break}c[w>>2]=Ma;c[N>>2]=La}c[x>>2]=Ia;if((Ia|0)!=0){La=c[N>>2]|0;Ma=0;do{c[La+(Ma<<2)>>2]=c[Ha+(Ma<<2)>>2];Ma=Ma+1|0}while((Ma|0)!=(Ia|0))}c[n>>2]=Ia;c[O>>2]=15;Ma=km(j)|0;if((Ma|0)==0){if((c[E>>2]|0)>>>0<128){La=zm(c[P>>2]|0,256)|0;if((La|0)==0){Wa=ka;Xa=ib;Ya=9903;break}c[E>>2]=256;c[P>>2]=La;c[F>>2]=32;jb=La}else{c[F>>2]=32;jb=c[P>>2]|0}La=0;do{c[jb+(La<<2)>>2]=c[ka+(La<<2)>>2];La=La+1|0}while((La|0)!=32);c[q>>2]=32;c[Q>>2]=15;Wa=ka;Xa=ib;Ya=km(k)|0}else{Wa=ka;Xa=ib;Ya=Ma}}else{Wa=ka;Xa=ib;Ya=wa?64:0}}else{Wa=ka;Xa=Da;Ya=9912}}else{Wa=0;Xa=Da;Ya=9912}while(0);Am(Ha);Am(Wa);Fa=Ya;Ga=Xa;break b}while(0);Am(za);Fa=Ba;Ga=Aa}else{Fa=49;Ga=ha}while(0);c[R>>2]=0;c[S>>2]=0;Am(c[l>>2]|0);c[l>>2]=0;c[T>>2]=0;c[U>>2]=0;Am(c[V>>2]|0);c[V>>2]=0;c[I>>2]=0;c[K>>2]=0;Am(c[W>>2]|0);ta=Ga;ua=Fa}else{ta=ha;ua=0}pa=c[n>>2]|0;ma=c[q>>2]|0;ia=c[j>>2]|0;ba=c[k>>2]|0;qa=ta;xa=aa;f:while(1){la=qa;ya=0;while(1){if(la>>>0>m>>>0){kb=la;da=131;break f}lb=c[ia+(((d[e+((la>>>3)+g)>>0]|0)>>>(la&7)&1|ya<<1)<<2)>>2]|0;mb=la+1|0;if(!(lb>>>0<pa>>>0)){ga=lb-pa|0;if(ga>>>0<pa>>>0){la=mb;ya=ga;continue}else{kb=mb;da=131;break f}}if(lb>>>0<256)break;ga=lb+ -257|0;if(!(ga>>>0<29)){da=130;break f}if(!(mb>>>3>>>0<f>>>0)){nb=mb;ob=51;break f}ka=c[962776+(ga<<2)>>2]|0;La=c[963016+(ga<<2)>>2]|0;if((lb+ -265|0)>>>0>19){pb=mb;qb=0}else{ga=mb;Ka=0;Ja=0;while(1){Ja=(((d[e+((ga>>>3)+g)>>0]|0)>>>(ga&7)&1)<<Ka)+Ja|0;Ka=Ka+1|0;if((Ka|0)==(ka|0))break;else ga=ga+1|0}pb=mb+ka|0;qb=Ja}rb=qb+La|0;ga=pb;Ka=0;while(1){if(ga>>>0>m>>>0){sb=ga;da=116;break f}tb=c[ba+(((d[e+((ga>>>3)+g)>>0]|0)>>>(ga&7)&1|Ka<<1)<<2)>>2]|0;ub=ga+1|0;if(tb>>>0<ma>>>0)break;Ka=tb-ma|0;if(!(Ka>>>0<ma>>>0)){sb=ub;da=116;break f}else ga=ub}if(tb>>>0>29){sb=ub;da=116;break f}if(!(ub>>>3>>>0<f>>>0)){nb=ub;ob=51;break f}ga=c[962896+(tb<<2)>>2]|0;Ka=c[963136+(tb<<2)>>2]|0;if(tb>>>0<4){vb=ub;wb=0}else{La=ub;Ja=0;ka=0;while(1){ka=(((d[e+((La>>>3)+g)>>0]|0)>>>(La&7)&1)<<Ja)+ka|0;Ja=Ja+1|0;if((Ja|0)==(ga|0))break;else La=La+1|0}vb=ub+ga|0;wb=ka}xb=xa-Ka-wb|0;yb=rb+xa|0;do if(!(yb>>>0<(c[o>>2]|0)>>>0)){La=yb<<1;if(!((c[p>>2]|0)>>>0<La>>>0)){c[o>>2]=La;break}Ja=yb<<2;va=zm(c[b>>2]|0,Ja)|0;if((va|0)==0){nb=vb;ob=9914;break f}c[p>>2]=Ja;c[b>>2]=va;c[o>>2]=La}while(0);if((rb|0)==0){la=vb;ya=0}else{da=128;break}}if((da|0)==128){da=0;ya=c[b>>2]|0;a[ya+xa>>0]=a[ya+xb>>0]|0;ya=xa+1|0;if((rb|0)==1){qa=vb;xa=ya;continue}else{zb=xb;Ab=ya;Bb=1}while(1){ya=zb+1|0;la=ya>>>0<xa>>>0?ya:xb;ya=Bb+1|0;Ka=c[b>>2]|0;a[Ka+Ab>>0]=a[Ka+la>>0]|0;if((ya|0)==(rb|0)){qa=vb;xa=yb;continue f}else{zb=la;Ab=Ab+1|0;Bb=ya}}}do if(!(xa>>>0<(c[o>>2]|0)>>>0)){ya=(xa<<1)+2|0;if(!((c[p>>2]|0)>>>0<ya>>>0)){c[o>>2]=ya;break}la=ya<<1;Ka=zm(c[b>>2]|0,la)|0;if((Ka|0)==0){nb=mb;ob=9913;break f}c[p>>2]=la;c[b>>2]=Ka;c[o>>2]=ya}while(0);a[(c[b>>2]|0)+xa>>0]=lb;qa=mb;xa=xa+1|0}if((da|0)==116){da=0;if((lb|0)==-1){nb=sb;ob=sb>>>0>m>>>0?10:11}else{nb=sb;ob=18}}else if((da|0)==130){da=0;if((lb|0)==256){nb=mb;ob=ua}else{kb=mb;da=131}}if((da|0)==131){da=0;nb=kb;ob=kb>>>0>m>>>0?10:11}c[r>>2]=0;c[s>>2]=0;Am(ia);c[j>>2]=0;c[t>>2]=0;c[u>>2]=0;Am(c[v>>2]|0);c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;Am(c[y>>2]|0);c[z>>2]=0;c[A>>2]=0;Am(ba);c[k>>2]=0;c[B>>2]=0;c[C>>2]=0;Am(c[D>>2]|0);c[D>>2]=0;c[E>>2]=0;c[F>>2]=0;Am(c[G>>2]|0);if((ob|0)==0){ra=nb;sa=xa}else{ca=ob;da=138;break}}else{ca=20;da=138;break}if((ea&1<<fa|0)==0){$=ra;aa=sa}else{da=134;break}}if((da|0)==134){if(!((c[p>>2]|0)>>>0<sa>>>0)){c[o>>2]=sa;ca=0;i=h;return ca|0}aa=sa<<1;ra=zm(c[b>>2]|0,aa)|0;if((ra|0)==0){ca=9916;i=h;return ca|0}c[p>>2]=aa;c[b>>2]=ra;c[o>>2]=sa;ca=0;i=h;return ca|0}else if((da|0)==138){i=h;return ca|0}return 0}function Ml(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,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,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;h=i;i=i+192|0;j=h+136|0;k=h+92|0;l=h+48|0;m=h+4|0;n=h;o=c[g>>2]|0;if((o|0)==1){c[l>>2]=0;p=j+0|0;q=p+36|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(q|0));p=k+0|0;q=p+36|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(q|0));mm(j);nm(k);r=b+4|0;s=c[r>>2]|0;t=s+1|0;u=b+8|0;if((c[u>>2]|0)>>>0<t>>>0){v=t<<1;w=zm(c[b>>2]|0,v)|0;if((w|0)==0)x=b;else{c[u>>2]=v;c[b>>2]=w;y=w;z=42}}else{y=c[b>>2]|0;z=42}if((z|0)==42){c[r>>2]=t;a[y+s>>0]=0;x=b}s=(c[x>>2]|0)+((c[r>>2]|0)+ -1)|0;a[s>>0]=d[s>>0]|0|1;s=(c[x>>2]|0)+((c[r>>2]|0)+ -1)|0;a[s>>0]=d[s>>0]|0|2;c[l>>2]=3;do if((c[g+4>>2]|0)==0)if((f|0)==0)z=60;else{s=c[j+12>>2]|0;y=c[j+24>>2]|0;t=3;w=0;while(1){v=d[e+w>>0]|0;A=c[s+(v<<2)>>2]|0;B=c[y+(v<<2)>>2]|0;if((B|0)==0)C=t;else{v=B+ -1|0;D=t;E=0;while(1){F=A>>>(v-E|0)&1;G=D&7;do if((G|0)==0){H=c[r>>2]|0;I=H+1|0;if((c[u>>2]|0)>>>0<I>>>0){J=I<<1;K=zm(c[x>>2]|0,J)|0;if((K|0)==0)break;c[u>>2]=J;c[x>>2]=K;L=K}else L=c[x>>2]|0;c[r>>2]=I;a[L+H>>0]=0}while(0);H=(c[x>>2]|0)+((c[r>>2]|0)+ -1)|0;a[H>>0]=d[H>>0]|0|F<<G;E=E+1|0;if((E|0)==(B|0))break;else D=D+1|0}D=B+t|0;c[l>>2]=D;C=D}w=w+1|0;if((w|0)==(f|0)){z=60;break}else t=C}}else{c[m>>2]=0;t=m+8|0;c[t>>2]=0;w=m+4|0;c[w>>2]=0;y=hm(m,e,f,c[g+8>>2]|0)|0;if((y|0)==0){jm(l,b,m,j,k);c[t>>2]=0;c[w>>2]=0;Am(c[m>>2]|0);c[m>>2]=0;z=60;break}else{c[t>>2]=0;c[w>>2]=0;Am(c[m>>2]|0);c[m>>2]=0;M=c[j+12>>2]|0;N=c[j+24>>2]|0;O=y;break}}while(0);if((z|0)==60){C=c[j+12>>2]|0;L=c[C+1024>>2]|0;y=c[j+24>>2]|0;w=c[y+1024>>2]|0;if((w|0)==0){M=C;N=y;O=0}else{t=w+ -1|0;s=c[l>>2]|0;D=s;E=0;while(1){v=L>>>(t-E|0)&1;A=D&7;do if((A|0)==0){H=c[r>>2]|0;I=H+1|0;if((c[u>>2]|0)>>>0<I>>>0){K=I<<1;J=zm(c[x>>2]|0,K)|0;if((J|0)==0)break;c[u>>2]=K;c[x>>2]=J;P=J}else P=c[x>>2]|0;c[r>>2]=I;a[P+H>>0]=0}while(0);H=(c[x>>2]|0)+((c[r>>2]|0)+ -1)|0;a[H>>0]=d[H>>0]|0|v<<A;E=E+1|0;if((E|0)==(w|0))break;else D=D+1|0}c[l>>2]=s+w;M=C;N=y;O=0}}c[j+8>>2]=0;c[j+4>>2]=0;Am(c[j>>2]|0);Am(M);Am(N);c[k+8>>2]=0;c[k+4>>2]=0;Am(c[k>>2]|0);c[k>>2]=0;c[k+20>>2]=0;c[k+16>>2]=0;N=k+12|0;Am(c[N>>2]|0);c[N>>2]=0;c[k+32>>2]=0;c[k+28>>2]=0;Am(c[k+24>>2]|0);Q=O;i=h;return Q|0}else if((o|0)==0){O=f>>>16;N=b+4|0;M=b+8|0;y=0;C=0;while(1){w=(C|0)==(O|0);s=w&1;D=c[N>>2]|0;E=D+1|0;if((c[M>>2]|0)>>>0<E>>>0){r=E<<1;x=zm(c[b>>2]|0,r)|0;if((x|0)!=0){c[M>>2]=r;c[b>>2]=x;R=x;z=7}}else{R=c[b>>2]|0;z=7}if((z|0)==7){z=0;c[N>>2]=E;a[R+D>>0]=s}s=f-y|0;D=s>>>0<65535?s:65535;s=65535-D|0;E=D&255;x=c[N>>2]|0;r=x+1|0;if((c[M>>2]|0)>>>0<r>>>0){P=r<<1;u=zm(c[b>>2]|0,P)|0;if((u|0)!=0){c[M>>2]=P;c[b>>2]=u;S=u;z=12}}else{S=c[b>>2]|0;z=12}if((z|0)==12){z=0;c[N>>2]=r;a[S+x>>0]=E}E=D>>>8&255;D=c[N>>2]|0;x=D+1|0;if((c[M>>2]|0)>>>0<x>>>0){r=x<<1;u=zm(c[b>>2]|0,r)|0;if((u|0)!=0){c[M>>2]=r;c[b>>2]=u;T=u;z=17}}else{T=c[b>>2]|0;z=17}if((z|0)==17){z=0;c[N>>2]=x;a[T+D>>0]=E}E=s&255;D=c[N>>2]|0;x=D+1|0;if((c[M>>2]|0)>>>0<x>>>0){u=x<<1;r=zm(c[b>>2]|0,u)|0;if((r|0)!=0){c[M>>2]=u;c[b>>2]=r;U=r;z=22}}else{U=c[b>>2]|0;z=22}if((z|0)==22){z=0;c[N>>2]=x;a[U+D>>0]=E}E=s>>>8&255;s=c[N>>2]|0;D=s+1|0;if((c[M>>2]|0)>>>0<D>>>0){x=D<<1;r=zm(c[b>>2]|0,x)|0;if((r|0)!=0){c[M>>2]=x;c[b>>2]=r;V=r;z=27}}else{V=c[b>>2]|0;z=27}if((z|0)==27){z=0;c[N>>2]=D;a[V+s>>0]=E}if(y>>>0<f>>>0){E=y-f|0;s=E>>>0>4294901761?E:-65535;E=0-s|0;D=y;r=0;do{x=a[e+D>>0]|0;D=D+1|0;u=c[N>>2]|0;P=u+1|0;if((c[M>>2]|0)>>>0<P>>>0){t=P<<1;L=zm(c[b>>2]|0,t)|0;if((L|0)!=0){c[M>>2]=t;c[b>>2]=L;W=L;z=34}}else{W=c[b>>2]|0;z=34}if((z|0)==34){z=0;c[N>>2]=P;a[W+u>>0]=x}r=r+1|0}while((r|0)!=(E|0));X=y-s|0}else X=y;if(w){Q=0;break}else{y=X;C=C+1|0}}i=h;return Q|0}else if((o|0)==2){c[n>>2]=0;c[j>>2]=0;o=j+8|0;c[o>>2]=0;C=j+4|0;c[C>>2]=0;p=k+0|0;q=p+36|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(q|0));p=l+0|0;q=p+36|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(q|0));p=m+0|0;q=p+36|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(q|0));do if((c[g+4>>2]|0)==0){if((f&1073741823|0)==0)Y=0;else{X=f<<3;y=zm(0,X)|0;if((y|0)==0){Z=0;_=0;$=0;aa=0;ba=0;ca=0;da=9923;break}c[o>>2]=X;c[j>>2]=y;Y=y}c[C>>2]=f;if((f|0)==0)z=78;else{y=0;do{c[Y+(y<<2)>>2]=d[e+y>>0];y=y+1|0}while((y|0)!=(f|0));z=78}}else{y=hm(j,e,f,c[g+8>>2]|0)|0;if((y|0)==0)z=78;else{Z=0;_=0;$=0;aa=0;ba=0;ca=0;da=y}}while(0);a:do if((z|0)==78){g=zm(0,2288)|0;if((g|0)!=0){ip(g|0,0,1144)|0;f=zm(0,240)|0;if((f|0)!=0){p=f+0|0;q=p+120|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(q|0));e=c[C>>2]|0;if((e|0)!=0){Y=c[j>>2]|0;y=0;do{w=c[Y+(y<<2)>>2]|0;s=g+(w<<2)|0;c[s>>2]=(c[s>>2]|0)+1;if(w>>>0>256){w=f+(c[Y+(y+2<<2)>>2]<<2)|0;c[w>>2]=(c[w>>2]|0)+1;ea=y+3|0}else ea=y;y=ea+1|0}while(y>>>0<e>>>0)}c[g+1024>>2]=1;e=im(k,g,286,15)|0;if((e|0)==0){y=im(l,f,30,15)|0;if((y|0)==0){Y=b+4|0;do if((c[n>>2]&7|0)==0){w=c[Y>>2]|0;s=w+1|0;X=b+8|0;if((c[X>>2]|0)>>>0<s>>>0){W=s<<1;N=zm(c[b>>2]|0,W)|0;if((N|0)==0)break;c[X>>2]=W;c[b>>2]=N;fa=N}else fa=c[b>>2]|0;c[Y>>2]=s;a[fa+w>>0]=0}while(0);w=(c[b>>2]|0)+((c[Y>>2]|0)+ -1)|0;a[w>>0]=d[w>>0]|0|1<<(c[n>>2]&7);w=(c[n>>2]|0)+1|0;c[n>>2]=w;do if((w&7|0)==0){s=c[Y>>2]|0;N=s+1|0;W=b+8|0;if((c[W>>2]|0)>>>0<N>>>0){X=N<<1;M=zm(c[b>>2]|0,X)|0;if((M|0)==0)break;c[W>>2]=X;c[b>>2]=M;ga=M}else ga=c[b>>2]|0;c[Y>>2]=N;a[ga+s>>0]=0}while(0);w=(c[n>>2]|0)+1|0;c[n>>2]=w;do if((w&7|0)==0){s=c[Y>>2]|0;N=s+1|0;M=b+8|0;if((c[M>>2]|0)>>>0<N>>>0){X=N<<1;W=zm(c[b>>2]|0,X)|0;if((W|0)==0)break;c[M>>2]=X;c[b>>2]=W;ha=W}else ha=c[b>>2]|0;c[Y>>2]=N;a[ha+s>>0]=0}while(0);w=(c[b>>2]|0)+((c[Y>>2]|0)+ -1)|0;a[w>>0]=d[w>>0]|0|1<<(c[n>>2]&7);c[n>>2]=(c[n>>2]|0)+1;w=c[k+40>>2]|0;s=w>>>0>286?286:w;N=c[l+40>>2]|0;W=N>>>0>30?30:N;if((s|0)==0){ia=0;ja=0;ka=0}else{X=c[k+24>>2]|0;M=w>>>0<286?w:286;w=0;V=0;U=0;T=0;while(1){S=c[X+(T<<2)>>2]|0;R=w+1|0;if(R<<2>>>0>V>>>0){O=R<<3;E=zm(U,O)|0;if((E|0)==0){la=V;ma=w;na=U}else{oa=E;pa=O;z=112}}else{oa=U;pa=V;z=112}if((z|0)==112){z=0;c[oa+(w<<2)>>2]=S;la=pa;ma=R;na=oa}T=T+1|0;if((T|0)==(M|0)){ia=la;ja=ma;ka=na;break}else{w=ma;V=la;U=na}}}if((W|0)==0){qa=ja;ra=ka}else{U=c[l+24>>2]|0;V=N>>>0<30?N:30;w=ja;M=ia;T=ka;X=0;while(1){R=c[U+(X<<2)>>2]|0;S=w+1|0;if(S<<2>>>0>M>>>0){O=S<<3;E=zm(T,O)|0;if((E|0)==0){sa=w;ta=T;ua=M}else{va=E;wa=O;z=118}}else{va=T;wa=M;z=118}if((z|0)==118){z=0;c[va+(w<<2)>>2]=R;sa=S;ta=va;ua=wa}X=X+1|0;if((X|0)==(V|0)){qa=sa;ra=ta;break}else{w=sa;M=ua;T=ta}}}if((qa|0)==0){xa=0;ya=0}else{T=0;M=0;w=0;V=0;while(1){X=V+1|0;U=c[ra+(V<<2)>>2]|0;do if(X>>>0<qa>>>0){N=X;S=0;while(1){R=S+1|0;if((c[ra+(N<<2)>>2]|0)!=(U|0)){za=S;break}N=R+X|0;if(!(N>>>0<qa>>>0)){za=R;break}else S=R}if((U|0)==0&za>>>0>1){S=za+1|0;do if(S>>>0<11){N=T+1|0;do if(N<<2>>>0>M>>>0){G=N<<3;F=zm(w,G)|0;if((F|0)==0){Aa=T;Ba=M;Ca=w;break}Da=G;Ea=F;z=128}else{Da=M;Ea=w;z=128}while(0);if((z|0)==128){z=0;c[Ea+(T<<2)>>2]=17;Aa=N;Ba=Da;Ca=Ea}F=za+ -2|0;G=Aa+1|0;if(G<<2>>>0>Ba>>>0){R=G<<3;O=zm(Ca,R)|0;if((O|0)==0){Fa=Ba;Ga=Aa;Ha=Ca;Ia=S;break}Ja=R;Ka=O}else{Ja=Ba;Ka=Ca}c[Ka+(Aa<<2)>>2]=F;Fa=Ja;Ga=G;Ha=Ka;Ia=S}else{G=S>>>0>138?138:S;F=T+1|0;do if(F<<2>>>0>M>>>0){O=F<<3;R=zm(w,O)|0;if((R|0)==0){La=T;Ma=M;Na=w;break}Oa=O;Pa=R;z=136}else{Oa=M;Pa=w;z=136}while(0);if((z|0)==136){z=0;c[Pa+(T<<2)>>2]=18;La=F;Ma=Oa;Na=Pa}N=G+ -11|0;R=La+1|0;if(R<<2>>>0>Ma>>>0){O=R<<3;E=zm(Na,O)|0;if((E|0)==0){Fa=Ma;Ga=La;Ha=Na;Ia=G;break}Qa=O;Ra=E}else{Qa=Ma;Ra=Na}c[Ra+(La<<2)>>2]=N;Fa=Qa;Ga=R;Ha=Ra;Ia=G}while(0);Sa=Fa;Ta=Ga;Ua=Ha;Va=V+ -1+Ia|0;break}if(za>>>0>2){S=(za>>>0)/6|0;R=(za>>>0)%6|0;N=T+1|0;do if(N<<2>>>0>M>>>0){E=N<<3;O=zm(w,E)|0;if((O|0)==0){Wa=M;Xa=T;Ya=w;break}Za=E;_a=O;z=146}else{Za=M;_a=w;z=146}while(0);if((z|0)==146){z=0;c[_a+(T<<2)>>2]=U;Wa=Za;Xa=N;Ya=_a}if(za>>>0>5){O=Xa;E=Wa;r=Ya;D=0;while(1){A=O+1|0;do if(A<<2>>>0>E>>>0){v=A<<3;x=zm(r,v)|0;if((x|0)==0){$a=O;ab=E;bb=r;break}cb=v;db=x;z=151}else{cb=E;db=r;z=151}while(0);if((z|0)==151){z=0;c[db+(O<<2)>>2]=16;$a=A;ab=cb;bb=db}G=$a+1|0;do if(G<<2>>>0>ab>>>0){F=G<<3;x=zm(bb,F)|0;if((x|0)==0){eb=ab;fb=$a;gb=bb;break}hb=F;ib=x;z=155}else{hb=ab;ib=bb;z=155}while(0);if((z|0)==155){z=0;c[ib+($a<<2)>>2]=3;eb=hb;fb=G;gb=ib}D=D+1|0;if(!(D>>>0<S>>>0)){jb=eb;kb=fb;lb=gb;break}else{O=fb;E=eb;r=gb}}}else{jb=Wa;kb=Xa;lb=Ya}do if(R>>>0>2){r=kb+1|0;do if(r<<2>>>0>jb>>>0){E=r<<3;O=zm(lb,E)|0;if((O|0)==0){mb=kb;nb=jb;ob=lb;break}pb=E;qb=O;z=161}else{pb=jb;qb=lb;z=161}while(0);if((z|0)==161){z=0;c[qb+(kb<<2)>>2]=16;mb=r;nb=pb;ob=qb}G=R+ -3|0;O=mb+1|0;if(O<<2>>>0>nb>>>0){E=O<<3;S=zm(ob,E)|0;if((S|0)==0){rb=nb;sb=mb;tb=ob;ub=za;break}vb=E;wb=S}else{vb=nb;wb=ob}c[wb+(mb<<2)>>2]=G;rb=vb;sb=O;tb=wb;ub=za}else{rb=jb;sb=kb;tb=lb;ub=za-R|0}while(0);Sa=rb;Ta=sb;Ua=tb;Va=ub+V|0}else z=168}else z=168;while(0);do if((z|0)==168){z=0;X=T+1|0;if(X<<2>>>0>M>>>0){B=X<<3;R=zm(w,B)|0;if((R|0)==0){Sa=M;Ta=T;Ua=w;Va=V;break}xb=B;yb=R}else{xb=M;yb=w}c[yb+(T<<2)>>2]=U;Sa=xb;Ta=X;Ua=yb;Va=V}while(0);V=Va+1|0;if(!(V>>>0<qa>>>0)){xa=Ta;ya=Ua;break}else{T=Ta;M=Sa;w=Ua}}}w=zm(0,152)|0;if((w|0)!=0){p=w+0|0;q=p+76|0;do{c[p>>2]=0;p=p+4|0}while((p|0)<(q|0));M=(xa|0)==0;if(!M){T=0;do{V=ya+(T<<2)|0;U=w+(c[V>>2]<<2)|0;c[U>>2]=(c[U>>2]|0)+1;T=T+1+((c[V>>2]|0)>>>0>15&1)|0}while(T>>>0<xa>>>0)}T=im(m,w,19,7)|0;if((T|0)==0){V=zm(0,152)|0;if((V|0)==0){Z=g;_=f;$=w;aa=ya;ba=ra;ca=0;da=9927}else{U=c[m+24>>2]|0;X=0;do{c[V+(X<<2)>>2]=c[U+(c[962696+(X<<2)>>2]<<2)>>2];X=X+1|0}while((X|0)!=19);zb=152;Ab=19;Bb=V;b:while(1){Cb=Ab;while(1){Db=Cb+ -1|0;if(!(Cb>>>0>4?(c[Bb+(Db<<2)>>2]|0)==0:0))break b;if(Db<<2>>>0>zb>>>0)break;else Cb=Db}V=Db<<3;X=zm(Bb,V)|0;if((X|0)==0){Z=g;_=f;$=w;aa=ya;ba=ra;ca=Bb;da=9928;break a}zb=V;Ab=Db;Bb=X}X=s+ -257|0;V=b+8|0;R=c[n>>2]|0;B=0;do{O=X>>>B&1;do if((R&7|0)==0){G=c[Y>>2]|0;S=G+1|0;if((c[V>>2]|0)>>>0<S>>>0){E=S<<1;D=zm(c[b>>2]|0,E)|0;if((D|0)==0)break;c[V>>2]=E;c[b>>2]=D;Eb=D}else Eb=c[b>>2]|0;c[Y>>2]=S;a[Eb+G>>0]=0}while(0);G=(c[b>>2]|0)+((c[Y>>2]|0)+ -1)|0;a[G>>0]=d[G>>0]|0|O<<(c[n>>2]&7);R=(c[n>>2]|0)+1|0;c[n>>2]=R;B=B+1|0}while((B|0)!=5);B=W+ -1|0;X=R;s=0;do{G=B>>>s&1;do if((X&7|0)==0){S=c[Y>>2]|0;D=S+1|0;if((c[V>>2]|0)>>>0<D>>>0){E=D<<1;N=zm(c[b>>2]|0,E)|0;if((N|0)==0)break;c[V>>2]=E;c[b>>2]=N;Fb=N}else Fb=c[b>>2]|0;c[Y>>2]=D;a[Fb+S>>0]=0}while(0);O=(c[b>>2]|0)+((c[Y>>2]|0)+ -1)|0;a[O>>0]=d[O>>0]|0|G<<(c[n>>2]&7);X=(c[n>>2]|0)+1|0;c[n>>2]=X;s=s+1|0}while((s|0)!=5);s=Cb+ -4|0;B=X;R=0;do{W=s>>>R&1;do if((B&7|0)==0){O=c[Y>>2]|0;S=O+1|0;if((c[V>>2]|0)>>>0<S>>>0){D=S<<1;N=zm(c[b>>2]|0,D)|0;if((N|0)==0)break;c[V>>2]=D;c[b>>2]=N;Gb=N}else Gb=c[b>>2]|0;c[Y>>2]=S;a[Gb+O>>0]=0}while(0);G=(c[b>>2]|0)+((c[Y>>2]|0)+ -1)|0;a[G>>0]=d[G>>0]|0|W<<(c[n>>2]&7);B=(c[n>>2]|0)+1|0;c[n>>2]=B;R=R+1|0}while((R|0)!=4);if((Cb|0)==0)Hb=B;else{R=B;s=0;while(1){X=c[Bb+(s<<2)>>2]|0;G=X&1;do if((R&7|0)==0){O=c[Y>>2]|0;S=O+1|0;if((c[V>>2]|0)>>>0<S>>>0){N=S<<1;D=zm(c[b>>2]|0,N)|0;if((D|0)==0)break;c[V>>2]=N;c[b>>2]=D;Ib=D}else Ib=c[b>>2]|0;c[Y>>2]=S;a[Ib+O>>0]=0}while(0);W=(c[b>>2]|0)+((c[Y>>2]|0)+ -1)|0;a[W>>0]=d[W>>0]|0|G<<(c[n>>2]&7);W=(c[n>>2]|0)+1|0;c[n>>2]=W;O=X>>>1&1;do if((W&7|0)==0){S=c[Y>>2]|0;D=S+1|0;if((c[V>>2]|0)>>>0<D>>>0){N=D<<1;E=zm(c[b>>2]|0,N)|0;if((E|0)==0)break;c[V>>2]=N;c[b>>2]=E;Jb=E}else Jb=c[b>>2]|0;c[Y>>2]=D;a[Jb+S>>0]=0}while(0);W=(c[b>>2]|0)+((c[Y>>2]|0)+ -1)|0;a[W>>0]=d[W>>0]|0|O<<(c[n>>2]&7);W=(c[n>>2]|0)+1|0;c[n>>2]=W;G=X>>>2&1;do if((W&7|0)==0){S=c[Y>>2]|0;D=S+1|0;if((c[V>>2]|0)>>>0<D>>>0){E=D<<1;N=zm(c[b>>2]|0,E)|0;if((N|0)==0)break;c[V>>2]=E;c[b>>2]=N;Kb=N}else Kb=c[b>>2]|0;c[Y>>2]=D;a[Kb+S>>0]=0}while(0);W=(c[b>>2]|0)+((c[Y>>2]|0)+ -1)|0;a[W>>0]=d[W>>0]|0|G<<(c[n>>2]&7);W=(c[n>>2]|0)+1|0;c[n>>2]=W;s=s+1|0;if((s|0)==(Cb|0)){Hb=W;break}else R=W}}if(!M){R=c[m+12>>2]|0;s=Hb;B=0;while(1){W=ya+(B<<2)|0;X=c[W>>2]|0;O=c[R+(X<<2)>>2]|0;S=c[U+(X<<2)>>2]|0;if((S|0)==0){Lb=s;Mb=X}else{X=S+ -1|0;D=s;N=0;do{E=O>>>(X-N|0)&1;do if((D&7|0)==0){A=c[Y>>2]|0;x=A+1|0;if((c[V>>2]|0)>>>0<x>>>0){F=x<<1;v=zm(c[b>>2]|0,F)|0;if((v|0)==0)break;c[V>>2]=F;c[b>>2]=v;Nb=v}else Nb=c[b>>2]|0;c[Y>>2]=x;a[Nb+A>>0]=0}while(0);A=(c[b>>2]|0)+((c[Y>>2]|0)+ -1)|0;a[A>>0]=d[A>>0]|0|E<<(c[n>>2]&7);D=(c[n>>2]|0)+1|0;c[n>>2]=D;N=N+1|0}while((N|0)!=(S|0));Lb=D;Mb=c[W>>2]|0}if((Mb|0)==18){S=B+1|0;N=c[ya+(S<<2)>>2]|0;X=Lb;O=0;while(1){G=N>>>O&1;do if((X&7|0)==0){A=c[Y>>2]|0;x=A+1|0;if((c[V>>2]|0)>>>0<x>>>0){v=x<<1;F=zm(c[b>>2]|0,v)|0;if((F|0)==0)break;c[V>>2]=v;c[b>>2]=F;Ob=F}else Ob=c[b>>2]|0;c[Y>>2]=x;a[Ob+A>>0]=0}while(0);E=(c[b>>2]|0)+((c[Y>>2]|0)+ -1)|0;a[E>>0]=d[E>>0]|0|G<<(c[n>>2]&7);E=(c[n>>2]|0)+1|0;c[n>>2]=E;O=O+1|0;if((O|0)==7){Pb=E;Qb=S;break}else X=E}}else if((Mb|0)==17){X=B+1|0;S=c[ya+(X<<2)>>2]|0;O=S&1;do if((Lb&7|0)==0){N=c[Y>>2]|0;W=N+1|0;if((c[V>>2]|0)>>>0<W>>>0){D=W<<1;E=zm(c[b>>2]|0,D)|0;if((E|0)==0)break;c[V>>2]=D;c[b>>2]=E;Rb=E}else Rb=c[b>>2]|0;c[Y>>2]=W;a[Rb+N>>0]=0}while(0);N=(c[b>>2]|0)+((c[Y>>2]|0)+ -1)|0;a[N>>0]=d[N>>0]|0|O<<(c[n>>2]&7);N=(c[n>>2]|0)+1|0;c[n>>2]=N;W=S>>>1&1;do if((N&7|0)==0){E=c[Y>>2]|0;D=E+1|0;if((c[V>>2]|0)>>>0<D>>>0){A=D<<1;x=zm(c[b>>2]|0,A)|0;if((x|0)==0)break;c[V>>2]=A;c[b>>2]=x;Sb=x}else Sb=c[b>>2]|0;c[Y>>2]=D;a[Sb+E>>0]=0}while(0);N=(c[b>>2]|0)+((c[Y>>2]|0)+ -1)|0;a[N>>0]=d[N>>0]|0|W<<(c[n>>2]&7);N=(c[n>>2]|0)+1|0;c[n>>2]=N;O=S>>>2&1;do if((N&7|0)==0){E=c[Y>>2]|0;D=E+1|0;if((c[V>>2]|0)>>>0<D>>>0){x=D<<1;A=zm(c[b>>2]|0,x)|0;if((A|0)==0)break;c[V>>2]=x;c[b>>2]=A;Tb=A}else Tb=c[b>>2]|0;c[Y>>2]=D;a[Tb+E>>0]=0}while(0);N=(c[b>>2]|0)+((c[Y>>2]|0)+ -1)|0;a[N>>0]=d[N>>0]|0|O<<(c[n>>2]&7);N=(c[n>>2]|0)+1|0;c[n>>2]=N;Pb=N;Qb=X}else if((Mb|0)==16){N=B+1|0;S=c[ya+(N<<2)>>2]|0;W=S&1;do if((Lb&7|0)==0){E=c[Y>>2]|0;D=E+1|0;if((c[V>>2]|0)>>>0<D>>>0){A=D<<1;x=zm(c[b>>2]|0,A)|0;if((x|0)==0)break;c[V>>2]=A;c[b>>2]=x;Ub=x}else Ub=c[b>>2]|0;c[Y>>2]=D;a[Ub+E>>0]=0}while(0);X=(c[b>>2]|0)+((c[Y>>2]|0)+ -1)|0;a[X>>0]=d[X>>0]|0|W<<(c[n>>2]&7);X=(c[n>>2]|0)+1|0;c[n>>2]=X;O=S>>>1&1;do if((X&7|0)==0){E=c[Y>>2]|0;D=E+1|0;if((c[V>>2]|0)>>>0<D>>>0){x=D<<1;A=zm(c[b>>2]|0,x)|0;if((A|0)==0)break;c[V>>2]=x;c[b>>2]=A;Vb=A}else Vb=c[b>>2]|0;c[Y>>2]=D;a[Vb+E>>0]=0}while(0);X=(c[b>>2]|0)+((c[Y>>2]|0)+ -1)|0;a[X>>0]=d[X>>0]|0|O<<(c[n>>2]&7);X=(c[n>>2]|0)+1|0;c[n>>2]=X;Pb=X;Qb=N}else{Pb=Lb;Qb=B}B=Qb+1|0;if(!(B>>>0<xa>>>0))break;else s=Pb}}jm(n,b,j,k,l);s=c[(c[k+24>>2]|0)+1024>>2]|0;if((s|0)==0){Z=g;_=f;$=w;aa=ya;ba=ra;ca=Bb;da=64;break}B=c[(c[k+12>>2]|0)+1024>>2]|0;U=s+ -1|0;R=c[n>>2]|0;M=0;do{X=B>>>(U-M|0)&1;do if((R&7|0)==0){S=c[Y>>2]|0;W=S+1|0;if((c[V>>2]|0)>>>0<W>>>0){E=W<<1;D=zm(c[b>>2]|0,E)|0;if((D|0)==0)break;c[V>>2]=E;c[b>>2]=D;Wb=D}else Wb=c[b>>2]|0;c[Y>>2]=W;a[Wb+S>>0]=0}while(0);N=(c[b>>2]|0)+((c[Y>>2]|0)+ -1)|0;a[N>>0]=d[N>>0]|0|X<<(c[n>>2]&7);R=(c[n>>2]|0)+1|0;c[n>>2]=R;M=M+1|0}while((M|0)!=(s|0));Z=g;_=f;$=w;aa=ya;ba=ra;ca=Bb;da=0}}else{Z=g;_=f;$=w;aa=ya;ba=ra;ca=0;da=T}}else{Z=g;_=f;$=0;aa=ya;ba=ra;ca=0;da=9926}}else{Z=g;_=f;$=0;aa=0;ba=0;ca=0;da=y}}else{Z=g;_=f;$=0;aa=0;ba=0;ca=0;da=e}}else{Z=g;_=0;$=0;aa=0;ba=0;ca=0;da=9925}}else{Z=0;_=0;$=0;aa=0;ba=0;ca=0;da=9924}}while(0);c[o>>2]=0;c[C>>2]=0;Am(c[j>>2]|0);c[k+8>>2]=0;c[k+4>>2]=0;Am(c[k>>2]|0);c[k>>2]=0;c[k+20>>2]=0;c[k+16>>2]=0;j=k+12|0;Am(c[j>>2]|0);c[j>>2]=0;c[k+32>>2]=0;c[k+28>>2]=0;Am(c[k+24>>2]|0);c[l+8>>2]=0;c[l+4>>2]=0;Am(c[l>>2]|0);c[l>>2]=0;c[l+20>>2]=0;c[l+16>>2]=0;k=l+12|0;Am(c[k>>2]|0);c[k>>2]=0;c[l+32>>2]=0;c[l+28>>2]=0;Am(c[l+24>>2]|0);c[m+8>>2]=0;c[m+4>>2]=0;Am(c[m>>2]|0);c[m>>2]=0;c[m+20>>2]=0;c[m+16>>2]=0;l=m+12|0;Am(c[l>>2]|0);c[l>>2]=0;c[m+32>>2]=0;c[m+28>>2]=0;Am(c[m+24>>2]|0);Am(Z);Am(_);Am($);Am(aa);Am(ba);Am(ca);Q=da;i=h;return Q|0}else{Q=61;i=h;return Q|0}return 0}function Nl(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=i;f=d>>>24&255;g=b+4|0;h=c[g>>2]|0;j=h+1|0;k=b+8|0;if((c[k>>2]|0)>>>0<j>>>0){l=j<<1;m=zm(c[b>>2]|0,l)|0;if((m|0)!=0){c[k>>2]=l;c[b>>2]=m;n=m;o=5}}else{n=c[b>>2]|0;o=5}if((o|0)==5){c[g>>2]=j;a[n+h>>0]=f}f=d>>>16&255;h=c[g>>2]|0;n=h+1|0;if((c[k>>2]|0)>>>0<n>>>0){j=n<<1;m=zm(c[b>>2]|0,j)|0;if((m|0)!=0){c[k>>2]=j;c[b>>2]=m;p=m;o=10}}else{p=c[b>>2]|0;o=10}if((o|0)==10){c[g>>2]=n;a[p+h>>0]=f}f=d>>>8&255;h=c[g>>2]|0;p=h+1|0;if((c[k>>2]|0)>>>0<p>>>0){n=p<<1;m=zm(c[b>>2]|0,n)|0;if((m|0)!=0){c[k>>2]=n;c[b>>2]=m;q=m;o=15}}else{q=c[b>>2]|0;o=15}if((o|0)==15){c[g>>2]=p;a[q+h>>0]=f}f=d&255;d=c[g>>2]|0;h=d+1|0;do if((c[k>>2]|0)>>>0<h>>>0){q=h<<1;p=zm(c[b>>2]|0,q)|0;if((p|0)==0){i=e;return}else{c[k>>2]=q;c[b>>2]=p;r=p;break}}else r=c[b>>2]|0;while(0);c[g>>2]=h;a[r+d>>0]=f;i=e;return}function Ol(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j=i;i=i+16|0;k=j;if(g>>>0<2){l=53;i=j;return l|0}m=a[f>>0]|0;n=m&255;o=d[f+1>>0]|0;if((((n<<8|o)>>>0)%31|0|0)!=0){l=24;i=j;return l|0}if((n&15|0)!=8|m<<24>>24<0){l=25;i=j;return l|0}if((o&32|0)!=0){l=26;i=j;return l|0}o=c[e>>2]|0;c[k>>2]=c[b>>2];m=k+4|0;c[m>>2]=o;c[k+8>>2]=o;o=Ll(k,f,g,2)|0;n=c[k>>2]|0;c[b>>2]=n;b=c[m>>2]|0;c[e>>2]=b;if((o|0)!=0){l=o;i=j;return l|0}if((c[h>>2]|0)==0){h=(d[f+(g+ -3)>>0]|0)<<16|(d[f+(g+ -4)>>0]|0)<<24|(d[f+(g+ -2)>>0]|0)<<8|(d[f+(g+ -1)>>0]|0);if((b|0)==0){p=1;q=0}else{g=n;n=b;b=1;f=0;while(1){o=n>>>0>5550?5550:n;e=n;n=n-o|0;if((o|0)==0){r=g;s=b;t=f}else{m=g;k=o;u=b;v=f;while(1){u=(d[m>>0]|0)+u|0;v=u+v|0;k=k+ -1|0;if((k|0)==0)break;else m=m+1|0}r=g+(e>>>0<5550?e:5550)|0;s=u;t=v}b=(s>>>0)%65521|0;f=(t>>>0)%65521|0;if((e|0)==(o|0))break;else g=r}p=b;q=f<<16}if((p|q|0)!=(h|0)){l=58;i=j;return l|0}}l=0;i=j;return l|0}function Pl(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|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;j=i;i=i+32|0;k=j+12|0;l=j;m=c[b>>2]|0;n=c[e>>2]|0;c[l>>2]=m;o=l+4|0;c[o>>2]=n;p=l+8|0;c[p>>2]=n;q=n+1|0;if(!((n|0)==-1)){r=q<<1;s=zm(m,r)|0;if((s|0)==0){t=m;u=n;v=n}else{c[p>>2]=r;c[l>>2]=s;w=s;x=r;y=4}}else{w=m;x=-1;y=4}if((y|0)==4){c[o>>2]=q;a[w+n>>0]=120;t=w;u=q;v=x}x=u+1|0;if(v>>>0<x>>>0){q=x<<1;w=zm(t,q)|0;if((w|0)==0){z=t;A=v;B=u}else{c[p>>2]=q;c[l>>2]=w;C=w;D=q;y=8}}else{C=t;D=v;y=8}if((y|0)==8){c[o>>2]=x;a[C+u>>0]=1;z=C;A=D;B=x}c[k>>2]=0;x=k+8|0;c[x>>2]=0;D=k+4|0;c[D>>2]=0;C=Ml(k,f,g,h)|0;if((C|0)!=0){E=z;F=B;c[b>>2]=E;c[e>>2]=F;i=j;return C|0}if((g|0)==0){G=1;H=0}else{h=f;f=g;g=1;u=0;while(1){v=f>>>0>5550?5550:f;t=f;f=f-v|0;if((v|0)==0){I=h;J=g;K=u}else{q=h;w=v;n=g;m=u;while(1){n=(d[q>>0]|0)+n|0;m=n+m|0;w=w+ -1|0;if((w|0)==0)break;else q=q+1|0}I=h+(t>>>0<5550?t:5550)|0;J=n;K=m}g=(J>>>0)%65521|0;u=(K>>>0)%65521|0;if((t|0)==(v|0))break;else h=I}G=g;H=u<<16}u=G|H;H=c[D>>2]|0;G=c[k>>2]|0;if((H|0)!=0){g=z;z=B;B=A;A=0;while(1){I=a[G+A>>0]|0;h=z+1|0;if(B>>>0<h>>>0){K=h<<1;J=zm(g,K)|0;if((J|0)==0){L=g;M=B;N=z}else{c[p>>2]=K;c[l>>2]=J;O=J;P=K;y=20}}else{O=g;P=B;y=20}if((y|0)==20){y=0;c[o>>2]=h;a[O+z>>0]=I;L=O;M=P;N=h}A=A+1|0;if(!(A>>>0<H>>>0))break;else{g=L;z=N;B=M}}}c[x>>2]=0;c[D>>2]=0;Am(G);c[k>>2]=0;Nl(l,u);E=c[l>>2]|0;F=c[o>>2]|0;c[b>>2]=E;c[e>>2]=F;i=j;return C|0}function Ql(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;if((c[240416]|0)==0){f=0;do{g=f>>>1;h=(f&1|0)==0?g:g^-306674912;g=h>>>1;j=(h&1|0)==0?g:g^-306674912;g=j>>>1;h=(j&1|0)==0?g:g^-306674912;g=h>>>1;j=(h&1|0)==0?g:g^-306674912;g=j>>>1;h=(j&1|0)==0?g:g^-306674912;g=h>>>1;j=(h&1|0)==0?g:g^-306674912;g=j>>>1;h=(j&1|0)==0?g:g^-306674912;g=h>>>1;c[961672+(f<<2)>>2]=(h&1|0)==0?g:g^-306674912;f=f+1|0}while((f|0)!=256);c[240416]=1}if((b|0)==0){k=0;i=e;return k|0}else{l=-1;m=0}do{l=c[961672+(((d[a+m>>0]|0)^l&255)<<2)>>2]^l>>>8;m=m+1|0}while((m|0)!=(b|0));k=~l;i=e;return k|0}function Rl(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=i;j=c[d>>2]|0;k=e+12|0;l=k+j|0;if(l>>>0<k>>>0|l>>>0<j>>>0){m=77;i=h;return m|0}j=zm(c[b>>2]|0,l)|0;if((j|0)==0){m=9930;i=h;return m|0}c[b>>2]=j;c[d>>2]=l;d=l-e|0;l=j+(d+ -12)|0;b=e>>>24&255;a[l>>0]=b;k=e>>>16&255;n=j+(d+ -11)|0;a[n>>0]=k;o=e>>>8&255;p=j+(d+ -10)|0;a[p>>0]=o;q=e&255;r=j+(d+ -9)|0;a[r>>0]=q;s=j+(d+ -8)|0;a[s>>0]=a[f>>0]|0;a[j+(d+ -7)>>0]=a[f+1>>0]|0;a[j+(d+ -6)>>0]=a[f+2>>0]|0;a[j+(d+ -5)>>0]=a[f+3>>0]|0;f=d+ -4|0;if((e|0)==0){t=b;u=k;v=o;w=q}else{q=0;do{a[j+(f+q)>>0]=a[g+q>>0]|0;q=q+1|0}while((q|0)!=(e|0));t=a[l>>0]|0;u=a[n>>0]|0;v=a[p>>0]|0;w=a[r>>0]|0}r=(u&255)<<16|(t&255)<<24|(v&255)<<8|w&255;w=Ql(s,r+4|0)|0;a[j+(f+r)>>0]=w>>>24;a[j+(d+ -3+r)>>0]=w>>>16;a[j+(d+ -2+r)>>0]=w>>>8;a[j+(d+ -1+r)>>0]=w;m=0;i=h;return m|0}function Sl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;g=b+4|0;h=zm(c[g>>2]|0,(c[b>>2]<<2)+4|0)|0;j=b+8|0;k=zm(c[j>>2]|0,(c[b>>2]<<2)+4|0)|0;if((h|0)==0|(k|0)==0){Am(h);Am(k);l=9933;i=f;return l|0}m=c[b>>2]|0;c[b>>2]=m+1;c[g>>2]=h;c[j>>2]=k;k=h+(m<<2)|0;c[k>>2]=0;m=zm(0,1)|0;if((m|0)!=0){a[m>>0]=0;c[k>>2]=m}m=(c[g>>2]|0)+((c[b>>2]|0)+ -1<<2)|0;g=cp(d|0)|0;k=zm(c[m>>2]|0,g+1|0)|0;if(((k|0)!=0?(a[k+g>>0]=0,c[m>>2]=k,(g|0)!=0):0)?(a[k>>0]=a[d>>0]|0,(g|0)!=1):0){k=1;do{a[(c[m>>2]|0)+k>>0]=a[d+k>>0]|0;k=k+1|0}while((k|0)!=(g|0))}g=(c[j>>2]|0)+((c[b>>2]|0)+ -1<<2)|0;c[g>>2]=0;k=zm(0,1)|0;if((k|0)!=0){a[k>>0]=0;c[g>>2]=k}k=(c[j>>2]|0)+((c[b>>2]|0)+ -1<<2)|0;b=cp(e|0)|0;j=zm(c[k>>2]|0,b+1|0)|0;if((j|0)==0){l=0;i=f;return l|0}a[j+b>>0]=0;c[k>>2]=j;if((b|0)==0){l=0;i=f;return l|0}a[j>>0]=a[e>>0]|0;if((b|0)==1){l=0;i=f;return l|0}else n=1;do{a[(c[k>>2]|0)+n>>0]=a[e+n>>0]|0;n=n+1|0}while((n|0)!=(b|0));l=0;i=f;return l|0}function Tl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;b=i;d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=a+12|0;h=a+16|0;if((c[a>>2]|0)==0){j=e;Am(j);k=c[f>>2]|0;Am(k);l=c[g>>2]|0;Am(l);m=c[h>>2]|0;Am(m);i=b;return}else{n=e;o=0}while(1){e=n+(o<<2)|0;Am(c[e>>2]|0);c[e>>2]=0;e=(c[f>>2]|0)+(o<<2)|0;Am(c[e>>2]|0);c[e>>2]=0;e=(c[g>>2]|0)+(o<<2)|0;Am(c[e>>2]|0);c[e>>2]=0;e=(c[h>>2]|0)+(o<<2)|0;Am(c[e>>2]|0);c[e>>2]=0;o=o+1|0;e=c[d>>2]|0;if(!(o>>>0<(c[a>>2]|0)>>>0)){j=e;break}else n=e}Am(j);k=c[f>>2]|0;Am(k);l=c[g>>2]|0;Am(l);m=c[h>>2]|0;Am(m);i=b;return}function Ul(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=i;j=b+4|0;k=zm(c[j>>2]|0,(c[b>>2]<<2)+4|0)|0;l=b+8|0;m=zm(c[l>>2]|0,(c[b>>2]<<2)+4|0)|0;n=b+12|0;o=zm(c[n>>2]|0,(c[b>>2]<<2)+4|0)|0;p=b+16|0;q=zm(c[p>>2]|0,(c[b>>2]<<2)+4|0)|0;if((k|0)==0|(m|0)==0|(o|0)==0|(q|0)==0){Am(k);Am(m);Am(o);Am(q);r=9934;i=h;return r|0}s=c[b>>2]|0;c[b>>2]=s+1;c[j>>2]=k;c[l>>2]=m;c[n>>2]=o;c[p>>2]=q;q=k+(s<<2)|0;c[q>>2]=0;s=zm(0,1)|0;if((s|0)!=0){a[s>>0]=0;c[q>>2]=s}s=(c[j>>2]|0)+((c[b>>2]|0)+ -1<<2)|0;j=cp(d|0)|0;q=zm(c[s>>2]|0,j+1|0)|0;if(((q|0)!=0?(a[q+j>>0]=0,c[s>>2]=q,(j|0)!=0):0)?(a[q>>0]=a[d>>0]|0,(j|0)!=1):0){q=1;do{a[(c[s>>2]|0)+q>>0]=a[d+q>>0]|0;q=q+1|0}while((q|0)!=(j|0))}j=(c[l>>2]|0)+((c[b>>2]|0)+ -1<<2)|0;c[j>>2]=0;q=zm(0,1)|0;if((q|0)!=0){a[q>>0]=0;c[j>>2]=q}q=(c[l>>2]|0)+((c[b>>2]|0)+ -1<<2)|0;l=cp(e|0)|0;j=zm(c[q>>2]|0,l+1|0)|0;if(((j|0)!=0?(a[j+l>>0]=0,c[q>>2]=j,(l|0)!=0):0)?(a[j>>0]=a[e>>0]|0,(l|0)!=1):0){j=1;do{a[(c[q>>2]|0)+j>>0]=a[e+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=zm(0,1)|0;if((j|0)!=0){a[j>>0]=0;c[l>>2]=j}j=(c[n>>2]|0)+((c[b>>2]|0)+ -1<<2)|0;n=cp(f|0)|0;l=zm(c[j>>2]|0,n+1|0)|0;if(((l|0)!=0?(a[l+n>>0]=0,c[j>>2]=l,(n|0)!=0):0)?(a[l>>0]=a[f>>0]|0,(n|0)!=1):0){l=1;do{a[(c[j>>2]|0)+l>>0]=a[f+l>>0]|0;l=l+1|0}while((l|0)!=(n|0))}n=(c[p>>2]|0)+((c[b>>2]|0)+ -1<<2)|0;c[n>>2]=0;l=zm(0,1)|0;if((l|0)!=0){a[l>>0]=0;c[n>>2]=l}l=(c[p>>2]|0)+((c[b>>2]|0)+ -1<<2)|0;b=cp(g|0)|0;p=zm(c[l>>2]|0,b+1|0)|0;if((p|0)==0){r=0;i=h;return r|0}a[p+b>>0]=0;c[l>>2]=p;if((b|0)==0){r=0;i=h;return r|0}a[p>>0]=a[g>>0]|0;if((b|0)==1){r=0;i=h;return r|0}else t=1;do{a[(c[l>>2]|0)+t>>0]=a[g+t>>0]|0;t=t+1|0}while((t|0)!=(b|0));r=0;i=h;return r|0}function Vl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;d=c[a+28>>2]|0;if((d|0)!=0)Am(d);c[a+32>>2]=0;d=a+68|0;e=a+72|0;f=c[e>>2]|0;g=a+76|0;if((c[d>>2]|0)==0)h=f;else{j=f;f=0;while(1){k=j+(f<<2)|0;Am(c[k>>2]|0);c[k>>2]=0;k=(c[g>>2]|0)+(f<<2)|0;Am(c[k>>2]|0);c[k>>2]=0;f=f+1|0;k=c[e>>2]|0;if(!(f>>>0<(c[d>>2]|0)>>>0)){h=k;break}else j=k}}Am(h);Am(c[g>>2]|0);Tl(a+80|0);Am(c[a+132>>2]|0);Am(c[a+136>>2]|0);Am(c[a+140>>2]|0);i=b;return}function Wl(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|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;k=i;l=aa(j,h)|0;h=c[f>>2]|0;j=c[f+4>>2]|0;switch(h|0){case 3:case 0:{m=1;break};case 4:{m=2;break};case 2:{m=3;break};case 6:{m=4;break};default:m=0}f=(aa(m,j)|0)>>>3;m=h>>>2&1;n=c[g>>2]|0;if((n|0)==(h|0)?(c[g+4>>2]|0)==(j|0):0){switch(h|0){case 6:{o=4;break};case 3:case 0:{o=1;break};case 2:{o=3;break};case 4:{o=2;break};default:o=0}p=((aa(aa(j,l)|0,o)|0)+7|0)>>>3;if((p|0)==0){q=0;i=k;return q|0}else r=0;do{a[b+r>>0]=a[e+r>>0]|0;r=r+1|0}while(r>>>0<p>>>0);q=0;i=k;return q|0}if((h|0)==6|(h|0)==2?(j|0)==8:0){p=g+4|0;r=c[p>>2]|0;if((r|0)==8)switch(n|0){case 4:{if((l|0)==0){q=0;i=k;return q|0}o=(m|0)==0;s=0;do{t=s<<1;u=e+t|0;v=aa(s,f)|0;a[b+v>>0]=a[u>>0]|0;a[b+(v+1)>>0]=a[u>>0]|0;a[b+(v+2)>>0]=a[u>>0]|0;if(!o)a[b+(v+3)>>0]=a[e+(t|1)>>0]|0;s=s+1|0}while((s|0)!=(l|0));q=0;i=k;return q|0};case 3:{if((l|0)==0){q=0;i=k;return q|0}s=(m|0)==0;o=g+12|0;t=(f|0)==0;v=g+8|0;u=0;while(1){if(!s)a[b+((aa(u,f)|0)+3)>>0]=-1;w=e+u|0;x=a[w>>0]|0;if(!((x&255)>>>0<(c[o>>2]|0)>>>0)){q=46;y=164;break}a:do if(!t){z=aa(u,f)|0;A=x;B=0;while(1){a[b+(B+z)>>0]=a[(c[v>>2]|0)+(((A&255)<<2)+B)>>0]|0;C=B+1|0;if(!(C>>>0<f>>>0))break a;A=a[w>>0]|0;B=C}}while(0);u=u+1|0;if(!(u>>>0<l>>>0)){q=0;y=164;break}}if((y|0)==164){i=k;return q|0}break};case 0:{if((l|0)==0){q=0;i=k;return q|0}u=(m|0)!=0;v=g+16|0;t=g+20|0;o=0;do{s=aa(o,f)|0;if(u)a[b+(s+3)>>0]=-1;w=e+o|0;a[b+s>>0]=a[w>>0]|0;a[b+(s+1)>>0]=a[w>>0]|0;a[b+(s+2)>>0]=a[w>>0]|0;if((u?(c[v>>2]|0)!=0:0)?(d[w>>0]|0|0)==(c[t>>2]|0):0)a[b+(s+3)>>0]=0;o=o+1|0}while((o|0)!=(l|0));q=0;i=k;return q|0};case 2:{if((l|0)==0){q=0;i=k;return q|0}o=(m|0)!=0;t=g+16|0;v=g+20|0;u=g+24|0;s=g+28|0;w=0;do{x=aa(w,f)|0;if(o)a[b+(x+3)>>0]=-1;B=w*3|0;A=e+B|0;a[b+x>>0]=a[A>>0]|0;z=e+(B+1)|0;a[b+(x+1)>>0]=a[z>>0]|0;C=e+(B+2)|0;a[b+(x+2)>>0]=a[C>>0]|0;if((((o?(c[t>>2]|0)==1:0)?(d[A>>0]|0|0)==(c[v>>2]|0):0)?(d[z>>0]|0|0)==(c[u>>2]|0):0)?(d[C>>0]|0|0)==(c[s>>2]|0):0)a[b+(x+3)>>0]=0;w=w+1|0}while((w|0)!=(l|0));q=0;i=k;return q|0};case 6:{if((l|0)==0){q=0;i=k;return q|0}w=(f|0)==0;s=0;do{if(!w){u=s<<2;v=aa(s,f)|0;t=0;do{a[b+(t+v)>>0]=a[e+(t+u)>>0]|0;t=t+1|0}while(t>>>0<f>>>0)}s=s+1|0}while((s|0)!=(l|0));q=0;i=k;return q|0};default:{q=0;i=k;return q|0}}else if((r|0)==16)if((n|0)==0){if((l|0)==0){q=0;i=k;return q|0}s=(m|0)!=0;w=g+16|0;t=g+20|0;u=0;do{v=aa(u,f)|0;if(s)a[b+(v+3)>>0]=-1;o=e+(u<<1)|0;a[b+v>>0]=a[o>>0]|0;a[b+(v+1)>>0]=a[o>>0]|0;a[b+(v+2)>>0]=a[o>>0]|0;if((s?(c[w>>2]|0)!=0:0)?((d[e+u>>0]|0)<<8|(d[e+(u+1)>>0]|0)|0)==(c[t>>2]|0):0)a[b+(v+3)>>0]=0;u=u+1|0}while((u|0)!=(l|0));q=0;i=k;return q|0}else if((n|0)==6){if((l|0)==0){q=0;i=k;return q|0}u=(f|0)==0;t=0;do{if(!u){w=t<<3;s=aa(t,f)|0;v=0;do{a[b+(v+s)>>0]=a[e+((v<<1)+w)>>0]|0;v=v+1|0}while(v>>>0<f>>>0)}t=t+1|0}while((t|0)!=(l|0));q=0;i=k;return q|0}else if((n|0)==4){if((l|0)==0){q=0;i=k;return q|0}t=(m|0)==0;u=0;do{v=u<<2;w=e+v|0;s=aa(u,f)|0;a[b+s>>0]=a[w>>0]|0;a[b+(s+1)>>0]=a[w>>0]|0;a[b+(s+2)>>0]=a[w>>0]|0;if(!t)a[b+(s+3)>>0]=a[e+(v|2)>>0]|0;u=u+1|0}while((u|0)!=(l|0));q=0;i=k;return q|0}else if((n|0)==2){if((l|0)==0){q=0;i=k;return q|0}u=(m|0)!=0;t=g+16|0;v=g+20|0;s=g+24|0;w=g+28|0;o=0;do{x=aa(o,f)|0;if(u)a[b+(x+3)>>0]=-1;C=o*6|0;z=e+C|0;a[b+x>>0]=a[z>>0]|0;A=e+(C+2)|0;a[b+(x+1)>>0]=a[A>>0]|0;B=e+(C+4)|0;a[b+(x+2)>>0]=a[B>>0]|0;if((((u?(c[t>>2]|0)!=0:0)?((d[z>>0]|0)<<8|(d[e+(C|1)>>0]|0)|0)==(c[v>>2]|0):0)?((d[A>>0]|0)<<8|(d[e+(C+3)>>0]|0)|0)==(c[s>>2]|0):0)?((d[B>>0]|0)<<8|(d[e+(C+5)>>0]|0)|0)==(c[w>>2]|0):0)a[b+(x+3)>>0]=0;o=o+1|0}while((o|0)!=(l|0));q=0;i=k;return q|0}else{q=0;i=k;return q|0}else if((n|0)==0){if((l|0)==0){q=0;i=k;return q|0}o=(m|0)==0;w=g+16|0;s=g+20|0;v=r;t=0;u=0;while(1){if((v|0)==0){D=t;E=0}else{x=t;C=v+ -1|0;B=0;while(1){A=x+1|0;z=(((d[e+(x>>>3)>>0]|0)>>>(x&7^7)&1)<<C)+B|0;C=C+ -1|0;if(!(C>>>0<v>>>0)){D=A;E=z;break}else{x=A;B=z}}}B=aa(u,f)|0;if((!o?(x=b+(B+3)|0,a[x>>0]=-1,!((c[w>>2]|0)==0|(E|0)==0)):0)?(C=(1<<c[p>>2])+ -1|0,!((C|0)==0?1:(C|0)!=(c[s>>2]|0))):0)a[x>>0]=0;x=(((E*255|0)>>>0)/(((1<<c[p>>2])+ -1|0)>>>0)|0)&255;a[b+B>>0]=x;a[b+(B+1)>>0]=x;a[b+(B+2)>>0]=x;x=u+1|0;if((x|0)==(l|0)){q=0;break}v=c[p>>2]|0;t=D;u=x}i=k;return q|0}else if((n|0)==3){if((l|0)==0){q=0;i=k;return q|0}u=(m|0)==0;D=g+12|0;t=(f|0)==0;v=g+8|0;E=r;r=0;s=0;while(1){if((E|0)==0){F=r;G=0}else{w=r;o=E+ -1|0;x=0;while(1){B=w+1|0;C=(((d[e+(w>>>3)>>0]|0)>>>(w&7^7)&1)<<o)+x|0;o=o+ -1|0;if(!(o>>>0<E>>>0)){F=B;G=C;break}else{w=B;x=C}}}if(!u)a[b+((aa(s,f)|0)+3)>>0]=-1;if(!(G>>>0<(c[D>>2]|0)>>>0)){q=47;y=164;break}if(!t){x=G<<2;w=aa(s,f)|0;o=0;do{a[b+(o+w)>>0]=a[(c[v>>2]|0)+(o+x)>>0]|0;o=o+1|0}while(o>>>0<f>>>0)}o=s+1|0;if(!(o>>>0<l>>>0)){q=0;y=164;break}E=c[p>>2]|0;r=F;s=o}if((y|0)==164){i=k;return q|0}}else{q=0;i=k;return q|0}}if(!((h&-5|0)==0&(j|0)==8)){q=59;i=k;return q|0}if((n&-5|0)!=0){q=62;i=k;return q|0}j=g+4|0;h=c[j>>2]|0;if((h|0)==16)if((n|0)==0){if((l|0)==0){q=0;i=k;return q|0}y=(m|0)==0;s=g+16|0;F=g+20|0;r=0;do{if(!y){p=aa(r,f)|0;E=b+(p+1)|0;a[E>>0]=-1;a[b+p>>0]=a[e+(r<<1)>>0]|0;if((c[s>>2]|0)!=0?((d[e+r>>0]|0)<<8|(d[e+(r+1)>>0]|0)|0)==(c[F>>2]|0):0)a[E>>0]=0}else a[b+(aa(r,f)|0)>>0]=a[e+(r<<1)>>0]|0;r=r+1|0}while((r|0)!=(l|0));q=0;i=k;return q|0}else if((n|0)==4){if((l|0)==0){q=0;i=k;return q|0}r=(m|0)==0;F=0;do{s=F<<2;y=aa(F,f)|0;a[b+y>>0]=a[e+s>>0]|0;if(!r)a[b+(y+1)>>0]=a[e+(s|2)>>0]|0;F=F+1|0}while((F|0)!=(l|0));q=0;i=k;return q|0}else{q=31;i=k;return q|0}else if((h|0)==8)if((n|0)==0){if((l|0)==0){q=0;i=k;return q|0}F=(m|0)==0;r=g+16|0;s=g+20|0;y=0;do{if(!F){E=aa(y,f)|0;p=b+(E+1)|0;a[p>>0]=-1;v=e+y|0;a[b+E>>0]=a[v>>0]|0;if((c[r>>2]|0)!=0?(d[v>>0]|0|0)==(c[s>>2]|0):0)a[p>>0]=0}else a[b+(aa(y,f)|0)>>0]=a[e+y>>0]|0;y=y+1|0}while((y|0)!=(l|0));q=0;i=k;return q|0}else if((n|0)==4){if((l|0)==0){q=0;i=k;return q|0}if((m|0)==0){y=0;do{a[b+(aa(y,f)|0)>>0]=a[e+(y<<1)>>0]|0;y=y+1|0}while((y|0)!=(l|0));q=0;i=k;return q|0}else{y=0;do{s=y<<1;r=aa(y,f)|0;a[b+r>>0]=a[e+s>>0]|0;a[b+(r+1)>>0]=a[e+(s|1)>>0]|0;y=y+1|0}while((y|0)!=(l|0));q=0;i=k;return q|0}}else{q=31;i=k;return q|0}else{if((n|0)!=0){q=31;i=k;return q|0}if((l|0)==0){q=0;i=k;return q|0}n=g+16|0;y=g+20|0;if((m|0)==0){m=h;g=0;s=0;while(1){if((m|0)==0){H=g;I=0}else{r=g;F=m+ -1|0;p=0;do{v=r;r=r+1|0;p=(((d[e+(v>>>3)>>0]|0)>>>(v&7^7)&1)<<F)+p|0;F=F+ -1|0}while(F>>>0<m>>>0);H=r;I=p*255|0}a[b+(aa(s,f)|0)>>0]=(I>>>0)/(((1<<m)+ -1|0)>>>0)|0;F=s+1|0;if((F|0)==(l|0)){q=0;break}m=c[j>>2]|0;g=H;s=F}i=k;return q|0}else{J=h;K=0;L=0}while(1){if((J|0)==0){M=K;N=0}else{h=K;s=J+ -1|0;H=0;while(1){g=h+1|0;m=(((d[e+(h>>>3)>>0]|0)>>>(h&7^7)&1)<<s)+H|0;s=s+ -1|0;if(!(s>>>0<J>>>0)){M=g;N=m;break}else{h=g;H=m}}}H=aa(L,f)|0;h=b+(H+1)|0;a[h>>0]=-1;if(!((c[n>>2]|0)==0|(N|0)==0)?(s=(1<<c[j>>2])+ -1|0,!((s|0)==0?1:(s|0)!=(c[y>>2]|0))):0)a[h>>0]=0;a[b+H>>0]=((N*255|0)>>>0)/(((1<<c[j>>2])+ -1|0)>>>0)|0;H=L+1|0;if((H|0)==(l|0)){q=0;break}J=c[j>>2]|0;K=M;L=H}i=k;return q|0}return 0}function Xl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,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=i;if((f|0)==0|(e|0)==0){c[b+208>>2]=48;i=g;return}if(f>>>0<29){c[b+208>>2]=27;i=g;return}f=b+52|0;Vl(f);h=b+56|0;c[h>>2]=0;c[f>>2]=0;j=b+88|0;k=b+72|0;c[j+0>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[k>>2]=6;j=b+76|0;c[j>>2]=8;c[b+80>>2]=0;c[b+84>>2]=0;l=b+68|0;c[l>>2]=0;m=b+60|0;c[m>>2]=0;n=b+64|0;c[n>>2]=0;o=b+104|0;c[b+168>>2]=0;p=b+184|0;q=o+0|0;r=q+48|0;do{c[q>>2]=0;q=q+4|0}while((q|0)<(r|0));a[o+48>>0]=0;o=b+208|0;c[p+0>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+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){p=e+12|0;if((((a[p>>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[h>>2]=d[e+21>>0]<<16|d[e+20>>0]<<24|d[e+22>>0]<<8|d[e+23>>0];c[j>>2]=d[e+24>>0];c[k>>2]=d[e+25>>0];h=d[e+26>>0]|0;c[m>>2]=h;c[n>>2]=d[e+27>>0];c[l>>2]=d[e+28>>0];do if((c[b+4>>2]|0)==0){f=d[e+30>>0]<<16|d[e+29>>0]<<24|d[e+31>>0]<<8|d[e+32>>0];if((f|0)==(Ql(p,17)|0)){s=c[m>>2]|0;break}c[o>>2]=57;i=g;return}else s=h;while(0);if((s|0)!=0){c[o>>2]=32;i=g;return}if((c[n>>2]|0)!=0){c[o>>2]=33;i=g;return}if((c[l>>2]|0)>>>0>1){c[o>>2]=34;i=g;return}l=c[j>>2]|0;switch(c[k>>2]|0){case 2:{if((l|0)==8|(l|0)==16)t=35;else u=37;break};case 3:{if((l+ -1|0)>>>0<2|(l|0)==4|(l|0)==8)t=35;else u=37;break};case 0:{if((l+ -1|0)>>>0<2|(l|0)==4|(l|0)==8|(l|0)==16)t=35;else u=37;break};case 4:{if((l|0)==8|(l|0)==16)t=35;else u=37;break};case 6:{if((l|0)==8|(l|0)==16)t=35;else u=37;break};default:u=31}if((t|0)==35)u=0;c[o>>2]=u;i=g;return}c[o>>2]=29;i=g;return}c[o>>2]=28;i=g;return}function Yl(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|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,Y=0,Z=0,_=0,$=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,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;j=i;i=i+352|0;k=j+316|0;l=j+288|0;m=j+256|0;n=j+224|0;o=j+192|0;p=j+164|0;q=j+136|0;r=j+104|0;s=j+72|0;t=j+40|0;u=j+24|0;v=j+12|0;w=j;c[e>>2]=0;c[f>>2]=0;Xl(b,g,h);x=b+208|0;y=c[x>>2]|0;if((y|0)==0){z=g;A=b+4|0;B=b+80|0;C=b+84|0;D=b+72|0;E=b+88|0;F=b+100|0;G=b+96|0;H=b+92|0;I=b+104|0;J=b+116|0;K=b+112|0;L=b+108|0;M=b+12|0;N=b+120|0;O=u+8|0;P=u+4|0;Q=v+8|0;R=v+4|0;S=b+132|0;T=b+152|0;U=b+156|0;V=b+160|0;W=b+161|0;X=b+162|0;Y=b+163|0;Z=b+164|0;_=b+168|0;$=b+172|0;ba=b+176|0;ca=b+180|0;da=b+16|0;ea=0;fa=0;ga=0;ha=g+33|0;ia=1;ja=0;a:while(1){ka=ha-z+12|0;la=ka>>>0>h>>>0|ha>>>0<g>>>0;ma=ha+1|0;na=ha+2|0;oa=ha+3|0;pa=ha+8|0;qa=ha+4|0;ra=ha+5|0;sa=ha+6|0;ta=ha+7|0;ua=ha+9|0;va=ha+10|0;wa=ha+11|0;xa=ha+12|0;ya=ha+13|0;za=ha+14|0;Aa=ha+15|0;Ba=ha+16|0;Ca=fa;Da=ea;Ea=ga;Fa=0;Ga=ia;b:while(1){if(!(Fa<<24>>24==0)){Ha=204;break a}if(la){Ha=6;break a}Ia=d[ma>>0]<<16|d[ha>>0]<<24|d[na>>0]<<8|d[oa>>0];if((Ia|0)<0){Ha=8;break a}if((Ia+ka|0)>>>0>h>>>0){Ha=11;break a}Ja=Ia+12|0;if((ha+Ja|0)>>>0<g>>>0){Ha=11;break a}Ka=a[qa>>0]|0;c:do if(Ka<<24>>24==73){La=a[ra>>0]|0;do if(La<<24>>24==68){if((a[sa>>0]|0)==65){if((a[ta>>0]|0)!=84)if(La<<24>>24==69){Ha=22;break}else break;Ma=Ia+Ca|0;if(Da>>>0<Ma>>>0){Na=Ma<<1;Oa=zm(Ea,Na)|0;if((Oa|0)==0){Ha=19;break a}else{Pa=Na;Qa=Oa}}else{Pa=Da;Qa=Ea}if((Ia|0)==0){Ra=Pa;Sa=Ma;Ta=Qa;Ua=0;Va=3;break c}else Wa=0;while(1){a[Qa+(Wa+Ca)>>0]=a[ha+(Wa+8)>>0]|0;Wa=Wa+1|0;if((Wa|0)==(Ia|0)){Ra=Pa;Sa=Ma;Ta=Qa;Ua=0;Va=3;break c}}}}else if(La<<24>>24==69)Ha=22;while(0);if(((Ha|0)==22?(Ha=0,(a[sa>>0]|0)==78):0)?(a[ta>>0]|0)==68:0){Ra=Da;Sa=Ca;Ta=Ea;Ua=1;Va=Ga;break}if(Ka<<24>>24==80)Ha=25;else if(Ka<<24>>24==116)Ha=39;else{Xa=0;Ha=54}}else if(Ka<<24>>24==80)Ha=25;else if(Ka<<24>>24==116)Ha=39;else{Xa=0;Ha=54}while(0);d:do if((Ha|0)==25){Ha=0;if((a[ra>>0]|0)!=76){Ha=191;break a}if((a[sa>>0]|0)==84?(a[ta>>0]|0)==69:0){La=c[B>>2]|0;if((La|0)!=0)Am(La);La=(Ia>>>0)/3|0;c[C>>2]=La;Ma=ym(La<<2)|0;c[B>>2]=Ma;La=c[C>>2]|0;if((Ma|0)==0)if((La|0)==0){Ra=Da;Sa=Ca;Ta=Ea;Ua=0;Va=2;break}else{Ha=33;break a}if(La>>>0>256){Ha=35;break a}if((La|0)==0){Ra=Da;Sa=Ca;Ta=Ea;Ua=0;Va=2;break}else{Ya=Ma;Za=0;_a=0}while(1){Ma=Za<<2;a[Ya+Ma>>0]=a[ha+(_a+8)>>0]|0;a[(c[B>>2]|0)+(Ma|1)>>0]=a[ha+(_a+9)>>0]|0;a[(c[B>>2]|0)+(Ma|2)>>0]=a[ha+(_a+10)>>0]|0;a[(c[B>>2]|0)+(Ma|3)>>0]=-1;Ma=Za+1|0;if(!(Ma>>>0<(c[C>>2]|0)>>>0)){Ra=Da;Sa=Ca;Ta=Ea;Ua=0;Va=2;break d}Ya=c[B>>2]|0;Za=Ma;_a=_a+3|0}}if(Ka<<24>>24==116)Ha=39;else{Xa=0;Ha=54}}while(0);do if((Ha|0)==39){Ha=0;Ma=a[ra>>0]|0;if(Ma<<24>>24==82)if((a[sa>>0]|0)==78?(a[ta>>0]|0)==83:0){La=c[D>>2]|0;if((La|0)==3){if(Ia>>>0>(c[C>>2]|0)>>>0){Ha=45;break a}if((Ia|0)==0){Ra=Da;Sa=Ca;Ta=Ea;Ua=0;Va=Ga;break}else $a=0;do{a[(c[B>>2]|0)+($a<<2|3)>>0]=a[ha+($a+8)>>0]|0;$a=$a+1|0}while(($a|0)!=(Ia|0));Ra=Da;Sa=Ca;Ta=Ea;Ua=0;Va=Ga}else if((La|0)==2){if((Ia|0)!=6){Ha=51;break a}c[E>>2]=1;c[H>>2]=d[pa>>0]<<8|d[ua>>0];c[G>>2]=d[va>>0]<<8|d[wa>>0];c[F>>2]=d[xa>>0]<<8|d[ya>>0];Ra=Da;Sa=Ca;Ta=Ea;Ua=0;Va=Ga;break}else if((La|0)==0){if((Ia|0)!=2){Ha=48;break a}c[E>>2]=1;Oa=d[pa>>0]<<8|d[ua>>0];c[F>>2]=Oa;c[G>>2]=Oa;c[H>>2]=Oa;Ra=Da;Sa=Ca;Ta=Ea;Ua=0;Va=Ga;break}else{Ha=53;break a}}else{Xa=1;Ha=54}else{ab=Ma;Ha=70}}while(0);e:do if((Ha|0)==54){Ha=0;if(((Ka<<24>>24==98?(a[ra>>0]|0)==75:0)?(a[sa>>0]|0)==71:0)?(a[ta>>0]|0)==68:0)switch(c[D>>2]|0){case 6:case 2:{if((Ia|0)!=6){Ha=66;break a}c[I>>2]=1;c[L>>2]=d[pa>>0]<<8|d[ua>>0];c[K>>2]=d[va>>0]<<8|d[wa>>0];c[J>>2]=d[xa>>0]<<8|d[ya>>0];Ra=Da;Sa=Ca;Ta=Ea;Ua=0;Va=Ga;break e;break};case 3:{if((Ia|0)!=1){Ha=60;break a}c[I>>2]=1;Oa=d[pa>>0]|0;c[J>>2]=Oa;c[K>>2]=Oa;c[L>>2]=Oa;Ra=Da;Sa=Ca;Ta=Ea;Ua=0;Va=Ga;break e;break};case 4:case 0:{if((Ia|0)!=2){Ha=63;break a}c[I>>2]=1;Oa=d[pa>>0]<<8|d[ua>>0];c[J>>2]=Oa;c[K>>2]=Oa;c[L>>2]=Oa;Ra=Da;Sa=Ca;Ta=Ea;Ua=0;Va=Ga;break e;break};default:{Ra=Da;Sa=Ca;Ta=Ea;Ua=0;Va=Ga;break e}}if(Xa){ab=a[ra>>0]|0;Ha=70}else{bb=0;Ha=93}}while(0);if((Ha|0)==70){Ha=0;if((ab<<24>>24==69?(a[sa>>0]|0)==88:0)?(a[ta>>0]|0)==116:0)if((c[M>>2]|0)==0){Ra=Da;Sa=Ca;Ta=Ea;Ua=0;Va=Ga}else{do if((c[x>>2]|0)==0){Oa=0;while(1){if(!(Oa>>>0<Ia>>>0)){Ha=76;break}Na=Oa+1|0;if((a[ha+(Oa+8)>>0]|0)==0){cb=Na;break}else Oa=Na}if((Ha|0)==76){Ha=0;cb=Oa+1|0}if(!(cb>>>0<Ia>>>0)){c[x>>2]=75;db=0;eb=0;break}Ma=ym(cb)|0;if((Ma|0)==0){c[x>>2]=9938;db=0;eb=0;break}a[Ma+Oa>>0]=0;if((Oa|0)!=0){La=0;do{a[Ma+La>>0]=a[ha+(La+8)>>0]|0;La=La+1|0}while((La|0)!=(Oa|0))}if(cb>>>0>Ia>>>0){c[x>>2]=75;db=Ma;eb=0;break}Oa=Ia-cb|0;La=ym(Oa+1|0)|0;if((La|0)==0){c[x>>2]=9939;db=Ma;eb=0;break}a[La+Oa>>0]=0;if((Ia|0)!=(cb|0)){Na=cb+8|0;fb=0;do{a[La+fb>>0]=a[ha+(Na+fb)>>0]|0;fb=fb+1|0}while((fb|0)!=(Oa|0))}c[x>>2]=Sl(N,Ma,La)|0;db=Ma;eb=La}else{db=0;eb=0}while(0);Am(db);Am(eb);Ra=Da;Sa=Ca;Ta=Ea;Ua=0;Va=Ga}else{bb=1;Ha=93}}do if((Ha|0)==93){Ha=0;if(Ka<<24>>24==105){if(((a[ra>>0]|0)==84?(a[sa>>0]|0)==88:0)?(a[ta>>0]|0)==116:0){if((c[M>>2]|0)==0){Ra=Da;Sa=Ca;Ta=Ea;Ua=0;Va=Ga;break}c[v>>2]=0;c[Q>>2]=0;c[R>>2]=0;f:do if((c[x>>2]|0)==0){if(Ia>>>0<5){c[x>>2]=76;gb=0;hb=0;ib=0;break}else jb=0;while(1){Oa=jb+1|0;if((a[ha+(jb+8)>>0]|0)==0){kb=jb;break}if(Oa>>>0<Ia>>>0)jb=Oa;else{kb=Oa;break}}if(!((kb+2|0)>>>0<Ia>>>0)){c[x>>2]=75;gb=0;hb=0;ib=0;break}Oa=ym(kb+1|0)|0;if((Oa|0)==0){c[x>>2]=9941;gb=0;hb=0;ib=0;break}a[Oa+kb>>0]=0;if((kb|0)!=0){fb=0;do{a[Oa+fb>>0]=a[ha+(fb+8)>>0]|0;fb=fb+1|0}while((fb|0)!=(kb|0))}fb=a[ha+(kb+9)>>0]|0;if((a[ha+(kb+10)>>0]|0)!=0){c[x>>2]=72;gb=Oa;hb=0;ib=0;break}Na=kb+3|0;g:do if(Na>>>0<Ia>>>0){lb=Na;mb=0;while(1){if((a[ha+(lb+8)>>0]|0)==0){nb=mb;break g}ob=mb+1|0;lb=lb+1|0;if(!(lb>>>0<Ia>>>0)){nb=ob;break}else mb=ob}}else nb=0;while(0);if(!((kb+4+nb|0)>>>0<Ia>>>0)){c[x>>2]=75;gb=Oa;hb=0;ib=0;break}mb=nb+1|0;lb=ym(mb)|0;if((lb|0)==0){c[x>>2]=9942;gb=Oa;hb=0;ib=0;break}a[lb+nb>>0]=0;if((nb|0)!=0){ob=kb+11|0;pb=0;do{a[lb+pb>>0]=a[ha+(ob+pb)>>0]|0;pb=pb+1|0}while((pb|0)!=(nb|0))}pb=mb+Na|0;h:do if(pb>>>0<Ia>>>0){ob=pb;qb=0;while(1){if((a[ha+(ob+8)>>0]|0)==0){rb=qb;break h}sb=qb+1|0;ob=ob+1|0;if(!(ob>>>0<Ia>>>0)){rb=sb;break}else qb=sb}}else rb=0;while(0);if(!((pb+1+rb|0)>>>0<Ia>>>0)){c[x>>2]=75;gb=Oa;hb=lb;ib=0;break}Na=rb+1|0;mb=ym(Na)|0;if((mb|0)==0){c[x>>2]=9943;gb=Oa;hb=lb;ib=0;break}a[mb+rb>>0]=0;if((rb|0)!=0){qb=pb+8|0;ob=0;do{a[mb+ob>>0]=a[ha+(qb+ob)>>0]|0;ob=ob+1|0}while((ob|0)!=(rb|0))}ob=Na+pb|0;if(ob>>>0>Ia>>>0){c[x>>2]=75;gb=Oa;hb=lb;ib=mb;break}qb=Ia-ob|0;do if(fb<<24>>24==0){sb=qb+1|0;do if((sb|0)!=0){tb=sb<<1;ub=zm(0,tb)|0;if((ub|0)==0){c[x>>2]=9944;gb=Oa;hb=lb;ib=mb;break f}else{c[Q>>2]=tb;c[v>>2]=ub;vb=ub;break}}else vb=0;while(0);c[R>>2]=sb;a[vb+qb>>0]=0;if((Ia|0)==(ob|0)){wb=vb;break}ub=ob+8|0;tb=0;do{a[vb+tb>>0]=a[ha+(ub+tb)>>0]|0;tb=tb+1|0}while(tb>>>0<qb>>>0);wb=vb}else{tb=Ol(v,R,ha+(ob+8)|0,qb,b)|0;c[x>>2]=tb;if((tb|0)!=0){gb=Oa;hb=lb;ib=mb;break f}tb=c[R>>2]|0;ub=tb+1|0;if((c[Q>>2]|0)>>>0<ub>>>0){sb=ub<<1;xb=c[v>>2]|0;yb=zm(xb,sb)|0;if((yb|0)==0){wb=xb;break}c[Q>>2]=sb;c[v>>2]=yb;zb=yb}else zb=c[v>>2]|0;c[R>>2]=ub;a[zb+tb>>0]=0;wb=zb}while(0);c[x>>2]=Ul(S,Oa,lb,mb,wb)|0;gb=Oa;hb=lb;ib=mb}else{gb=0;hb=0;ib=0}while(0);Am(gb);Am(hb);Am(ib);c[Q>>2]=0;c[R>>2]=0;Am(c[v>>2]|0);c[v>>2]=0;if((c[x>>2]|0)==0){Ra=Da;Sa=Ca;Ta=Ea;Ua=0;Va=Ga;break}else{Ab=Ea;break a}}}else if(((Ka<<24>>24==122?(a[ra>>0]|0)==84:0)?(a[sa>>0]|0)==88:0)?(a[ta>>0]|0)==116:0){if((c[M>>2]|0)==0){Ra=Da;Sa=Ca;Ta=Ea;Ua=0;Va=Ga;break}c[u>>2]=0;c[O>>2]=0;c[P>>2]=0;do if((c[x>>2]|0)==0){i:do if((Ia|0)==0)Bb=0;else{La=0;while(1){Ma=La+1|0;if((a[ha+(La+8)>>0]|0)==0){Bb=La;break i}if(Ma>>>0<Ia>>>0)La=Ma;else{Bb=Ma;break}}}while(0);mb=Bb+2|0;if(!(mb>>>0<Ia>>>0)){c[x>>2]=75;Cb=0;Db=0;break}lb=ym(Bb+1|0)|0;if((lb|0)==0){c[x>>2]=9940;Cb=0;Db=0;break}a[lb+Bb>>0]=0;if((Bb|0)!=0){Oa=0;do{a[lb+Oa>>0]=a[ha+(Oa+8)>>0]|0;Oa=Oa+1|0}while((Oa|0)!=(Bb|0))}if((a[ha+(Bb+9)>>0]|0)!=0){c[x>>2]=72;Cb=0;Db=lb;break}if(mb>>>0>Ia>>>0){c[x>>2]=75;Cb=0;Db=lb;break}Oa=Ol(u,P,ha+(Bb+10)|0,Ia-mb|0,b)|0;c[x>>2]=Oa;if((Oa|0)!=0){Cb=c[u>>2]|0;Db=lb;break}Oa=c[P>>2]|0;La=Oa+1|0;do if((c[O>>2]|0)>>>0<La>>>0){Ma=La<<1;qb=c[u>>2]|0;ob=zm(qb,Ma)|0;if((ob|0)==0){Eb=qb;break}c[O>>2]=Ma;c[u>>2]=ob;Fb=ob;Ha=118}else{Fb=c[u>>2]|0;Ha=118}while(0);if((Ha|0)==118){Ha=0;c[P>>2]=La;a[Fb+Oa>>0]=0;Eb=Fb}c[x>>2]=Sl(N,lb,Eb)|0;Cb=Eb;Db=lb}else{Cb=0;Db=0}while(0);Am(Db);c[O>>2]=0;c[P>>2]=0;Am(Cb);c[u>>2]=0;if((c[x>>2]|0)==0){Ra=Da;Sa=Ca;Ta=Ea;Ua=0;Va=Ga;break}else{Ab=Ea;break a}}if(((bb?(a[ra>>0]|0)==73:0)?(a[sa>>0]|0)==77:0)?(a[ta>>0]|0)==69:0){if((Ia|0)!=7){Ha=181;break a}a[T>>0]=1;c[U>>2]=d[pa>>0]<<8|d[ua>>0];a[V>>0]=a[va>>0]|0;a[W>>0]=a[wa>>0]|0;a[X>>0]=a[xa>>0]|0;a[Y>>0]=a[ya>>0]|0;a[Z>>0]=a[za>>0]|0;Ra=Da;Sa=Ca;Ta=Ea;Ua=0;Va=Ga;break}if(!(Ka<<24>>24==112)){Ha=190;break b}if((a[ra>>0]|0)!=72){Ha=192;break b}if((a[sa>>0]|0)!=89){Ha=192;break b}if((a[ta>>0]|0)!=115){Ha=192;break b}if((Ia|0)!=9){Ha=188;break a}c[_>>2]=1;c[$>>2]=d[ua>>0]<<16|d[pa>>0]<<24|d[va>>0]<<8|d[wa>>0];c[ba>>2]=d[ya>>0]<<16|d[xa>>0]<<24|d[za>>0]<<8|d[Aa>>0];a[ca>>0]=a[Ba>>0]|0;Ra=Da;Sa=Ca;Ta=Ea;Ua=0;Va=Ga}while(0);if((c[A>>2]|ja|0)==0?(Ia=d[ma>>0]<<16|d[ha>>0]<<24|d[na>>0]<<8|d[oa>>0],mb=d[ha+(Ia+9)>>0]<<16|d[ha+(Ia+8)>>0]<<24|d[ha+(Ia+10)>>0]<<8|d[ha+(Ia+11)>>0],(mb|0)!=(Ql(qa,Ia+4|0)|0)):0){Ha=201;break a}if(Ua<<24>>24==0){Gb=Ra;Hb=Sa;Ib=Ta;Jb=Va;Kb=ja;break}else{Ca=Sa;Da=Ra;Ea=Ta;Fa=Ua;Ga=Va}}if((Ha|0)==190){Ha=0;if((Ka&32)==0){Ha=191;break}else Ha=192}if((Ha|0)==192){Ha=0;if((c[da>>2]|0)==0){Gb=Da;Hb=Ca;Ib=Ea;Jb=Ga;Kb=1}else{Fa=Ga+ -1|0;qa=b+(Fa<<2)+184|0;Ba=b+(Fa<<2)+196|0;Fa=c[Ba>>2]|0;Aa=Fa+Ja|0;if(Aa>>>0<Ja>>>0|Aa>>>0<Fa>>>0){Lb=77;Ha=198;break}za=zm(c[qa>>2]|0,Aa)|0;if((za|0)==0){Lb=9929;Ha=198;break}c[qa>>2]=za;c[Ba>>2]=Aa;if((Ja|0)!=0){Aa=0;do{a[za+(Aa+Fa)>>0]=a[ha+Aa>>0]|0;Aa=Aa+1|0}while((Aa|0)!=(Ja|0))}c[x>>2]=0;Gb=Da;Hb=Ca;Ib=Ea;Jb=Ga;Kb=1}}ea=Gb;fa=Hb;ga=Ib;ha=ha+((d[ma>>0]<<16|d[ha>>0]<<24|d[na>>0]<<8|d[oa>>0])+12)|0;ia=Jb;ja=Kb}switch(Ha|0){case 6:{c[x>>2]=30;Ab=Ea;break};case 8:{c[x>>2]=63;Ab=Ea;break};case 11:{c[x>>2]=35;Ab=Ea;break};case 19:{c[x>>2]=9936;Ab=Ea;break};case 33:{c[C>>2]=0;c[x>>2]=9937;Ab=Ea;break};case 35:{c[x>>2]=38;Ab=Ea;break};case 45:{c[x>>2]=39;Ab=Ea;break};case 48:{c[x>>2]=40;Ab=Ea;break};case 51:{c[x>>2]=41;Ab=Ea;break};case 53:{c[x>>2]=42;Ab=Ea;break};case 60:{c[x>>2]=43;Ab=Ea;break};case 63:{c[x>>2]=44;Ab=Ea;break};case 66:{c[x>>2]=45;Ab=Ea;break};case 181:{c[x>>2]=73;Ab=Ea;break};case 188:{c[x>>2]=74;Ab=Ea;break};case 191:{c[x>>2]=69;Ab=Ea;break};case 198:{c[x>>2]=Lb;Ab=Ea;break};case 201:{c[x>>2]=57;Ab=Ta;break};case 204:{if((c[x>>2]|0)==0){c[w>>2]=0;Ta=w+8|0;c[Ta>>2]=0;Lb=w+4|0;c[Lb>>2]=0;C=b+52|0;Kb=c[C>>2]|0;ja=b+56|0;Jb=c[ja>>2]|0;ia=b+76|0;ha=c[ia>>2]|0;switch(c[D>>2]|0){case 2:{Mb=3;break};case 4:{Mb=2;break};case 6:{Mb=4;break};case 3:case 0:{Mb=1;break};default:Mb=0}Ib=((aa((aa(aa(ha,Jb)|0,Mb)|0)+7|0,Kb)|0)>>>3)+Jb|0;do if((Ib|0)!=0){Jb=Ib<<1;Kb=zm(0,Jb)|0;if((Kb|0)!=0){c[Ta>>2]=Jb;c[w>>2]=Kb;Kb=(c[x>>2]|0)==0;c[Lb>>2]=Ib;if(Kb){Ha=214;break}else break}else{c[x>>2]=9945;break}}else{c[Lb>>2]=0;Ha=214}while(0);if((Ha|0)==214?(Ib=Ol(w,Lb,Ea,Ca,b)|0,c[x>>2]=Ib,(Ib|0)==0):0){Ib=c[ja>>2]|0;Ca=c[C>>2]|0;Kb=c[D>>2]|0;Jb=c[ia>>2]|0;switch(Kb|0){case 2:{Nb=3;break};case 4:{Nb=2;break};case 6:{Nb=4;break};case 3:case 0:{Nb=1;break};default:Nb=0}Mb=((aa(aa(aa(Ca,Ib)|0,Jb)|0,Nb)|0)+7|0)>>>3;do if((Mb|0)!=0){Nb=zm(0,Mb<<1)|0;if((Nb|0)==0){c[x>>2]=9946;Ob=0;Pb=0;break}ip(Nb|0,0,Mb|0)|0;if((c[x>>2]|0)==0){Qb=Nb;Rb=c[D>>2]|0;Sb=c[ia>>2]|0;Ha=225}else{Ob=Nb;Pb=Mb}}else{Qb=0;Rb=Kb;Sb=Jb;Ha=225}while(0);if((Ha|0)==225){Ha=c[w>>2]|0;switch(Rb|0){case 2:{Tb=3;break};case 4:{Tb=2;break};case 6:{Tb=4;break};case 3:case 0:{Tb=1;break};default:Tb=0}Rb=aa(Tb,Sb)|0;Sb=c[C>>2]|0;C=c[ja>>2]|0;j:do if((Rb|0)==0)Ub=31;else{if((c[b+68>>2]|0)==0){if(Rb>>>0<8?(ja=aa(Sb,Rb)|0,Tb=ja+7&-8,(ja|0)!=(Tb|0)):0){Jb=gm(Ha,Ha,Sb,C,Rb)|0;if((Jb|0)!=0){Ub=Jb;break}Jb=Tb-ja|0;if((C|0)==0){Ub=0;break}Tb=(ja|0)==0;Kb=0;ia=0;D=0;while(1){if(Tb){Vb=ia;Wb=Kb}else{Nb=ia;Ib=Kb;Ca=0;while(1){ha=1<<(Ib&7^7);if((1<<(Nb&7^7)&d[Ha+(Nb>>>3)>>0]|0)==0){ga=Qb+(Ib>>>3)|0;a[ga>>0]=d[ga>>0]&(ha^255)}else{ga=Qb+(Ib>>>3)|0;a[ga>>0]=d[ga>>0]|ha}Ca=Ca+1|0;if((Ca|0)==(ja|0))break;else{Nb=Nb+1|0;Ib=Ib+1|0}}Vb=ia+ja|0;Wb=Kb+ja|0}D=D+1|0;if((D|0)==(C|0)){Ub=0;break j}else{Kb=Wb;ia=Jb+Vb|0}}}Ub=gm(Qb,Ha,Sb,C,Rb)|0;break}fm(p,q,r,s,t,Sb,C,Rb);Jb=Rb>>>0<8;ia=0;do{Kb=c[s+(ia<<2)>>2]|0;D=c[p+(ia<<2)>>2]|0;ja=c[q+(ia<<2)>>2]|0;Tb=gm(Ha+Kb|0,Ha+(c[r+(ia<<2)>>2]|0)|0,D,ja,Rb)|0;if((Tb|0)!=0){Ub=Tb;break j}if(Jb?(Tb=c[t+(ia<<2)>>2]|0,oa=aa(D,Rb)|0,D=(oa+7&-8)-oa|0,(ja|0)!=0):0){na=(oa|0)==0;ma=0;Ga=0;Da=0;while(1){if(na){Xb=Ga;Yb=ma}else{Ib=Ga;Nb=ma;Ca=0;while(1){ha=1<<(Nb&7^7);if((1<<(Ib&7^7)&d[Ha+((Ib>>>3)+Kb)>>0]|0)==0){ga=Ha+((Nb>>>3)+Tb)|0;a[ga>>0]=d[ga>>0]&(ha^255)}else{ga=Ha+((Nb>>>3)+Tb)|0;a[ga>>0]=d[ga>>0]|ha}Ca=Ca+1|0;if((Ca|0)==(oa|0))break;else{Ib=Ib+1|0;Nb=Nb+1|0}}Xb=Ga+oa|0;Yb=ma+oa|0}Da=Da+1|0;if((Da|0)==(ja|0))break;else{ma=Yb;Ga=D+Xb|0}}}ia=ia+1|0}while(ia>>>0<7);fm(k,l,m,n,o,Sb,C,Rb);if(Rb>>>0>7){ia=Rb>>>3;Jb=(ia|0)==0;D=0;while(1){Ga=c[l+(D<<2)>>2]|0;if((Ga|0)!=0){ma=c[k+(D<<2)>>2]|0;ja=(ma|0)==0;Da=o+(D<<2)|0;oa=961536+(D<<2)|0;Tb=961568+(D<<2)|0;Kb=961600+(D<<2)|0;na=961632+(D<<2)|0;Nb=0;do{if(!ja){Ib=c[Da>>2]|0;Ca=aa((aa(c[Tb>>2]|0,Nb)|0)+(c[oa>>2]|0)|0,Sb)|0;ha=Ca+(c[Kb>>2]|0)|0;Ca=c[na>>2]|0;ga=aa(Nb,ma)|0;Hb=0;do{fa=(aa(Hb+ga|0,ia)|0)+Ib|0;Gb=aa(ha+(aa(Hb,Ca)|0)|0,ia)|0;if(!Jb){ea=0;do{a[Qb+(ea+Gb)>>0]=a[Ha+(fa+ea)>>0]|0;ea=ea+1|0}while(ea>>>0<ia>>>0)}Hb=Hb+1|0}while((Hb|0)!=(ma|0))}Nb=Nb+1|0}while((Nb|0)!=(Ga|0))}D=D+1|0;if((D|0)==7){Ub=0;break j}}}else Zb=0;do{D=c[k+(Zb<<2)>>2]|0;ia=c[l+(Zb<<2)>>2]|0;if((ia|0)!=0){Jb=(D|0)==0;Ga=o+(Zb<<2)|0;Nb=961536+(Zb<<2)|0;ma=961568+(Zb<<2)|0;na=961600+(Zb<<2)|0;Kb=961632+(Zb<<2)|0;oa=0;do{if(!Jb){Tb=c[Ga>>2]<<3;Da=aa(oa,D)|0;ja=aa((aa(c[ma>>2]|0,oa)|0)+(c[Nb>>2]|0)|0,Sb)|0;Hb=c[Kb>>2]|0;Ca=ja+(c[na>>2]|0)|0;ja=0;do{ha=(aa(ja+Da|0,Rb)|0)+Tb|0;Ib=aa(Ca+(aa(ja,Hb)|0)|0,Rb)|0;ga=0;while(1){ea=(d[Ha+(ha>>>3)>>0]|0)>>>(ha&7^7)&1;if((ea|0)!=0){fa=Qb+(Ib>>>3)|0;a[fa>>0]=d[fa>>0]|ea<<(Ib&7^7)}ga=ga+1|0;if((ga|0)==(Rb|0))break;else{ha=ha+1|0;Ib=Ib+1|0}}ja=ja+1|0}while((ja|0)!=(D|0))}oa=oa+1|0}while((oa|0)!=(ia|0))}Zb=Zb+1|0}while((Zb|0)!=7);Ub=0}while(0);c[x>>2]=Ub;Ob=Qb;Pb=Mb}c[e>>2]=Ob;c[f>>2]=Pb}c[Ta>>2]=0;c[Lb>>2]=0;Am(c[w>>2]|0);c[w>>2]=0;Ab=Ea}else Ab=Ea;break}}Am(Ab);_b=c[x>>2]|0}else _b=y;if((_b|0)!=0){i=j;return}_b=b+20|0;y=b+72|0;if((c[b+8>>2]|0)==0){Ab=b+28|0;Ea=c[Ab>>2]|0;if((Ea|0)!=0)Am(Ea);c[_b+0>>2]=c[y+0>>2];c[_b+4>>2]=c[y+4>>2];c[_b+8>>2]=c[y+8>>2];c[_b+12>>2]=c[y+12>>2];c[_b+16>>2]=c[y+16>>2];c[_b+20>>2]=c[y+20>>2];c[_b+24>>2]=c[y+24>>2];c[_b+28>>2]=c[y+28>>2];Ea=b+84|0;w=ym(c[Ea>>2]<<2)|0;c[Ab>>2]=w;Lb=c[Ea>>2]|0;if((w|0)==0){$b=(Lb|0)==0?0:9935;c[x>>2]=$b;i=j;return}if((Lb&1073741823|0)==0){$b=0;c[x>>2]=$b;i=j;return}Lb=b+80|0;a[w>>0]=a[c[Lb>>2]>>0]|0;if(c[Ea>>2]<<2>>>0>1)ac=1;else{$b=0;c[x>>2]=$b;i=j;return}do{a[(c[Ab>>2]|0)+ac>>0]=a[(c[Lb>>2]|0)+ac>>0]|0;ac=ac+1|0}while(ac>>>0<c[Ea>>2]<<2>>>0);$b=0;c[x>>2]=$b;i=j;return}$b=c[_b>>2]|0;if(($b|0)==(c[y>>2]|0)?(c[b+24>>2]|0)==(c[b+76>>2]|0):0){i=j;return}Ea=c[e>>2]|0;if(!(($b|0)==6|($b|0)==2)?(c[b+24>>2]|0)!=8:0){c[x>>2]=56;i=j;return}ac=b+52|0;Lb=c[ac>>2]|0;Ab=b+56|0;w=c[Ab>>2]|0;Ta=c[b+24>>2]|0;switch($b|0){case 2:{bc=3;break};case 4:{bc=2;break};case 6:{bc=4;break};case 3:case 0:{bc=1;break};default:bc=0}$b=((aa(aa(aa(w,Lb)|0,Ta)|0,bc)|0)+7|0)>>>3;c[f>>2]=$b;bc=ym($b)|0;c[e>>2]=bc;if((bc|0)==0){c[x>>2]=9947;c[f>>2]=0}else c[x>>2]=Wl(bc,Ea,_b,y,c[ac>>2]|0,c[Ab>>2]|0)|0;Am(Ea);i=j;return}function Zl(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 j=0,k=0,l=0,m=0,n=0,o=0,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;j=i;i=i+224|0;k=j+212|0;l=j;m=c[f>>2]|0;if((m|0)==0){n=c[f+8>>2]|0;ub(n|0,0,2)|0;o=Ja(n|0)|0;Da(n|0);p=ym(o)|0;qa(p|0,1,o|0,n|0)|0;c[l+8>>2]=1;c[l+12>>2]=1;c[l+4>>2]=0;c[l+16>>2]=0;c[l>>2]=0;n=l+20|0;q=l+24|0;r=l+28|0;s=l+32|0;t=l+56|0;u=l+52|0;v=l+88|0;w=l+72|0;c[v+0>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[r+0>>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[w>>2]=6;c[l+76>>2]=8;c[l+80>>2]=0;c[l+84>>2]=0;c[l+68>>2]=0;c[l+60>>2]=0;c[l+64>>2]=0;w=l+104|0;c[l+168>>2]=0;v=l+184|0;c[v+0>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;x=w+0|0;y=x+48|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));a[w+48>>0]=0;w=l+208|0;c[w>>2]=1;c[n>>2]=g;c[q>>2]=h;Yl(l,b,k,p,o);o=c[w>>2]|0;c[d>>2]=c[u>>2];c[e>>2]=c[t>>2];t=c[r>>2]|0;if((t|0)!=0)Am(t);c[s>>2]=0;Vl(l+52|0);Am(p);z=c[f>>2]|0;A=o}else{z=m;A=0}if((z|0)!=1){B=A;i=j;return B|0}c[f+20>>2]=0;A=c[f+12>>2]|0;z=c[f+16>>2]|0;c[l+8>>2]=1;c[l+12>>2]=1;c[l+4>>2]=0;c[l+16>>2]=0;c[l>>2]=0;f=l+20|0;m=l+24|0;o=l+28|0;p=l+32|0;s=l+56|0;t=l+52|0;r=l+88|0;u=l+72|0;c[r+0>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[r+12>>2]=0;c[o+0>>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[u>>2]=6;c[l+76>>2]=8;c[l+80>>2]=0;c[l+84>>2]=0;c[l+68>>2]=0;c[l+60>>2]=0;c[l+64>>2]=0;u=l+104|0;c[l+168>>2]=0;r=l+184|0;c[r+0>>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;x=u+0|0;y=x+48|0;do{c[x>>2]=0;x=x+4|0}while((x|0)<(y|0));a[u+48>>0]=0;u=l+208|0;c[u>>2]=1;c[f>>2]=g;c[m>>2]=h;Yl(l,b,k,A,z);z=c[u>>2]|0;c[d>>2]=c[t>>2];c[e>>2]=c[s>>2];s=c[o>>2]|0;if((s|0)!=0)Am(s);c[p>>2]=0;Vl(l+52|0);B=z;i=j;return B|0}function _l(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=i;f=Zl(a,b,c,d,6,8)|0;i=e;return f|0}function $l(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|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,W=0,X=0,Y=0,Z=0,_=0,$=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,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;k=i;i=i+192|0;l=k+176|0;m=k+20|0;n=k+8|0;o=k+4|0;p=k;c[o>>2]=0;c[p>>2]=0;c[e>>2]=0;c[f>>2]=0;q=b+216|0;c[q>>2]=0;hp(m|0,b+28|0,156)|0;c[m>>2]=h;c[m+4>>2]=j;a:do if((c[b+12>>2]|0)!=0){r=aa(j,h)|0;s=c[b+184>>2]|0;b:do if((s|0)==3){t=c[b+192>>2]|0;u=c[b+196>>2]|0;if((u|0)!=0){v=0;do{if(!((a[t+(v<<2|3)>>0]|0)==-1))break a;v=v+1|0}while(v>>>0<u>>>0)}}else if((s|0)==6){u=(r|0)==0;if((c[b+188>>2]|0)==8){if(u)break;else w=0;while(1){if(!((a[g+(w<<2|3)>>0]|0)==-1))break a;w=w+1|0;if(!(w>>>0<r>>>0))break b}}if(!u){v=0;do{t=v<<3;if(!((a[g+(t|6)>>0]|0)==-1))break a;v=v+1|0;if(!((a[g+(t|7)>>0]|0)==-1))break a}while(v>>>0<r>>>0)}}else if((s|0)==4){v=(r|0)==0;if((c[b+188>>2]|0)==8){if(v)break;else x=0;while(1){if(!((a[g+(x<<1|1)>>0]|0)==-1))break a;x=x+1|0;if(!(x>>>0<r>>>0))break b}}if(!v){u=0;do{t=u<<2;if(!((a[g+(t|2)>>0]|0)==-1))break a;u=u+1|0;if(!((a[g+(t|3)>>0]|0)==-1))break a}while(u>>>0<r>>>0)}}else break a;while(0);r=m+20|0;s=c[r>>2]|0;if((s|0)==6){c[r>>2]=2;break}else if((s|0)==4){c[r>>2]=0;break}else break}while(0);if((c[b+8>>2]|0)>>>0>32768){c[q>>2]=60;i=k;return}if((c[b>>2]|0)>>>0>2){c[q>>2]=61;i=k;return}if((c[b+44>>2]|0)>>>0>1){c[q>>2]=71;i=k;return}x=m+20|0;w=c[x>>2]|0;r=m+24|0;s=c[r>>2]|0;switch(w|0){case 0:{if(!((s+ -1|0)>>>0<2|(s|0)==4|(s|0)==8|(s|0)==16)){y=37;z=37}break};case 2:{if(!((s|0)==8|(s|0)==16)){y=37;z=37}break};case 3:{if(!((s+ -1|0)>>>0<2|(s|0)==4|(s|0)==8)){y=37;z=37}break};case 4:{if(!((s|0)==8|(s|0)==16)){y=37;z=37}break};case 6:{if(!((s|0)==8|(s|0)==16)){y=37;z=37}break};default:{y=31;z=37}}if((z|0)==37){c[q>>2]=y;i=k;return}c[q>>2]=0;y=b+184|0;u=c[y>>2]|0;v=c[b+188>>2]|0;switch(u|0){case 0:{if(!((v+ -1|0)>>>0<2|(v|0)==4|(v|0)==8|(v|0)==16)){A=37;z=44}break};case 4:{if(!((v|0)==8|(v|0)==16)){A=37;z=44}break};case 6:{if(!((v|0)==8|(v|0)==16)){A=37;z=44}break};case 3:{if(!((v+ -1|0)>>>0<2|(v|0)==4|(v|0)==8)){A=37;z=44}break};case 2:{if(!((v|0)==8|(v|0)==16)){A=37;z=44}break};default:{A=31;z=44}}if((z|0)==44){c[q>>2]=A;i=k;return}c[q>>2]=0;do if((u|0)==(w|0)&(v|0)==(s|0))am(o,p,g,m);else{switch(w|0){case 6:{B=4;z=50;break};case 2:{B=3;z=50;break};case 4:{B=2;z=50;break};case 3:case 0:{C=1;break};default:{B=0;z=50}}if((z|0)==50)C=B;A=((aa(aa(aa(j,h)|0,s)|0,C)|0)+7|0)>>>3;if((w|0)==2|(w|0)==6?(s|0)==8:0){t=ym(A)|0;if((t|0)!=0|(A|0)==0){if((c[q>>2]|0)==0?(A=Wl(t,g,x,y,h,j)|0,c[q>>2]=A,(A|0)==0):0)am(o,p,t,m)}else c[q>>2]=9955;Am(t);break}c[q>>2]=59;i=k;return}while(0);c[n>>2]=0;y=n+8|0;c[y>>2]=0;g=n+4|0;c[g>>2]=0;c:do if((c[q>>2]|0)==0){s=zm(0,2)|0;if((s|0)==0){w=1<<1;C=zm(0,w)|0;if((C|0)==0){D=0;E=0;F=0}else{c[y>>2]=w;c[n>>2]=C;G=w;H=1;I=C;J=0;z=66}}else{c[y>>2]=2;c[n>>2]=s;c[g>>2]=1;a[s>>0]=-119;G=2;H=2;I=s;J=1;z=66}if((z|0)==66){c[g>>2]=H;a[I+J>>0]=80;D=I;E=H;F=G}s=E+1|0;if(F>>>0<s>>>0){C=s<<1;w=zm(D,C)|0;if((w|0)==0){K=D;L=E;M=F}else{c[y>>2]=C;c[n>>2]=w;N=C;O=w;z=70}}else{N=F;O=D;z=70}if((z|0)==70){c[g>>2]=s;a[O+E>>0]=78;K=O;L=s;M=N}s=L+1|0;if(M>>>0<s>>>0){w=s<<1;C=zm(K,w)|0;if((C|0)==0){P=K;Q=L;R=M}else{c[y>>2]=w;c[n>>2]=C;S=w;T=C;z=74}}else{S=M;T=K;z=74}if((z|0)==74){c[g>>2]=s;a[T+L>>0]=71;P=T;Q=s;R=S}s=Q+1|0;if(R>>>0<s>>>0){C=s<<1;w=zm(P,C)|0;if((w|0)==0){U=P;V=Q;W=R}else{c[y>>2]=C;c[n>>2]=w;X=C;Y=w;z=78}}else{X=R;Y=P;z=78}if((z|0)==78){c[g>>2]=s;a[Y+Q>>0]=13;U=Y;V=s;W=X}s=V+1|0;if(W>>>0<s>>>0){w=s<<1;C=zm(U,w)|0;if((C|0)==0){Z=U;_=V;$=W}else{c[y>>2]=w;c[n>>2]=C;ba=w;ca=C;z=82}}else{ba=W;ca=U;z=82}if((z|0)==82){c[g>>2]=s;a[ca+V>>0]=10;Z=ca;_=s;$=ba}s=_+1|0;if($>>>0<s>>>0){C=s<<1;w=zm(Z,C)|0;if((w|0)==0){da=Z;ea=_;fa=$}else{c[y>>2]=C;c[n>>2]=w;ga=C;ha=w;z=86}}else{ga=$;ha=Z;z=86}if((z|0)==86){c[g>>2]=s;a[ha+_>>0]=26;da=ha;ea=s;fa=ga}s=ea+1|0;if(fa>>>0<s>>>0){w=s<<1;C=zm(da,w)|0;if((C|0)!=0){c[y>>2]=w;c[n>>2]=C;ia=C;z=90}}else{ia=da;z=90}if((z|0)==90){c[g>>2]=s;a[ia+ea>>0]=10}s=c[r>>2]|0;C=c[x>>2]|0;w=c[m+16>>2]|0;B=zm(0,8)|0;v=(B|0)==0;u=v?0:8;t=v?0:4;a[B+(t+ -4)>>0]=h>>>24;a[B+(t+ -3)>>0]=h>>>16;a[B+(t+ -2)>>0]=h>>>8;a[B+(t+ -1)>>0]=h;v=t+4|0;if(u>>>0<v>>>0){A=v<<1;ja=zm(B,A)|0;ka=(ja|0)==0;la=ka?t:v;ma=ka?B:ja;na=ka?u:A}else{la=v;ma=B;na=u}a[ma+(la+ -4)>>0]=j>>>24;a[ma+(la+ -3)>>0]=j>>>16;a[ma+(la+ -2)>>0]=j>>>8;a[ma+(la+ -1)>>0]=j;u=s&255;s=la+1|0;if(na>>>0<s>>>0){B=s<<1;v=zm(ma,B)|0;if((v|0)==0){oa=la;pa=na;qa=ma}else{ra=B;sa=v;z=95}}else{ra=na;sa=ma;z=95}if((z|0)==95){a[sa+la>>0]=u;oa=s;pa=ra;qa=sa}s=C&255;C=oa+1|0;if(pa>>>0<C>>>0){u=C<<1;v=zm(qa,u)|0;if((v|0)==0){ta=oa;ua=pa;va=qa}else{wa=u;xa=v;z=98}}else{wa=pa;xa=qa;z=98}if((z|0)==98){a[xa+oa>>0]=s;ta=C;ua=wa;va=xa}C=ta+1|0;if(ua>>>0<C>>>0){s=C<<1;v=zm(va,s)|0;if((v|0)==0){ya=ta;za=ua;Aa=va}else{Ba=s;Ca=v;z=101}}else{Ba=ua;Ca=va;z=101}if((z|0)==101){a[Ca+ta>>0]=0;ya=C;za=Ba;Aa=Ca}C=ya+1|0;if(za>>>0<C>>>0){v=C<<1;s=zm(Aa,v)|0;if((s|0)==0){Da=ya;Ea=za;Fa=Aa}else{Ga=v;Ha=s;z=104}}else{Ga=za;Ha=Aa;z=104}if((z|0)==104){a[Ha+ya>>0]=0;Da=C;Ea=Ga;Fa=Ha}C=w&255;w=Da+1|0;if(Ea>>>0<w>>>0){s=zm(Fa,w<<1)|0;if((s|0)==0){Ia=Da;Ja=Fa}else{Ka=s;z=107}}else{Ka=Fa;z=107}if((z|0)==107){a[Ka+Da>>0]=C;Ia=w;Ja=Ka}if((Rl(n,g,Ia,961528,Ja)|0)==0)c[y>>2]=c[g>>2];Am(Ja);w=c[m+132>>2]|0;if((w|0)!=0){C=c[m+144>>2]|0;s=w;d:do if((C|0)!=0){v=c[g>>2]|0;u=w;while(1){B=u+1|0;A=u+2|0;ka=u+3|0;ja=(d[B>>0]<<16|d[u>>0]<<24|d[A>>0]<<8|d[ka>>0])+12|0;t=v;v=ja+v|0;if(v>>>0<ja>>>0|v>>>0<t>>>0){La=77;break}Ma=zm(c[n>>2]|0,v)|0;if((Ma|0)==0){La=9929;break}c[n>>2]=Ma;c[g>>2]=v;if((ja|0)!=0){Na=0;do{a[Ma+(Na+t)>>0]=a[u+Na>>0]|0;Na=Na+1|0}while((Na|0)!=(ja|0))}c[y>>2]=v;u=u+((d[B>>0]<<16|d[u>>0]<<24|d[A>>0]<<8|d[ka>>0])+12)|0;if(!((u-s|0)>>>0<C>>>0))break d}c[q>>2]=La;break c}while(0);c[q>>2]=0}if((c[x>>2]|0)==3){C=m+32|0;s=c[C>>2]|0;if((s|0)==0|s>>>0>256){c[q>>2]=68;break}if((s&1073741823|0)==0){Oa=0;Pa=0}else{w=m+28|0;u=s;s=0;v=0;ja=0;Na=0;while(1){if((Na&3|0)==3){Qa=v;Ra=s;Sa=ja;Ta=u}else{t=a[(c[w>>2]|0)+Na>>0]|0;Ma=s+1|0;if(v>>>0<Ma>>>0){Ua=Ma<<1;Va=zm(ja,Ua)|0;if((Va|0)==0){Wa=v;Xa=s;Ya=ja}else{Za=Ua;_a=Va;z=128}}else{Za=v;_a=ja;z=128}if((z|0)==128){z=0;a[_a+s>>0]=t;Wa=Za;Xa=Ma;Ya=_a}Qa=Wa;Ra=Xa;Sa=Ya;Ta=c[C>>2]|0}Na=Na+1|0;if(!(Na>>>0<Ta<<2>>>0)){Oa=Ra;Pa=Sa;break}else{u=Ta;s=Ra;v=Qa;ja=Sa}}}if((Rl(n,g,Oa,961520,Pa)|0)==0)c[y>>2]=c[g>>2];Am(Pa)}do if((c[b+16>>2]|0)==0)z=149;else{ja=c[x>>2]|0;if(!((ja|0)==6|(ja|0)==2)){$a=ja;break}ja=m+32|0;v=c[ja>>2]|0;if((v|0)==0|v>>>0>256){c[q>>2]=68;break c}if((v&1073741823|0)==0){ab=0;bb=0}else{s=m+28|0;u=v;v=0;Na=0;C=0;w=0;while(1){if((w&3|0)==3){cb=Na;db=v;eb=C;fb=u}else{Ma=a[(c[s>>2]|0)+w>>0]|0;t=v+1|0;if(Na>>>0<t>>>0){Va=t<<1;Ua=zm(C,Va)|0;if((Ua|0)==0){gb=Na;hb=v;ib=C}else{jb=Va;kb=Ua;z=143}}else{jb=Na;kb=C;z=143}if((z|0)==143){z=0;a[kb+v>>0]=Ma;gb=jb;hb=t;ib=kb}cb=gb;db=hb;eb=ib;fb=c[ja>>2]|0}w=w+1|0;if(!(w>>>0<fb<<2>>>0)){ab=db;bb=eb;break}else{u=fb;v=db;Na=cb;C=eb}}}if((Rl(n,g,ab,961520,bb)|0)==0)c[y>>2]=c[g>>2];Am(bb);z=149}while(0);if((z|0)==149)$a=c[x>>2]|0;e:do if(($a|0)==3){C=c[m+28>>2]|0;Na=c[m+32>>2]|0;if((Na|0)==0)break;else lb=0;while(1){if(!((a[C+(lb<<2|3)>>0]|0)==-1))break;lb=lb+1|0;if(!(lb>>>0<Na>>>0))break e}bm(n,x);mb=c[x>>2]|0;z=155}else{mb=$a;z=155}while(0);do if((z|0)==155){if(!((mb|0)==2|(mb|0)==0))break;if((c[m+36>>2]|0)==0)break;bm(n,x)}while(0);if((c[m+52>>2]|0)!=0){f:do switch(c[m+20>>2]|0){case 3:{Na=c[m+56>>2]|0;C=zm(0,2)|0;if((C|0)==0){nb=0;ob=0;break f}a[C>>0]=Na;nb=1;ob=C;break};case 6:case 2:{C=m+56|0;Na=c[C>>2]|0;v=zm(0,2)|0;if((v|0)==0){u=c[C>>2]|0;w=zm(0,2)|0;if((w|0)==0){pb=0;qb=0;rb=0}else{sb=u;tb=1;ub=w;vb=0;z=167}}else{a[v>>0]=Na>>>8;sb=c[C>>2]|0;tb=2;ub=v;vb=1;z=167}if((z|0)==167){a[ub+vb>>0]=sb;pb=tb;qb=2;rb=ub}v=m+60|0;C=(c[v>>2]|0)>>>8&255;Na=pb+1|0;if(qb>>>0<Na>>>0){w=Na<<1;u=zm(rb,w)|0;if((u|0)==0){wb=pb;xb=qb;yb=rb}else{zb=w;Ab=u;z=170}}else{zb=qb;Ab=rb;z=170}if((z|0)==170){a[Ab+pb>>0]=C;wb=Na;xb=zb;yb=Ab}Na=c[v>>2]&255;v=wb+1|0;if(xb>>>0<v>>>0){C=v<<1;u=zm(yb,C)|0;if((u|0)==0){Bb=wb;Cb=xb;Db=yb}else{Eb=C;Fb=u;z=173}}else{Eb=xb;Fb=yb;z=173}if((z|0)==173){a[Fb+wb>>0]=Na;Bb=v;Cb=Eb;Db=Fb}v=m+64|0;Na=(c[v>>2]|0)>>>8&255;u=Bb+1|0;if(Cb>>>0<u>>>0){C=u<<1;w=zm(Db,C)|0;if((w|0)==0){Gb=Bb;Hb=Cb;Ib=Db}else{Jb=C;Kb=w;z=176}}else{Jb=Cb;Kb=Db;z=176}if((z|0)==176){a[Kb+Bb>>0]=Na;Gb=u;Hb=Jb;Ib=Kb}u=c[v>>2]&255;v=Gb+1|0;if(Hb>>>0<v>>>0){Na=zm(Ib,v<<1)|0;if((Na|0)==0){nb=Gb;ob=Ib;break f}else Lb=Na}else Lb=Ib;a[Lb+Gb>>0]=u;nb=v;ob=Lb;break};case 4:case 0:{v=m+56|0;u=c[v>>2]|0;Na=zm(0,2)|0;if((Na|0)==0){w=c[v>>2]|0;C=zm(0,2)|0;if((C|0)==0){nb=0;ob=0;break f}else{Mb=w;Nb=1;Ob=C;Pb=0}}else{a[Na>>0]=u>>>8;Mb=c[v>>2]|0;Nb=2;Ob=Na;Pb=1}a[Ob+Pb>>0]=Mb;nb=Nb;ob=Ob;break};default:{nb=0;ob=0}}while(0);if((Rl(n,g,nb,961504,ob)|0)==0)c[y>>2]=c[g>>2];Am(ob)}if((c[m+116>>2]|0)!=0){Na=c[m+120>>2]|0;v=zm(0,8)|0;u=(v|0)==0;C=u?0:8;w=u?0:4;a[v+(w+ -4)>>0]=Na>>>24;a[v+(w+ -3)>>0]=Na>>>16;a[v+(w+ -2)>>0]=Na>>>8;a[v+(w+ -1)>>0]=Na;Na=c[m+124>>2]|0;u=w+4|0;if(C>>>0<u>>>0){ja=u<<1;s=zm(v,ja)|0;t=(s|0)==0;Qb=t?w:u;Rb=t?v:s;Sb=t?C:ja}else{Qb=u;Rb=v;Sb=C}a[Rb+(Qb+ -4)>>0]=Na>>>24;a[Rb+(Qb+ -3)>>0]=Na>>>16;a[Rb+(Qb+ -2)>>0]=Na>>>8;a[Rb+(Qb+ -1)>>0]=Na;Na=a[m+128>>0]|0;C=Qb+1|0;if(Sb>>>0<C>>>0){v=zm(Rb,C<<1)|0;if((v|0)==0){Tb=Qb;Ub=Rb}else{Vb=v;z=190}}else{Vb=Rb;z=190}if((z|0)==190){a[Vb+Qb>>0]=Na;Tb=C;Ub=Vb}if((Rl(n,g,Tb,961496,Ub)|0)==0)c[y>>2]=c[g>>2];Am(Ub)}C=c[m+136>>2]|0;if((C|0)!=0){Na=c[m+148>>2]|0;v=C;g:do if((Na|0)!=0){u=c[g>>2]|0;ja=C;while(1){t=ja+1|0;s=ja+2|0;w=ja+3|0;Ma=(d[t>>0]<<16|d[ja>>0]<<24|d[s>>0]<<8|d[w>>0])+12|0;Ua=u;u=Ma+u|0;if(u>>>0<Ma>>>0|u>>>0<Ua>>>0){Wb=77;break}Va=zm(c[n>>2]|0,u)|0;if((Va|0)==0){Wb=9929;break}c[n>>2]=Va;c[g>>2]=u;if((Ma|0)!=0){Xb=0;do{a[Va+(Xb+Ua)>>0]=a[ja+Xb>>0]|0;Xb=Xb+1|0}while((Xb|0)!=(Ma|0))}c[y>>2]=u;ja=ja+((d[t>>0]<<16|d[ja>>0]<<24|d[s>>0]<<8|d[w>>0])+12)|0;if(!((ja-v|0)>>>0<Na>>>0))break g}c[q>>2]=Wb;break c}while(0);c[q>>2]=0}Na=c[o>>2]|0;v=c[p>>2]|0;c[l>>2]=0;c[l+8>>2]=0;C=l+4|0;c[C>>2]=0;ja=Pl(l,C,Na,v,b)|0;v=c[l>>2]|0;do if((ja|0)==0){Na=Rl(n,g,c[C>>2]|0,961488,v)|0;if((Na|0)!=0){Yb=Na;break}c[y>>2]=c[g>>2];Yb=0}else Yb=ja;while(0);Am(v);c[q>>2]=Yb;if((Yb|0)!=0)break;do if((a[m+100>>0]|0)!=0){ja=ym(7)|0;if((ja|0)==0)break;C=m+104|0;a[ja>>0]=(c[C>>2]|0)>>>8;a[ja+1>>0]=c[C>>2];a[ja+2>>0]=a[m+108>>0]|0;a[ja+3>>0]=a[m+109>>0]|0;a[ja+4>>0]=a[m+110>>0]|0;a[ja+5>>0]=a[m+111>>0]|0;a[ja+6>>0]=a[m+112>>0]|0;if((Rl(n,g,7,961480,ja)|0)==0)c[y>>2]=c[g>>2];Am(ja)}while(0);v=m+68|0;ja=c[v>>2]|0;h:do if((ja|0)!=0){C=m+72|0;Na=b+24|0;u=m+76|0;Ma=l+8|0;Xb=l+4|0;Ua=ja;Va=0;while(1){ka=c[(c[C>>2]|0)+(Va<<2)>>2]|0;if((cp(ka|0)|0)>>>0>79){z=216;break}A=a[ka>>0]|0;if(A<<24>>24==0){z=218;break}B=c[(c[u>>2]|0)+(Va<<2)>>2]|0;if((c[Na>>2]|0)==0)cm(n,ka,B);else{Zb=cp(B|0)|0;c[l>>2]=0;c[Ma>>2]=0;c[Xb>>2]=0;_b=1;$b=0;ac=1;bc=0;cc=0;dc=A;A=0;while(1){if(_b){ec=ac<<1;fc=zm(bc,ec)|0;if((fc|0)==0){gc=cc;hc=$b;ic=bc}else{jc=ec;kc=fc;z=223}}else{jc=$b;kc=bc;z=223}if((z|0)==223){z=0;a[kc+cc>>0]=dc;gc=ac;hc=jc;ic=kc}A=A+1|0;dc=a[ka+A>>0]|0;ac=gc+1|0;_b=hc>>>0<ac>>>0;if(dc<<24>>24==0)break;else{$b=hc;bc=ic;cc=gc}}if(_b){cc=ac<<1;bc=zm(ic,cc)|0;if((bc|0)==0){lc=gc;mc=hc;nc=ic}else{oc=cc;pc=bc;z=227}}else{oc=hc;pc=ic;z=227}if((z|0)==227){z=0;a[pc+gc>>0]=0;lc=ac;mc=oc;nc=pc}bc=lc+1|0;if(mc>>>0<bc>>>0){cc=bc<<1;$b=zm(nc,cc)|0;if(($b|0)==0){qc=mc;rc=lc;sc=nc}else{tc=cc;uc=$b;z=230}}else{tc=mc;uc=nc;z=230}if((z|0)==230){z=0;a[uc+lc>>0]=0;qc=tc;rc=bc;sc=uc}do if((Pl(l,Xb,B,Zb,b)|0)==0){bc=c[Xb>>2]|0;if((bc|0)==0){vc=rc;wc=sc}else{$b=bc;bc=rc;cc=qc;dc=sc;A=0;while(1){ka=a[(c[l>>2]|0)+A>>0]|0;w=bc+1|0;if(cc>>>0<w>>>0){s=w<<1;t=zm(dc,s)|0;if((t|0)==0){xc=cc;yc=bc;zc=dc;Ac=$b}else{Bc=s;Cc=t;z=235}}else{Bc=cc;Cc=dc;z=235}if((z|0)==235){z=0;a[Cc+bc>>0]=ka;xc=Bc;yc=w;zc=Cc;Ac=c[Xb>>2]|0}A=A+1|0;if(!(A>>>0<Ac>>>0)){vc=yc;wc=zc;break}else{$b=Ac;bc=yc;cc=xc;dc=zc}}}if((Rl(n,g,vc,961472,wc)|0)!=0){Dc=wc;break}c[y>>2]=c[g>>2];Dc=wc}else Dc=sc;while(0);c[Ma>>2]=0;c[Xb>>2]=0;Am(c[l>>2]|0);Am(Dc)}Va=Va+1|0;Zb=c[v>>2]|0;if(!(Va>>>0<Zb>>>0)){Ec=Zb;break h}else Ua=Zb}if((z|0)==216){c[q>>2]=66;Ec=Ua;break}else if((z|0)==218){c[q>>2]=67;Ec=Ua;break}}else Ec=0;while(0);i:do if((c[b+20>>2]|0)!=0){if((Ec|0)!=0){v=c[m+72>>2]|0;ja=0;do{if((Zo(c[v+(ja<<2)>>2]|0,961416)|0)==0)break i;ja=ja+1|0}while(ja>>>0<Ec>>>0)}cm(n,961416,961424)}while(0);ja=m+80|0;j:do if((c[ja>>2]|0)!=0){v=m+84|0;Ua=b+24|0;Va=m+88|0;Xb=m+92|0;Ma=m+96|0;Na=l+8|0;u=l+4|0;C=0;while(1){Zb=c[(c[v>>2]|0)+(C<<2)>>2]|0;if((cp(Zb|0)|0)>>>0>79){z=251;break}B=a[Zb>>0]|0;if(B<<24>>24==0){z=253;break}ac=c[Ua>>2]|0;_b=c[(c[Va>>2]|0)+(C<<2)>>2]|0;dc=c[(c[Xb>>2]|0)+(C<<2)>>2]|0;cc=c[(c[Ma>>2]|0)+(C<<2)>>2]|0;bc=cp(cc|0)|0;$b=1;A=0;w=1;ka=0;t=0;s=B;B=0;while(1){if($b){fc=w<<1;ec=zm(ka,fc)|0;if((ec|0)==0){Fc=t;Gc=A;Hc=ka}else{Ic=fc;Jc=ec;z=257}}else{Ic=A;Jc=ka;z=257}if((z|0)==257){z=0;a[Jc+t>>0]=s;Fc=w;Gc=Ic;Hc=Jc}B=B+1|0;s=a[Zb+B>>0]|0;w=Fc+1|0;$b=Gc>>>0<w>>>0;if(s<<24>>24==0)break;else{A=Gc;ka=Hc;t=Fc}}if($b){t=w<<1;ka=zm(Hc,t)|0;if((ka|0)==0){Kc=Fc;Lc=Gc;Mc=Hc}else{Nc=t;Oc=ka;z=261}}else{Nc=Gc;Oc=Hc;z=261}if((z|0)==261){z=0;a[Oc+Fc>>0]=0;Kc=w;Lc=Nc;Mc=Oc}ka=(ac|0)!=0;t=ka&1;A=Kc+1|0;if(Lc>>>0<A>>>0){s=A<<1;B=zm(Mc,s)|0;if((B|0)==0){Pc=Kc;Qc=Lc;Rc=Mc}else{Sc=s;Tc=B;z=264}}else{Sc=Lc;Tc=Mc;z=264}if((z|0)==264){z=0;a[Tc+Kc>>0]=t;Pc=A;Qc=Sc;Rc=Tc}A=Pc+1|0;if(Qc>>>0<A>>>0){t=A<<1;B=zm(Rc,t)|0;if((B|0)==0){Uc=Qc;Vc=Pc;Wc=Rc}else{Xc=t;Yc=B;z=267}}else{Xc=Qc;Yc=Rc;z=267}if((z|0)==267){z=0;a[Yc+Pc>>0]=0;Uc=Xc;Vc=A;Wc=Yc}A=a[_b>>0]|0;B=Vc+1|0;t=Uc>>>0<B>>>0;if(A<<24>>24==0){Zc=Uc;_c=Vc;$c=Wc;ad=B;bd=t}else{s=t;t=Uc;Zb=B;B=Wc;ec=Vc;fc=A;A=0;while(1){if(s){cd=Zb<<1;dd=zm(B,cd)|0;if((dd|0)==0){ed=B;fd=ec;gd=t}else{hd=cd;id=dd;z=271}}else{hd=t;id=B;z=271}if((z|0)==271){z=0;a[id+ec>>0]=fc;ed=id;fd=Zb;gd=hd}A=A+1|0;fc=a[_b+A>>0]|0;dd=fd+1|0;cd=gd>>>0<dd>>>0;if(fc<<24>>24==0){Zc=gd;_c=fd;$c=ed;ad=dd;bd=cd;break}else{s=cd;t=gd;Zb=dd;B=ed;ec=fd}}}if(bd){ec=ad<<1;B=zm($c,ec)|0;if((B|0)==0){jd=Zc;kd=_c;ld=$c}else{md=ec;nd=B;z=275}}else{md=Zc;nd=$c;z=275}if((z|0)==275){z=0;a[nd+_c>>0]=0;jd=md;kd=ad;ld=nd}B=a[dc>>0]|0;ec=kd+1|0;Zb=jd>>>0<ec>>>0;if(B<<24>>24==0){od=jd;pd=kd;qd=ld;rd=ec;sd=Zb}else{t=Zb;Zb=jd;s=ec;ec=ld;fc=kd;A=B;B=0;while(1){if(t){_b=s<<1;ac=zm(ec,_b)|0;if((ac|0)==0){td=ec;ud=fc;vd=Zb}else{wd=_b;xd=ac;z=279}}else{wd=Zb;xd=ec;z=279}if((z|0)==279){z=0;a[xd+fc>>0]=A;td=xd;ud=s;vd=wd}B=B+1|0;A=a[dc+B>>0]|0;ac=ud+1|0;_b=vd>>>0<ac>>>0;if(A<<24>>24==0){od=vd;pd=ud;qd=td;rd=ac;sd=_b;break}else{t=_b;Zb=vd;s=ac;ec=td;fc=ud}}}if(sd){fc=rd<<1;ec=zm(qd,fc)|0;if((ec|0)==0){yd=od;zd=pd;Ad=qd}else{Bd=fc;Cd=ec;z=283}}else{Bd=od;Cd=qd;z=283}if((z|0)==283){z=0;a[Cd+pd>>0]=0;yd=Bd;zd=rd;Ad=Cd}do if(ka){c[l>>2]=0;c[Na>>2]=0;c[u>>2]=0;if((Pl(l,u,cc,bc,b)|0)!=0){Dd=Ad;break}ec=c[u>>2]|0;if((ec|0)==0){Ed=yd;Fd=zd;Gd=Ad}else{fc=ec;ec=zd;s=yd;Zb=Ad;t=0;while(1){A=a[(c[l>>2]|0)+t>>0]|0;B=ec+1|0;if(s>>>0<B>>>0){dc=B<<1;ac=zm(Zb,dc)|0;if((ac|0)==0){Hd=s;Id=ec;Jd=Zb;Kd=fc}else{Ld=dc;Md=ac;z=291}}else{Ld=s;Md=Zb;z=291}if((z|0)==291){z=0;a[Md+ec>>0]=A;Hd=Ld;Id=B;Jd=Md;Kd=c[u>>2]|0}t=t+1|0;if(!(t>>>0<Kd>>>0)){Ed=Hd;Fd=Id;Gd=Jd;break}else{fc=Kd;ec=Id;s=Hd;Zb=Jd}}}Zb=a[cc>>0]|0;if(Zb<<24>>24==0){Nd=Fd;Od=Gd;z=301;break}else{Pd=Fd;Qd=Ed;Rd=Gd;Sd=Zb;Td=0}while(1){Zb=Pd+1|0;if(Qd>>>0<Zb>>>0){s=Zb<<1;ec=zm(Rd,s)|0;if((ec|0)==0){Ud=Qd;Vd=Pd;Wd=Rd}else{Xd=s;Yd=ec;z=295}}else{Xd=Qd;Yd=Rd;z=295}if((z|0)==295){z=0;a[Yd+Pd>>0]=Sd;Ud=Xd;Vd=Zb;Wd=Yd}Td=Td+1|0;Sd=a[cc+Td>>0]|0;if(Sd<<24>>24==0){Nd=Vd;Od=Wd;z=301;break}else{Pd=Vd;Qd=Ud;Rd=Wd}}}else{Zb=a[cc>>0]|0;if(Zb<<24>>24==0){Nd=zd;Od=Ad;z=301;break}else{Zd=zd;_d=yd;$d=Ad;ae=Zb;be=0}while(1){Zb=Zd+1|0;if(_d>>>0<Zb>>>0){ec=Zb<<1;s=zm($d,ec)|0;if((s|0)==0){ce=_d;de=Zd;ee=$d}else{fe=ec;ge=s;z=299}}else{fe=_d;ge=$d;z=299}if((z|0)==299){z=0;a[ge+Zd>>0]=ae;ce=fe;de=Zb;ee=ge}be=be+1|0;ae=a[cc+be>>0]|0;if(ae<<24>>24==0){Nd=de;Od=ee;z=301;break}else{Zd=de;_d=ce;$d=ee}}}while(0);do if((z|0)==301){z=0;if((Rl(n,g,Nd,961456,Od)|0)!=0){Dd=Od;break}c[y>>2]=c[g>>2];Dd=Od}while(0);Am(Dd);C=C+1|0;if(!(C>>>0<(c[ja>>2]|0)>>>0))break j}if((z|0)==251){c[q>>2]=66;break}else if((z|0)==253){c[q>>2]=67;break}}while(0);ja=c[m+140>>2]|0;if((ja|0)!=0){C=c[m+152>>2]|0;u=ja;k:do if((C|0)!=0){Na=c[g>>2]|0;Ma=ja;while(1){Xb=Ma+1|0;Va=Ma+2|0;Ua=Ma+3|0;v=(d[Xb>>0]<<16|d[Ma>>0]<<24|d[Va>>0]<<8|d[Ua>>0])+12|0;cc=Na;Na=v+Na|0;if(Na>>>0<v>>>0|Na>>>0<cc>>>0){he=77;break}bc=zm(c[n>>2]|0,Na)|0;if((bc|0)==0){he=9929;break}c[n>>2]=bc;c[g>>2]=Na;if((v|0)!=0){ka=0;do{a[bc+(ka+cc)>>0]=a[Ma+ka>>0]|0;ka=ka+1|0}while((ka|0)!=(v|0))}c[y>>2]=Na;Ma=Ma+((d[Xb>>0]<<16|d[Ma>>0]<<24|d[Va>>0]<<8|d[Ua>>0])+12)|0;if(!((Ma-u|0)>>>0<C>>>0))break k}c[q>>2]=he;break c}while(0);c[q>>2]=0}if((Rl(n,g,0,961448,0)|0)!=0)break;c[y>>2]=c[g>>2]}while(0);Am(c[o>>2]|0);c[e>>2]=c[n>>2];c[f>>2]=c[g>>2];i=k;return}function am(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,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,ba=0,ca=0;h=i;i=i+304|0;j=h+276|0;k=h+248|0;l=h+216|0;m=h+184|0;n=h+152|0;o=h+124|0;p=h+96|0;q=h+64|0;r=h+32|0;s=h;t=g+20|0;u=g+24|0;v=c[u>>2]|0;switch(c[t>>2]|0){case 2:{w=3;break};case 4:{w=2;break};case 6:{w=4;break};case 3:case 0:{w=1;break};default:w=0}x=aa(w,v)|0;v=c[g>>2]|0;w=c[g+4>>2]|0;if((c[g+16>>2]|0)==0){g=aa(v,x)|0;y=(g+7|0)>>>3;z=aa(y,w)|0;A=z+w|0;c[e>>2]=A;B=ym(A)|0;c[b>>2]=B;if((B|0)==0?(c[e>>2]|0)!=0:0){i=h;return}if(x>>>0<8?(A=y<<3,(g|0)!=(A|0)):0){if((z|0)!=0){y=zm(0,z<<1)|0;if((y|0)==0)C=0;else{D=y;E=13}}else{D=0;E=13}if((E|0)==13){if((w|0)!=0){y=(g|0)==0;z=A-g|0;A=0;F=0;G=0;while(1){if(y){H=F;I=A}else{J=F;K=A;L=0;while(1){M=1<<(K&7^7);if((1<<(J&7^7)&(d[f+(J>>>3)>>0]|0)|0)==0){N=D+(K>>>3)|0;a[N>>0]=(d[N>>0]|0)&(M^255)}else{N=D+(K>>>3)|0;a[N>>0]=d[N>>0]|0|M}L=L+1|0;if((L|0)==(g|0))break;else{J=J+1|0;K=K+1|0}}H=F+g|0;I=g+A|0}K=I;J=0;while(1){L=D+(K>>>3)|0;a[L>>0]=(1<<(K&7^7)^255)&(d[L>>0]|0);J=J+1|0;if((J|0)==(z|0))break;else K=K+1|0}G=G+1|0;if((G|0)==(w|0))break;else{A=I+z|0;F=H}}}em(c[b>>2]|0,D,v,w,c[t>>2]|0,c[u>>2]|0)|0;C=D}Am(C);i=h;return}em(B,f,v,w,c[t>>2]|0,c[u>>2]|0)|0;i=h;return}B=aa(x,v)|0;C=((aa(B,w)|0)+7|0)>>>3;D=ym(C)|0;H=(D|0)!=0|(C|0)==0;C=H?0:9952;do if(H){fm(o,p,q,r,s,v,w,x);F=c[q+28>>2]|0;c[e>>2]=F;z=ym(F)|0;c[b>>2]=z;if((z|0)==0?(c[e>>2]|0)!=0:0)break;fm(j,k,l,m,n,v,w,x);if(x>>>0>7){z=x>>>3;F=(z|0)==0;I=0;do{A=c[k+(I<<2)>>2]|0;if((A|0)!=0){G=c[j+(I<<2)>>2]|0;g=(G|0)==0;y=961536+(I<<2)|0;K=961568+(I<<2)|0;J=961600+(I<<2)|0;L=961632+(I<<2)|0;M=n+(I<<2)|0;N=0;do{if(!g){O=aa((aa(c[K>>2]|0,N)|0)+(c[y>>2]|0)|0,v)|0;P=O+(c[J>>2]|0)|0;O=c[L>>2]|0;Q=c[M>>2]|0;R=aa(N,G)|0;S=0;do{T=aa(P+(aa(S,O)|0)|0,z)|0;U=(aa(S+R|0,z)|0)+Q|0;if(!F){V=0;do{a[D+(U+V)>>0]=a[f+(V+T)>>0]|0;V=V+1|0}while(V>>>0<z>>>0)}S=S+1|0}while((S|0)!=(G|0))}N=N+1|0}while((N|0)!=(A|0))}I=I+1|0}while((I|0)!=7)}else{I=(x|0)==0;z=0;do{F=c[j+(z<<2)>>2]|0;A=c[k+(z<<2)>>2]|0;if((A|0)!=0){N=(F|0)==0;G=961536+(z<<2)|0;M=961568+(z<<2)|0;L=961600+(z<<2)|0;J=961632+(z<<2)|0;y=n+(z<<2)|0;K=0;do{if(!N){g=aa((aa(c[M>>2]|0,K)|0)+(c[G>>2]|0)|0,v)|0;S=c[J>>2]|0;Q=c[y>>2]<<3;R=aa(K,F)|0;O=g+(c[L>>2]|0)|0;g=0;do{if(!I){P=aa(O+(aa(g,S)|0)|0,x)|0;V=(aa(g+R|0,x)|0)+Q|0;T=0;while(1){U=1<<(V&7^7);if(((d[f+(P>>>3)>>0]|0)&1<<(P&7^7)|0)==0){W=D+(V>>>3)|0;a[W>>0]=(d[W>>0]|0)&(U^255)}else{W=D+(V>>>3)|0;a[W>>0]=d[W>>0]|0|U}T=T+1|0;if((T|0)==(x|0))break;else{P=P+1|0;V=V+1|0}}}g=g+1|0}while((g|0)!=(F|0))}K=K+1|0}while((K|0)!=(A|0))}z=z+1|0}while((z|0)!=7)}z=x>>>0<8;I=aa((B+7|0)>>>3,w)|0;A=(I|0)==0;K=I<<1;I=C;F=0;while(1){if(z){if(!A){L=zm(0,K)|0;if((L|0)==0){X=0;Y=9954}else{Z=L;E=59}}else{Z=0;E=59}if((E|0)==59){E=0;if((I|0)==0){L=c[r+(F<<2)>>2]|0;y=c[s+(F<<2)>>2]|0;J=c[o+(F<<2)>>2]|0;G=aa(J,x)|0;M=G+7&-8;N=c[p+(F<<2)>>2]|0;if((N|0)!=0){g=(G|0)==0;Q=(M|0)==(G|0);R=M-G|0;M=0;S=0;O=0;while(1){if(g){_=S;$=M}else{V=S;P=M;T=0;while(1){U=1<<(P&7^7);if((1<<(V&7^7)&(d[D+((V>>>3)+y)>>0]|0)|0)==0){W=Z+((P>>>3)+L)|0;a[W>>0]=(d[W>>0]|0)&(U^255)}else{W=Z+((P>>>3)+L)|0;a[W>>0]=d[W>>0]|0|U}T=T+1|0;if((T|0)==(G|0))break;else{V=V+1|0;P=P+1|0}}_=S+G|0;$=G+M|0}if(Q)ba=$;else{P=$;V=0;while(1){T=Z+((P>>>3)+L)|0;a[T>>0]=(1<<(P&7^7)^255)&(d[T>>0]|0);V=V+1|0;if((V|0)==(R|0))break;else P=P+1|0}ba=$+R|0}O=O+1|0;if((O|0)==(N|0))break;else{M=ba;S=_}}}X=Z;Y=em((c[b>>2]|0)+(c[q+(F<<2)>>2]|0)|0,Z+L|0,J,N,c[t>>2]|0,c[u>>2]|0)|0}else{X=Z;Y=I}}Am(X);ca=Y}else ca=em((c[b>>2]|0)+(c[q+(F<<2)>>2]|0)|0,D+(c[r+(F<<2)>>2]|0)|0,c[o+(F<<2)>>2]|0,c[p+(F<<2)>>2]|0,c[t>>2]|0,c[u>>2]|0)|0;F=F+1|0;if((F|0)==7)break;else I=ca}}while(0);Am(D);i=h;return}function bm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;e=i;f=c[d>>2]|0;do if((f|0)==3){g=d+12|0;if((c[g>>2]|0)==0){h=0;j=0}else{k=d+8|0;l=0;m=0;n=0;o=0;while(1){p=a[(c[k>>2]|0)+(o<<2|3)>>0]|0;q=l+1|0;if(m>>>0<q>>>0){r=q<<1;s=zm(n,r)|0;if((s|0)==0){t=m;u=l;v=n}else{w=r;x=s;y=6}}else{w=m;x=n;y=6}if((y|0)==6){y=0;a[x+l>>0]=p;t=w;u=q;v=x}o=o+1|0;if(!(o>>>0<(c[g>>2]|0)>>>0)){h=u;j=v;break}else{l=u;m=t;n=v}}}}else if((f|0)==0)if((c[d+16>>2]|0)==0){h=0;j=0}else{n=d+20|0;m=c[n>>2]|0;l=zm(0,2)|0;if((l|0)==0){g=c[n>>2]|0;o=zm(0,2)|0;if((o|0)==0){h=0;j=0;break}else{z=g;A=1;B=o;C=0}}else{a[l>>0]=m>>>8;z=c[n>>2]|0;A=2;B=l;C=1}a[B+C>>0]=z;h=A;j=B}else if((f|0)==2?(c[d+16>>2]|0)!=0:0){l=d+20|0;n=c[l>>2]|0;m=zm(0,2)|0;if((m|0)==0){o=c[l>>2]|0;g=zm(0,2)|0;if((g|0)==0){D=0;E=0;F=0}else{G=o;H=1;I=g;J=0;y=17}}else{a[m>>0]=n>>>8;G=c[l>>2]|0;H=2;I=m;J=1;y=17}if((y|0)==17){a[I+J>>0]=G;D=H;E=2;F=I}m=d+24|0;l=(c[m>>2]|0)>>>8&255;n=D+1|0;if(E>>>0<n>>>0){g=n<<1;o=zm(F,g)|0;if((o|0)==0){K=D;L=E;M=F}else{N=g;O=o;y=20}}else{N=E;O=F;y=20}if((y|0)==20){a[O+D>>0]=l;K=n;L=N;M=O}n=c[m>>2]&255;m=K+1|0;if(L>>>0<m>>>0){l=m<<1;o=zm(M,l)|0;if((o|0)==0){P=K;Q=L;R=M}else{S=l;T=o;y=23}}else{S=L;T=M;y=23}if((y|0)==23){a[T+K>>0]=n;P=m;Q=S;R=T}m=d+28|0;n=(c[m>>2]|0)>>>8&255;o=P+1|0;if(Q>>>0<o>>>0){l=o<<1;g=zm(R,l)|0;if((g|0)==0){U=P;V=Q;W=R}else{X=l;Y=g;y=26}}else{X=Q;Y=R;y=26}if((y|0)==26){a[Y+P>>0]=n;U=o;V=X;W=Y}o=c[m>>2]&255;m=U+1|0;if(V>>>0<m>>>0){n=zm(W,m<<1)|0;if((n|0)==0){h=U;j=W;break}else Z=n}else Z=W;a[Z+U>>0]=o;h=m;j=Z}else{h=0;j=0}while(0);Z=b+4|0;if((Rl(b,Z,h,961512,j)|0)!=0){Am(j);i=e;return}c[b+8>>2]=c[Z>>2];Am(j);i=e;return}function cm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;f=i;g=a[d>>0]|0;if(!(g<<24>>24==0)){h=g;g=1;j=0;k=1;l=0;m=0;n=0;while(1){if(k){o=g<<1;p=zm(j,o)|0;if((p|0)==0){q=m;r=l;s=j}else{t=o;u=p;v=4}}else{t=l;u=j;v=4}if((v|0)==4){v=0;a[u+m>>0]=h;q=g;r=t;s=u}n=n+1|0;h=a[d+n>>0]|0;g=q+1|0;k=r>>>0<g>>>0;if(h<<24>>24==0)break;else{j=s;l=r;m=q}}if(k){w=r;x=q;y=s;z=g;v=7}else{A=q;B=g;C=s;D=r;v=8}}else{w=0;x=0;y=0;z=1;v=7}if((v|0)==7){r=z<<1;s=zm(y,r)|0;if((s|0)==0){E=w;F=y;G=x}else{A=x;B=z;C=s;D=r;v=8}}if((v|0)==8){a[C+A>>0]=0;E=D;F=C;G=B}B=a[e>>0]|0;if(B<<24>>24==0){H=G;I=F}else{C=G;G=E;E=F;F=B;B=0;while(1){D=C+1|0;if(G>>>0<D>>>0){A=D<<1;r=zm(E,A)|0;if((r|0)==0){J=G;K=C;L=E}else{M=r;N=A;v=12}}else{M=E;N=G;v=12}if((v|0)==12){v=0;a[M+C>>0]=F;J=N;K=D;L=M}B=B+1|0;F=a[e+B>>0]|0;if(F<<24>>24==0){H=K;I=L;break}else{C=K;G=J;E=L}}}L=b+4|0;if((Rl(b,L,H,961464,I)|0)!=0){Am(I);i=f;return}c[b+8>>2]=c[L>>2];Am(I);i=f;return}function dm(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 j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+240|0;k=j+8|0;l=j+4|0;m=j;c[k>>2]=2;c[k+4>>2]=1;c[k+8>>2]=2048;c[k+12>>2]=1;c[k+16>>2]=0;c[k+20>>2]=1;c[k+24>>2]=0;c[k+32>>2]=0;c[k+28>>2]=0;n=k+64|0;o=k+48|0;c[n+0>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[o>>2]=6;c[k+52>>2]=8;c[k+56>>2]=0;c[k+60>>2]=0;c[k+44>>2]=0;c[k+36>>2]=0;c[k+40>>2]=0;o=k+80|0;c[k+144>>2]=0;n=k+160|0;c[n+0>>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=o+0|0;p=n+48|0;do{c[n>>2]=0;n=n+4|0}while((n|0)<(p|0));a[o+48>>0]=0;o=k+184|0;n=k+188|0;p=k+192|0;q=k+216|0;c[p+0>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[q>>2]=1;c[o>>2]=g;c[n>>2]=h;$l(k,l,m,d,e,f);f=c[q>>2]|0;Vl(k+28|0);k=c[p>>2]|0;if((k|0)!=0)Am(k);k=c[l>>2]|0;l=c[m>>2]|0;m=Eb(b|0,961440)|0;if((m|0)==0){Am(k);i=j;return f|0}db(k|0,1,l|0,m|0)|0;xb(m|0)|0;Am(k);i=j;return f|0}function em(b,e,f,g,h,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|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,W=0,X=0,Y=0,Z=0,_=0,$=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;k=i;i=i+64|0;l=k;switch(h|0){case 6:{m=4;break};case 3:case 0:{m=1;break};case 2:{m=3;break};case 4:{m=2;break};default:m=0}n=aa(m,j)|0;m=((aa(n,f)|0)+7|0)>>>3;f=(n+7|0)>>>3;if((n|0)==0){o=31;i=k;return o|0}if((h|0)==3|j>>>0<8){if((g|0)==0){o=0;i=k;return o|0}j=m+1|0;h=(m|0)==0;n=0;do{p=aa(n,j)|0;q=aa(n,m)|0;a[b+p>>0]=0;r=p+1|0;if(!h){p=0;do{a[b+(r+p)>>0]=a[e+(p+q)>>0]|0;p=p+1|0}while((p|0)!=(m|0))}n=n+1|0}while((n|0)!=(g|0));o=0;i=k;return o|0}n=l+8|0;h=l+4|0;j=l+12|0;p=l+20|0;q=l+16|0;r=l+24|0;s=l+32|0;t=l+28|0;u=l+36|0;v=l+44|0;w=l+40|0;x=l+48|0;y=l+56|0;z=l+52|0;A=m<<1;B=l+0|0;C=B+60|0;do{c[B>>2]=0;B=B+4|0}while((B|0)<(C|0));B=0;C=0;while(1){D=l+(C*12|0)+8|0;if(B>>>0<m>>>0){E=l+(C*12|0)|0;F=zm(c[E>>2]|0,A)|0;if((F|0)==0){G=9949;break}c[D>>2]=A;c[E>>2]=F;c[l+(C*12|0)+4>>2]=m}else c[l+(C*12|0)+4>>2]=m;F=C+1|0;if(!(F>>>0<5)){H=14;break}B=c[l+(F*12|0)+8>>2]|0;C=F}if((H|0)==14)if((g|0)==0)G=0;else{H=(m|0)==0;C=(f|0)==0;B=f>>>0<m>>>0;A=m+1|0;F=0;E=0;D=0;I=0;while(1){J=aa(I,m)|0;K=(E|0)==0;L=J-f|0;M=F;N=D;O=0;do{P=l+(O*12|0)|0;Q=c[P>>2]|0;a:do switch(O|0){case 4:{if(K){if(!C){R=0;do{a[Q+R>>0]=a[e+(R+J)>>0]|0;R=R+1|0}while((R|0)!=(f|0))}if(B)S=f;else break a;while(1){a[Q+S>>0]=(d[e+(S+J)>>0]|0)-(d[e+(L+S)>>0]|0);S=S+1|0;if((S|0)==(m|0))break a}}if(!C){R=0;do{a[Q+R>>0]=(d[e+(R+J)>>0]|0)-(d[E+R>>0]|0);R=R+1|0}while((R|0)!=(f|0))}if(B){R=f;do{T=R-f|0;U=a[e+(T+J)>>0]|0;V=a[E+R>>0]|0;W=a[E+T>>0]|0;T=V&255;X=W&255;Y=T-X|0;Z=(Y|0)>-1?Y:0-Y|0;Y=U&255;_=Y-X|0;$=(_|0)>-1?_:0-_|0;_=T+Y+(aa(X,-2)|0)|0;X=((_|0)>-1?_:0-_|0)<<16>>16;if((Z|0)>($|0)|(Z|0)>(X|0))ba=($|0)>(X|0)?W:V;else ba=U;a[Q+R>>0]=(d[e+(R+J)>>0]|0)-(ba&255);R=R+1|0}while((R|0)!=(m|0))}break};case 1:{if(K){if(!C){R=0;do{a[Q+R>>0]=a[e+(R+J)>>0]|0;R=R+1|0}while((R|0)!=(f|0))}if(B)ca=f;else break a;do{a[Q+ca>>0]=(d[e+(ca+J)>>0]|0)-(d[e+(L+ca)>>0]|0);ca=ca+1|0}while((ca|0)!=(m|0))}else{if(!C){R=0;do{a[Q+R>>0]=a[e+(R+J)>>0]|0;R=R+1|0}while((R|0)!=(f|0))}if(B)da=f;else break a;do{a[Q+da>>0]=(d[e+(da+J)>>0]|0)-(d[e+(L+da)>>0]|0);da=da+1|0}while((da|0)!=(m|0))}break};case 0:{if(!H){R=0;do{a[Q+R>>0]=a[e+(R+J)>>0]|0;R=R+1|0}while((R|0)!=(m|0))}break};case 3:{if(K){if(!C){R=0;do{a[Q+R>>0]=a[e+(R+J)>>0]|0;R=R+1|0}while((R|0)!=(f|0))}if(B)ea=f;else break a;do{a[Q+ea>>0]=(d[e+(ea+J)>>0]|0)-((d[e+(L+ea)>>0]|0)>>>1);ea=ea+1|0}while((ea|0)!=(m|0))}else{if(!C){R=0;do{a[Q+R>>0]=(d[e+(R+J)>>0]|0)-((d[E+R>>0]|0)>>>1);R=R+1|0}while((R|0)!=(f|0))}if(B)fa=f;else break a;do{a[Q+fa>>0]=(d[e+(fa+J)>>0]|0)-(((d[E+fa>>0]|0)+(d[e+(L+fa)>>0]|0)|0)>>>1);fa=fa+1|0}while((fa|0)!=(m|0))}break};case 2:{if(K){if(H)break a;else ga=0;do{a[Q+ga>>0]=a[e+(ga+J)>>0]|0;ga=ga+1|0}while((ga|0)!=(m|0))}else{if(H)break a;else ha=0;do{a[Q+ha>>0]=(d[e+(ha+J)>>0]|0)-(d[E+ha>>0]|0);ha=ha+1|0}while((ha|0)!=(m|0))}break};default:{}}while(0);Q=c[l+(O*12|0)+4>>2]|0;if((Q|0)==0)ia=0;else{R=c[P>>2]|0;U=0;V=0;while(1){W=U+(d[R+V>>0]|0)|0;V=V+3|0;if(!(V>>>0<Q>>>0)){ia=W;break}else U=W}}U=(O|0)==0|ia>>>0<N>>>0;N=U?ia:N;M=U?O:M;O=O+1|0}while((O|0)!=5);E=e+J|0;O=aa(I,A)|0;a[b+O>>0]=M;if(!H){K=c[l+(M*12|0)>>2]|0;L=O+1|0;O=0;do{a[b+(L+O)>>0]=a[K+O>>0]|0;O=O+1|0}while(O>>>0<m>>>0)}I=I+1|0;if((I|0)==(g|0)){G=0;break}else{F=M;D=N}}}c[n>>2]=0;c[h>>2]=0;Am(c[l>>2]|0);c[l>>2]=0;c[p>>2]=0;c[q>>2]=0;Am(c[j>>2]|0);c[j>>2]=0;c[s>>2]=0;c[t>>2]=0;Am(c[r>>2]|0);c[r>>2]=0;c[v>>2]=0;c[w>>2]=0;Am(c[u>>2]|0);c[u>>2]=0;c[y>>2]=0;c[z>>2]=0;Am(c[x>>2]|0);c[x>>2]=0;o=G;i=k;return o|0}function fm(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;k=i;l=g+ -1|0;g=h+ -1|0;h=0;do{m=c[961632+(h<<2)>>2]|0;n=a+(h<<2)|0;c[n>>2]=((l+m-(c[961600+(h<<2)>>2]|0)|0)>>>0)/(m>>>0)|0;m=c[961568+(h<<2)>>2]|0;o=((g+m-(c[961536+(h<<2)>>2]|0)|0)>>>0)/(m>>>0)|0;m=b+(h<<2)|0;c[m>>2]=o;p=(c[n>>2]|0)==0?0:o;c[m>>2]=p;if((p|0)==0)c[n>>2]=0;h=h+1|0}while((h|0)!=7);c[f>>2]=0;c[e>>2]=0;c[d>>2]=0;h=0;g=0;while(1){l=a+(g<<2)|0;n=c[l>>2]|0;p=b+(g<<2)|0;if((n|0)!=0?(m=c[p>>2]|0,(m|0)!=0):0)q=aa(m,(((aa(n,j)|0)+7|0)>>>3)+1|0)|0;else q=0;n=g+1|0;m=d+(n<<2)|0;c[m>>2]=q+h;c[e+(n<<2)>>2]=(aa(((aa(c[l>>2]|0,j)|0)+7|0)>>>3,c[p>>2]|0)|0)+(c[e+(g<<2)>>2]|0);c[f+(n<<2)>>2]=(((aa(aa(c[p>>2]|0,j)|0,c[l>>2]|0)|0)+7|0)>>>3)+(c[f+(g<<2)>>2]|0);if((n|0)==7)break;h=c[m>>2]|0;g=n}i=k;return}function gm(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,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=i;j=(g+7|0)>>>3;k=((aa(g,e)|0)+7|0)>>>3;if((f|0)==0){l=0;i=h;return l|0}e=k+1|0;g=(k|0)==0;m=(j|0)==0;n=j>>>0<k>>>0;o=0;p=0;a:while(1){q=aa(p,k)|0;r=aa(p,e)|0;s=r+1|0;b:do switch(d[c+r>>0]|0|0){case 2:{if((o|0)==0){if(g)break b;else t=0;do{a[b+(t+q)>>0]=a[c+(t+s)>>0]|0;t=t+1|0}while((t|0)!=(k|0))}else{if(g)break b;else u=0;do{a[b+(u+q)>>0]=(d[o+u>>0]|0)+(d[c+(u+s)>>0]|0);u=u+1|0}while((u|0)!=(k|0))}break};case 0:{if(!g){v=0;do{a[b+(v+q)>>0]=a[c+(v+s)>>0]|0;v=v+1|0}while((v|0)!=(k|0))}break};case 3:{if((o|0)==0){if(!m){v=0;do{a[b+(v+q)>>0]=a[c+(v+s)>>0]|0;v=v+1|0}while((v|0)!=(j|0))}if(!n)break b;v=q-j|0;w=j;do{a[b+(w+q)>>0]=((d[b+(v+w)>>0]|0)>>>1)+(d[c+(w+s)>>0]|0);w=w+1|0}while((w|0)!=(k|0))}else{if(!m){w=0;do{a[b+(w+q)>>0]=((d[o+w>>0]|0)>>>1)+(d[c+(w+s)>>0]|0);w=w+1|0}while((w|0)!=(j|0))}if(!n)break b;w=q-j|0;v=j;do{a[b+(v+q)>>0]=(((d[o+v>>0]|0)+(d[b+(w+v)>>0]|0)|0)>>>1)+(d[c+(v+s)>>0]|0);v=v+1|0}while((v|0)!=(k|0))}break};case 4:{if((o|0)==0){if(!m){v=0;do{a[b+(v+q)>>0]=a[c+(v+s)>>0]|0;v=v+1|0}while((v|0)!=(j|0))}if(!n)break b;v=q-j|0;w=j;while(1){a[b+(w+q)>>0]=(d[b+(v+w)>>0]|0)+(d[c+(w+s)>>0]|0);w=w+1|0;if((w|0)==(k|0))break b}}if(!m){w=0;do{a[b+(w+q)>>0]=(d[o+w>>0]|0)+(d[c+(w+s)>>0]|0);w=w+1|0}while((w|0)!=(j|0))}if(n){w=j;do{v=w-j|0;x=a[b+(v+q)>>0]|0;y=a[o+w>>0]|0;z=a[o+v>>0]|0;v=y&255;A=z&255;B=v-A|0;C=(B|0)>-1?B:0-B|0;B=x&255;D=B-A|0;E=(D|0)>-1?D:0-D|0;D=v+B+(aa(A,-2)|0)|0;A=((D|0)>-1?D:0-D|0)<<16>>16;if((C|0)>(E|0)|(C|0)>(A|0))F=(E|0)>(A|0)?z:y;else F=x;a[b+(w+q)>>0]=(F&255)+(d[c+(w+s)>>0]|0);w=w+1|0}while((w|0)!=(k|0))}break};case 1:{if(!m){w=0;do{a[b+(w+q)>>0]=a[c+(w+s)>>0]|0;w=w+1|0}while((w|0)!=(j|0))}if(n){w=q-j|0;x=j;do{a[b+(x+q)>>0]=(d[b+(w+x)>>0]|0)+(d[c+(x+s)>>0]|0);x=x+1|0}while((x|0)!=(k|0))}break};default:{l=36;G=40;break a}}while(0);o=b+q|0;p=p+1|0;if(!(p>>>0<f>>>0)){l=0;G=40;break}}if((G|0)==40){i=h;return l|0}return 0}function hm(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,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;h=i;j=zm(0,1572864)|0;if((j|0)==0){k=9917;i=h;return k|0}else l=0;do{m=l*12|0;c[j+m>>2]=0;c[j+(m+8)>>2]=0;c[j+(m+4)>>2]=0;l=l+1|0}while((l|0)!=65536);l=zm(0,524288)|0;if((l|0)==0){n=9918;o=0}else{ip(l|0,0,262144)|0;n=0;o=l}l=zm(0,524288)|0;a:do if((l|0)!=0){ip(l|0,0,262144)|0;if((n|0)==0)if((f|0)==0){p=l;q=0;r=0}else{m=b+4|0;s=b+8|0;t=~f;u=0;v=0;w=0;x=0;y=0;while(1){z=y>>>0<g>>>0?y:g;if((y|0)==(f|0)&(y+6|0)>>>0>=f>>>0)A=0;else{B=-7-y|0;C=~y-(B>>>0<t>>>0?t:B)|0;B=0;D=0;do{D=d[e+(B+y)>>0]<<(B<<1)^D;B=B+1|0}while((B|0)!=(C|0));A=D&65535}C=f-y|0;B=C>>>0<258?C:258;b:do if((B|0)==0)E=0;else{F=0;while(1){if((a[e+(F+y)>>0]|0)!=0){E=F;break b}F=F+1|0;if(!(F>>>0<B>>>0)){E=B;break}}}while(0);B=A*12|0;D=j+B|0;F=j+(B+4)|0;G=c[F>>2]|0;H=G+1|0;I=j+(B+8)|0;if(H<<2>>>0>(c[I>>2]|0)>>>0){B=H<<3;J=zm(c[D>>2]|0,B)|0;if((J|0)==0){p=l;q=w;r=9920;break a}c[I>>2]=B;c[D>>2]=J;K=J}else K=c[D>>2]|0;c[F>>2]=H;c[K+(G<<2)>>2]=y;G=(A|0)==0;if(G){H=u+1|0;if(H<<2>>>0>v>>>0){F=H<<3;J=zm(w,F)|0;if((J|0)==0){p=l;q=w;r=9920;break a}L=c[D>>2]|0;M=F;N=J}else{L=K;M=v;N=w}c[N+(u<<2)>>2]=E;O=M;P=H;Q=N;R=L}else{O=v;P=u;Q=w;R=K}H=o+(A<<2)|0;J=c[H>>2]|0;F=y-z|0;if((c[R+(J<<2)>>2]|0)>>>0<F>>>0){D=J;while(1){B=D+1|0;c[H>>2]=B;if((c[R+(B<<2)>>2]|0)>>>0<F>>>0)D=B;else{S=B;break}}}else S=J;D=l+(A<<2)|0;F=c[D>>2]|0;if((c[R+(F<<2)>>2]|0)>>>0<y>>>0){z=F;do{z=z+1|0;c[D>>2]=z}while((c[R+(z<<2)>>2]|0)>>>0<y>>>0);T=z;U=c[H>>2]|0}else{T=F;U=S}D=y+258|0;J=D>>>0>f>>>0?f:D;D=e+J|0;B=e+y|0;I=B;V=R;W=0;X=0;Y=T;c:while(1){if(G){Z=Y;while(1){_=Z+ -1|0;if(!(_>>>0>=U>>>0&_>>>0<T>>>0)){$=44;break c}aa=c[V+(_<<2)>>2]|0;ba=c[Q+(_<<2)>>2]|0;ca=ba>>>0>E>>>0?E:ba;ba=ca>>>0>C>>>0?C:ca;ca=ba+y|0;d:do if((ca|0)==(J|0))da=D;else{ea=e+(ba+aa)|0;fa=e+ca|0;while(1){if((a[ea>>0]|0)!=(a[fa>>0]|0)){da=fa;break d}fa=fa+1|0;if((fa|0)==(D|0)){da=D;break}else ea=ea+1|0}}while(0);ca=da-I|0;if(ca>>>0>W>>>0){ga=ca;ha=aa;ia=V;ja=_;break}else Z=_}}else{Z=Y;while(1){ca=Z+ -1|0;if(!(ca>>>0>=U>>>0&ca>>>0<T>>>0)){$=44;break c}ba=c[R+(ca<<2)>>2]|0;e:do if((y|0)==(J|0))ka=D;else{ea=e+ba|0;fa=B;while(1){if((a[ea>>0]|0)!=(a[fa>>0]|0)){ka=fa;break e}fa=fa+1|0;if((fa|0)==(D|0)){ka=D;break}else ea=ea+1|0}}while(0);_=ka-I|0;if(_>>>0>W>>>0){ga=_;ha=ba;ia=R;ja=ca;break}else Z=ca}}Z=y-ha|0;if((ga|0)==258){la=258;ma=Z;$=50;break}else{V=ia;W=ga;X=Z;Y=ja}}if(($|0)==44){$=0;if(W>>>0<3){Y=d[B>>0]|0;V=c[m>>2]|0;I=V+1|0;if(I<<2>>>0>(c[s>>2]|0)>>>0){D=I<<3;J=zm(c[b>>2]|0,D)|0;if((J|0)==0){p=l;q=Q;r=9921;break a}c[s>>2]=D;c[b>>2]=J;na=J}else na=c[b>>2]|0;c[m>>2]=I;c[na+(V<<2)>>2]=Y;oa=O;pa=P;qa=Q;ra=x;sa=y}else{la=W;ma=X;$=50}}f:do if(($|0)==50){$=0;Y=1;V=28;g:while(1){I=V;while(1){if(Y>>>0>I>>>0){ta=28;ua=258;break g}va=(I+Y|0)>>>1;if(!((c[963016+(va<<2)>>2]|0)>>>0>la>>>0))break;J=va+ -1|0;D=c[963016+(J<<2)>>2]|0;if(D>>>0>la>>>0)I=J;else{ta=J;ua=D;break g}}Y=va+1|0;V=I}V=la-ua|0;Y=1;ca=29;h:while(1){ba=ca;while(1){if(Y>>>0>ba>>>0){wa=29;xa=24577;break h}ya=(ba+Y|0)>>>1;if(!((c[963136+(ya<<2)>>2]|0)>>>0>ma>>>0))break;D=ya+ -1|0;J=c[963136+(D<<2)>>2]|0;if(J>>>0>ma>>>0)ba=D;else{wa=D;xa=J;break h}}Y=ya+1|0;ca=ba}ca=ma-xa|0;Y=ta+257|0;I=c[m>>2]|0;J=I+1|0;if(J<<2>>>0>(c[s>>2]|0)>>>0){D=J<<3;C=zm(c[b>>2]|0,D)|0;if((C|0)!=0){c[s>>2]=D;c[b>>2]=C;za=C;$=66}}else{za=c[b>>2]|0;$=66}if(($|0)==66){$=0;c[m>>2]=J;c[za+(I<<2)>>2]=Y}Y=c[m>>2]|0;I=Y+1|0;if(I<<2>>>0>(c[s>>2]|0)>>>0){J=I<<3;C=zm(c[b>>2]|0,J)|0;if((C|0)!=0){c[s>>2]=J;c[b>>2]=C;Aa=C;$=71}}else{Aa=c[b>>2]|0;$=71}if(($|0)==71){$=0;c[m>>2]=I;c[Aa+(Y<<2)>>2]=V}Y=c[m>>2]|0;I=Y+1|0;if(I<<2>>>0>(c[s>>2]|0)>>>0){C=I<<3;J=zm(c[b>>2]|0,C)|0;if((J|0)!=0){c[s>>2]=C;c[b>>2]=J;Ba=J;$=76}}else{Ba=c[b>>2]|0;$=76}if(($|0)==76){$=0;c[m>>2]=I;c[Ba+(Y<<2)>>2]=wa}Y=c[m>>2]|0;I=Y+1|0;if(I<<2>>>0>(c[s>>2]|0)>>>0){J=I<<3;C=zm(c[b>>2]|0,J)|0;if((C|0)!=0){c[s>>2]=J;c[b>>2]=C;Ca=C;$=81}}else{Ca=c[b>>2]|0;$=81}if(($|0)==81){$=0;c[m>>2]=I;c[Ca+(Y<<2)>>2]=ca}ca=la+ -1|0;if((ca|0)==0){oa=O;pa=P;qa=Q;ra=x;sa=y}else{Y=P;I=O;C=Q;J=0;D=y;while(1){G=D+1|0;do if(G>>>0<f>>>0){if((G|0)==(f|0)&(D+7|0)>>>0>=f>>>0){Da=0;break}F=-8-D|0;H=-2-D-(F>>>0<t>>>0?t:F)|0;F=0;z=0;do{z=d[e+(F+G)>>0]<<(F<<1)^z;F=F+1|0}while((F|0)!=(H|0));Da=z&65535}else Da=0;while(0);ba=Da*12|0;H=j+ba|0;F=j+(ba+4)|0;Z=c[F>>2]|0;_=Z+1|0;aa=j+(ba+8)|0;if(_<<2>>>0>(c[aa>>2]|0)>>>0){ba=_<<3;ea=zm(c[H>>2]|0,ba)|0;if((ea|0)==0){oa=I;pa=Y;qa=C;ra=9922;sa=G;break f}c[aa>>2]=ba;c[H>>2]=ea;Ea=ea}else Ea=c[H>>2]|0;c[F>>2]=_;c[Ea+(Z<<2)>>2]=G;if((Da|0)==0){Z=f-G|0;_=Z>>>0<258?Z:258;i:do if((_|0)==0)Fa=0;else{Z=0;while(1){if((a[e+(Z+G)>>0]|0)!=0){Fa=Z;break i}Z=Z+1|0;if(!(Z>>>0<_>>>0)){Fa=_;break}}}while(0);_=Y+1|0;if(_<<2>>>0>I>>>0){Z=_<<3;z=zm(C,Z)|0;if((z|0)==0){oa=I;pa=Y;qa=C;ra=9922;sa=G;break f}Ga=z;Ha=Z}else{Ga=C;Ha=I}c[Ga+(Y<<2)>>2]=Fa;Ia=Ha;Ja=_;Ka=Ga}else{Ia=I;Ja=Y;Ka=C}J=J+1|0;if(!(J>>>0<ca>>>0)){oa=Ia;pa=Ja;qa=Ka;ra=x;sa=G;break}else{Y=Ja;I=Ia;C=Ka;D=G}}}}while(0);y=sa+1|0;if(!(y>>>0<f>>>0)){p=l;q=qa;r=ra;break}else{u=pa;v=oa;w=qa;x=ra}}}else{p=l;q=0;r=n}}else{p=0;q=0;r=9919}while(0);n=0;do{l=n*12|0;ra=j+l|0;c[j+(l+8)>>2]=0;c[j+(l+4)>>2]=0;Am(c[ra>>2]|0);c[ra>>2]=0;n=n+1|0}while((n|0)!=65536);Am(j);Am(o);Am(p);Am(q);k=r;i=h;return k|0}function im(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,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,ba=0,ca=0;f=i;i=i+16|0;h=